{"version":3,"file":"static/js/main.99deed07.js","mappings":"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AK,UACL,IAAK,QACL,IAAK,MACL,IAAK,cACL,IAAK,iBACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,eACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,kBACL,IAAK,YACL,IAAK,iBACL,IAAK,cACL,IAAK,eACL,IAAK,eACL,IAAK,YACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,gBACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,gBACL,IAAK,YACL,IAAK,aACL,IAAK,UACL,IAAK,OACL,IAAK,cACL,IAAK,UACL,IAAK,YACL,IAAK,iBACL,IAAK,cACL,IAAK,oBACL,IAAK,gBACL,IAAK,eACL,IAAK,iBACL,IAAK,kBACL,IAAK,cACL,IAAK,qBACL,IAAK,SACL,IAAK,cACL,IAAK,WACL,IAAK,WACL,IAAK,eACL,IAAK,eACL,IAAK,iBACL,IAAK,eACL,IAAK,kBACL,IAAK,qBACL,IAAK,aACL,IAAK,YACL,IAAK,YACL,IAAK,gBACL,IAAK,cACL,IAAK,eACL,IAAK,kBACL,IAAK,oBACL,IAAK,kBACL,IAAK,iBACL,IAAK,UACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,cACL,IAAK,UACL,IAAK,SACL,IAAK,cACL,IAAK,UACL,IAAK,oBACL,IAAK,kBACL,IAAK,QACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,mBACL,IAAK,oBACL,IAAK,cACL,IAAK,cACL,IAAK,mBACL,IAAK,eACL,IAAK,aACL,IAAK,eACL,IAAK,gBACL,IAAK,aACL,IAAK,cACL,IAAK,cACL,IAAK,iBACL,IAAK,YACL,IAAK,cACL,IAAK,eACL,IAAK,aACL,IAAK,aACL,IAAK,gBACL,IAAK,eACL,IAAK,kBACL,IAAK,gBACL,IAAK,qBACL,IAAK,WACL,IAAK,OACL,IAAK,gBACL,IAAK,kBACL,IAAK,aACL,IAAK,aACL,IAAK,eACL,IAAK,iBACL,IAAK,cACL,IAAK,iBACL,IAAK,qBACL,IAAK,YACL,IAAK,oBACL,IAAK,WACL,IAAK,cACL,IAAK,iBACL,IAAK,WACL,IAAK,eACL,IAAK,gBACL,IAAK,gBACL,IAAK,mBACL,IAAK,iBACL,IAAK,eACL,IAAK,cACL,IAAK,YACL,IAAK,kBACL,IAAK,oBACL,IAAK,iBACL,IAAK,YACL,IAAK,aACL,IAAK,oBACL,IAAK,aACL,IAAK,eACL,IAAK,iBACL,IAAK,kBACL,IAAK,eACL,IAAK,gBACL,IAAK,gBACL,IAAK,qBACL,IAAK,mBACL,IAAK,qBACL,IAAK,yBACL,IAAK,cACL,IAAK,aACL,IAAK,mBACL,IAAK,sBACL,IAAK,eACL,IAAK,eACL,IAAK,gBACL,IAAK,cACL,IAAK,kBACL,IAAK,cACL,IAAK,gBACL,IAAK,kBACL,IAAK,2BACL,IAAK,eACL,IAAK,iBACL,IAAK,aACL,IAAK,iBACL,IAAK,YACL,IAAK,mBACL,IAAK,cACL,IAAK,wBACL,IAAK,kBACL,IAAK,qBACL,IAAK,kBACL,IAAK,kBACL,IAAK,kBACL,IAAK,qBACL,IAAK,aACL,IAAK,iBACL,IAAK,eACL,IAAK,mBACL,IAAK,aACL,IAAK,eACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,kBACL,IAAK,kBACL,IAAK,gBACL,IAAK,iBACL,IAAK,uBACL,IAAK,0BACL,IAAK,iBACL,IAAK,eACL,IAAK,YACL,IAAK,cACL,IAAK,aACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL,IAAK,qBACL,IAAK,cACL,IAAK,mBACL,IAAK,uBACL,IAAK,mBACL,IAAK,kBACL,IAAK,mBACL,IAAK,cACL,IAAK,iBACL,IAAK,kBACL,IAAK,eACL,IAAK,eACL,IAAK,oBACL,IAAK,sBACL,IAAK,sBACL,IAAK,mBACL,IAAK,qBACL,IAAK,qBACL,IAAK,gBACL,IAAK,aACL,IAAK,YACL,IAAK,cACL,IAAK,mBACL,IAAK,gBACL,IAAK,wBACL,IAAK,qBACL,IAAK,SACL,IAAK,kBACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,gBACL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AAK,OACL,IAAK,UACL,IAAK,YACL,IAAK,UACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,OACL,IAAK,WACL,IAAK,gBACL,IAAK,aACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,OACL,IAAK,SACL,IAAK,OACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,YACL,IAAK,MACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,SACL,IAAK,WACL,IAAK,SACL,IAAK,aACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,gBACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,gBACL,IAAK,kBACL,IAAK,gBACL,IAAK,WACL,IAAK,OACL,IAAK,QACL,IAAK,aACL,IAAK,KACL,IAAK,QACL,IAAK,SACL,IAAK,YACL,IAAK,cACL,IAAK,iBACL,IAAK,OACL,IAAK,gBACL,IAAK,WACL,IAAK,cACL,IAAK,WACL,IAAK,iBACL,IAAK,aACL,IAAK,YACL,IAAK,eACL,IAAK,eACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,eACL,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,YACL,IAAK,UACL,IAAK,SACL,IAAK,SACL,IAAK,aACL,IAAK,YACL,IAAK,OACL,IAAK,YACL,IAAK,QACL,IAAK,OACL,IAAK,SACL,IAAK,YACL,IAAK,QACL,IAAK,YACL,IAAK,WACL,IAAK,UACL,IAAK,cACL,IAAK,cACL,IAAK,SACL,IAAK,eACL,IAAK,WACL,IAAK,YACL,IAAK,UACL,IAAK,WACL,IAAK,cACL,IAAK,MACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,SACL,IAAK,QACL,IAAK,WACL,IAAK,QACL,IAAK,YACL,IAAK,UACL,IAAK,MACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,OACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,WACL,IAAK,aACL,IAAK,cACL,IAAK,OACL,IAAK,WACL,IAAK,OACL,IAAK,gBACL,IAAK,YACL,IAAK,cACL,IAAK,QACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACL,IAAK,iBACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,oBACL,IAAK,QACL,IAAK,UACL,IAAK,aACL,IAAK,eACL,IAAK,QACL,IAAK,cACL,IAAK,cACL,IAAK,WACL,IAAK,eACL,IAAK,YACL,IAAK,WACL,IAAK,WACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,WACL,IAAK,gBACL,IAAK,YACL,IAAK,kBACL,IAAK,eACL,IAAK,gBACL,IAAK,mBACL,IAAK,cACL,IAAK,gBACL,IAAK,cACL,IAAK,WACL,IAAK,MACL,IAAK,YACL,IAAK,aACL,IAAK,qBACL,IAAK,mBACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,UACL,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,QACL,IAAK,QACL,IAAK,aACL,IAAK,cACL,IAAK,YACL,IAAK,SACL,IAAK,UACL,IAAK,QACL,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,SACL,IAAK,WACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,QACL,IAAK,SACL,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,OACL,IAAK,OACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,WACL,IAAK,OACL,IAAK,YACL,IAAK,YACL,IAAK,UACL,IAAK,aACL,IAAK,aACL,IAAK,QACL,IAAK,QACL,IAAK,WACL,IAAK,WACL,IAAK,UACL,IAAK,SACL,IAAK,WACL,IAAK,UACL,IAAK,QACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,aACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,cACL,IAAK,UACL,IAAK,YACL,IAAK,WACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WACL,IAAK,UACL,IAAK,cACL,IAAK,MACL,IAAK,cACL,IAAK,MACL,IAAK,aACL,IAAK,gBACL,IAAK,UACL,IAAK,eACL,IAAK,UACL,IAAK,WACL,IAAK,SACL,IAAK,YACL,IAAK,cAEHD,GAAW,CACb,EAAG,EACH,EAAG,EACH,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,IAAK,EACL,MAAO,GAkBT,SAASyE,GAAmBjtP,GAG3B,OAFQ,OAASA,EAAEpf,QAAQmmQ,GAAW,iBAAiBnmQ,QAAQ,SAAS,MAE/DA,QAAQ,KAAM,KAAKA,QAAQ,KAAK,IAC1C,CAQA,SAASssQ,GAAcptQ,GACtB,OAAOA,EAAEc,QAAQ,KAAK,IACvB,CAEA,IAKIusQ,GAAiC,qBAARrzL,IAE7B,SAASszL,GAAW7N,EAAahhK,EAAgBo4I,GAChD,IAAIlhP,EAAI,EAAGgkF,EAAM8lL,EAAI5pQ,OACrB,GAAGghP,GACF,GAAGw2B,GAAkBx2B,EAAInsK,IAAI+zB,GAAOjpG,OAAOQ,UAAUC,eAAeC,KAAK2gP,EAAKp4I,GAE7E,IADA,IAAI8uK,EAASF,GAAkBx2B,EAAIrrO,IAAIizF,GAAOo4I,EAAIp4I,GAC5C9oG,EAAI43Q,EAAO13Q,SAAUF,EAC1B,GAAG8pQ,EAAI8N,EAAO53Q,IAAIqW,IAAMyyF,EAAqB,OAAdghK,EAAIE,QAAiB4N,EAAO53Q,QAGvD,KAAMA,EAAIgkF,IAAOhkF,EACvB,GAAG8pQ,EAAI9pQ,GAAGqW,IAAMyyF,EAAqB,OAAdghK,EAAIE,QAAiBhqQ,EAY7C,OAVA8pQ,EAAI9lL,GAAQ,CAAC3tE,EAAEyyF,GAAeghK,EAAIE,QAAUF,EAAII,SAC7ChpB,IACCw2B,IACEx2B,EAAInsK,IAAI+zB,IAAMo4I,EAAI5lO,IAAIwtF,EAAK,IAC/Bo4I,EAAIrrO,IAAIizF,GAAK7jG,KAAK++E,KAEdnkF,OAAOQ,UAAUC,eAAeC,KAAK2gP,EAAKp4I,KAAMo4I,EAAIp4I,GAAO,IAC/Do4I,EAAIp4I,GAAK7jG,KAAK++E,KAGTA,CACR,CAEA,SAAS6zL,GAAUrlP,EAAcoqJ,GAChC,IAAI5zJ,EAAK,CAACrH,IAAI6Q,EAAE,EAAE3kB,IAAI2kB,EAAE,GAEpBqsO,GAAO,EASX,OARGjiF,EAAIwuF,MAAKA,GAAMxuF,EAAIwuF,KACN,MAAbxuF,EAAI75J,MAAeiG,EAAEyiP,YAAc,EACnB,MAAX7uF,EAAIsnF,IAAarF,EAAMuF,GAAQxnF,EAAIsnF,KACxB,MAAXtnF,EAAIiiF,MAAaA,EAAMjiF,EAAIiiF,KAChCA,GAAO,GAAK71O,EAAEjG,MAAQuoP,GAAWzM,GAAM71O,EAAEyiP,YAAc,GACrC,MAAb7uF,EAAI75J,QAAeiG,EAAEjG,MAAQ65J,EAAI75J,OACtC65J,EAAIzqK,SAAQ6W,EAAE7W,QAAS,GACV,MAAbyqK,EAAIihF,QAAiB70O,EAAE8uP,aAAe9uP,EAAE60O,MAAQjhF,EAAIihF,OAChD70O,CACR,CAEA,SAAS+uP,GAAgBC,EAAqB5uO,GAC7C,GAAI4uO,EAAJ,CACA,IAAIptM,EAAO,CAAC,GAAK,GAAK,IAAM,IAAM,GAAK,IAC5B,QAARxhC,IAAgBwhC,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,GAAK,KACvB,MAAlBotM,EAAQhmQ,OAAgBgmQ,EAAQhmQ,KAAS44D,EAAK,IAC5B,MAAlBotM,EAAQlmQ,QAAgBkmQ,EAAQlmQ,MAAS84D,EAAK,IAC5B,MAAlBotM,EAAQnmQ,MAAgBmmQ,EAAQnmQ,IAAS+4D,EAAK,IAC5B,MAAlBotM,EAAQjmQ,SAAgBimQ,EAAQjmQ,OAAS64D,EAAK,IAC5B,MAAlBotM,EAAQ39P,SAAgB29P,EAAQ39P,OAASuwD,EAAK,IAC5B,MAAlBotM,EAAQz9P,SAAgBy9P,EAAQz9P,OAASqwD,EAAK,GAR9B,CASpB,CAEA,SAASqtM,GAAelnM,EAAuBk+K,EAAe5gN,GAC7D,IAAIrb,EAAIqb,EAAK6pO,OAAiB,MAAVjpB,EAAKj8N,EAAYi8N,EAAKj8N,EAAI,WAC1ChzB,EAAI,GAAMgkF,EAAMjT,EAAO7wE,OAC3B,GAAQ,MAAL8yB,GAAaqb,EAAK8pO,IACpB,KAAMn4Q,EAAI,MAASA,EAAG,GAAkB,MAAfquC,EAAK8pO,IAAIn4Q,GAAY,CAC7Cs3O,GAAS2X,EAAKj8N,EAAGhzB,GAEjBquC,EAAK8pO,IAAIn4Q,GAAKivP,EAAKj8N,EACnBqb,EAAK6pO,OAAOjpB,EAAKj8N,GAAKA,EAAIhzB,EAC1B,KACD,CAED,IAAIA,EAAI,EAAGA,GAAKgkF,IAAOhkF,EAAG,GAAG+wE,EAAO/wE,GAAGswP,WAAat9N,EAAG,OAAOhzB,EAS9D,OARA+wE,EAAOiT,GAAO,CACbssK,SAASt9N,EACTs7O,OAAO,EACPC,OAAO,EACPC,SAAS,EACTb,KAAK,EACLyK,kBAAkB,GAEZp0L,CACR,CAyCA,SAASq0L,GAASlyH,EAAkBuvH,EAAkB11Q,GACrD,GAAGmmJ,GAAMA,EAAG,QAAS,CACpB,IAAIl9G,EAAQknN,GAAkBhqG,EAAG,SACjC,GAAGl9G,EAAMriC,EAAEijB,EAAIof,EAAMvf,EAAEG,GAAKof,EAAMriC,EAAEyD,EAAI4+B,EAAMvf,EAAErf,EAAG,MAAM,IAAIkF,MAAM,cAAgBvP,EAAI,MAAQmmJ,EAAG,QACnG,CACD,CAsIA,IAAImyH,GAAqB,CAAC,UAAW,YAAa,oBAAqB,uBACnEC,GAAoB,CACvB,gBAAiB,aAAc,cAC/B,gBAAiB,aAAc,mBAC/B,gBAAiB,aACjB,OAAQ,aAAc,eAwHvB,SAASC,GAAkBvpB,EAAe9kP,EAAKg8I,EAAI93G,GAElD,GADG4gN,EAAKplO,GAAGs8H,EAAG,aAAalhJ,KAAK,CAACkF,EAAK8kP,EAAKplO,SAC7B1a,IAAX8/O,EAAK5gO,GAAqC,kBAAX4gO,EAAK1kO,GAA6B,MAAX0kO,EAAK54O,IAAc44O,EAAK1kO,EAAG,MAAO,GAC3F,IAAI0sN,EAAK,GACLwhC,EAAOxpB,EAAK54O,EAAGqiQ,EAAOzpB,EAAK5gO,EAC/B,GAAc,MAAX4gO,EAAK54O,EAAW,OAAO44O,EAAK54O,GAC9B,IAAK,IAAK4gO,EAAKgY,EAAK5gO,EAAI,IAAM,IAAK,MACnC,IAAK,IAAK4oN,EAAK,GAAGgY,EAAK5gO,EAAG,MAC1B,IAAK,IAAK4oN,EAAKuZ,GAAKvB,EAAK5gO,GAAI,MAC7B,IAAK,IACDggB,GAAQA,EAAKkjN,UAAWta,EAAKhsM,GAAUgkN,EAAK5gO,GAAI,GAAG8c,gBAErD8jN,EAAOxF,GAAIwF,IACN54O,EAAI,IACT4gO,EAAK,IAAIgY,EAAK5gO,EAAIw6N,GAAQ59M,GAAUgkN,EAAK5gO,MAErB,qBAAX4gO,EAAKj8N,IAAmBi8N,EAAKj8N,EAAIu+M,GAAU,KACrD,MACD,QAAS0F,EAAKgY,EAAK5gO,EAEpB,IAAIA,EAAIk9N,GAAS,IAAKd,GAAUxT,IAAMvyN,EAAK,CAACra,EAAEF,GAE1C4sQ,EAAKkB,GAAe5pO,EAAK09N,QAAS9c,EAAM5gN,GAE5C,OADU,IAAP0oO,IAAUryP,EAAEgF,EAAIqtP,GACZ9nB,EAAK54O,GACX,IAAK,IAIL,IAAK,IAAK,MAHV,IAAK,IAAKqO,EAAErO,EAAI,IAAK,MACrB,IAAK,IAAKqO,EAAErO,EAAI,IAAK,MACrB,IAAK,IAAKqO,EAAErO,EAAI,IAAK,MAErB,QAAS,GAAa,MAAV44O,EAAK5gO,EAAW,QAAS4gO,EAAK54O,EAAG,KAAO,CACnD,GAAG44O,EAAK5gO,EAAEnuB,OAAS,MAAO,MAAM,IAAIqP,MAAM,gDAC1C,GAAG8+B,GAAQA,EAAK07N,QAAS,CACxB17O,EAAIk9N,GAAS,IAAK,GAAGosB,GAAWtpO,EAAKsqO,QAAS1pB,EAAK5gO,EAAGggB,EAAKuqO,aAC3Dl0P,EAAErO,EAAI,IAAK,KACZ,CACAqO,EAAErO,EAAI,MAGR,GADG44O,EAAK54O,GAAKoiQ,IAAQxpB,EAAK54O,EAAIoiQ,EAAMxpB,EAAK5gO,EAAIqqP,GACzB,iBAAVzpB,EAAK1kO,GAAiB0kO,EAAK1kO,EAAG,CACvC,IAAIo/J,EAAKslE,EAAKh6M,GAAKg6M,EAAKh6M,EAAEv0B,MAAM,EAAGvW,EAAIjK,SAAWiK,EAAM,CAACkM,EAAE,QAASlM,IAAI8kP,EAAKh6M,GAAK,KAClF5mB,EAAIo9N,GAAU,IAAKhB,GAAUwE,EAAK1kO,GAAIo/J,IAAiB,MAAVslE,EAAK5gO,EAAYA,EAAI,GACnE,CAGA,OAFG4gO,EAAKtlO,GAAGw8H,EAAG,UAAUlhJ,KAAK,CAACkF,EAAK8kP,EAAKtlO,IACrCslO,EAAK53M,IAAG3yB,EAAEwqP,GAAK,GACXzjB,GAAU,IAAKp9N,EAAG3J,EAC1B,CAyOA,SAASm0P,GAAar5P,EAAgB6uB,EAAMyhI,EAAiB2nF,GAC5D,IAI4B0P,EAJxBziP,EAAI,CAAC0lO,GAAYqB,GAAU,YAAa,KAAM,CACjD,MAASG,GAAW,GACpB,UAAWD,MAERjiO,EAAIomJ,EAAG6gF,WAAWnxO,GAAgBs5P,EAAQ,GAC1C3yH,EAAK2pB,EAAG8gF,OAAOlnO,GACV,MAANy8H,IAAYA,EAAK,CAAC,GACrB,IAAIh8I,EAAMg8I,EAAG,SAAW,KACpBl9G,EAAQknN,GAAkBhmP,GAC9B,GAAG8+B,EAAMriC,EAAEijB,EAAI,OAAUof,EAAMriC,EAAEyD,EAAI,QAAS,CAC7C,GAAGgkC,EAAKmqN,IAAK,MAAM,IAAIjpP,MAAM,SAAWpF,EAAM,uCAC9C8+B,EAAMriC,EAAEijB,EAAIjc,KAAK+T,IAAIsnB,EAAMriC,EAAEijB,EAAG,OAChCof,EAAMriC,EAAEyD,EAAIuD,KAAK+T,IAAIsnB,EAAMriC,EAAEijB,EAAG,SAChC1f,EAAM+lP,GAAajnN,EACpB,CACIwuN,IAAMA,EAAO,CAAC,GAClBtxG,EAAG,aAAe,GAClB,IAAI4yH,EAAW,IA5bhB,SAA8B5yH,EAAI2pB,EAAItwJ,EAAK6uB,EAAM3pB,GAChD,IAAIs0P,GAAS,EACTr2Q,EAAQ,CAAC,EAAG6uL,EAAU,KAC1B,GAAqB,SAAlBnjJ,EAAKmnN,UAAuB1lF,EAAGmpG,OAAQ,CACzC,IAAIC,EAAQppG,EAAG6gF,WAAWnxO,GAC1B,IAASswJ,EAAGqpG,WAAUD,EAAQppG,EAAGqpG,SAASvoB,OAAOpxO,GAAK45P,UAAYF,EAAmB,CAAV,MAAMtyQ,GAAI,CACrFoyQ,GAAS,EACTr2Q,EAAM02Q,SAAWvxB,GAAU2C,GAAUyuB,GACtC,CAEA,GAAG/yH,GAAMA,EAAG,YAAa,CACxB,IAAImzH,EAAe,CAACC,aAAa,EAAGC,aAAa,GAC9CrzH,EAAG,YAAYszH,QAAOH,EAAaC,aAAe,GAClDpzH,EAAG,YAAYn0I,OAAMsnQ,EAAaE,aAAe,GACpDhoF,GAAWA,GAAS,IAAMi6D,GAAU,YAAa,KAAM6tB,EACxD,EAEIN,GAAWxnF,KACf9sK,EAAEA,EAAExkB,QAAWurP,GAAU,UAAWj6D,EAAS7uL,GAC9C,CA2aC+2Q,CAAqBvzH,EAAI2pB,EAAItwJ,EAAK6uB,EAAM3pB,GAExCA,EAAEA,EAAExkB,QAAWurP,GAAU,YAAa,KAAM,CAAC,IAAOthP,IAEpDua,EAAEA,EAAExkB,QAtTL,SAAiCimJ,EAAI93G,EAAM7uB,EAAKswJ,GAC/C,IAAI6pG,EAAS,CAACC,eAAe,KAG7B,SADM9pG,GAAI,CAAC,GAAGqpG,UAAU,CAAC,GAAGU,OAAO,IAAI,KAAIF,EAAMG,YAAchqG,EAAGqpG,SAASU,MAAM,GAAGE,IAAM,IAAM,KACzFtuB,GAAU,aAAcA,GAAU,YAAa,KAAMkuB,GAAQ,CAAC,EACtE,CAiTeK,CAAwB7zH,EAAI93G,EAAM7uB,EAAKswJ,GAGlDzhI,EAAK4rO,cAAav1P,EAAEA,EAAExkB,QAAWurP,GAAU,gBAAiB,KAAM,CACpEyuB,iBAAiB7rO,EAAK4rO,YAAYC,kBAAkB,KACpDC,aAAa9rO,EAAK4rO,YAAYE,cAAc,KAC5CC,gBAAgB/rO,EAAK4rO,YAAYG,iBAAiB,OAGjC,MAAfj0H,EAAG,UAAoBA,EAAG,SAASjmJ,OAAS,IAAGwkB,EAAEA,EAAExkB,QA7WvD,SAA2BimJ,EAAIvlG,GAE9B,IADA,IAAoBg8H,EAAhBl4J,EAAI,CAAC,UACD1kB,EAAI,EAAGA,GAAK4gD,EAAK1gD,SAAUF,GAC7B48K,EAAMh8H,EAAK5gD,MAChB0kB,EAAEA,EAAExkB,QAAWurP,GAAU,MAAO,KAAMosB,GAAU73Q,EAAG48K,KAGpD,OADAl4J,EAAEA,EAAExkB,QAAU,UACPwkB,EAAEpT,KAAK,GACf,CAqWkE+oQ,CAAkBl0H,EAAIA,EAAG,WAE1FzhI,EAAEyiP,EAAOziP,EAAExkB,QAAU,eACrBimJ,EAAG,UAAY,GACE,MAAdA,EAAG,UACL2yH,EAlFF,SAA2B3yH,EAAkB93G,EAAM7uB,EAAgBswJ,GAClE,IAAwG3lK,EAEzE67B,EAF3BthB,EAAsB,GAAIra,EAAsB,GAAI4+B,EAAQknN,GAAkBhqG,EAAG,SAAU8oG,EAAK,GAASha,EAAK,GAAIr0L,EAAyB,GAAI/J,EAAE,EAAGrkB,EAAE,EAAG6xO,EAAOl+G,EAAG,SACnK4qG,EAAQ5uP,MAAMwS,QAAQwxI,GACtB77G,EAAU,CAACjgC,EAAE4qO,GAA+BpyN,GAAU,EAC1D,IAAI2P,EAAIyW,EAAMvf,EAAEG,EAAG2I,GAAKyW,EAAMriC,EAAEijB,IAAK2I,EAAGouB,EAAKpuB,GAAKm9N,GAAWn9N,GAC7D,IAAIqkB,EAAI5N,EAAMvf,EAAErf,EAAGwsC,GAAK5N,EAAMriC,EAAEyD,IAAKwsC,EAAG,CAGvC,IAFAxsC,EAAI,GACJ4qO,EAAKya,GAAW74M,GACZrkB,EAAIyW,EAAMvf,EAAEG,EAAG2I,GAAKyW,EAAMriC,EAAEijB,IAAK2I,EAAG,CACvCroB,EAAMy2C,EAAKpuB,GAAKyiN,EAChB,IAAIqlC,EAAQvpB,GAAS5qG,EAAGtvG,IAAI,IAAIrkB,GAAI2zH,EAAGh8I,QAC1BgF,IAAVmrQ,GAC6D,OAA5DrrB,EAAOupB,GAAkB8B,EAAOnwQ,EAAKg8I,EAAI93G,KAAyBhkC,EAAEpF,KAAKgqP,EAC9E,EACG5kP,EAAEnK,OAAS,GAAMmkQ,GAAQA,EAAKxtN,MAChCvM,EAAU,CAACjgC,EAAE4qO,GACVovB,GAAQA,EAAKxtN,MACf7Q,EAAMq+N,EAAKxtN,IACJ1kC,SAAQm4B,EAAOn4B,OAAS,GAC/B0Q,GAAU,EACPmjB,EAAIw9N,IAAK3gP,EAASyhP,GAAMt+N,EAAIw9N,KACvBx9N,EAAIu9N,MAAK1gP,EAASmjB,EAAIu9N,KAC3B1gP,GAAU,IAAKynB,EAAOohB,GAAK7oC,EAAQynB,EAAOiwO,aAAe,GACzDv0O,EAAI63N,QAASvzN,EAAOwtO,aAAe9xO,EAAI63N,QAE3Cn5O,EAAEA,EAAExkB,QAAWurP,GAAU,MAAOphP,EAAEiH,KAAK,IAAKg5B,GAE9C,CACA,GAAG+5N,EAAM,KAAMxtN,EAAIwtN,EAAKnkQ,SAAU22C,EAC9BwtN,GAAQA,EAAKxtN,KACfvM,EAAU,CAACjgC,EAAEwsC,EAAE,IACf7Q,EAAMq+N,EAAKxtN,IACJ1kC,SAAQm4B,EAAOn4B,OAAS,GAC/B0Q,GAAU,EACNmjB,EAAIw9N,IAAK3gP,EAASyhP,GAAMt+N,EAAIw9N,KACvBx9N,EAAIu9N,MAAK1gP,EAASmjB,EAAIu9N,KAC3B1gP,GAAU,IAAKynB,EAAOohB,GAAK7oC,EAAQynB,EAAOiwO,aAAe,GACzDv0O,EAAI63N,QAASvzN,EAAOwtO,aAAe9xO,EAAI63N,OAC3Cn5O,EAAEA,EAAExkB,QAAWurP,GAAU,MAAO,GAAInhN,IAGtC,OAAO5lB,EAAEpT,KAAK,GACf,CAwCUkpQ,CAAkBr0H,EAAI93G,EAAM7uB,EAAKswJ,GACtCgpG,EAAM54Q,OAAS,IAAGwkB,EAAEA,EAAExkB,QAAW44Q,IAElCp0P,EAAExkB,OAAOinQ,EAAK,IAAKziP,EAAEA,EAAExkB,QAAW,eAAiBwkB,EAAEyiP,GAAMziP,EAAEyiP,GAAMh8P,QAAQ,KAAK,MAIhFg7I,EAAG,cAAazhI,EAAEA,EAAExkB,QA1bxB,SAAiC61Q,GAEhC,IAAIrxP,EAAK,CAACq5E,MAAM,GAKhB,OAJAu6K,GAAmBpyQ,SAAQ,SAASye,GAAiB,MAAToxP,EAAGpxP,IAAcoxP,EAAGpxP,KAAID,EAAEC,GAAK,IAAK,IAChF4zP,GAAkBryQ,SAAQ,SAASye,GAAiB,MAAToxP,EAAGpxP,IAAeoxP,EAAGpxP,KAAID,EAAEC,GAAK,IAAK,IAE7EoxP,EAAGzwF,WAAU5gK,EAAE4gK,SAAWklF,GAAsCuL,EAAGzwF,UAAU96J,SAAS,IAAItc,eACtFu9O,GAAU,kBAAmB,KAAM/mO,EAC3C,CAkbkC+1P,CAAwBt0H,EAAG,cAKpC,MAArBA,EAAG,iBAAwBzhI,EAAEA,EAAExkB,QAhXnC,SAAiCs2B,EAAM2vH,EAAI2pB,EAAItwJ,GAC9C,IAAIrV,EAAyB,iBAAZqsB,EAAKrsB,IAAkBqsB,EAAKrsB,IAAM+lP,GAAa15N,EAAKrsB,KACjE2lK,EAAGqpG,WAAUrpG,EAAGqpG,SAAY,CAACvoB,OAAO,KACpC9gF,EAAGqpG,SAASuB,QAAO5qG,EAAGqpG,SAASuB,MAAQ,IAC3C,IAAIpwH,EAAyBwlB,EAAGqpG,SAASuB,MACrCzxO,EAAQgnN,GAAa9lP,GACtB8+B,EAAMvf,EAAErf,GAAK4+B,EAAMriC,EAAEyD,IAAK4+B,EAAMriC,EAAEyD,EAAI4lP,GAAa9pG,EAAG,SAASv/I,EAAEyD,EAAGF,EAAM+lP,GAAajnN,IAC1F,IAAI,IAAIjpC,EAAI,EAAGA,EAAIsqJ,EAAMpqJ,SAAUF,EAAG,CACrC,IAAI0C,EAAO4nJ,EAAMtqJ,GACjB,GAAgB,yBAAb0C,EAAK6yQ,MACL7yQ,EAAKi4Q,OAASn7P,EAAjB,CACA9c,EAAKk4Q,IAAM,IAAM9qG,EAAG6gF,WAAWnxO,GAAO,KAAOrV,EAAK,KADpB,CAE/B,CAEA,OADGnK,GAAKsqJ,EAAMpqJ,QAAQoqJ,EAAMrlJ,KAAK,CAAEswQ,KAAM,wBAAyBoF,MAAOn7P,EAAKo7P,IAAK,IAAM9qG,EAAG6gF,WAAWnxO,GAAO,KAAOrV,IAC9GshP,GAAU,aAAc,KAAM,CAACthP,IAAIA,GAC3C,CAiW6C0wQ,CAAwB10H,EAAG,eAAgBA,EAAI2pB,EAAItwJ,IAM3E,MAAjB2mI,EAAG,YAAsBA,EAAG,WAAWjmJ,OAAS,IAAGwkB,EAAEA,EAAExkB,QAlf3D,SAA6B46Q,GAC5B,GAAqB,IAAlBA,EAAO56Q,OAAc,MAAO,GAE/B,IADA,IAAIwkB,EAAI,sBAAwBo2P,EAAO56Q,OAAS,KACxCF,EAAI,EAAGA,GAAK86Q,EAAO56Q,SAAUF,EAAG0kB,GAAK,mBAAqBwrO,GAAa4qB,EAAO96Q,IAAM,MAC5F,OAAO0kB,EAAI,eACZ,CA6esEq2P,CAAoB50H,EAAG,aAM5F,IAAezqH,EA5ZcwI,EA4ZzB82O,GAAQ,EAAQpjB,GAAO,EAsD3B,OArDUzxG,EAAG,UAAqBjmJ,OAAS,IAC1CwkB,EAAEA,EAAExkB,QAAU,eACPimJ,EAAG,UAAqBjgJ,SAAQ,SAASyjB,GAC3CA,EAAE,GAAGquO,SACTt8N,EAAO,CAAC,IAAM/R,EAAE,IACY,KAAzBA,EAAE,GAAGquO,OAAO3rN,OAAO,KACrBurN,EAAMD,GAASF,GAAO,EAAGhN,GAAU9gO,EAAE,GAAGquO,QAAQ7sP,QAAQ,OAAQ,IAAKwqP,GAAKG,OAC1Ep6N,EAAI,QAAU,MAAMk8N,IAEjBojB,EAAOrxP,EAAE,GAAGquO,OAAOjtP,QAAQ,OAAS,IAAG2wB,EAAIumG,SAAWwoH,GAAU9gO,EAAE,GAAGquO,OAAOt3O,MAAMs6P,EAAK,KACxFrxP,EAAE,GAAG4zO,UAAS7hO,EAAI0C,QAAUqsN,GAAU9gO,EAAE,GAAG4zO,UAC9C74O,EAAEA,EAAExkB,QAAUurP,GAAU,YAAY,KAAK/vN,GAC1C,IACAhX,EAAEA,EAAExkB,QAAU,wBAERimJ,EAAG,UAIW,MAAlBA,EAAG,cAAqBzhI,EAAEA,EAAExkB,SA/a/B63Q,GAD6B7zO,EAgbkCiiH,EAAG,aA9a3DslG,GAAU,cAAe,KAAMvnN,KAublCmK,IAAQA,EAAK4sO,eAA+B,GAAlB5sO,EAAK4sO,WAAuBv2P,EAAEA,EAAExkB,QAAUqrP,GAAS,gBAAiBE,GAAU,eAAgB,KAAM,CAACyvB,mBAAmB,EAAGC,MAAMhxQ,MAI5J4uQ,EAAS74Q,OAAS,IACpB03P,EAAMD,GAASF,GAAO,EAAG,uBAAyBj4O,EAAI,GAAK,OAAQm2O,GAAKuB,MACxExyO,EAAEA,EAAExkB,QAAUurP,GAAU,UAAW,KAAM,CAAC,OAAO,MAAQmM,IACzDzxG,EAAG,YAAc4yH,GAGf5yH,EAAG,aAAajmJ,OAAS,IAC3B03P,EAAMD,GAASF,GAAO,EAAG,0BAA4Bj4O,EAAI,GAAK,OAAQm2O,GAAKI,KAC3ErxO,EAAEA,EAAExkB,QAAUurP,GAAU,gBAAiB,KAAM,CAAC,OAAO,MAAQmM,IAC/DzxG,EAAG,WAAayxG,GAWdlzO,EAAExkB,OAAO,IAAKwkB,EAAEA,EAAExkB,QAAW,eAAiBwkB,EAAE,GAAGA,EAAE,GAAGvZ,QAAQ,KAAK,MACjEuZ,EAAEpT,KAAK,GACf,CAiEA,SAAS8pQ,GAAiB9lG,EAAInvB,EAAIl9G,EAAO4N,GACxC,IAAInyB,EAjDL,SAAyBmyB,EAAc5N,EAAOk9G,GAC7C,IAAIzhI,EAAI04N,GAAQ,KACZp3M,GAAOmgH,EAAG,UAAU,IAAItvG,IAAI,CAAC,EACjCnyB,EAAEu0N,YAAY,EAAGpiM,GAEjBnyB,EAAEu0N,YAAY,EAAG,GAEjB,IAAIoiC,EAAQ,IACTr1O,EAAIw9N,IAAK6X,EAAyB,GAAjB/W,GAAMt+N,EAAIw9N,KACtBx9N,EAAIu9N,MAAK8X,EAAkB,GAAVr1O,EAAIu9N,KAC7B7+O,EAAEu0N,YAAY,EAAGoiC,GAEjB32P,EAAEu0N,YAAY,EAAG,GAEjB,IAAI9yJ,EAAQ,EACTngD,EAAI63N,QAAO13K,GAASngD,EAAI63N,OACxB73N,EAAI7zB,SAAQg0E,GAAS,KACrBngD,EAAIw9N,KAAOx9N,EAAIu9N,OAAKp9K,GAAS,IAChCzhE,EAAEu0N,YAAY,EAAG9yJ,GAEjBzhE,EAAEu0N,YAAY,EAAG,GAGjB,IAAIqiC,EAAW,EAAGC,EAAM72P,EAAEiF,EAC1BjF,EAAEiF,GAAK,EAGP,IADA,IAAI6xP,EAAQ,CAACnxQ,EAAEwsC,EAAGhtB,EAAE,GACZ7pB,EAAI,EAAGA,EAAI,KAAMA,EACxB,KAAIipC,EAAMvf,EAAEG,EAAM7pB,EAAE,GAAM,IAASipC,EAAMriC,EAAEijB,EAAK7pB,GAAK,IAArD,CAEA,IADA,IAAIg1E,GAAS,EAAGx0D,GAAQ,EAChBwM,EAAKhtB,GAAG,GAAKgtB,EAAMhtB,EAAE,GAAI,KAAOgtB,EACvCwuP,EAAM3xP,EAAImD,GACC7qB,MAAMwS,QAAQwxI,IAAOA,EAAGq1H,EAAMnxQ,IAAI,IAAImxQ,EAAM3xP,GAAKs8H,EAAGopG,GAAYisB,OAC7DxmM,EAAQ,IAAGA,EAAQhoD,GAAGxM,EAAOwM,GAEzCgoD,EAAQ,MACTsmM,EACF52P,EAAEu0N,YAAY,EAAGjkK,GACjBtwD,EAAEu0N,YAAY,EAAGz4N,GAVkD,CAapE,IAAImJ,EAAIjF,EAAEiF,EAKV,OAJAjF,EAAEiF,EAAI4xP,EACN72P,EAAEu0N,YAAY,EAAGqiC,GACjB52P,EAAEiF,EAAIA,EAECjF,EAAExkB,OAASwkB,EAAEiF,EAAIjF,EAAEhE,MAAM,EAAGgE,EAAEiF,GAAKjF,CAC3C,CAES+2P,CAAgB5kO,EAAG5N,EAAOk9G,IAC9BzhI,EAAExkB,OAAS,KAAQimJ,EAAG,UAAU,IAAItvG,KAAIi4M,GAAax5E,EAAI,EAAwB5wJ,EACtF,CAGA,IAAIg3P,GAAiB/nB,GACjBgoB,GAAiB/nB,GA2IrB,SAASgoB,GAAmBplP,GAG3B,MAAO,CAFIm8N,GAAoBn8N,GACnBq9N,GAAWr9N,GACF,IACtB,CAgIA,IAAIqlP,GAAqBloB,GACrBmoB,GAAqBloB,GAiFzB,IAAImoB,GAAgB,CAAC,OAAO,QAAQ,MAAM,SAAS,SAAS,UA4X5D,SAASC,GAAkB1mG,EAAiB25E,EAAep4M,EAAcrkB,EAAc6b,EAAM83G,EAAkB81H,GAC9G,QAAc9sQ,IAAX8/O,EAAK5gO,EAAiB,OAAO,EAChC,IAAI4oN,EAAK,GACT,OAAOgY,EAAK54O,GACX,IAAK,IAAK4gO,EAAKgY,EAAK5gO,EAAI,IAAM,IAAK,MACnC,IAAK,KACJ4gO,EAAOxF,GAAIwF,IACNj8N,EAAIi8N,EAAKj8N,GAAKu+M,GAAU,IAC7B0d,EAAK5gO,EAAIw6N,GAAQ59M,GAAUgkN,EAAK5gO,IAAK4gO,EAAK54O,EAAI,IAC9C,MAED,IAAK,IAAK,IAAK,IAAK4gO,EAAK,GAAGgY,EAAK5gO,EAAG,MACpC,QAAS4oN,EAAKgY,EAAK5gO,EAEpB,IAAI3J,EAAa,CAACra,EAAEwsC,EAAGhtB,EAAE2I,GAKzB,OAHA9N,EAAEgF,EAAIuuP,GAAe5pO,EAAK09N,QAAS9c,EAAM5gN,GACtC4gN,EAAKtlO,GAAGw8H,EAAG,UAAUlhJ,KAAK,CAACsqP,GAAY7qO,GAAIuqO,EAAKtlO,IAChDslO,EAAKplO,GAAGs8H,EAAG,aAAalhJ,KAAK,CAACsqP,GAAY7qO,GAAIuqO,EAAKplO,IAC/ColO,EAAK54O,GACX,IAAK,IAAK,IAAK,MAWd,OAVGg4B,EAAK07N,SACP9yB,EAAK0gC,GAAWtpO,EAAKsqO,QAAU1pB,EAAK5gO,EAAYggB,EAAKuqO,YACrDl0P,EAAErO,EAAI,IAAKqO,EAAE2J,EAAI4oN,EACdglC,EAAWntB,GAAax5E,EAAI,GA7nBnC,SAA4B25E,EAAMitB,EAAOx3P,GAIxC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,IAC1BwV,GAAoBspB,EAAOx3P,GAC3BA,EAAEu0N,YAAY,EAAGijC,EAAM7tP,GAChB3J,CACR,CAwnB8Dy3P,CAAmBltB,EAAMvqO,IAC9EoqO,GAAax5E,EAAI,EAzoB1B,SAA2B25E,EAAMitB,EAAOx3P,GAIvC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,KAC1BsV,GAAewpB,EAAOx3P,GACtBA,EAAEu0N,YAAY,EAAGijC,EAAM7tP,GAChB3J,CACR,CAooBoD03P,CAAkBntB,EAAMvqO,MAExEA,EAAErO,EAAI,MACH4lQ,EAAWntB,GAAax5E,EAAI,GAljBnC,SAA0B25E,EAAMitB,EAAOx3P,GAItC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,EAAI,EAAI6R,EAAK5gO,EAAEnuB,SACzC0yP,GAAoBspB,EAAOx3P,GAC3BmtO,GAAmB5C,EAAK5gO,EAAG3J,GACpBA,EAAExkB,OAASwkB,EAAEiF,EAAIjF,EAAEhE,MAAM,EAAGgE,EAAEiF,GAAKjF,CAC3C,CA6iB4D23P,CAAiBptB,EAAMvqO,IAC1EoqO,GAAax5E,EAAI,EA9jB1B,SAAyB25E,EAAMitB,EAAOx3P,GAIrC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,GAAK,EAAI6R,EAAK5gO,EAAEnuB,SAC1CwyP,GAAewpB,EAAOx3P,GACtBmtO,GAAmB5C,EAAK5gO,EAAG3J,GACpBA,EAAExkB,OAASwkB,EAAEiF,EAAIjF,EAAEhE,MAAM,EAAGgE,EAAEiF,GAAKjF,CAC3C,CAyjBkD43P,CAAgBrtB,EAAMvqO,MAE9D,EACR,IAAK,IAQF,OANCuqO,EAAK5gO,IAAe,EAAT4gO,EAAK5gO,IAAU4gO,EAAK5gO,GAAK,KAAQ4gO,EAAK5gO,EAAI,IACpD4tP,EAAWntB,GAAax5E,EAAI,GAxlBnC,SAA0B25E,EAAMitB,EAAOx3P,GAItC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,IAC1BwV,GAAoBspB,EAAOx3P,GAC3B8uO,GAAevE,EAAK5gO,EAAG3J,GAChBA,CACR,CAmlB4D63P,CAAiBttB,EAAMvqO,IAC1EoqO,GAAax5E,EAAI,EApmB1B,SAAyB25E,EAAMitB,EAAOx3P,GAIrC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,KAC1BsV,GAAewpB,EAAOx3P,GACtB8uO,GAAevE,EAAK5gO,EAAG3J,GAChBA,CACR,CA+lBkD83P,CAAgBvtB,EAAMvqO,IAEjEu3P,EAAWntB,GAAax5E,EAAI,GAnnBnC,SAA4B25E,EAAMitB,EAAOx3P,GAIxC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,KAC1BwV,GAAoBspB,EAAOx3P,GAC3BovO,GAAW7E,EAAK5gO,EAAG3J,GACZA,CACR,CA8mB8D+3P,CAAmBxtB,EAAMvqO,IAC9EoqO,GAAax5E,EAAI,EA/nB1B,SAA2B25E,EAAMitB,EAAOx3P,GAIvC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,KAC1BsV,GAAewpB,EAAOx3P,GACtBovO,GAAW7E,EAAK5gO,EAAG3J,GACZA,CACR,CA0nBoDg4P,CAAkBztB,EAAMvqO,KAChE,EACV,IAAK,IAIJ,OAHAA,EAAErO,EAAI,IACH4lQ,EAAWntB,GAAax5E,EAAI,GAnsBlC,SAA4B25E,EAAMitB,EAAOx3P,GAIxC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,IAC1BwV,GAAoBspB,EAAOx3P,GAC3BA,EAAEu0N,YAAY,EAAGgW,EAAK5gO,EAAI,EAAI,GACvB3J,CACR,CA8rB6Di4P,CAAmB1tB,EAAMvqO,IAC9EoqO,GAAax5E,EAAI,EA/sBzB,SAA2B25E,EAAMitB,EAAOx3P,GAIvC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,IAC1BsV,GAAewpB,EAAOx3P,GACtBA,EAAEu0N,YAAY,EAAGgW,EAAK5gO,EAAI,EAAI,GACvB3J,CACR,CA0sBmDk4P,CAAkB3tB,EAAMvqO,KACjE,EACR,IAAK,IAIJ,OAHAA,EAAErO,EAAI,IACH4lQ,EAAWntB,GAAax5E,EAAI,GAhrBlC,SAA6B25E,EAAMitB,EAAOx3P,GAMzC,OALQ,MAALA,IAAWA,EAAI04N,GAAQ,IAC1BwV,GAAoBspB,EAAOx3P,GAC3BA,EAAEu0N,YAAY,EAAGgW,EAAK5gO,GACtB3J,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACVv0N,CACR,CAyqB8Dm4P,CAAoB5tB,EAAMvqO,IAChFoqO,GAAax5E,EAAI,EA5rBzB,SAA4B25E,EAAMitB,EAAOx3P,GAIxC,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,IAC1BsV,GAAewpB,EAAOx3P,GACtBA,EAAEu0N,YAAY,EAAGgW,EAAK5gO,GACf3J,CACR,CAurBoDo4P,CAAmB7tB,EAAMvqO,KACnE,EAIT,OAFGu3P,EAAWntB,GAAax5E,EAAI,GAluBhC,SAA6B25E,EAAMitB,EAAOx3P,GAEzC,OADQ,MAALA,IAAWA,EAAI04N,GAAQ,IACnBwV,GAAoBspB,EAAOx3P,EACnC,CA+tB4Dq4P,CAAoB9tB,EAAMvqO,IAChFoqO,GAAax5E,EAAI,EA3uBvB,SAA4B25E,EAAMitB,EAAOx3P,GAExC,OADQ,MAALA,IAAWA,EAAI04N,GAAQ,IACnBsV,GAAewpB,EAAOx3P,EAC9B,CAwuBkDs4P,CAAmB/tB,EAAMvqO,KACnE,CACR,CA2BA,SAASu4P,GAAiB3nG,EAAInvB,GACzBA,GAAOA,EAAG,aACd2oG,GAAax5E,EAAI,IA/hBlB,SAAkC+nE,EAAK34N,GAGtC,OAFQ,MAALA,IAAWA,EAAI04N,GAAQ,IAC1B14N,EAAEu0N,YAAY,EAAGoE,GACV34N,CACR,CA2hBmDw4P,CAAyB/2H,EAAG,WAAWjmJ,SACzFimJ,EAAG,WAAWjgJ,SAAQ,SAASqqB,GAAKu+N,GAAax5E,EAAI,IAA2BwmG,GAAmBvrP,GAAK,IACxGu+N,GAAax5E,EAAI,KAClB,CAEA,SAAS6nG,GAAe7nG,EAAInvB,GACvBA,GAAOA,EAAG,WACd2oG,GAAax5E,EAAI,KACjBnvB,EAAG,SAASjgJ,SAAQ,SAASqqB,EAAGvwB,GAAQuwB,GAAGu+N,GAAax5E,EAAI,GAxe7D,SAA0B9iJ,EAAcoqJ,EAAKl4J,GACpC,MAALA,IAAWA,EAAI04N,GAAQ,KAC1B,IAAIp0N,EAAI6uP,GAAUrlP,EAAGoqJ,GACrBl4J,EAAEu0N,aAAa,EAAGzmN,GAClB9N,EAAEu0N,aAAa,EAAGzmN,GAClB9N,EAAEu0N,YAAY,EAAqB,KAAjBjwN,EAAEjG,OAAS,KAC7B2B,EAAEu0N,YAAY,EAAG,GACjB,IAAI9yJ,EAAQ,EAKZ,OAJGy2F,EAAIzqK,SAAQg0E,GAAS,GACH,iBAAXn9D,EAAEjG,QAAmBojE,GAAS,GACrCy2F,EAAIihF,QAAO13K,GAAUy2F,EAAIihF,OAAS,GACrCn5O,EAAEu0N,YAAY,EAAG9yJ,GACVzhE,CACR,CA2dwF04P,CAAiBp9Q,EAAGuwB,GAAK,IAChHu+N,GAAax5E,EAAI,KAClB,CAEA,SAAS+nG,GAAgB/nG,EAAInvB,GACxBA,GAAOA,EAAG,UACd2oG,GAAax5E,EAAI,KACjBw5E,GAAax5E,EAAI,IAxblB,SAA+BnrK,GAC9B,IAAIua,EAAI04N,GAAQ,IAIhB,OAHA14N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjB2a,GAAmBzpP,EAAKua,GACjBA,CACR,CAkbgD44P,CAAsBntB,GAAkBhqG,EAAG,WAC1F2oG,GAAax5E,EAAI,KAClB,CAEA,SAASioG,GAAajoG,EAAInvB,EAAkBsxG,GAE3CtxG,EAAG,UAAUjgJ,SAAQ,SAASyjB,GAC7B,GAAIA,EAAE,GAAGquO,OAAT,CACA,IAAIJ,EAAMD,GAASF,GAAO,EAAG9tO,EAAE,GAAGquO,OAAO7sP,QAAQ,OAAQ,IAAKwqP,GAAKG,OACnEhH,GAAax5E,EAAI,IApiBnB,SAAwB3rJ,EAAGiuO,GAC1B,IAAIlzO,EAAI04N,GAAQ,GAAG,GAAGzzN,EAAE,GAAGquO,OAAO93P,QAAUypB,EAAE,GAAG4zO,SAAW,IAAIr9P,SAChE0zP,GAAmB,CAAClqO,EAAEsmO,GAAYrmO,EAAE,IAAK/iB,EAAEopP,GAAYrmO,EAAE,KAAMjF,GAC/DyuO,GAAY,MAAQyE,EAAKlzO,GACzB,IAAI84P,EAAS7zP,EAAE,GAAGquO,OAAOjtP,QAAQ,KAKjC,OAHA8mP,KADqB,GAAX2rB,EAAe,GAAK7zP,EAAE,GAAGquO,OAAOt3O,MAAM88P,EAAO,KAC7B,GAAI94P,GAC9BmtO,GAAmBloO,EAAE,GAAG4zO,SAAW,GAAI74O,GACvCmtO,GAAmB,GAAIntO,GAChBA,EAAEhE,MAAM,EAAGgE,EAAEiF,EACrB,CA0hB0C8zP,CAAe9zP,EAAGiuO,GAFnC,CAGxB,WACOzxG,EAAG,SACX,CAoCA,SAASu3H,GAAepoG,EAAInvB,EAAIgzH,GAC/BrqB,GAAax5E,EAAI,KAGhBw5E,GAAax5E,EAAI,IAhgBnB,SAA8BnvB,EAAIgzH,EAAUz0P,GACnC,MAALA,IAAWA,EAAI04N,GAAQ,KAC1B,IAAI7yN,EAAI,IAcR,SAbM4uP,GAAU,CAAC,GAAGU,OAAO,IAAI,IAAI,CAAC,GAAGE,MAAKxvP,GAAK,IACjD7F,EAAEu0N,YAAY,EAAG1uN,GACjB7F,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,KACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACVv0N,CACR,CA+egDi5P,CAAqBx3H,EAAIgzH,IAKvErqB,GAAax5E,EAAI,KAGlBw5E,GAAax5E,EAAI,IAClB,CAOA,SAASsoG,GAAmBtoG,EAAInvB,GAC3BA,EAAG,aAEP2oG,GAAax5E,EAAI,IAtflB,SAAkCygG,EAAIrxP,GAyBrC,OAxBQ,MAALA,IAAWA,EAAI04N,GAAQ,KAC1B14N,EAAEu0N,YAAY,EAAG88B,EAAGzwF,SAAWklF,GAAsCuL,EAAGzwF,UAAY,GACpF5gK,EAAEu0N,YAAY,EAAG,GACjB,CACC,CAAC,WAAuB,GACxB,CAAC,aAAuB,GACxB,CAAC,eAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,oBAAwB,GACzB,CAAC,iBAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,qBAAuB,GACxB,CAAC,QAAwB,GACzB,CAAC,cAAwB,GACzB,CAAC,eAAwB,GACzB,CAAC,uBAAuB,IACvB/yO,SAAQ,SAASye,GAEfA,EAAE,GAAID,EAAEu0N,YAAY,EAAe,MAAZ88B,EAAGpxP,EAAE,KAAgBoxP,EAAGpxP,EAAE,IAAU,EAAJ,GAChDD,EAAEu0N,YAAY,EAAe,MAAZ88B,EAAGpxP,EAAE,KAAeoxP,EAAGpxP,EAAE,IAAM,EAAI,EAC/D,IACOD,CACR,CA4dmDm5P,CAAyB13H,EAAG,aAC/E,CAEA,SAAS23H,GAAat+P,EAAgB6uB,EAAMyhI,EAAiB2nF,GAC5D,IAAIniF,EAAKk5E,KACL9kO,EAAIomJ,EAAG6gF,WAAWnxO,GAAM2mI,EAAK2pB,EAAG8gF,OAAOlnO,IAAM,CAAC,EAC9CG,EAAeH,EAAG,IAASomJ,GAAMA,EAAGqpG,WAAUtvP,EAAIimJ,EAAGqpG,SAASvoB,OAAOpxO,GAAK45P,UAAYvvP,EAAe,CAAV,MAAMjjB,GAAI,CACzG,IAAIyD,EAAI8lP,GAAkBhqG,EAAG,SAAW,MACxC,GAAG97I,EAAEzD,EAAEijB,EAAI,OAAUxf,EAAEzD,EAAEyD,EAAI,QAAS,CACrC,GAAGgkC,EAAKmqN,IAAK,MAAM,IAAIjpP,MAAM,UAAY42I,EAAG,SAAW,MAAQ,uCAC/D97I,EAAEzD,EAAEijB,EAAIjc,KAAK+T,IAAItX,EAAEzD,EAAEijB,EAAG,OACxBxf,EAAEzD,EAAEyD,EAAIuD,KAAK+T,IAAItX,EAAEzD,EAAEijB,EAAG,QACzB,CA4CA,OA3CAs8H,EAAG,UAAY,GAEfA,EAAG,aAAe,GAClB2oG,GAAax5E,EAAI,MACdxF,EAAGmpG,QAAU9yH,EAAG,cAAa2oG,GAAax5E,EAAI,IAt4BlD,SAAyBxsE,EAAKyqI,EAAM7uN,GAC3B,MAALA,IAAWA,EAAI04N,GAAQ,GAAG,EAAEt0I,EAAI5oG,SACnC,IAAIqqB,EAAI,IACLgpN,IACCA,EAAKkmC,QAAOlvP,IAAK,IACjBgpN,EAAKvhO,OAAOuY,IAAK,MAErB7F,EAAEu0N,YAAY,EAAG1uN,GACjB,IAAI,IAAIvqB,EAAI,EAAGA,EAAI,IAAKA,EAAG0kB,EAAEu0N,YAAY,EAAE,GAK3C,OAJA8a,GAAe,CAAC1mI,KAAK,GAAI3oG,GACzBA,EAAEu0N,aAAa,GAAG,GAClBv0N,EAAEu0N,aAAa,GAAG,GAClB6Z,GAAmBhqJ,EAAKpkF,GACjBA,EAAEhE,MAAM,EAAGgE,EAAEiF,EACrB,CAw3B0Eo0P,CAAgBl0P,EAAGs8H,EAAG,cAC/F2oG,GAAax5E,EAAI,IAAuBqmG,GAAetxQ,IACvDqzQ,GAAepoG,EAAInvB,EAAI2pB,EAAGqpG,UAE1BgE,GAAe7nG,EAAInvB,GAtIpB,SAAyBmvB,EAAInvB,EAAkB3mI,EAAgB6uB,GAC9D,IAAmDlkC,EAA/C8+B,EAAQknN,GAAkBhqG,EAAG,SAAW,MAAY8uF,EAAK,GAAIr0L,EAAyB,GAC1FkuM,GAAax5E,EAAI,KACjB,IAAIy7E,EAAQ5uP,MAAMwS,QAAQwxI,GACtB63H,EAAM/0O,EAAMriC,EAAEyD,EACf87I,EAAG,WAAU63H,EAAMpwQ,KAAKC,IAAIo7B,EAAMriC,EAAEyD,EAAG87I,EAAG,SAASjmJ,OAAS,IAC/D,IAAI,IAAI22C,EAAI5N,EAAMvf,EAAErf,EAAGwsC,GAAKmnO,IAAOnnO,EAAG,CACrCo+L,EAAKya,GAAW74M,GAGhBukO,GAAiB9lG,EAAInvB,EAAIl9G,EAAO4N,GAChC,IAAIolO,GAAY,EAChB,GAAGplO,GAAK5N,EAAMriC,EAAEyD,EAAG,IAAI,IAAImoB,EAAIyW,EAAMvf,EAAEG,EAAG2I,GAAKyW,EAAMriC,EAAEijB,IAAK2I,EAAG,CAE3DqkB,IAAM5N,EAAMvf,EAAErf,IAAGu2C,EAAKpuB,GAAKm9N,GAAWn9N,IACzCroB,EAAMy2C,EAAKpuB,GAAKyiN,EAChB,IAAIga,EAAO8B,GAAS5qG,EAAGtvG,IAAI,IAAIrkB,GAAK2zH,EAAGh8I,GAGvC8xQ,IAFIhtB,GAEQ+sB,GAAkB1mG,EAAI25E,EAAMp4M,EAAGrkB,EAAG6b,EAAM83G,EAAI81H,EACzD,CACD,CACAntB,GAAax5E,EAAI,IAClB,CAgHC2oG,CAAgB3oG,EAAInvB,EAAI3mI,EAAK6uB,GAE7BuvO,GAAmBtoG,EAAInvB,GAzExB,SAA0BmvB,EAAInvB,EAAI2pB,EAAItwJ,GACrC,GAAI2mI,EAAG,eAAP,CACA,IAAI3vH,EAAO2vH,EAAG,eACVh8I,EAA0B,kBAAbqsB,EAAKrsB,IAAmBqsB,EAAKrsB,IAAM+lP,GAAa15N,EAAKrsB,KAGlE2lK,EAAGqpG,WAAUrpG,EAAGqpG,SAAY,CAACvoB,OAAO,KACpC9gF,EAAGqpG,SAASuB,QAAO5qG,EAAGqpG,SAASuB,MAAQ,IAC3C,IAAIpwH,EAAyBwlB,EAAGqpG,SAASuB,MACrCzxO,EAAQgnN,GAAa9lP,GACtB8+B,EAAMvf,EAAErf,GAAK4+B,EAAMriC,EAAEyD,IAAK4+B,EAAMriC,EAAEyD,EAAI4lP,GAAa9pG,EAAG,SAASv/I,EAAEyD,EAAGF,EAAM+lP,GAAajnN,IAC1F,IAAI,IAAIjpC,EAAI,EAAGA,EAAIsqJ,EAAMpqJ,SAAUF,EAAG,CACrC,IAAI0C,EAAO4nJ,EAAMtqJ,GACjB,GAAgB,yBAAb0C,EAAK6yQ,MACL7yQ,EAAKi4Q,OAASn7P,EAAjB,CACA9c,EAAKk4Q,IAAM,IAAM9qG,EAAG6gF,WAAWnxO,GAAO,KAAOrV,EAAK,KADpB,CAE/B,CACGnK,GAAKsqJ,EAAMpqJ,QAAQoqJ,EAAMrlJ,KAAK,CAAEswQ,KAAM,wBAAyBoF,MAAOn7P,EAAKo7P,IAAK,IAAM9qG,EAAG6gF,WAAWnxO,GAAO,KAAOrV,IAErH2kP,GAAax5E,EAAI,IAA8Bs+E,GAAmBzD,GAAkBhmP,KAIpF2kP,GAAax5E,EAAI,IAtBY,CAuB9B,CAoDC4oG,CAAiB5oG,EAAInvB,EAAI2pB,EAAItwJ,GAI7By9P,GAAiB3nG,EAAInvB,GAIrBo3H,GAAajoG,EAAInvB,EAAIsxG,GAElBtxG,EAAG,aAAa2oG,GAAax5E,EAAI,IArkBrC,SAA0B0iG,EAAqBtzP,GAI9C,OAHQ,MAALA,IAAWA,EAAI04N,GAAQ,KAC1B26B,GAAgBC,GAChB+D,GAAc71Q,SAAQ,SAAS+H,GAAK6lP,GAAYkkB,EAAiB/pQ,GAAIyW,EAAI,IAClEA,CACR,CAgkB8Dy5P,CAAiBh4H,EAAG,cAO7E93G,IAAQA,EAAK4sO,eAA+B,GAAlB5sO,EAAK4sO,UAAuBoC,GAAgB/nG,EAAInvB,GAtG/E,SAA6BmvB,EAAInvB,EAAkB3mI,EAAgBi4O,GAElE,GAAGtxG,EAAG,aAAajmJ,OAAS,EAAG,CAC9B,IAAI03P,EAAMD,GAASF,GAAO,EAAG,0BAA4Bj4O,EAAI,GAAK,OAAQm2O,GAAKI,KAC/EjH,GAAax5E,EAAI,IAA+B69E,GAAY,MAAQyE,IACpEzxG,EAAG,WAAayxG,CACjB,CACD,CAkGCwmB,CAAoB9oG,EAAInvB,EAAI3mI,EAAKi4O,GAQjC3I,GAAax5E,EAAI,KACVA,EAAGvoK,KACX,CAqJA,IAAIsxQ,GAAa,CAChB,CAAC,qBAA+B,EAAO,QACvC,CAAC,wBAA+B,EAAO,QACvC,CAAC,cAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,WAA+B,IAChC,CAAC,YAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAQ,OACxC,CAAC,iBAA+B,EAAO,QACvC,CAAC,sBAA+B,EAAO,QACvC,CAAC,qBAA+B,EAAO,QACvC,CAAC,gBAA+B,EAAO,QACvC,CAAC,yBAA+B,EAAO,QACvC,CAAC,0BAA+B,EAAO,QACvC,CAAC,8BAA+B,EAAO,QACvC,CAAC,qBAA+B,EAAO,QACvC,CAAC,cAA+B,OAChC,CAAC,wBAA+B,EAAO,QACvC,CAAC,cAAe,YAgGjB,IAAIC,GAAwB,UAAW9qQ,MAAM,IAC7C,SAAS+qQ,GAAc55P,EAAc65P,GACpC,GAAG75P,EAAEzkB,OAAS,GAAI,CAAE,GAAGs+Q,EAAM,OAAO,EAAO,MAAM,IAAIjvQ,MAAM,qCAAuC,CAClG,IAAIkvQ,GAAQ,EAMZ,OALAH,GAASp4Q,SAAQ,SAAS2jB,GACzB,IAAoB,GAAjBlF,EAAE5Z,QAAQ8e,GAAb,CACA,IAAI20P,EAAM,MAAM,IAAIjvQ,MAAM,4CAC1BkvQ,GAAQ,CAFqB,CAG9B,IACOA,CACR,CAWA,SAASC,GAAS5uG,GACjB,IAAIA,IAAOA,EAAG6gF,aAAe7gF,EAAG8gF,OAAQ,MAAM,IAAIrhP,MAAM,oBACxD,IAAIugK,EAAG6gF,WAAWzwP,OAAQ,MAAM,IAAIqP,MAAM,qBAC1C,IAAIqhP,EAAU9gF,EAAGqpG,UAAYrpG,EAAGqpG,SAASvoB,QAAW,IAbrD,SAAwBn3M,EAAGlnB,EAAGosP,GAC7BllO,EAAEvzC,SAAQ,SAASye,EAAE3kB,GACpBu+Q,GAAc55P,GACd,IAAI,IAAIqI,EAAI,EAAGA,EAAIhtB,IAAKgtB,EAAG,GAAGrI,GAAK80B,EAAEzsB,GAAI,MAAM,IAAIzd,MAAM,yBAA2BoV,GACpF,GAAGg6P,EAAO,CACT,IAAIC,EAAMrsP,GAAKA,EAAEvyB,IAAMuyB,EAAEvyB,GAAGo5Q,UAAaz0P,EACzC,GAAuB,IAApBi6P,EAAG51K,WAAW,IAAY41K,EAAG1+Q,OAAS,GAAI,MAAM,IAAIqP,MAAM,2BAA6BqvQ,EAC3F,CACD,GACD,CAKCC,CAAe/uG,EAAG6gF,WAAYC,IAAU9gF,EAAGmpG,QAC3C,IAAI,IAAIj5Q,EAAI,EAAGA,EAAI8vK,EAAG6gF,WAAWzwP,SAAUF,EAAGq4Q,GAASvoG,EAAG8gF,OAAO9gF,EAAG6gF,WAAW3wP,IAAK8vK,EAAG6gF,WAAW3wP,GAAIA,EAEvG,CAiKA,SAAS8+Q,GAAahvG,GACrB,IAAIprJ,EAAI,CAAC0lO,IACT1lO,EAAEA,EAAExkB,QAAUurP,GAAU,WAAY,KAAM,CACzC,MAASG,GAAW,GAGpB,UAAWD,KAGZ,IAAIozB,EAAejvG,EAAGqpG,WAAarpG,EAAGqpG,SAASuB,OAAO,IAAIx6Q,OAAS,EAK/D8+Q,EAAsB,CAAC3F,SAAS,gBACjCvpG,EAAGqpG,UAAYrpG,EAAGqpG,SAAS8F,UAC7BZ,GAAWn4Q,SAAQ,SAASwN,GAEe,MAAtCo8J,EAAGqpG,SAAS8F,QAAQvrQ,EAAE,KACtBo8J,EAAGqpG,SAAS8F,QAAQvrQ,EAAE,KAAgBA,EAAE,KAC5CsrQ,EAAWtrQ,EAAE,IAAOo8J,EAAGqpG,SAAS8F,QAAQvrQ,EAAE,IAC3C,IAEGo8J,EAAGqpG,SAAS8F,QAAQ7F,WAAY4F,EAAW3F,SAAWvpG,EAAGqpG,SAAS8F,QAAQ7F,gBAAiB4F,EAAW5F,WAE1G10P,EAAEA,EAAExkB,QAAWurP,GAAU,aAAc,KAAMuzB,GAI7C,IAAItuB,EAAS5gF,EAAGqpG,UAAYrpG,EAAGqpG,SAASvoB,QAAU,GAC9C5wP,EAAI,EAGR,GAAG0wP,GAAUA,EAAO,IAAQA,EAAO,GAAGwuB,OAAQ,CAE7C,IADAx6P,EAAEA,EAAExkB,QAAU,cACVF,EAAI,EAAGA,GAAK8vK,EAAG6gF,WAAWzwP,QACzBwwP,EAAO1wP,IACP0wP,EAAO1wP,GAAGk/Q,SAFyBl/Q,GAIrCA,GAAK8vK,EAAG6gF,WAAWzwP,SAAQF,EAAI,GAClC0kB,EAAEA,EAAExkB,QAAU,6BAA+BF,EAAI,gBAAkBA,EAAI,MACvE0kB,EAAEA,EAAExkB,QAAU,cACf,CAGA,IADAwkB,EAAEA,EAAExkB,QAAU,WACVF,EAAI,EAAGA,GAAK8vK,EAAG6gF,WAAWzwP,SAAUF,EAAG,CAC1C,IAAIsiQ,EAAO,CAAC5/P,KAAK+nP,GAAU36E,EAAG6gF,WAAW3wP,GAAG0gB,MAAM,EAAE,MAGpD,GAFA4hP,EAAI6c,QAAU,IAAIn/Q,EAAE,GACpBsiQ,EAAI,QAAU,OAAOtiQ,EAAE,GACpB0wP,EAAO1wP,GAAI,OAAO0wP,EAAO1wP,GAAGk/Q,QAC9B,KAAK,EAAG5c,EAAIt5P,MAAQ,SAAU,MAC9B,KAAK,EAAGs5P,EAAIt5P,MAAQ,aAErB0b,EAAEA,EAAExkB,QAAWurP,GAAU,QAAQ,KAAK6W,EACvC,CA+BA,OA9BA59O,EAAEA,EAAExkB,QAAU,YAKX6+Q,IACFr6P,EAAEA,EAAExkB,QAAU,iBACX4vK,EAAGqpG,UAAYrpG,EAAGqpG,SAASuB,OAAO5qG,EAAGqpG,SAASuB,MAAMx0Q,SAAQ,SAASye,GACvE,IAAImF,EAAY,CAACpnB,KAAKiiB,EAAE4wP,MACrB5wP,EAAEy6P,UAASt1P,EAAEs4M,QAAUz9M,EAAEy6P,SACd,MAAXz6P,EAAEg2P,QAAe7wP,EAAEu1P,aAAe,GAAG16P,EAAEg2P,OACvCh2P,EAAEu6P,SAAQp1P,EAAE3X,OAAS,KACpBwS,EAAEi2P,MACNl2P,EAAEA,EAAExkB,QAAUurP,GAAU,cAAehB,GAAU9lO,EAAEi2P,KAAM9wP,GAC1D,IACApF,EAAEA,EAAExkB,QAAU,mBAcZwkB,EAAExkB,OAAO,IAAIwkB,EAAEA,EAAExkB,QAAU,cAAewkB,EAAE,GAAGA,EAAE,GAAGvZ,QAAQ,KAAK,MAC7DuZ,EAAEpT,KAAK,GACf,CAUA,SAASguQ,GAAkB9oP,EAAM9R,GAMhC,OALIA,IAAGA,EAAI04N,GAAQ,MACnB14N,EAAEu0N,YAAY,EAAGziN,EAAK0oP,QACtBx6P,EAAEu0N,YAAY,EAAGziN,EAAK+oP,QACtBpsB,GAAY38N,EAAKgpP,SAAU96P,GAC3BmtO,GAAmBr7N,EAAK9zB,KAAKge,MAAM,EAAE,IAAKgE,GACnCA,EAAExkB,OAASwkB,EAAEiF,EAAIjF,EAAEhE,MAAM,EAAGgE,EAAEiF,GAAKjF,CAC3C,CAwNA,SAAS+6P,GAAgBnqG,EAAIxF,GAE5B,GAAIA,EAAGqpG,UAAarpG,EAAGqpG,SAASvoB,OAAhC,CAGA,IAFA,IAAIF,EAAS5gF,EAAGqpG,SAASvoB,OACrB5wP,EAAI,EAAG0/Q,GAAU,EAAGvtQ,GAAU,EAC5BnS,EAAI0wP,EAAOxwP,SAAUF,GACtB0wP,EAAO1wP,KAAO0wP,EAAO1wP,GAAGk/Q,SAAqB,GAAXQ,EAAcA,EAAS1/Q,EACjC,GAApB0wP,EAAO1wP,GAAGk/Q,SAA0B,GAAX/sQ,IAAcA,EAASnS,GAEtDmS,EAASutQ,IACZ5wB,GAAax5E,EAAI,KACjBw5E,GAAax5E,EAAI,IAzBlB,SAA2B91J,EAAKkF,GAW/B,OAVIA,IAAGA,EAAI04N,GAAQ,KACnB14N,EAAEu0N,aAAa,EAAG,GAClBv0N,EAAEu0N,aAAa,EAAG,KAClBv0N,EAAEu0N,YAAY,EAAI,OAClBv0N,EAAEu0N,YAAY,EAAI,OAClBv0N,EAAEu0N,YAAY,EAAI,KAClBv0N,EAAEu0N,YAAY,EAAIz5N,GAClBkF,EAAEu0N,YAAY,EAAIz5N,GAElBkF,EAAEu0N,YAAY,EADF,KAELv0N,EAAExkB,OAASwkB,EAAEiF,EAAIjF,EAAEhE,MAAM,EAAGgE,EAAEiF,GAAKjF,CAC3C,CAa4Ci7P,CAAkBD,IAE7D5wB,GAAax5E,EAAI,KAX6B,CAY/C,CAuBA,SAASsqG,GAAa9vG,EAAIzhI,GACzB,IAAIinI,EAAKk5E,KAyBT,OAxBAM,GAAax5E,EAAI,KACjBw5E,GAAax5E,EAAI,IAjElB,SAA8B9+I,EAAM9R,GAC/BA,IAAGA,EAAI04N,GAAQ,MACnB,IAAI,IAAIp9O,EAAI,EAAQ,GAALA,IAAUA,EAAG0kB,EAAEu0N,YAAY,EAAG,GAK7C,OAJA4Y,GAAmB,UAAWntO,GAC9BmtO,GAAmBhjB,GAAK74J,QAAStxD,GACjCmtO,GAAmBhjB,GAAK74J,QAAStxD,GACjCmtO,GAAmB,OAAQntO,GACpBA,EAAExkB,OAASwkB,EAAEiF,EAAIjF,EAAEhE,MAAM,EAAGgE,EAAEiF,GAAKjF,CAC3C,CAyD+Cm7P,IAE9C/wB,GAAax5E,EAAI,IAxOlB,SAAyB9+I,EAAmB9R,GACvCA,IAAGA,EAAI04N,GAAQ,KACnB,IAAIj3J,EAAQ,EAQZ,OAPG3vD,GAECA,EAAKspP,gBAAe35L,GAAS,GAEjCzhE,EAAEu0N,YAAY,EAAG9yJ,GACjBzhE,EAAEu0N,YAAY,EAAG,GACjB6Z,GAAmBt8N,GAAQA,EAAK4iP,UAAY,eAAgB10P,GACrDA,EAAEhE,MAAM,EAAGgE,EAAEiF,EACrB,CA6N0Co2P,CAAgBjwG,EAAGqpG,UAAYrpG,EAAGqpG,SAAS8F,SAAW,OAG/FQ,GAAgBnqG,EAAIxF,GAjFrB,SAAyBwF,EAAIxF,GAC5Bg/E,GAAax5E,EAAI,KACjB,IAAI,IAAI91J,EAAM,EAAGA,GAAOswJ,EAAG6gF,WAAWzwP,SAAUsf,EAG/CsvO,GAAax5E,EAAI,IAA0BgqG,GADnC,CAAEJ,OADApvG,EAAGqpG,UAAYrpG,EAAGqpG,SAASvoB,QAAU9gF,EAAGqpG,SAASvoB,OAAOpxO,IAAQswJ,EAAGqpG,SAASvoB,OAAOpxO,GAAK0/P,QAAU,EACrFK,OAAQ//P,EAAI,EAAGggQ,SAAU,OAAShgQ,EAAI,GAAI9c,KAAMotK,EAAG6gF,WAAWnxO,MAGtFsvO,GAAax5E,EAAI,IAClB,CA0EC0qG,CAAgB1qG,EAAIxF,GAepBg/E,GAAax5E,EAAI,KAEVA,EAAGvoK,KACX,CAgEA,SAASkzQ,GAASzpP,EAAiB9zB,EAAiB2rC,EAAMyhI,EAAiB2nF,GAC1E,OAAyB,SAAjB/0P,EAAKge,OAAO,GAAco9P,GAAejF,IAAcriP,EAAM6X,EAAMyhI,EAAI2nF,EAChF,CAeA,SAASyoB,GAAW1pP,EAAqB9zB,EAAiB2rC,GACzD,OAAyB,SAAjB3rC,EAAKge,OAAO,GAAcowP,GAAqBZ,IAAoB15O,EAAM6X,EAClF,CA46BA,SAAS8xO,GAAiBrwG,EAAiBzhI,GAC1C,IAAI3pB,EAAsB,GAK1B,OAHGorJ,EAAGwoF,OAAO5zO,EAAEzf,KAtnYhB,SAA6BqzP,EAAOjqN,GACnC,IAAI3pB,EAAsB,GAgB1B,OAfA/X,GAAKusP,IAAiBxqP,KAAI,SAAS6hB,GAClC,IAAI,IAAIvwB,EAAI,EAAGA,EAAIs2P,GAAWp2P,SAAUF,EAAG,GAAGs2P,GAAWt2P,GAAG,IAAMuwB,EAAG,OAAO+lO,GAAWt2P,GACvF,IAAIA,EAAI,EAAGA,EAAIu2P,GAAUr2P,SAAUF,EAAG,GAAGu2P,GAAUv2P,GAAG,IAAMuwB,EAAG,OAAOgmO,GAAUv2P,GAChF,MAAMuwB,CACP,IAAGrqB,SAAQ,SAAS8iB,GACnB,GAAkB,MAAfsvO,EAAMtvO,EAAE,IAAX,CACA,IAAIuH,EAAI8d,GAAQA,EAAKiqN,OAA6B,MAApBjqN,EAAKiqN,MAAMtvO,EAAE,IAAcqlB,EAAKiqN,MAAMtvO,EAAE,IAAMsvO,EAAMtvO,EAAE,IAE9E,SADCA,EAAE,KACKuH,EAAI,IAAI7iB,KAAK6iB,GAAG4a,cAAchgC,QAAQ,SAAS,MAE9C,iBAALolB,EAAeA,EAAIhF,OAAOgF,IACtB,IAANA,IAAoB,IAANA,EAAeA,EAAIA,EAAI,IAAM,IAC3CA,aAAa7iB,OAAM6iB,EAAI,IAAI7iB,KAAK6iB,GAAG4a,cAAchgC,QAAQ,SAAS,KAC1EuZ,EAAEzf,KAAKsmP,GAAS2N,GAAgBlwO,EAAE,KAAOA,EAAE,GAAIuH,GARjB,CAS/B,IACOk7N,GAAU,qBAAsB/mO,EAAEpT,KAAK,IAAK,CAACu6D,MAAMggL,IAC3D,CAomYqBu0B,CAAoBtwG,EAAGwoF,MAAOjqN,IAE/CyhI,EAAGuwG,WAAW37P,EAAEzf,KArmYpB,SAA8BqzP,EAAO+nB,GACpC,IAAIC,EAAY,CAAC,aAAa,cAC1B3tP,EAAI,2BACJjO,EAAsB,GA2B1B,OA1BG4zO,GAAO3rP,GAAK2rP,GAAOpyP,SAAQ,SAAS+H,GAEtC,GAAIpO,OAAOQ,UAAUC,eAAeC,KAAK+3P,EAAOrqP,GAAhD,CACA,IAAI,IAAIjO,EAAI,EAAGA,EAAIs2P,GAAWp2P,SAAUF,EAAG,GAAGiO,GAAKqoP,GAAWt2P,GAAG,GAAI,OACrE,IAAIA,EAAI,EAAGA,EAAIu2P,GAAUr2P,SAAUF,EAAG,GAAGiO,GAAKsoP,GAAUv2P,GAAG,GAAI,OAC/D,IAAIA,EAAI,EAAGA,EAAIsgR,EAAUpgR,SAAUF,EAAG,GAAGiO,GAAKqyQ,EAAUtgR,GAAI,OAE5D,IAAIuwB,EAAI+nO,EAAMrqP,GACVoI,EAAI,SACO,iBAALka,GAAiBla,EAAI,QAASka,EAAIhF,OAAOgF,KACrC,IAANA,IAAoB,IAANA,GAAela,EAAI,UAAWka,EAAIA,EAAI,IAAM,KAC7DA,EAAIhF,OAAOgF,GAChB7L,EAAEzf,KAAKwmP,GAAUf,GAAaz8O,GAAIsiB,EAAG,CAAC,QAAQla,IAVY,CAW3D,IACGgqQ,GAAW1zQ,GAAK0zQ,GAAWn6Q,SAAQ,SAAS+H,GAE9C,GAAIpO,OAAOQ,UAAUC,eAAeC,KAAK8/Q,EAAWpyQ,MACjDqqP,IAASz4P,OAAOQ,UAAUC,eAAeC,KAAK+3P,EAAOrqP,IAAxD,CACA,IAAIsiB,EAAI8vP,EAAUpyQ,GACdoI,EAAI,SACO,iBAALka,GAAiBla,EAAI,QAASka,EAAIhF,OAAOgF,KACrC,IAANA,IAAoB,IAANA,GAAela,EAAI,UAAWka,EAAIA,EAAI,IAAM,KAC1DA,aAAa7iB,MAAQ2I,EAAI,cAAeka,EAAIA,EAAE4a,eACjD5a,EAAIhF,OAAOgF,GAChB7L,EAAEzf,KAAKwmP,GAAUf,GAAaz8O,GAAIsiB,EAAG,CAAC,QAAQla,IAPoB,CAQnE,IACO,IAAMsc,EAAI,WAAak5N,GAAW,KAAOnnO,EAAEpT,KAAK,IAAM,KAAOqhB,EAAI,GACzE,CAskYyB4tP,CAAqBzwG,EAAGwoF,MAAOxoF,EAAGuwG,YACnD37P,EAAEpT,KAAK,GACf,CAoBA,SAASkvQ,GAAgB77P,GAAK,OAAO8mO,GAAU,aAAc,KAAM,CAAC,UAAW9mO,EAAE4wP,KAAM,cAAc,IAAMzR,GAASn/O,EAAEi2P,IAAK,CAACvwQ,EAAE,EAAEwf,EAAE,KAAO,CAmJzI,SAAS42P,GAAmBxxB,EAAM9kP,EAAgBg8I,EAAI93G,EAAM7uB,EAAgBswJ,EAAI+rE,GAC/E,IAAIoT,QAAmB9/O,GAAV8/O,EAAK5gO,QAA4Blf,GAAV8/O,EAAK1kO,EAAiB,MAAO,GAEjE,IAAImC,EAAO,CAAC,EAEZ,GADGuiO,EAAK1kO,IAAGmC,EAAK,cAAgB,IAAM+9N,GAAUqZ,GAAS7U,EAAK1kO,EAAGsxN,KAC9DoT,EAAKh6M,GAAKg6M,EAAKh6M,EAAEv0B,MAAM,EAAGvW,EAAIjK,SAAWiK,EAAK,CAChD,IAAI4C,EAAMijP,GAAYf,EAAKh6M,EAAEv0B,MAAMvW,EAAIjK,OAAS,IAChDwsB,EAAK,iBAAmB,QAAU3f,EAAI1C,GAAKwxO,EAAKxxO,EAAI,GAAK,KAAO0C,EAAI1C,EAAIwxO,EAAKxxO,GAAK,KAAO,KAAO0C,EAAI8c,GAAKgyN,EAAKhyN,EAAI,GAAK,KAAO9c,EAAI8c,EAAIgyN,EAAKhyN,GAAK,IACjJ,CAOA,GALGolO,EAAKtlO,GAAKslO,EAAKtlO,EAAEquO,SACnBtrO,EAAK,WAAa+9N,GAAUwE,EAAKtlO,EAAEquO,QAChC/I,EAAKtlO,EAAE4zO,UAAS7wO,EAAK,mBAAqB+9N,GAAUwE,EAAKtlO,EAAE4zO,WAG5Dp3G,EAAG,WAEL,IADA,IAAIu6H,EAAOv6H,EAAG,WACNiwC,EAAK,EAAGA,GAAMsqF,EAAKxgR,SAAUk2L,EACjCsqF,EAAKtqF,GAAI1sK,EAAEG,GAAKgyN,EAAKhyN,GAAK62P,EAAKtqF,GAAI1sK,EAAErf,GAAKwxO,EAAKxxO,IAC/Cq2Q,EAAKtqF,GAAIxvL,EAAEijB,EAAI62P,EAAKtqF,GAAI1sK,EAAEG,IAAG6C,EAAK,kBAAoBg0P,EAAKtqF,GAAIxvL,EAAEijB,EAAI62P,EAAKtqF,GAAI1sK,EAAEG,GAChF62P,EAAKtqF,GAAIxvL,EAAEyD,EAAIq2Q,EAAKtqF,GAAI1sK,EAAErf,IAAGqiB,EAAK,gBAAkBg0P,EAAKtqF,GAAIxvL,EAAEyD,EAAIq2Q,EAAKtqF,GAAI1sK,EAAErf,IAInF,IAAIgM,EAAI,GAAI2S,EAAI,GAChB,OAAOimO,EAAK54O,GACX,IAAK,IAAK,IAAIg4B,EAAKijN,WAAY,MAAO,GAAI,MAC1C,IAAK,IAAKj7O,EAAI,SAAU2S,EAAIuC,OAAO0jO,EAAK5gO,GAAI,MAC5C,IAAK,IAAKhY,EAAI,UAAW2S,EAAKimO,EAAK5gO,EAAI,IAAM,IAAM,MACnD,IAAK,IAAKhY,EAAI,QAAS2S,EAAIwnO,GAAKvB,EAAK5gO,GAAI,MACzC,IAAK,IAAKhY,EAAI,WAAY2S,EAAI,IAAItb,KAAKuhP,EAAK5gO,GAAG8c,cAA4B,MAAV8jN,EAAKj8N,IAAWi8N,EAAKj8N,EAAIi8N,EAAKj8N,GAAKu+M,GAAU,KAAK,MACnH,IAAK,IAAKl7N,EAAI,SAAU2S,IAAeimO,EAAK5gO,GAAG,IA55cjC,IACNljB,QAAQo/O,IAAU,SAAStmO,GAAK,OAAOqmO,GAAUrmO,EAAI,IAAG9Y,QAAQw/O,IAAa,SAASjhO,GAAK,MAAO,MAASA,EAAEs/E,WAAW,GAAGx+E,SAAS,IAAKtc,cAAgB,GAAK,IA85cvK,IAAI6oQ,EAAKkB,GAAe5pO,EAAK09N,QAAS9c,EAAM5gN,GAC5C3hB,EAAK,cAAgB,KAAO,GAAGqqP,GAC/BrqP,EAAK,YAAcmvN,EAAKhyN,EAAI,EAC5B,IAAI82P,EAAgB,MAAV1xB,EAAK5gO,EAAYrF,EAAI,GAC3BuH,EAAc,KAAV0+N,EAAK54O,EAAW,GAAM,kBAAoBA,EAAI,KAAOsqQ,EAAK,UAIlE,OAFI1xB,EAAKplO,GAAG,IAAI3pB,OAAS,IAAGqwB,GAA2B0+N,EAAKplO,EA/C5Cnb,KAAI,SAASmb,GAE5B,IACIC,EAAG2hO,GAAU,WADK5hO,EAAExT,GAAG,IA92ckClL,QAAQ,iBAAiB,SA+2cvD,CAAC,MAAQ,oCACxC,OAAOsgP,GAAU,UAAW3hO,EAAG,CAAC,YAAYD,EAAEV,GAC/C,IAAG7X,KAAK,KA4CDm6O,GAAU,OAAQl7N,EAAG7D,EAC7B,CACA,SAASk0P,GAAkB/pO,EAAc7Q,GACxC,IAAIthB,EAAI,mBAAqBmyB,EAAE,GAAK,IAMpC,OALG7Q,IACCA,EAAIu9N,MAAQv9N,EAAIw9N,MAAKx9N,EAAIw9N,IAAMC,GAAMz9N,EAAIu9N,MACzCv9N,EAAIw9N,MAAK9+O,GAAK,oCAAsCshB,EAAIw9N,IAAM,KAC9Dx9N,EAAI7zB,SAAQuS,GAAK,mBAEdA,EAAI,GACZ,CAuCA,SAASm8P,GAAcrhQ,EAAgB6uB,EAAMyhI,GAC5C,IAAIprJ,EAAsB,GACtBgF,EAAIomJ,EAAG6gF,WAAWnxO,GAClB2mI,EAAK2pB,EAAG8gF,OAAOlnO,GAEfrT,EAAe8vI,EArOpB,SAA6BA,EAAkB93G,EAAM7uB,EAAgBswJ,GACpE,IAAI3pB,EAAI,MAAO,GACf,MAAM2pB,GAAI,CAAC,GAAGqpG,UAAU,CAAC,GAAGuB,MAAO,MAAO,GAI1C,IAFA,IAAIpwH,EAAuBwlB,EAAGqpG,SAASuB,MACnCt8G,EAAwB,GACpBp+J,EAAI,EAAGA,EAAIsqJ,EAAMpqJ,SAAUF,EAAG,CACrC,IAAI2kB,EAAI2lI,EAAMtqJ,GACX2kB,EAAEg2P,OAASn7P,IAIXmF,EAAE4wP,KAAKhxP,MAAM,aAChB65I,EAAIn5J,KAAKu7Q,GAAgB77P,IAC1B,CACA,OAAOy5I,EAAI9sJ,KAAK,GACjB,CAqNyBwvQ,CAAoB36H,EAAI93G,EAAM7uB,EAAKswJ,GAAM,GAUjE,OATGz5J,EAAEnW,OAAS,GAAGwkB,EAAEzf,KAAK,UAAYoR,EAAI,YAGxCA,EAAI8vI,EA9CL,SAA6BA,EAAkB93G,EAAM7uB,EAAgBswJ,GACpE,IAAI3pB,EAAG,QAAS,MAAO,GACvB,IAAIl9G,EAAkBknN,GAAkBhqG,EAAG,SACvCu6H,EAAwBv6H,EAAG,YAAc,GAAIiwC,EAAK,EAClD1xK,EAAsB,GACvByhI,EAAG,UAAUA,EAAG,SAASjgJ,SAAQ,SAASye,EAAG3kB,GAC/CsjQ,GAAY3+O,GACZ,IAAIR,IAAMQ,EAAE5B,MACRiG,EAAI6uP,GAAU73Q,EAAG2kB,GACjB1W,EAAY,CAAC,WAAWjO,EAAE,GAC3BmkB,IAAGlW,EAAE,YAAck2P,GAASn7O,EAAEjG,QAC9B4B,EAAExS,SAAQlE,EAAE,aAAa,KAC5ByW,EAAEzf,KAAKwmP,GAAU,SAAS,KAAKx9O,GAChC,IAEA,IADA,IAAI8iP,EAAQ5uP,MAAMwS,QAAQwxI,GAClBtvG,EAAI5N,EAAMvf,EAAErf,EAAGwsC,GAAK5N,EAAMriC,EAAEyD,IAAKwsC,EAAG,CAE3C,IADA,IAAI7Q,EAAM,CAAC46O,GAAkB/pO,GAAIsvG,EAAG,UAAU,IAAItvG,KAC1CrkB,EAAIyW,EAAMvf,EAAEG,EAAG2I,GAAKyW,EAAMriC,EAAEijB,IAAK2I,EAAG,CAC3C,IAAIu4M,GAAO,EACX,IAAI30C,EAAK,EAAGA,GAAMsqF,EAAKxgR,SAAUk2L,EAChC,KAAGsqF,EAAKtqF,GAAI1sK,EAAEG,EAAI2I,MACfkuP,EAAKtqF,GAAI1sK,EAAErf,EAAIwsC,MACf6pO,EAAKtqF,GAAIxvL,EAAEijB,EAAI2I,MACfkuP,EAAKtqF,GAAIxvL,EAAEyD,EAAIwsC,GAAlB,CACG6pO,EAAKtqF,GAAI1sK,EAAEG,GAAK2I,GAAKkuP,EAAKtqF,GAAI1sK,EAAErf,GAAKwsC,IAAGk0L,GAAO,GAClD,KAF6B,CAI9B,IAAGA,EAAH,CACA,IAAI8Q,EAAO,CAACxxO,EAAEwsC,EAAEhtB,EAAE2I,GACdroB,EAAMolP,GAAY1T,GAAOoT,EAAO8B,GAAS5qG,EAAGtvG,IAAI,IAAIrkB,GAAK2zH,EAAGh8I,GAChE67B,EAAI/gC,KAAKw7Q,GAAmBxxB,EAAM9kP,EAAKg8I,EAAI93G,EAAM7uB,EAAKswJ,EAAI+rE,GAHzC,CAIlB,CACA71M,EAAI/gC,KAAK,UACN+gC,EAAI9lC,OAAS,GAAGwkB,EAAEzf,KAAK+gC,EAAI10B,KAAK,IACpC,CACA,OAAOoT,EAAEpT,KAAK,GACf,CAUUyvQ,CAAoB56H,EAAI93G,GAAiB,GAC/Ch4B,EAAEnW,OAAS,GAAGwkB,EAAEzf,KAAK,UAAYoR,EAAI,YAGxCqO,EAAEzf,KA3NH,SAA8BkhJ,EAAkB93G,EAAM7uB,EAAgBswJ,GACrE,IAAI3pB,EAAI,MAAO,GACf,IAAIzhI,EAAsB,GA0C1B,GA1BGyhI,EAAG,cACLzhI,EAAEzf,KAAK,eACJkhJ,EAAG,YAAY9rI,QAAQqK,EAAEzf,KAAKwmP,GAAU,SAAU,KAAM,CAAC,WAAWtlG,EAAG,YAAY9rI,UACnF8rI,EAAG,YAAY5rI,QAAQmK,EAAEzf,KAAKwmP,GAAU,SAAU,KAAM,CAAC,WAAWtlG,EAAG,YAAY5rI,UACtFmK,EAAEzf,KAAKwmP,GAAU,cAAe,KAAM,CACrC,WAAYtlG,EAAG,YAAYp0I,QAAU,OACrC,SAAUo0I,EAAG,YAAYn0I,MAAQ,MACjC,UAAWm0I,EAAG,YAAYr0I,OAAS,MACnC,QAASq0I,EAAG,YAAYt0I,KAAO,UAEhC6S,EAAEzf,KAAK,iBAgBL6qK,GAAMA,EAAGqpG,UAAYrpG,EAAGqpG,SAASvoB,QAAU9gF,EAAGqpG,SAASvoB,OAAOpxO,GAEhE,GAAGswJ,EAAGqpG,SAASvoB,OAAOpxO,GAAK0/P,OAAQx6P,EAAEzf,KAAKwmP,GAAU,UAA8C,GAAlC37E,EAAGqpG,SAASvoB,OAAOpxO,GAAK0/P,OAAc,cAAgB,kBAAoB,CAAC,QACtI,CAEJ,IAAI,IAAIl/Q,EAAI,EAAGA,EAAIwf,KAAaswJ,EAAGqpG,SAASvoB,OAAO5wP,IAAO8vK,EAAGqpG,SAASvoB,OAAO5wP,GAAGk/Q,UAAtDl/Q,GACvBA,GAAKwf,GAAKkF,EAAEzf,KAAK,cACrB,CAqDD,UAhDO6qK,GAAI,CAAC,GAAGqpG,UAAU,CAAC,GAAGU,OAAO,IAAI,IAAI,CAAC,GAAGE,KAAKr1P,EAAEzf,KAAK,yBA2BzDkhJ,EAAG,cACLzhI,EAAEzf,KAAKsmP,GAAS,kBAAmB,SAChCplG,EAAG,YAAY66H,SAASt8P,EAAEzf,KAAKsmP,GAAS,iBAAkB,SAC1DplG,EAAG,YAAY86H,WAAWv8P,EAAEzf,KAAKsmP,GAAS,mBAAoB,SAC1B,MAApCplG,EAAG,YAAY+6H,mBAA8B/6H,EAAG,YAAY+6H,kBACjB,MAAtC/6H,EAAG,YAAYg7H,qBAAgCh7H,EAAG,YAAYg7H,qBAAqBz8P,EAAEzf,KAAKsmP,GAAS,kBAAmB,kBAD5C7mO,EAAEzf,KAAKsmP,GAAS,kBAAmB,gBAEtH,CACC,CAAE,cAAe,oBACjB,CAAE,gBAAiB,iBACnB,CAAE,aAAc,iBAChB,CAAE,gBAAiB,mBACnB,CAAE,aAAc,mBAChB,CAAE,mBAAoB,yBACtB,CAAE,gBAAiB,mBACnB,CAAE,aAAc,mBAChB,CAAE,OAAQ,aACV,CAAE,aAAc,eAChB,CAAE,cAAe,wBAChBrlP,SAAQ,SAASwN,GAAQyyI,EAAG,YAAYzyI,EAAE,KAAKgR,EAAEzf,KAAK,IAAIyO,EAAE,GAAG,KAAO,KAGzD,GAAZgR,EAAExkB,OAAoB,GAClBurP,GAAU,mBAAoB/mO,EAAEpT,KAAK,IAAK,CAACu6D,MAAMggL,IACzD,CAiHQu1B,CAAqBj7H,EAAI93G,EAAM7uB,EAAKswJ,IAEpCprJ,EAAEpT,KAAK,GACf,CACA,SAAS+vQ,GAAWvxG,EAAIzhI,GACnBA,IAAMA,EAAO,CAAC,GACdyhI,EAAG67F,MAAK77F,EAAG67F,IAAMliB,GAAIlY,KACtBzhE,EAAG67F,MACLl0B,KAAYF,GAAeznE,EAAG67F,KAE9Bt9N,EAAK6pO,OAASvvB,GAAU74E,EAAG67F,KAAMt9N,EAAK6pO,OAAOpoG,EAAG67F,IAAI,QAAU,EAC9Dt9N,EAAK8pO,IAAMroG,EAAG67F,IACdt9N,EAAK09N,QAAU,GACfkM,GAAe5pO,EAAK09N,QAAS,CAAC,EAAG,CAACmM,OAAO,CAAC,QAAU,MAErD,IAAIpuP,EAAsB,GAC1BA,EAAE7kB,KAAKk7Q,GAAiBrwG,EAAIzhI,IAC5BvkB,EAAE7kB,KA3RK,IA4RP6kB,EAAE7kB,KAAK,IACP6kB,EAAE7kB,KAAK,IACP,IAAI,IAAIjF,EAAI,EAAGA,EAAI8vK,EAAG6gF,WAAWzwP,SAAUF,EAC1C8pB,EAAE7kB,KAAKwmP,GAAU,YAAao1B,GAAc7gR,EAAGquC,EAAMyhI,GAAK,CAAC,UAAU26E,GAAU36E,EAAG6gF,WAAW3wP,OAG9F,OAFA8pB,EAAE,GA7RH,SAAwBgmJ,EAAIzhI,GAE3B,IAAI0iC,EAA2B,CAAC,mEAQhC,OAPA1iC,EAAK09N,QAAQ7lQ,SAAQ,SAAS4kL,EAAIv8K,GACjC,IAAIijL,EAA4B,GAChCA,EAAQvsL,KAAKwmP,GAAU,eAAgB,KAAM,CAAC,YAAahB,GAAUlZ,GAAUzmD,EAAGwlE,cAElF,IAAI5rO,EAAW,CAAC,QAAS,KAAO,GAAGnW,IACnCwiE,EAAO9rE,KAAKwmP,GAAU,QAASj6D,EAAQlgL,KAAK,IAAKoT,GAClD,IACO+mO,GAAU,SAAU16K,EAAOz/D,KAAK,IACxC,CAkRQgwQ,CAAexxG,EAAIzhI,GAC1BvkB,EAAE,GAjRH,SAA0BgmJ,GACzB,MAAMA,GAAI,CAAC,GAAGqpG,UAAU,CAAC,GAAGuB,MAAO,MAAO,GAI1C,IAFA,IAAIpwH,EAAuBwlB,EAAGqpG,SAASuB,MACnCt8G,EAAwB,GACpBp+J,EAAI,EAAGA,EAAIsqJ,EAAMpqJ,SAAUF,EAAG,CACrC,IAAI2kB,EAAI2lI,EAAMtqJ,GACA,MAAX2kB,EAAEg2P,QACFh2P,EAAE4wP,KAAKhxP,MAAM,aAChB65I,EAAIn5J,KAAKu7Q,GAAgB77P,IAC1B,CACA,OAAO8mO,GAAU,QAASrtF,EAAI9sJ,KAAK,IACpC,CAqQQiwQ,CAAiBzxG,GACjBs6E,GAAaqB,GAAU,WAAY3hO,EAAExY,KAAK,IAAK,CACrD,MAAcu6O,GACd,UAAcA,GACd,UAAcA,GACd,WAAcA,GACd,WAAcA,GACd,aAAcA,IAEhB,CAkmBA,IAAI21B,GACC,mCADDA,GAEE,mCAFFA,GAGE,mCA+FN,SAASC,GAAa3xG,EAAiBzhI,GACtC,IAAI3pB,EAAI2pB,GAAQ,CAAC,EACbkvM,EAAM3E,GAAI1qK,MAAM64K,QAAQ,CAAC3xO,KAAK,MAC9BssQ,EAAS,YACb,OAAOh9P,EAAE8wO,UAAY,OACpB,IAAK,MAAO9wO,EAAE8wO,SAAW,QAEzB,IAAK,MAAW9wO,EAAE8wO,WAAU9wO,EAAE8wO,SAAW,OAEzC,IAAK,QAASksB,EAAS,YAAah9P,EAAE0qO,KAAO,EAAG,MAChD,IAAK,QAASsyB,EAAS,QAASh9P,EAAE0qO,KAAO,EAAG,MAC5C,QAAS,MAAM,IAAI7/O,MAAM,gBAAkBmV,EAAE8wO,SAAW,gBAMzD,OAJA5c,GAAI1qK,MAAM03K,QAAQrI,EAAKmkC,EAAQC,GAAe7xG,EAAIprJ,IACrC,GAAVA,EAAE0qO,OAAct/E,EAAGwoF,OAASxoF,EAAGuwG,YAvFnC,SAAyBvwG,EAAiBytE,GACzC,IACWqkC,EADPC,EAAY,GAAIC,EAAW,GAAIC,EAAW,GAC1C/hR,EAAI,EACJgiR,EAAyCv5B,GAAU0L,GAAkB,KACrE8tB,EAAsCx5B,GAAU2L,GAAc,KAClE,GAAGtkF,EAAGwoF,MAGL,IAFAspB,EAAOj1Q,GAAKmjK,EAAGwoF,OAEXt4P,EAAI,EAAGA,EAAI4hR,EAAK1hR,SAAUF,GAAIH,OAAOQ,UAAUC,eAAeC,KAAKyhR,EAAcJ,EAAK5hR,IAAM6hR,EAAYhiR,OAAOQ,UAAUC,eAAeC,KAAK0hR,EAAWL,EAAK5hR,IAAM8hR,EAAWC,GAAU98Q,KAAK,CAAC28Q,EAAK5hR,GAAI8vK,EAAGwoF,MAAMspB,EAAK5hR,MAE1N,GAAG8vK,EAAGuwG,UAGL,IAFAuB,EAAOj1Q,GAAKmjK,EAAGuwG,WAEXrgR,EAAI,EAAGA,EAAI4hR,EAAK1hR,SAAUF,EAAOH,OAAOQ,UAAUC,eAAeC,KAAMuvK,EAAGwoF,OAAO,CAAC,EAAIspB,EAAK5hR,MAAMH,OAAOQ,UAAUC,eAAeC,KAAKyhR,EAAcJ,EAAK5hR,IAAM6hR,EAAYhiR,OAAOQ,UAAUC,eAAeC,KAAK0hR,EAAWL,EAAK5hR,IAAM8hR,EAAWC,GAAU98Q,KAAK,CAAC28Q,EAAK5hR,GAAI8vK,EAAGuwG,UAAUuB,EAAK5hR,MAEjS,IAAIkiR,EAAY,GAChB,IAAIliR,EAAI,EAAGA,EAAI+hR,EAAS7hR,SAAUF,EAC9Bo6P,GAAUrvP,QAAQg3Q,EAAS/hR,GAAG,KAAO,GAAK04P,GAAiB3tP,QAAQg3Q,EAAS/hR,GAAG,KAAO,GACpE,MAAlB+hR,EAAS/hR,GAAG,IACfkiR,EAAUj9Q,KAAK88Q,EAAS/hR,IAEtB8hR,EAAS5hR,QAAQ04O,GAAI1qK,MAAM03K,QAAQrI,EAAK,0BAA6Bud,GAAwBgnB,EAAUN,GAAYS,EAAW7tB,MAC9HytB,EAAU3hR,QAAUgiR,EAAUhiR,SAAQ04O,GAAI1qK,MAAM03K,QAAQrI,EAAK,kCAAqCud,GAAwB+mB,EAAWL,GAAaQ,EAAc7tB,GAAkB+tB,EAAUhiR,OAASgiR,EAAY,KAAMV,IAC3N,CAgE+CW,CAAgBryG,EAAIytE,GAErD,GAAV74N,EAAE0qO,MAAat/E,EAAGmpG,QA38NtB,SAAsB17B,EAAK6kC,GACzBA,EAAIpoC,UAAU9zO,SAAQ,SAAS8iB,EAAGhpB,GAChC,GAAS,GAALA,EAAJ,CAEA,IAAIqiR,EAAUr5P,EAAE7d,QAAQ,aAAc,sBACZ,MAAtBk3Q,EAAQ3hQ,OAAO,IACjBk4N,GAAI1qK,MAAM03K,QAAQrI,EAAK8kC,EAASD,EAAIroC,UAAU/5O,GAAGsa,QAH3C,CAIV,GACF,CAm8N8BgoQ,CAAa/kC,EAAK3E,GAAI3/H,KAAK62D,EAAGmpG,OAAQ,CAAC3iQ,KAA0B,iBAAbw5J,EAAGmpG,OAAqB,SAAW,YAC7G17B,CACR,CAEA,IAAIwR,GAAiB,CACb,EAAe,CAAuBxkO,EAt1H9C,SAAyBiM,EAAMt2B,GAC9B,IAAI8yB,EAAK,CAAC,EACNumN,EAAM/iN,EAAK7M,EAAIzpB,EACnB8yB,EAAE3oB,EAAImsB,EAAK6iN,WAAW,GACtB7iN,EAAK7M,GAAK,EACV,IAAI0xP,EAAQ7kP,EAAK6iN,WAAW,GAC5B7iN,EAAK7M,GAAK,EACV,IAAIw8D,EAAQ3vD,EAAK6iN,WAAW,GAK5B,OAJA7iN,EAAK7M,EAAI4vN,EACE,EAARpzJ,IAAcnzD,EAAE6qO,MAAgB,EAAR13K,GAChB,GAARA,IAAcnzD,EAAE7gB,QAAS,GACjB,GAARg0E,IAAcnzD,EAAEuwO,IAAM8X,EAAQ,IAC1BroP,CACR,GA00HQ,EAAe,CAA0BzI,EA/uHjD,SAA4BiM,GAE3B,MAAO,CADIg8N,GAAeh8N,GAE3B,GA6uHQ,EAAe,CAAuBjM,EA3nH9C,SAAyBiM,GAGxB,MAAO,CAFIg8N,GAAeh8N,GACd48N,GAAe58N,GACN,IACtB,GAwnHQ,EAAe,CAA0BjM,EAvsHjD,SAA4BiM,GAG3B,MAAO,CAFIg8N,GAAeh8N,GACbA,EAAK6iN,WAAW,GACP,IACvB,GAosHQ,EAAe,CAAyB9uN,EAhuHhD,SAA2BiM,GAG1B,MAAO,CAFIg8N,GAAeh8N,GACdA,EAAK6iN,WAAW,GACP,IACtB,GA6tHQ,EAAe,CAAyB9uN,EAtpHhD,SAA2BiM,GAG1B,MAAO,CAFIg8N,GAAeh8N,GACdq9N,GAAWr9N,GACF,IACtB,GAmpHQ,EAAe,CAAuBjM,EAhmH9C,SAAyBiM,GAGxB,MAAO,CAFIg8N,GAAeh8N,GACdm7N,GAAmBn7N,GACV,MACtB,GA6lHQ,EAAe,CAAyBjM,EAhrHhD,SAA2BiM,GAG1B,MAAO,CAFIg8N,GAAeh8N,GACfA,EAAK6iN,WAAW,GACP,IACrB,GA6qHQ,EAAe,CAA2B9uN,EA1hHlD,SAA6BiM,EAAMt2B,EAAQmuC,GAC1C,IAAIthC,EAAMypB,EAAK7M,EAAIzpB,EACf+uP,EAAOuD,GAAeh8N,GAC1By4N,EAAK5kP,EAAIgkC,EAAK,QACd,IACI3pB,EAAI,CAACuqO,EADG0C,GAAmBn7N,GACT,OACtB,GAAG6X,EAAKk0O,YAAa,CACpB/rP,EAAK7M,GAAK,EACV,IAAIs5O,EAAUoU,GAA4B7gP,EAAMzpB,EAAMypB,EAAK7M,EAAG0kB,GAC9D3pB,EAAE,GAAKkxP,GAAkB3S,EAAS,EAAehU,EAAM5gN,EAAK+mO,SAAU/mO,EACvE,MACK7X,EAAK7M,EAAI5c,EACd,OAAO2X,CACR,GA8gHQ,EAAe,CAAwB6F,EA3iH/C,SAA0BiM,EAAMt2B,EAAQmuC,GACvC,IAAIthC,EAAMypB,EAAK7M,EAAIzpB,EACf+uP,EAAOuD,GAAeh8N,GAC1By4N,EAAK5kP,EAAIgkC,EAAK,QACd,IACI3pB,EAAI,CAACuqO,EADG4E,GAAWr9N,GACD,KACtB,GAAG6X,EAAKk0O,YAAa,CACpB/rP,EAAK7M,GAAK,EACV,IAAIs5O,EAAUoU,GAA4B7gP,EAAMzpB,EAAMypB,EAAK7M,EAAG0kB,GAC9D3pB,EAAE,GAAKkxP,GAAkB3S,EAAS,EAAehU,EAAM5gN,EAAK+mO,SAAU/mO,EACvE,MACK7X,EAAK7M,EAAI5c,EACd,OAAO2X,CACR,GA+hHQ,GAAe,CAAyB6F,EA5kHhD,SAA2BiM,EAAMt2B,EAAQmuC,GACxC,IAAIthC,EAAMypB,EAAK7M,EAAIzpB,EACf+uP,EAAOuD,GAAeh8N,GAC1By4N,EAAK5kP,EAAIgkC,EAAK,QACd,IACI3pB,EAAI,CAACuqO,EADGz4N,EAAK6iN,WAAW,GACN,KACtB,GAAGhrM,EAAKk0O,YAAa,CACpB/rP,EAAK7M,GAAK,EACV,IAAIs5O,EAAUoU,GAA4B7gP,EAAMzpB,EAAMypB,EAAK7M,EAAG0kB,GAC9D3pB,EAAE,GAAKkxP,GAAkB3S,EAAS,EAAehU,EAAM5gN,EAAK+mO,SAAU/mO,EACvE,MACK7X,EAAK7M,EAAI5c,EACd,OAAO2X,CACR,GAgkHQ,GAAe,CAA0B6F,EA7jHjD,SAA4BiM,EAAMt2B,EAAQmuC,GACzC,IAAIthC,EAAMypB,EAAK7M,EAAIzpB,EACf+uP,EAAOuD,GAAeh8N,GAC1By4N,EAAK5kP,EAAIgkC,EAAK,QACd,IACI3pB,EAAI,CAACuqO,EADGz4N,EAAK6iN,WAAW,GACN,KACtB,GAAGhrM,EAAKk0O,YAAa,CACpB/rP,EAAK7M,GAAK,EACV,IAAIs5O,EAAUoU,GAA4B7gP,EAAMzpB,EAAMypB,EAAK7M,EAAG0kB,GAC9D3pB,EAAE,GAAKkxP,GAAkB3S,EAAS,EAAehU,EAAM5gN,EAAK+mO,SAAU/mO,EACvE,MACK7X,EAAK7M,EAAI5c,EACd,OAAO2X,CACR,GAijHQ,GAAe,CAA2B6F,EAlvHlD,SAA6BiM,GAE5B,MAAO,CADIm8N,GAAoBn8N,GAEhC,GAgvHQ,GAAe,CAAwBjM,EA3nH/C,SAA0BiM,GAGzB,MAAO,CAFIm8N,GAAoBn8N,GACnB48N,GAAe58N,GACN,IACtB,GAwnHQ,GAAe,CAA2BjM,EAvsHlD,SAA6BiM,GAG5B,MAAO,CAFIm8N,GAAoBn8N,GAClBA,EAAK6iN,WAAW,GACP,IACvB,GAosHQ,GAAe,CAA0B9uN,EAhuHjD,SAA4BiM,GAG3B,MAAO,CAFIm8N,GAAoBn8N,GACnBA,EAAK6iN,WAAW,GACP,IACtB,GA6tHQ,GAAe,CAA0B9uN,EAAEqxP,IAC3C,GAAe,CAAwBrxP,EAhmH/C,SAA0BiM,GAGzB,MAAO,CAFIm8N,GAAoBn8N,GACnBm7N,GAAmBn7N,GACV,MACtB,GA6lHQ,GAAe,CAA0BjM,EAhrHjD,SAA4BiM,GAG3B,MAAO,CAFIm8N,GAAoBn8N,GACpBA,EAAK6iN,WAAW,GACP,IACrB,GA6qHQ,GAAe,CAAwB9uN,EAAE2nO,IACzC,GAAe,CAA0B,EACzC,GAAe,CAAyB,EACxC,GAAe,CAA0B,EACzC,GAAe,CAAwB,EACvC,GAAe,CAAyB,EACxC,GAAe,CAA2B,EAC1C,GAAe,CAAwB,EACvC,GAAe,CAA2B,EAC1C,GAAe,CAA0B,EACzC,GAAe,CAA2B,EAC1C,GAAe,CAAyB,EACxC,GAAe,CAA0B,EACzC,GAAe,CAA4B,EAC3C,GAAe,CAAwB,EACvC,GAAe,CAA0B,EACzC,GAAe,CAAyBv/N,EAAE,GAC1C,GAAe,CAAuBA,GAAG,GACzC,GAAe,CAAwBA,EAAE,GACzC,GAAe,CAAsBA,GAAG,GACxC,GAAe,CAAqBpI,EA7xE5C,SAAuBiM,EAAMt2B,EAAQmuC,GACpC,IAAIthC,EAAMypB,EAAK7M,EAAIzpB,EACnBs2B,EAAK7M,GAAK,EACV6M,EAAK7M,GAAK,EACV,IAAI0sP,EAAO7/O,EAAK6iN,WAAW,GACvB32O,EAAOuwP,GAAuBz8N,GAC9BysO,EAAUqU,GAA4B9gP,EAAM,EAAG6X,GAC/C+zL,EAAU2wB,GAA2Bv8N,GAOzCA,EAAK7M,EAAI5c,EACT,IAAIqxJ,EAAO,CAACm3G,KAAK7yQ,EAAM8/Q,IAAIvf,GAG3B,OAFGoT,EAAO,YAAWj4G,EAAIu8G,MAAQtE,GAC9Bj0C,IAAShkE,EAAIghH,QAAUh9C,GACnBhkE,CACR,GA2wEQ,GAAe,CAA4B,EAC3C,GAAe,CAAyB,EACxC,GAAe,CAAqB7zI,EA55Q5C,SAAuBiM,EAAMt2B,EAAmBmuC,GAC/C,IAAI+vH,EAAO,CAAC,EAEZA,EAAIk7E,GAAK9iN,EAAK6iN,WAAW,GAAK,GAE9B,IAAI8yB,EAl4LL,SAAyB31O,GACxB,IAAI1M,EAAI0M,EAAK6iN,WAAW,GAYxB,OAXA7iN,EAAK7M,IACK,CACT84P,MAAW,EAAJ34P,EACP44P,QAAa,EAAJ54P,EACT64P,WAAgB,EAAJ74P,EACZ84P,WAAgB,EAAJ94P,EACZ+4P,SAAc,GAAJ/4P,EACVg5P,QAAa,GAAJh5P,EACTi5P,UAAe,GAAJj5P,EACXk5P,QAAa,IAAJl5P,EAGX,CAo3Lam5P,CAAgBzsP,GAW5B,OAVG21O,EAAMuW,UAAStkH,EAAIguG,OAAS,GAC5BD,EAAM4W,YAAW3kH,EAAImuG,SAAW,GAChCJ,EAAM6W,UAAS5kH,EAAIr3I,OAAS,GAC5BolP,EAAM2W,UAAS1kH,EAAI/xC,OAAS,GAC5B8/I,EAAM0W,WAAUzkH,EAAIkuG,QAAU,GAC9BH,EAAMyW,aAAYxkH,EAAIiuG,OAAS,GAGvB,MADD71O,EAAK6iN,WAAW,KACPj7E,EAAIquG,KAAO,GAEvBj2O,EAAK6iN,WAAW,IAEtB,KAAK,EAAGj7E,EAAIuuG,UAAY,cAAe,MACvC,KAAK,EAAGvuG,EAAIuuG,UAAY,YAGzB,IAAIC,EAAYp2O,EAAK6iN,WAAW,GAChB,GAAbuzB,IAAgBxuG,EAAIwuG,UAAYA,GAEnC,IAAIC,EAASr2O,EAAK6iN,WAAW,GAC1BwzB,EAAS,IAAGzuG,EAAIyuG,OAASA,GAE5B,IAAIqW,EAAW1sP,EAAK6iN,WAAW,GAM/B,OALG6pC,EAAW,IAAG9kH,EAAIs2C,QAAUwuE,GAE/B1sP,EAAK7M,IACLy0I,EAAI1uI,MA99LL,SAAwB8G,GACvB,IAAI4nI,EAAM,CAAC,EAIP+kH,EAHI3sP,EAAK6iN,WAAW,KAGD,EAEnB1lO,EAAQ6iB,EAAK6iN,WAAW,GACxB2a,EAAMx9N,EAAK6iN,WAAW,EAAG,KACzB+pC,EAAK5sP,EAAK6iN,WAAW,GACrBgqC,EAAK7sP,EAAK6iN,WAAW,GACrBiqC,EAAK9sP,EAAK6iN,WAAW,GAGzB,OAFA7iN,EAAK7M,IAEGw5P,GACP,KAAK,EAAG/kH,EAAI/wC,KAAO,EAAG,MACtB,KAAK,EACJ+wC,EAAIzqJ,MAAQA,EACZ,IAAI4vQ,EAAMjvB,GAAO3gP,GAEb4vQ,IAAKnlH,EAAInvI,IAAMk8O,GAAQoY,IAC3B,MACD,KAAK,EAEJnlH,EAAInvI,IAAMk8O,GAAQ,CAACiY,EAAIC,EAAIC,IAC3B,MACD,KAAK,EAAGllH,EAAItrJ,MAAQa,EAIrB,OAFW,GAAPqgP,IAAU51F,EAAI61F,KAAOD,EAAM,EAAIA,EAAM,MAAQA,EAAM,OAEhD51F,CACR,CA+7LaolH,CAAehtP,GAEpBA,EAAK6iN,WAAW,IAEtB,KAAK,EAAGj7E,EAAI0uG,OAAS,QAAS,MAC9B,KAAK,EAAG1uG,EAAI0uG,OAAS,QAKtB,OAFA1uG,EAAI17J,KAAOivP,GAAmBn7N,GAEvB4nI,CACR,GAk3QQ,GAAe,CAAoB7zI,EA56Q3C,SAAsBiM,EAAMt2B,GAG3B,MAAO,CAFQs2B,EAAK6iN,WAAW,GACfsY,GAAmBn7N,GAEpC,GAy6QQ,GAAe,CAAqBjM,EAAE0iP,IACtC,GAAe,CAAuB1iP,EAAEgjP,IACxC,GAAe,CAAmBhjP,EAtyQ1C,SAAqBiM,EAAMt2B,GAC1B,IAAIq5O,EAAM/iN,EAAK7M,EAAIzpB,EACfujR,EAAajtP,EAAK6iN,WAAW,GAC7BqqC,EAAOltP,EAAK6iN,WAAW,GAE3B,OADA7iN,EAAK7M,EAAI4vN,EACF,CAAC+iB,KAAKmnB,EAAYnzB,SAASozB,EACnC,GAiyQQ,GAAe,CAAoB,EACnC,GAAe,CAAyBn5P,EAzidhD,SAAuBiM,GACtB,OAAOA,EAAK6iN,WAAW,EAAG,IAC3B,GAwidQ,GAAe,CAAwB,EACvC,GAAe,CAAmB9uN,EA3qP1C,SAAsBiM,GAGpB,IAFA,IAAI4nI,EAAM,GACNi/E,EAAM7mN,EAAK6iN,WAAW,GACnBgE,KAAQ,GACbj/E,EAAIn5J,KAAK,CAACuxB,EAAK6iN,WAAW,GAAI7iN,EAAK6iN,WAAW,KAChD,OAAOj7E,CACT,GAsqPQ,GAAe,CAAyBzrI,EAAE,GAC1C,GAAe,CAAuBA,GAAG,GACzC,GAAe,CAAyBA,EAAE,GAC1C,GAAe,CAAuBA,GAAG,GACzC,GAAe,CAA8BA,EAAE,GAC/C,GAAe,CAA4BA,GAAG,GAC9C,GAAe,CAAyB,EACxC,GAAe,CAAkB,EACjC,GAAe,CAAwBpI,EAAEizO,IACzC,GAAe,CAA4BjzO,EA7pHnD,SAA8BiM,GAG7B,MAAO,CAFIg8N,GAAeh8N,GACd07N,GAAc17N,GACL,KACtB,GA0pHQ,GAAe,CAA+BjM,EA3+OtD,SAAiCiM,GAChC,IAAI4nI,EAAM,CAAC,EACXA,EAAIp+J,EAAIw2B,EAAK6iN,WAAW,GACxB,IAAI4V,EAAO,CAAC,EACZA,EAAK5kP,EAAImsB,EAAK6iN,WAAW,GACzB4V,EAAKplO,EAAI2M,EAAK6iN,WAAW,GACzBj7E,EAAI/zJ,EAAIklP,GAAYN,GACpB,IAAI9oK,EAAQ3vD,EAAK6iN,WAAW,GAG5B,OAFW,EAARlzJ,IAAai4E,EAAIz0I,EAAI,KACb,EAARw8D,IAAai4E,EAAIj1I,EAAI,KACjBi1I,CACR,GAi+OQ,GAAe,CAAqB7zI,EAl6G5C,WACA,GAk6GQ,GAAe,CAAyB,EACxC,GAAe,CAAyB,EACxC,GAAe,CAA0B,EACzC,GAAe,CAAyB,EACxC,GAAe,CAA0B,EACzC,GAAe,CAAyB,EACxC,IAAe,CAA0B,EACzC,IAAe,CAA2BoI,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,EAAGpI,EAAEgkO,GAAWvlO,EAAE,GAC7D,IAAe,CAAwB2J,GAAG,GAC1C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA4BA,EAAE,EAAGpI,EAh/GxD,SAA8BiM,GAC7B,IAAIjM,EAAIiM,EAAK6iN,WAAW,GAExB,OADA7iN,EAAK7M,GAAK,GACH,CAAEowP,IAAS,GAAJxvP,EACf,GA6+GQ,IAAe,CAA0BoI,GAAG,GAC5C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAuBpI,EAj2H9C,SAAyBiM,EAAMt2B,GAC9B,IAAI8yB,EAAI,CAAC,EACLzI,EAAIiM,EAAKA,EAAK7M,GAMlB,QANwB6M,EAAK7M,EAC7BqJ,EAAEymP,QAAc,GAAJlvP,GACZyI,EAAEhhB,OAAc,IAAJuY,GAEZiM,EAAK7M,GAAK,GACVqJ,EAAEtwB,KAAOmwP,GAAmBr8N,EAAMt2B,EAAS,IACpC8yB,CACR,GAy1HQ,IAAe,CAAsBzI,EAAEmxP,GAAgB1yP,EAAE,IACzD,IAAe,CAAqBuB,EAzjH5C,WACA,GAyjHQ,IAAe,CAAkB,EACjC,IAAe,CAAuBA,EA/3E9C,SAAyBiM,EAAMt2B,GAC9B,IAAIwkB,EAAiB,CAAC,EAClByhE,EAAQ3vD,EAAK6iN,WAAW,GAC5B30N,EAAEi/P,oBAAsBntP,EAAK6iN,WAAW,GACxC,IAAIuqC,EAAW1jR,EAAS,EAAKyxP,GAAmBn7N,GAAQ,GAiBxD,OAhBGotP,EAAQ1jR,OAAS,IAAGwkB,EAAE00P,SAAWwK,GACpCl/P,EAAEm/P,wBAAkC,MAAR19L,GAC5BzhE,EAAEo/P,cAAwB,GAAR39L,GAClBzhE,EAAEq/P,sBAAgC,KAAR59L,GAC1BzhE,EAAEytN,YAAsB,EAARhsJ,GAChBzhE,EAAEo7P,iBAA2B,EAAR35L,GACrBzhE,EAAEs/P,sBAAgC,KAAR79L,GAC1BzhE,EAAEu/P,qBAA+B,GAAR99L,GACzBzhE,EAAEw/P,gBAA0B,KAAR/9L,GACpBzhE,EAAEy/P,yBAAmC,OAARh+L,GAC7BzhE,EAAE0/P,0BAAoC,IAARj+L,GAC9BzhE,EAAE2/P,8BAAwC,EAARl+L,GAClCzhE,EAAE4/P,qBAA+B,GAARn+L,GACzBzhE,EAAE6/P,YAAc,CAAC,MAAO,eAAgB,QAASp+L,GAAS,GAAM,GAChEzhE,EAAE8/P,wBAAkC,MAARr+L,GAC5BzhE,EAAE+/P,YAAc,CAAC,UAAW,QAAS,UAAWt+L,GAAS,EAAK,GACvDzhE,CACR,GA02EQ,IAAe,CAAwB,EACvC,IAAe,CAA0B,EACzC,IAAe,CAAyB6F,EAp5EhD,SAA2BiM,EAAMt2B,GAChC,IAAI8yB,EAAI,CAAC,EAKT,OAJAA,EAAEksP,OAAS1oP,EAAK6iN,WAAW,GAC3BrmN,EAAEusP,OAAS/oP,EAAK6iN,WAAW,GAC3BrmN,EAAEwsP,SAAWtsB,GAAY18N,EAAKt2B,EAAO,GACrC8yB,EAAEtwB,KAAOivP,GAAmBn7N,GACrBxD,CACR,GA84EQ,IAAe,CAAuB,EACtC,IAAe,CAAuB,EACtC,IAAe,CAAyBL,EAAE,EAAGpI,EA/7SrD,SAA2BiM,GAC1B,MAAO,CAACA,EAAK6iN,WAAW,GAAI7iN,EAAK6iN,WAAW,GAC7C,GA87SQ,IAAe,CAAuB1mN,GAAG,GACzC,IAAe,CAA6BA,EAAE,EAAGpI,EAAEopO,IACnD,IAAe,CAA2BhhO,GAAG,GAC7C,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAqB,EACpC,IAAe,CAA0B,EACzC,IAAe,CAAyB,EACxC,IAAe,CAA0B,EACzC,IAAe,CAA4B,EAC3C,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA2B,EAC1C,IAAe,CAAmC,EAClD,IAAe,CAA0BpI,EAAEsxP,IAC3C,IAAe,CAAgClpP,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAuCA,EAAE,GACxD,IAAe,CAAqCA,GAAG,GACvD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAqCA,EAAE,GACtD,IAAe,CAAmCA,GAAG,GACrD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAAqCA,EAAE,GACtD,IAAe,CAAmCA,GAAG,GACrD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAqCA,EAAE,GACtD,IAAe,CAAmCA,GAAG,GACrD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAAyBA,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAA2B,EAC1C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAAwBpI,EAz5P/C,SAA0BiM,EAAMt2B,GAC9B,MAAO,CACLimF,MAAO3vD,EAAK6iN,WAAW,GACvBrjK,QAASx/C,EAAK6iN,WAAW,GACzB32O,KAAMivP,GAAmBn7N,GAE7B,GAo5PQ,IAAe,CAA6B7D,GAAG,GAC/C,IAAe,CAA2BpI,EAv3PlD,SAA6BiM,GAE3B,OADAA,EAAK7M,GAAK,EACmB,GAAtB6M,EAAK6iN,WAAW,EACzB,EAo3PyE1mN,EAAE,GACnE,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAyB,EACxC,IAAe,CAAyB,EACxC,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA2BpI,EAAE2oO,IAC5C,IAAe,CAAsB,EACrC,IAAe,CAAsB,EACrC,IAAe,CAAsB,EACrC,IAAe,CAA6BvgO,EAAE,GAC9C,IAAe,CAA8B,EAC7C,IAAe,CAA4BpI,EAAE4yO,IAC7C,IAAe,CAA+B,EAC9C,IAAe,CAA6B,EAC5C,IAAe,CAA2B,EAC1C,IAAe,CAA8B,EAC7C,IAAe,CAA6B,EAC5C,IAAe,CAA6B,EAC5C,IAAe,CAA8B,EAC7C,IAAe,CAA+B,EAC9C,IAAe,CAA2BxqO,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAkB,EACjC,IAAe,CAA2B,EAC1C,IAAe,CAAmB,EAClC,IAAe,CAAmB,EAClC,IAAe,CAAkB,EACjC,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAkB,EACjC,IAAe,CAAkB,EACjC,IAAe,CAAuB,EACtC,IAAe,CAA0B,EACzC,IAAe,CAAqB,EACpC,IAAe,CAAwB,EACvC,IAAe,CAAwB,EACvC,IAAe,CAA2B,EAC1C,IAAe,CAAuB,EACtC,IAAe,CAAyB,EACxC,IAAe,CAAyB,EACxC,IAAe,CAAyB,EACxC,IAAe,CAAwB,EACvC,IAAe,CAAqB,EACpC,IAAe,CAAyB,EACxC,IAAe,CAAsB,EACrC,IAAe,CAAuB,EACtC,IAAe,CAA0B,EACzC,IAAe,CAAwB,EACvC,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAwBpI,EAr0H/C,SAA0BiM,EAAMt2B,EAAQmuC,GACvC,IAAIthC,EAAMypB,EAAK7M,EAAIzpB,EACfwkR,EAAMhxB,GAAUl9N,GAChBmuP,EAAcnuP,EAAK6iN,WAAW,GAC9B30N,EAAI,CAACggQ,GACT,GADehgQ,EAAE,GAAKigQ,EACnBt2O,EAAKk0O,YAAa,CACpB,IAAItf,EAAUmU,GAA6B5gP,EAAMzpB,EAAMypB,EAAK7M,EAAG0kB,GAC/D3pB,EAAE,GAAKu+O,CACR,MAAOzsO,EAAK7M,EAAI5c,EAChB,OAAO2X,CACR,GA4zHQ,IAAe,CAAwB6F,EAzzH/C,SAA0BiM,EAAMt2B,EAAQmuC,GACvC,IAAIthC,EAAMypB,EAAK7M,EAAIzpB,EAEfwkB,EAAI,CADEivO,GAAmBn9N,EAAM,KAEnC,GAAG6X,EAAKk0O,YAAa,CACpB,IAAItf,EAAUsU,GAA8B/gP,EAAMzpB,EAAMypB,EAAK7M,EAAG0kB,GAChE3pB,EAAE,GAAKu+O,EACPzsO,EAAK7M,EAAI5c,CACV,MAAOypB,EAAK7M,EAAI5c,EAChB,OAAO2X,CACR,GAgzHQ,IAAe,CAAoB,EACnC,IAAe,CAAoCiO,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAAyBA,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA2CA,EAAE,GAC5D,IAAe,CAAyCA,GAAG,GAC3D,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAmB,EAClC,IAAe,CAA8B,EAC7C,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA2B,EAC1C,IAAe,CAAwBpI,EA30H/C,SAA0BiM,GACzB,IAAIwhP,EAAW,CAAC,EAEhB,OADA+D,GAAc71Q,SAAQ,SAAS+H,GAAK+pQ,EAAQ/pQ,GAAK4lP,GAAWr9N,EAAU,IAC/DwhP,CACR,GAw0HQ,IAAe,CAA2B,EAC1C,IAAe,CAAwB,EACvC,IAAe,CAAkCrlP,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA0BpI,EAnrIjD,WACA,GAmrIQ,IAAe,CAAyBoI,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAwBA,EAAE,GACzC,IAAe,CAAsBA,GAAG,GACxC,IAAe,CAAyBA,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAAsBpI,EAt6H7C,SAAwBiM,EAAMt2B,GAC7B,IAAI6M,EAAMypB,EAAK7M,EAAIzpB,EACfwkR,EAAM/wB,GAAmBn9N,EAAM,IAC/BouP,EAAQ7xB,GAA2Bv8N,GACnCy8K,EAAM0+C,GAAmBn7N,GACzB4H,EAAUuzN,GAAmBn7N,GAC7B5c,EAAU+3O,GAAmBn7N,GACjCA,EAAK7M,EAAI5c,EACT,IAAI2X,EAAK,CAACggQ,IAAIA,EAAKE,MAAMA,EAAO3xE,IAAIA,EAAKr5L,QAAQA,GAEjD,OADGwkB,IAAS1Z,EAAE64O,QAAUn/N,GACjB1Z,CACR,GA45HQ,IAAe,CAA0BiO,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAAmB,EAClC,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAyBA,EAAE,GAC1C,IAAe,CAAuBA,GAAG,GACzC,IAAe,CAAkB,EACjC,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAAkB,EACjC,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAgC,EAC/C,IAAe,CAA+B,EAC9C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA0B,EACzC,IAAe,CAAqB,EACpC,IAAe,CAAqB,EACpC,IAAe,CAAqB,EACpC,IAAe,CAAqB,EACpC,IAAe,CAAsB,EACrC,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA6B,EAC5C,IAAe,CAA8B,EAC7C,IAAe,CAA8B,EAC7C,IAAe,CAA2B,EAC1C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA0B,EACzC,IAAe,CAAsB,EACrC,IAAe,CAAwBpI,EAAE2oO,IACzC,IAAe,CAA4B,EAC3C,IAAe,CAA8B,EAC7C,IAAe,CAAqB,EACpC,IAAe,CAAiCvgO,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAoB,EACnC,IAAe,CAAoB,EACnC,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAAuB,EACtC,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA2B,EAC1C,IAAe,CAAgC,EAC/C,IAAe,CAA8B,EAC7C,IAAe,CAAyB,EACxC,IAAe,CAAyB,EACxC,IAAe,CAAwB,EACvC,IAAe,CAAyB,EACxC,IAAe,CAA0B,EACzC,IAAe,CAA0B,EACzC,IAAe,CAA0B,EACzC,IAAe,CAAyB,EACxC,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAmC,EAClD,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA2B,EAC1C,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAAiCA,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAwB,EACvC,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAA0B,EACzC,IAAe,CAA2BA,EAAE,GAC5C,IAAe,CAAyBA,GAAG,GAC3C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA0BA,EAAE,GAC3C,IAAe,CAAwBA,GAAG,GAC1C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAsB,EACrC,IAAe,CAAkCA,EAAE,GACnD,IAAe,CAAgCA,GAAG,GAClD,IAAe,CAA8BA,EAAE,GAC/C,IAAe,CAA4BA,GAAG,GAC9C,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAA8BpI,EAAEsmP,IAC/C,IAAe,CAAiCl+O,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAA6BA,EAAE,EAAGpI,EAtmPzD,SAA+BiM,GAC9B,IAAI4nI,EAAM,CAAC,EACXA,EAAI+xG,QAAU35O,EAAK6iN,WAAW,GAC9B,IAAIqrC,EAAM/wB,GAAmBn9N,EAAM,IAInC,OAHA4nI,EAAIsmH,IAAMA,EAAIh7P,EACd00I,EAAIj0J,IAAMolP,GAAYm1B,EAAIh7P,GAC1B8M,EAAK7M,GAAK,GACHy0I,CACR,GA+lPQ,IAAe,CAA2BzrI,GAAG,GAC7C,IAAe,CAA4BpI,EAAE8nO,IAC7C,IAAe,CAAgC1/N,EAAE,GACjD,IAAe,CAAwB,EACvC,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAqCA,EAAE,GACtD,IAAe,CAAsB,EACrC,IAAe,CAAmCA,GAAG,GACrD,IAAe,CAA2CA,EAAE,GAC5D,IAAe,CAAmCA,EAAE,GACpD,IAAe,CAA2B,EAC1C,IAAe,CAAiCA,GAAG,GACnD,IAAe,CAAuBpI,EAh0G9C,SAAyBiM,EAAMt2B,GAG9B,OAFAs2B,EAAK7M,GAAK,GAEH,CAAEjnB,KADEivP,GAAmBn7N,GAE/B,GA6zGQ,IAAe,CAA0B,EACzC,IAAe,CAAiC7D,EAAE,GAClD,IAAe,CAA+BA,GAAG,GACjD,IAAe,CAAgCA,EAAE,GACjD,IAAe,CAA8BA,GAAG,GAChD,IAAe,CAAoCA,EAAE,GACrD,IAAe,CAAkCA,GAAG,GACpD,IAAe,CAA2B,EAC1C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAAuB,EACtC,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA4B,EAC3C,IAAe,CAA6BA,EAAE,GAC9C,IAAe,CAAsB,EACrC,IAAe,CAA2BA,GAAG,GAC7C,IAAe,CAAuB,EACtC,IAAe,CAA0B,EACzC,IAAe,CAA2B,EAC1C,IAAe,CAA+BA,EAAE,GAChD,IAAe,CAA6BA,GAAG,GAC/C,IAAe,CAA4BA,EAAE,GAC7C,IAAe,CAA0BA,GAAG,GAC5C,IAAe,CAAyB,EACxC,IAAe,CAA6B,EAC5C,IAAe,CAAgC,EAC/C,IAAe,CAAiC,EAChD,IAAe,CAA8B,EAC7C,IAAe,CAAiC,EAChD,IAAe,CAAuB,EACtC,KAAe,CAAwB,EACvC,KAAe,CAAyB,EACxC,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAmC,EAClD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAAgC,EAC/C,KAAe,CAAsB,EACrC,KAAe,CAAqB,EACpC,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAAqB,EACpC,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAwB,EACvC,KAAe,CAAqB,EACpC,KAAe,CAA4B,EAC3C,KAAe,CAA6CA,EAAE,GAC9D,KAAe,CAA2CA,GAAG,GAC7D,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAAqB,EACpC,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAAuBpI,EAx9H9C,WACA,GAw9HQ,KAAe,CAA6BoI,EAAE,GAC9C,KAAe,CAAsB,EACrC,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAAqB,EACpC,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA2BA,EAAE,GAC5C,KAAe,CAAyBA,GAAG,GAC3C,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA4BA,EAAE,GAC7C,KAAe,CAA0BA,GAAG,GAC5C,KAAe,CAAqC,EACpD,KAAe,CAAyCA,EAAE,GAC1D,KAAe,CAAuCA,GAAG,GACzD,KAAe,CAA2CA,EAAE,GAC5D,KAAe,CAAyCA,GAAG,GAC3D,KAAe,CAA0CA,EAAE,GAC3D,KAAe,CAAwCA,GAAG,GAC1D,KAAe,CAAyCA,EAAE,GAC1D,KAAe,CAAuCA,GAAG,GACzD,KAAe,CAAwCA,EAAE,GACzD,KAAe,CAAsCA,GAAG,GACxD,KAAe,CAAkC,EACjD,KAAe,CAA2CA,EAAE,GAC5D,KAAe,CAAmC,EAClD,KAAe,CAAyCA,GAAG,GAC3D,KAAe,CAAuCA,EAAE,GACxD,KAAe,CAAqCA,GAAG,GACvD,KAAe,CAAoC,EACnD,KAAe,CAAgC,EAC/C,KAAe,CAAmC,EAClD,KAAe,CAA6B,EAC5C,KAAe,CAAqB,EACpC,KAAe,CAAqB,EACpC,KAAe,CAA+CA,EAAE,GAChE,KAAe,CAA6CA,GAAG,GAC/D,KAAe,CAA6BA,EAAE,GAC9C,KAAe,CAA2BA,GAAG,GAC7C,KAAe,CAAuB,EACtC,KAAe,CAA4BA,EAAE,GAC7C,KAAe,CAA0BA,GAAG,GAC5C,KAAe,CAA6BA,EAAE,GAC9C,KAAe,CAA2BA,GAAG,GAC7C,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA2B,EAC1C,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAiC,EAChD,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAA8CA,EAAE,GAC/D,KAAe,CAA4CA,GAAG,GAC9D,KAAe,CAA4CA,EAAE,GAC7D,KAAe,CAA0CA,GAAG,GAC5D,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAyB,EACxC,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAAyCA,EAAE,GAC1D,KAAe,CAAuCA,GAAG,GACzD,KAAe,CAAwB,EACvC,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAA2BA,GAAG,GAC7C,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA6BA,EAAE,GAC9C,KAAe,CAA2BA,GAAG,GAC7C,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAAoB,EACnC,KAAe,CAA4BA,EAAE,GAC7C,KAAe,CAA0BA,GAAG,GAC5C,KAAe,CAAuB,EACtC,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAA6B,EAC5C,KAAe,CAA2B,EAC1C,KAAe,CAAuC,EACtD,KAAe,CAA4CA,EAAE,GAC7D,KAAe,CAA0CA,GAAG,GAC5D,KAAe,CAAoC,EACnD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAA4B,EAC3C,KAAe,CAAyC,EACxD,KAAe,CAA8BA,EAAE,GAC/C,KAAe,CAA4BA,GAAG,GAC9C,KAAe,CAA2BA,EAAE,GAC5C,KAAe,CAAyBA,GAAG,GAC3C,KAAe,CAA2B,EAC1C,KAAe,CAAoB,EACnC,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAA2B,EAC1C,KAAe,CAAwB,EACvC,KAAe,CAA0CA,EAAE,GAC3D,KAAe,CAAwCA,GAAG,GAC1D,KAAe,CAAkC,EACjD,KAAe,CAAiC,EAChD,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAyB,EACxC,KAAe,CAAgDA,EAAE,GACjE,KAAe,CAA8CA,GAAG,GAChE,KAAe,CAAwC,EACvD,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAA2B,EAC1C,KAAe,CAAqB,EACpC,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAiCA,GAAG,GACnD,KAAe,CAAmC,EAClD,KAAe,CAA6CA,EAAE,GAC9D,KAAe,CAA2CA,GAAG,GAC7D,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAA2CA,EAAE,GAC5D,KAAe,CAAyCA,GAAG,GAC3D,KAAe,CAAoB,EACnC,KAAe,CAA4BA,EAAE,GAC7C,KAAe,CAA0BA,GAAG,GAC5C,KAAe,CAA6C,EAC5D,KAAe,CAAqCA,EAAE,GACtD,KAAe,CAAmCA,GAAG,GACrD,KAAe,CAA6B,EAC5C,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAAuB,EACtC,KAAe,CAAwB,EACvC,KAAe,CAA0B,EACzC,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAAwB,EACvC,KAAe,CAA+BA,EAAE,GAChD,KAAe,CAA6BA,GAAG,GAC/C,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAyB,EACxC,KAAe,CAAwCA,EAAE,GACzD,KAAe,CAAsCA,GAAG,GACxD,KAAe,CAAgC,EAC/C,KAAe,CAAgCA,EAAE,GACjD,KAAe,CAA8BA,GAAG,GAChD,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAmCA,EAAE,GACpD,KAAe,CAAkC,EACjD,KAAe,CAAkC,EACjD,KAAe,CAAqB,EACpC,KAAe,CAAwCA,EAAE,GACzD,KAAe,CAAsCA,GAAG,GACxD,KAAe,CAAuCA,EAAE,GACxD,KAAe,CAAqCA,GAAG,GACvD,KAAe,CAAuC,EACtD,KAAe,CAAkB,EACjC,KAAe,CAA0B,EACzC,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAoCA,EAAE,GACrD,KAAe,CAAkCA,GAAG,GACpD,KAAe,CAAiCA,EAAE,GAClD,KAAe,CAA+BA,GAAG,GACjD,KAAe,CAAyB,EACxC,KAAe,CAAsCA,EAAE,GACvD,KAAe,CAAoCA,GAAG,GACtD,KAAe,CAAuCA,EAAE,GACxD,KAAe,CAAqCA,GAAG,GACvD,KAAe,CAA+B,EAC9C,KAAe,CAA8B,EAC7C,KAAe,CAAgC,EAC/C,KAAe,CAAuCA,EAAE,GACxD,KAAe,CAAqCA,GAAG,GACvD,KAAe,CAAsC,EACrD,KAAe,CAAkCA,EAAE,GACnD,KAAe,CAAgCA,GAAG,GAClD,KAAe,CAA0B,EACzC,KAAe,CAA8B,EAC7C,MAAe,CAAEhO,EAAE,KAkd3B,SAAS0kP,GAAe/zF,EAAiBh/J,EAAiBk7K,EAAStxL,GAClE,IAAImW,EAAeC,EACnB,IAAGoN,MAAMrN,GAAT,CACA,IAAI2tE,EAAM9jF,IAAWsxL,GAAS,IAAItxL,QAAU,EACxCwkB,EAAI4wJ,EAAG3mK,KAAK,GAChB+V,EAAEu0N,YAAY,EAAG5iO,GACjBqO,EAAEu0N,YAAY,EAAGj1J,GACOA,EAAM,GAAKmpK,GAAO37D,IAAUlc,EAAGrwK,KAAKusL,EALzC,CAMpB,CAyBA,SAASqzF,GAAgBzmH,EAAK/zJ,EAAcwf,GAM3C,OALIu0I,IAAKA,EAAMg/E,GAAQ,IACvBh/E,EAAI66E,YAAY,EAAG5uO,GACnB+zJ,EAAI66E,YAAY,EAAGpvN,GACnBu0I,EAAI66E,YAAY,EAAG,GACnB76E,EAAI66E,YAAY,EAAG,GACZ76E,CACR,CAkBA,SAAS0mH,GAAoBxvG,EAAiB25E,EAAep4M,EAAcrkB,GAC1E,GAAa,MAAVy8N,EAAK5gO,EAAW,OAAO4gO,EAAK54O,GAC9B,IAAK,IAAK,IAAK,IACd,IAAIgY,EAAc,KAAV4gO,EAAK54O,EAAWwyO,GAAQ59M,GAAUgkN,EAAK5gO,IAAM4gO,EAAK5gO,EAK1D,YAJIA,IAAQ,EAAFA,IAAUA,GAAK,GAAOA,EAAI,MACnCg7O,GAAe/zF,EAAI,EAjxZvB,SAAwBjrK,EAAcwf,EAAcqoC,GACnD,IAAIksG,EAAMg/E,GAAQ,GAGlB,OAFAynC,GAAgBzmH,EAAK/zJ,EAAGwf,GACxBu0I,EAAI66E,YAAY,EAAG/mL,GACZksG,CACR,CA4wZ+B2mH,CAAeluO,EAAGrkB,EAAGnE,IAEhDg7O,GAAe/zF,EAAI,EAlyZvB,SAAwBjrK,EAAcwf,EAAcqoC,GACnD,IAAIksG,EAAMg/E,GAAQ,IAGlB,OAFAynC,GAAgBzmH,EAAK/zJ,EAAGwf,GACxBu0I,EAAI66E,YAAY,EAAG/mL,EAAK,KACjBksG,CACR,CA6xZ+B4mH,CAAenuO,EAAErkB,EAAGnE,KAEjD,IAAK,IAAK,IAAK,IAAwE,YAAnEg7O,GAAe/zF,EAAI,EAzBzC,SAAyBjrK,EAAcwf,EAAcqoC,EAAK77C,GACzD,IAAI+nJ,EAAMg/E,GAAQ,GAGlB,OAFAynC,GAAgBzmH,EAAK/zJ,EAAGwf,GACxB0xO,GAAUrpM,EAAK77C,GAAK,IAAK+nJ,GAClBA,CACR,CAoBiD6mH,CAAgBpuO,EAAGrkB,EAAGy8N,EAAK5gO,EAAG4gO,EAAK54O,IAElF,IAAK,IAAK,IAAK,MAEd,YADAgzP,GAAe/zF,EAAI,EApBtB,SAA0BjrK,EAAcwf,EAAcqoC,GACrD,IAAIksG,EAAMg/E,GAAQ,EAAI,EAAElrL,EAAIhyD,QAI5B,OAHA2kR,GAAgBzmH,EAAK/zJ,EAAGwf,GACxBu0I,EAAI66E,YAAY,EAAG/mL,EAAIhyD,QACvBk+J,EAAI66E,YAAY/mL,EAAIhyD,OAAQgyD,EAAK,QAC1BksG,EAAIz0I,EAAIy0I,EAAIl+J,OAASk+J,EAAI19I,MAAM,EAAG09I,EAAIz0I,GAAKy0I,CACnD,CAc8B8mH,CAAiBruO,EAAGrkB,GAAIy8N,EAAK5gO,GAAG,IAAI3N,MAAM,EAAE,OAGzE2oP,GAAe/zF,EAAI,EAAQuvG,GAAgB,KAAMhuO,EAAGrkB,GACrD,CAyBA,SAAS2yP,GAAgBr1G,EAAiBzhI,GACzC,IAAI3pB,EAAI2pB,GAAQ,CAAC,EAIjB,IAFA,IAAIinI,EAAKk5E,KACLhvO,EAAM,EACFxf,EAAE,EAAEA,EAAE8vK,EAAG6gF,WAAWzwP,SAASF,EAAM8vK,EAAG6gF,WAAW3wP,IAAM0kB,EAAEq5E,QAAOv+E,EAAIxf,GAC5E,GAAU,GAAPwf,GAAckF,EAAEq5E,OAAS+xE,EAAG6gF,WAAW,IAAMjsO,EAAEq5E,MAAO,MAAM,IAAIxuF,MAAM,oBAAsBmV,EAAEq5E,OAMjG,OALAsrK,GAAe/zF,EAAe,GAAV5wJ,EAAE0qO,KAAY,KAAoB,GAAV1qO,EAAE0qO,KAAY,IAAS,EAAUwN,GAAU9sF,EAAI,GAAMprJ,IA9BlG,SAAwB4wJ,EAAiBnvB,EAAkB3mI,EAAgB6uB,GAC1E,IACmDlkC,EAD/C4mP,EAAQ5uP,MAAMwS,QAAQwxI,GACtBl9G,EAAQknN,GAAkBhqG,EAAG,SAAW,MAAuB8uF,EAAK,GAAIr0L,EAAyB,GACrG,GAAG3X,EAAMriC,EAAEijB,EAAI,KAAQof,EAAMriC,EAAEyD,EAAI,MAAQ,CAC1C,GAAGgkC,EAAKmqN,IAAK,MAAM,IAAIjpP,MAAM,UAAY42I,EAAG,SAAW,MAAQ,oCAC/Dl9G,EAAMriC,EAAEijB,EAAIjc,KAAK+T,IAAIsnB,EAAMriC,EAAEijB,EAAG,KAChCof,EAAMriC,EAAEyD,EAAIuD,KAAK+T,IAAIsnB,EAAMriC,EAAEijB,EAAG,OAChC1f,EAAM+lP,GAAajnN,EACpB,CACA,IAAI,IAAI4N,EAAI5N,EAAMvf,EAAErf,EAAGwsC,GAAK5N,EAAMriC,EAAEyD,IAAKwsC,EAAG,CAC3Co+L,EAAKya,GAAW74M,GAChB,IAAI,IAAIrkB,EAAIyW,EAAMvf,EAAEG,EAAG2I,GAAKyW,EAAMriC,EAAEijB,IAAK2I,EAAG,CACxCqkB,IAAM5N,EAAMvf,EAAErf,IAAGu2C,EAAKpuB,GAAKm9N,GAAWn9N,IACzCroB,EAAMy2C,EAAKpuB,GAAKyiN,EAChB,IAAIga,EAAO8B,GAAS5qG,EAAGtvG,IAAI,IAAIrkB,GAAK2zH,EAAGh8I,GACnC8kP,GAEJ61B,GAAoBxvG,EAAI25E,EAAMp4M,EAAGrkB,EAClC,CACD,CACD,CAYC4yP,CAAe9vG,EAAIxF,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOA,EAAKkF,GAEvD2kP,GAAe/zF,EAAI,IACZA,EAAGvoK,KACX,CAEA,SAASs4Q,GAAkB/vG,EAAI9+I,EAAM6X,GACpCg7N,GAAe/zF,EAAI,GAr+apB,SAAoB9+I,EAAM6X,GACzB,IAAI3rC,EAAO8zB,EAAK9zB,MAAQ,QACpBs6P,EAAM3uN,GAAsB,GAAbA,EAAK+gN,KACpB1qO,EAAI04N,GADkC4f,EAAM,GAAKt6P,EAAKxC,OAAW,GAAK,EAAIwC,EAAKxC,QAUnF,OARAwkB,EAAEu0N,YAAY,EAAqB,IAAjBziN,EAAK8iN,IAAM,KAC7B50N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,KACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAGv2O,EAAKxC,QAClB88P,GAAIt4O,EAAEu0N,YAAY,EAAG,GACzBv0N,EAAEu0N,aAAa+jB,EAAK,EAAI,GAAKt6P,EAAKxC,OAAQwC,EAAOs6P,EAAK,OAAS,WACxDt4O,CACR,CAw9auC4gQ,CAAW,CAChDhsC,GAAG,GACH5pN,MAAO,CAAC5c,MAAM,GACdpQ,KAAM,QACNmqQ,OAAQ,EACRC,OAAQ,SACNz+N,GACJ,CA2CA,SAASk3O,GAAoBjwG,EAAI10H,GAChC,GAAIA,EAAJ,CACA,IAAIy8L,EAAM,EACVz8L,EAAK16C,SAAQ,SAAS02K,EAAKp9J,KACrB69N,GAAO,KAAOzgE,GAClBysF,GAAe/zF,EAAI,IAt9ZtB,SAAuBsH,EAAKp9J,GAC3B,IAAIkF,EAAI04N,GAAQ,IAChB14N,EAAEu0N,YAAY,EAAGz5N,GACjBkF,EAAEu0N,YAAY,EAAGz5N,GACjBkF,EAAEu0N,YAAY,EAAe,IAAZr8D,EAAI75J,OACrB2B,EAAEu0N,YAAY,EAAG,GACjB,IAAI1uN,EAAI,EAMR,OALGqyJ,EAAIzqK,SAAQoY,GAAK,GACpB7F,EAAEu0N,YAAY,EAAG1uN,GACjBA,EAAIqyJ,EAAIihF,OAAS,EACjBn5O,EAAEu0N,YAAY,EAAG1uN,GACjB7F,EAAEu0N,YAAY,EAAG,GACVv0N,CACR,CAy8Z4C8gQ,CAAc3N,GAAUr4P,EAAKo9J,GAAMp9J,GAE9E,GANgB,CAOjB,CAEA,SAASimQ,GAAoBnwG,EAAiB25E,EAAep4M,EAAcrkB,EAAc6b,GACxF,IAAI0oO,EAAK,GAAKkB,GAAe5pO,EAAK09N,QAAS9c,EAAM5gN,GACjD,GAAa,MAAV4gN,EAAK5gO,GAAc4gO,EAAK1lE,GAI3B,GAAG0lE,EAAK1lE,GAAI8/E,GAAe/zF,EAAI,EAAsBwhG,GAAc7nB,EAAMp4M,EAAGrkB,EAAG6b,EAAM0oO,SAChF,OAAO9nB,EAAK54O,GAChB,IAAK,IAAK,IAAK,IAGdgzP,GAAe/zF,EAAI,IAp0atB,SAAsBz+H,EAAcrkB,EAAcnE,EAAG0oP,GACpD,IAAIryP,EAAI04N,GAAQ,IAGhB,OAFAif,GAAcxlN,EAAGrkB,EAAGukP,EAAIryP,GACxBovO,GAAWzlO,EAAG3J,GACPA,CACR,CA+za2CghQ,CAAa7uO,EAAGrkB,EAFtC,KAAVy8N,EAAK54O,EAAWwyO,GAAQ59M,GAAUgkN,EAAK5gO,IAAM4gO,EAAK5gO,EAEI0oP,IAC9D,MACD,IAAK,IAAK,IAAK,IACd1N,GAAe/zF,EAAI,IAt1atB,SAAuBz+H,EAAcrkB,EAAcnE,EAAG0oP,EAAe1oO,EAAMh4B,GAC1E,IAAIqO,EAAI04N,GAAQ,GAGhB,OAFAif,GAAcxlN,EAAGrkB,EAAGukP,EAAIryP,GACxB62O,GAAUltO,EAAGhY,EAAGqO,GACTA,CACR,CAi1a4CihQ,CAAc9uO,EAAGrkB,EAAGy8N,EAAK5gO,EAAG0oP,EAAI1oO,EAAM4gN,EAAK54O,IACpF,MAED,IAAK,IAAK,IAAK,MACd,GAAGg4B,EAAK07N,QAEPV,GAAe/zF,EAAI,IAhibvB,SAAwBz+H,EAAcrkB,EAAcnE,EAAc0oP,GACjE,IAAIryP,EAAI04N,GAAQ,IAGhB,OAFAif,GAAcxlN,EAAGrkB,EAAGukP,EAAIryP,GACxBA,EAAEu0N,YAAY,EAAG5qN,GACV3J,CACR,CA2hb8CkhQ,CAAe/uO,EAAGrkB,EADjDmlP,GAAWtpO,EAAKsqO,QAAS1pB,EAAK5gO,EAAGggB,EAAKuqO,YACoB7B,SAC/D1N,GAAe/zF,EAAI,IAhhb7B,SAAqBz+H,EAAcrkB,EAAcnE,EAAc0oP,EAAe1oO,GAC7E,IAAIw3O,GAAMx3O,GAAqB,GAAbA,EAAK+gN,KACnB1qO,EAAI04N,IAAkByoC,EAAV,GAAiB,EAAIA,GAAMx3P,EAAEnuB,QAK7C,OAJAm8P,GAAcxlN,EAAGrkB,EAAGukP,EAAIryP,GACxBA,EAAEu0N,YAAY,EAAG5qN,EAAEnuB,QAChB2lR,GAAInhQ,EAAEu0N,YAAY,EAAG,GACxBv0N,EAAEu0N,aAAa,EAAI4sC,GAAMx3P,EAAEnuB,OAAQmuB,EAAGw3P,EAAK,UAAY,QAChDnhQ,CACR,CAwgbiDohQ,CAAYjvO,EAAGrkB,GAAIy8N,EAAK5gO,GAAG,IAAI3N,MAAM,EAAE,KAAMq2P,EAAI1oO,IAC/F,MACD,QACCg7N,GAAe/zF,EAAI,IAAoB+mF,GAAcxlN,EAAGrkB,EAAGukP,SArB5D1N,GAAe/zF,EAAI,IAAoB+mF,GAAcxlN,EAAGrkB,EAAGukP,GAuB7D,CAGA,SAASgP,GAAevmQ,EAAgB6uB,EAAMyhI,GAC7C,IAMI3lK,EANAmrK,EAAKk5E,KACL9kO,EAAIomJ,EAAG6gF,WAAWnxO,GAAM2mI,EAAK2pB,EAAG8gF,OAAOlnO,IAAM,CAAC,EAC9Cs8P,GAAsBl2G,GAAI,CAAC,GAAGqpG,UAAU,CAAC,EACzC8M,GAAwBD,EAAIp1B,QAAQ,IAAIpxO,IAAM,CAAC,EAC/CuxO,EAAQ5uP,MAAMwS,QAAQwxI,GACtB0/H,EAAkB,GAAbx3O,EAAK+gN,KACMna,EAAK,GAAIr0L,EAAyB,GAClD3X,EAAQknN,GAAkBhqG,EAAG,SAAW,MACxC+/H,EAAWL,EAAK,MAAQ,MAC5B,GAAG58O,EAAMriC,EAAEijB,EAAI,KAAQof,EAAMriC,EAAEyD,GAAK67Q,EAAU,CAC7C,GAAG73O,EAAKmqN,IAAK,MAAM,IAAIjpP,MAAM,UAAY42I,EAAG,SAAW,MAAQ,oCAC/Dl9G,EAAMriC,EAAEijB,EAAIjc,KAAK+T,IAAIsnB,EAAMriC,EAAEijB,EAAG,KAChCof,EAAMriC,EAAEyD,EAAIuD,KAAK+T,IAAIsnB,EAAMriC,EAAEijB,EAAGq8P,EAAS,EAC1C,CAEA7c,GAAe/zF,EAAI,KAAQsnF,GAAU9sF,EAAI,GAAMzhI,IAE/Cg7N,GAAe/zF,EAAI,GAAuBgmF,GAAY,IACtD+N,GAAe/zF,EAAI,GAAwBgmF,GAAY,MACvD+N,GAAe/zF,EAAI,GAA0B8lF,IAAU,IACvDiO,GAAe/zF,EAAI,GAAuB8lF,IAAU,IACpDiO,GAAe/zF,EAAI,GAAwBw+E,GAAW,OACtDuV,GAAe/zF,EAAI,GAA6B8lF,IAAU,IAC1DiO,GAAe/zF,EAAI,GAA0B8lF,IAAU,IACvDiO,GAAe/zF,EAAI,GAAwB8lF,IAAU,IACrDiO,GAAe/zF,EAAI,IAAsBgmF,GAAY,IACrD+N,GAAe/zF,EAAI,IAj5apB,SAAoB6wG,GACnB,IAAIzhQ,EAAI04N,GAAQ,GAIhB,OAHA14N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAGktC,EAAK,GAAKA,EAAK,GAAK,EAAI,GACzCzhQ,EAAEu0N,YAAY,EAAGktC,EAAK,GAAKA,EAAK,GAAK,EAAI,GAClCzhQ,CACR,CA24auC0hQ,CAAW,CAAC,EAAE,KAIpD/c,GAAe/zF,EAAI,IAAsB8lF,IAAU,IACnDiO,GAAe/zF,EAAI,IAAsB8lF,IAAU,IAEhDyqB,GAAIN,GAAoBjwG,EAAInvB,EAAG,UAElCkjH,GAAe/zF,EAAI,IArhbpB,SAA0BrsI,EAAOoF,GAChC,IAAIlqB,EAAiB,GAAbkqB,EAAK+gN,MAAc/gN,EAAK+gN,KAAW,EAAJ,EACnC1qO,EAAI04N,GAAQ,EAAEj5N,EAAI,GAMtB,OALAO,EAAEu0N,YAAY90N,EAAG8kB,EAAMvf,EAAErf,GACzBqa,EAAEu0N,YAAY90N,EAAG8kB,EAAMriC,EAAEyD,EAAI,GAC7Bqa,EAAEu0N,YAAY,EAAGhwM,EAAMvf,EAAEG,GACzBnF,EAAEu0N,YAAY,EAAGhwM,EAAMriC,EAAEijB,EAAI,GAC7BnF,EAAEu0N,YAAY,EAAG,GACVv0N,CACR,CA4gb2B2hQ,CAAiBp9O,EAAOoF,IAG/Cw3O,IAAI1/H,EAAG,UAAY,IACtB,IAAI,IAAItvG,EAAI5N,EAAMvf,EAAErf,EAAGwsC,GAAK5N,EAAMriC,EAAEyD,IAAKwsC,EAAG,CAC3Co+L,EAAKya,GAAW74M,GAChB,IAAI,IAAIrkB,EAAIyW,EAAMvf,EAAEG,EAAG2I,GAAKyW,EAAMriC,EAAEijB,IAAK2I,EAAG,CACxCqkB,IAAM5N,EAAMvf,EAAErf,IAAGu2C,EAAKpuB,GAAKm9N,GAAWn9N,IACzCroB,EAAMy2C,EAAKpuB,GAAKyiN,EAChB,IAAIga,EAAO8B,GAAS5qG,EAAGtvG,IAAI,IAAIrkB,GAAK2zH,EAAGh8I,GACnC8kP,IAEJw2B,GAAoBnwG,EAAI25E,EAAMp4M,EAAGrkB,EAAG6b,GACjCw3O,GAAM52B,EAAKtlO,GAAGw8H,EAAG,UAAUlhJ,KAAK,CAACkF,EAAK8kP,EAAKtlO,IAC/C,CACD,CACA,IAAIuvP,EAAmB+M,EAAO7M,UAAY6M,EAAOvjR,MAAQgnB,EAazD,OAXGm8P,GAAIxc,GAAe/zF,EAAI,IAjpb3B,SAAuBxqE,GACtB,IAAIpmF,EAAI04N,GAAQ,IAAK7yN,EAAI,KAOzB,OANGugF,GAAQA,EAAKivK,MAAKxvP,GAAK,IAC1B7F,EAAEu0N,YAAY,EAAG1uN,GACjB7F,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,IACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACVv0N,CACR,CAwobiD4hQ,EAAeN,EAAInM,OAAO,IAAI,KAE3EgM,IAAO1/H,EAAG,YAAY,IAAIjmJ,QAAQmpQ,GAAe/zF,EAAI,IAzuazD,SAA0BwlG,GACzB,IAAIp2P,EAAI04N,GAAQ,EAAoB,EAAhB09B,EAAO56Q,QAC3BwkB,EAAEu0N,YAAY,EAAG6hC,EAAO56Q,QACxB,IAAI,IAAIF,EAAI,EAAGA,EAAI86Q,EAAO56Q,SAAUF,EAAG28P,GAAYme,EAAO96Q,GAAI0kB,GAC9D,OAAOA,CACR,CAouakF6hQ,CAAiBpgI,EAAG,aAElG0/H,GA1GJ,SAA+BvwG,EAAiBnvB,GAC/C,IAAI,IAAItvG,EAAE,EAAGA,EAAEsvG,EAAG,UAAUjmJ,SAAU22C,EAAG,CACxC,IAAIm3D,EAAKm4C,EAAG,UAAUtvG,GACtBwyN,GAAe/zF,EAAI,IAAoB+nF,GAAYrvJ,IAChDA,EAAG,GAAGuvJ,SAAS8L,GAAe/zF,EAAI,KAA2BgoF,GAAmBtvJ,GACpF,QACOm4C,EAAG,SACX,CAmGQqgI,CAAsBlxG,EAAInvB,GAEjCkjH,GAAe/zF,EAAI,IAAuB0mF,GAAsBkd,IAE7D2M,GArIJ,SAAoBvwG,EAAInvB,GAEvB,IAAIzhI,EAAI04N,GAAQ,IAChB14N,EAAEu0N,YAAY,EAAG,MAAQv0N,EAAEu0N,YAAY,EAAG,GAAIv0N,EAAEu0N,YAAY,EAAG,GAC/Dv0N,EAAEu0N,YAAY,EAAG,GAAIv0N,EAAEu0N,YAAY,EAAG,GAAIv0N,EAAEu0N,YAAY,EAAG,GAC3DowB,GAAe/zF,EAAI,KAAsB5wJ,IAEzCA,EAAI04N,GAAQ,KACVnE,YAAY,EAAG,MAAQv0N,EAAEu0N,YAAY,EAAG,GAAIv0N,EAAEu0N,YAAY,EAAG,GAC/Dv0N,EAAEu0N,YAAY,EAAG,GAAIv0N,EAAEu0N,YAAY,EAAG,GAAIv0N,EAAEu0N,YAAY,EAAG,GAC3Dv0N,EAAEu0N,YAAY,EAAG,GAAIv0N,EAAEu0N,YAAY,EAAG,GAAIv0N,EAAEu0N,YAAY,EAAG,GAC3D0jB,GAAYxM,GAAkBhqG,EAAG,SAAS,MAAOzhI,GACjDA,EAAEu0N,YAAY,EAAG,GACjBowB,GAAe/zF,EAAI,KAAmB5wJ,EACvC,CAuHQ+hQ,CAAWnxG,EAAInvB,GAEtBkjH,GAAe/zF,EAAI,IACZA,EAAGvoK,KACX,CAGA,SAAS25Q,GAAmB52G,EAAiB4gE,EAAMriM,GAClD,IAAI/b,EAAIk8N,KACJw3B,GAAsBl2G,GAAI,CAAC,GAAGqpG,UAAU,CAAC,EACzCwN,EAA+BX,EAAIp1B,QAAQ,GAC3Cg2B,EAA0BZ,EAAI/G,SAAS,CAA8B,EACrE4G,EAAkB,GAAbx3O,EAAK+gN,KAAW4N,EAAkB,GAAb3uN,EAAK+gN,MACnCia,GAAe/2O,EAAG,KAAQsqO,GAAU9sF,EAAI,EAAMzhI,IAC1B,OAAjBA,EAAKmnN,UAAmB6T,GAAe/2O,EAAG,KAC7C+2O,GAAe/2O,EAAG,IAA2BuzP,EAAKvqB,GAAY,MAAU,MACxE+N,GAAe/2O,EAAG,IAjxcnB,SAAqB3N,EAAGD,GAASA,IAAGA,EAAE04N,GAAQz4N,IAAI,IAAI,IAAIqI,EAAE,EAAGA,EAAErI,IAAKqI,EAAGtI,EAAEu0N,YAAY,EAAG,GAAI,OAAOv0N,CAAG,CAixcnEmiQ,CAAY,IAC7C7pB,GAAIqM,GAAe/2O,EAAG,KACtB0qO,GAAIqM,GAAe/2O,EAAG,KACzB+2O,GAAe/2O,EAAG,KAClB+2O,GAAe/2O,EAAG,GAv0bnB,SAA2B5I,EAAc2kB,GACxC,IAAIw3O,GAAMx3O,GAAqB,GAAbA,EAAK+gN,KACnB1qO,EAAI04N,GAAQyoC,EAAK,IAAM,IAK3B,IAJAnhQ,EAAEu0N,YAAyB,GAAb5qM,EAAK+gN,KAAY,EAAI,EAAG,GACnCy2B,GAAInhQ,EAAEu0N,YAAY,EAAG,GACxBv0N,EAAEu0N,YAAY,EAAG,WACjBv0N,EAAEu0N,YAAY,EAAI,SAAc4sC,EAAK,EAAI,YACnCnhQ,EAAEiF,EAAIjF,EAAExkB,QAAQwkB,EAAEu0N,YAAY,EAAI4sC,EAAK,EAAI,IACjD,OAAOnhQ,CACR,CA8zb6CoiQ,CAAkB,EAAWz4O,IAEzEg7N,GAAe/2O,EAAG,GAAuBgpO,GAAYuqB,EAAK,KAAS,OAEhEA,GAAIxc,GAAe/2O,EAAG,IAAkBgpO,GAAY,IACpDuqB,GAAIxc,GAAe/2O,EAAG,KACzB+2O,GAAe/2O,EAAG,IA5ianB,SAAuB3N,GAEtB,IADA,IAAIy5I,EAAMg/E,GAAQ,EAAIz4N,GACd3kB,EAAI,EAAGA,EAAI2kB,IAAK3kB,EAAGo+J,EAAI66E,YAAY,EAAGj5O,EAAE,GAChD,OAAOo+J,CACR,CAwiayC2oH,CAAcj3G,EAAG6gF,WAAWzwP,SACjE2lR,GAAM/1G,EAAGmpG,QAAQ5P,GAAe/2O,EAAG,KAEnCuzP,GAAM/1G,EAAGmpG,SAEX5P,GAAe/2O,EAAG,IAAuB0pO,GADlB4qB,EAAIxN,UAAY,iBAGxC/P,GAAe/2O,EAAG,IAAkCgpO,GAAY,KAIhE+N,GAAe/2O,EAAG,GAAyB8oO,IAAU,IACrDiO,GAAe/2O,EAAG,GAAsB8oO,IAAU,IAClDiO,GAAe/2O,EAAG,GAAuBgpO,GAAY,IAClDuqB,GAAIxc,GAAe/2O,EAAG,IAAuB8oO,IAAU,IACvDyqB,GAAIxc,GAAe/2O,EAAG,IAA2BgpO,GAAY,IAChE+N,GAAe/2O,EAAG,GAttbnB,WACC,IAAI5N,EAAI04N,GAAQ,IAUhB,OATA14N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,OACjBv0N,EAAEu0N,YAAY,EAAG,OACjBv0N,EAAEu0N,YAAY,EAAG,IACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,KACVv0N,CACR,CA0sbyCsiQ,IACxC3d,GAAe/2O,EAAG,GAAqB8oO,IAAU,IACjDiO,GAAe/2O,EAAG,IAAsBgpO,GAAY,IACpD+N,GAAe/2O,EAAG,GAAuB8oO,GAAwB,QAlrIlE,SAAkBtrF,GAEjB,OAAIA,EAAGqpG,UACHrpG,EAAGqpG,SAAS8F,SACTp0B,GAAa/6E,EAAGqpG,SAAS8F,QAAQ9sC,UAAY,OAF5B,OAGzB,CA6qIoD80C,CAASn3G,KAC5Du5F,GAAe/2O,EAAG,GAA4B8oO,IAAU,IACrDyqB,GAAIxc,GAAe/2O,EAAG,IAAyB8oO,IAAU,IAC5DiO,GAAe/2O,EAAG,IAAuBgpO,GAAY,IAErD+pB,GAAkB/yP,EAAGw9I,EAAIzhI,GA/L1B,SAA0BinI,EAAIs2F,EAAkBv9N,GAC3Cu9N,GACJ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAO,GAAgB,MAAM1lQ,SAAQ,SAASmE,GAEpE,IAAI,IAAIrK,EAAIqK,EAAE,GAAIrK,GAAKqK,EAAE,KAAMrK,EAAe,MAAT4rQ,EAAG5rQ,IAAYqpQ,GAAe/zF,EAAI,KAAqBynF,GAAa/8P,EAAG4rQ,EAAG5rQ,GAAIquC,GACpH,GACD,CA0LC64O,CAAiB50P,EAAGw9I,EAAG67F,IAAKt9N,GAxK7B,SAA6BinI,EAAIjnI,GAChC,IAAI,IAAIruC,EAAI,EAAGA,EAAI,KAAMA,EAAGqpQ,GAAe/zF,EAAI,IAAiB2nF,GAAS,CAAC3M,SAAS,EAAGpkP,OAAM,GAAO,EAAGmiC,IACtGA,EAAK09N,QAAQ7lQ,SAAQ,SAAS2jB,GAC7Bw/O,GAAe/zF,EAAI,IAAiB2nF,GAASpzO,EAAG,EAAGwkB,GACpD,GACD,CAoKC84O,CAAoB70P,EAAG+b,GAEpBw3O,GAAIxc,GAAe/2O,EAAG,IAAuB8oO,IAAU,IAC1D,IAAIjyO,EAAImJ,EAAEvlB,MAENylB,EAAIg8N,KAELq3B,GAAIxc,GAAe72O,EAAG,IAhqa1B,SAAuB9N,GAItB,OAHIA,IAAGA,EAAI04N,GAAQ,IACnB14N,EAAEu0N,YAAY,EAAG,GACjBv0N,EAAEu0N,YAAY,EAAG,GACVv0N,CACR,CA2pakC0iQ,IAI9BvB,GAAMx3O,EAAKsqO,SA/Tf,SAA6BrjG,EAAiBh/J,EAAiBk7K,EAAStxL,GACvE,IAAI8jF,EAAM9jF,IAAWsxL,GAAS,IAAItxL,QAAU,EAC5C,GAAG8jF,GAAO,KAAM,OAAOqlL,GAAe/zF,EAAIh/J,EAAMk7K,EAASxtG,GACzD,IAAI3tE,EAAIC,EACR,IAAGoN,MAAMrN,GAAT,CAGA,IAFA,IAAI68I,EAAQs+B,EAAQt+B,OAAS,GAAIi0G,EAAO,EACpCnnQ,EAAI,EAAGmkB,EAAI,EACTA,GAAK+uI,EAAMi0G,IAAS,OAAS,MAAQhjP,GAAK+uI,EAAMi0G,IAAS,KAAOA,IACtE,IAAIziP,EAAI4wJ,EAAG3mK,KAAK,GAKhB,IAJA+V,EAAEu0N,YAAY,EAAG5iO,GACjBqO,EAAEu0N,YAAY,EAAG90N,GACjBmxJ,EAAGrwK,KAAKusL,EAAQ9wK,MAAM1gB,EAAGA,EAAImkB,IAC7BnkB,GAAKmkB,EACCnkB,EAAIgkF,GAAK,CAId,KAHAt/D,EAAI4wJ,EAAG3mK,KAAK,IACVsqO,YAAY,EAAG,IACjB90N,EAAI,EACEA,GAAK+uI,EAAMi0G,IAAS,OAAS,MAAQhjP,GAAK+uI,EAAMi0G,IAAS,KAAOA,IACtEziP,EAAEu0N,YAAY,EAAG90N,GACjBmxJ,EAAGrwK,KAAKusL,EAAQ9wK,MAAM1gB,EAAGA,EAAEmkB,IAAKnkB,GAAImkB,CACrC,CAhBmB,CAiBpB,CA0SwBkjQ,CAAoB70P,EAAG,IAzzb/C,SAAmBs3O,EAAKz7N,GACvB,IAAIh0B,EAAS+iO,GAAQ,GACrB/iO,EAAO4+N,YAAY,EAAG6wB,EAAIE,OAC1B3vP,EAAO4+N,YAAY,EAAG6wB,EAAII,QAE1B,IADA,IAAInV,EAAO,GACH/nO,EAAI,EAAGA,EAAI88O,EAAI5pQ,SAAU8sB,EAAG+nO,EAAK/nO,GAAK0uO,GAAkCoO,EAAI98O,IACpF,IAAItI,EAAI+rN,GAAQ,CAACp2N,GAAQ/X,OAAOyyP,IAEhC,OADOrwO,EAAcwuI,MAAQ,CAAC74I,EAAOna,QAAQoC,OAAOyyP,EAAKrmP,KAAI,SAASo6F,GAAO,OAAOA,EAAI5oG,MAAQ,KACzFwkB,CACR,CAgzbuD4iQ,CAAUj5O,EAAKsqO,UAGrEtP,GAAe72O,EAAG,IAClB,IAAI3I,EAAI2I,EAAEzlB,MAEN4vC,EAAI6xM,KACJ+4B,EAAO,EAAGv6P,EAAI,EAClB,IAAIA,EAAI,EAAGA,EAAI8iJ,EAAG6gF,WAAWzwP,SAAU8sB,EAAGu6P,IAAS1B,EAAK,GAAK,KAAOA,EAAK,EAAI,GAAK/1G,EAAG6gF,WAAW3jO,GAAG9sB,OACnG,IAAI2tC,EAAQ1kB,EAAEjpB,OAASqnR,EAAO19P,EAAE3pB,OAChC,IAAI8sB,EAAI,EAAGA,EAAI8iJ,EAAG6gF,WAAWzwP,SAAU8sB,EAAG,CAEzCq8O,GAAe1sN,EAAG,IAA0BkgN,GAAkB,CAAC5kN,IAAIpK,EAAOivN,IADhD6pB,EAAQ35P,IAAO,CAAC,GAC0CkyP,QAAQ,EAAG/uN,GAAG,EAAGztD,KAAKotK,EAAG6gF,WAAW3jO,IAAKqhB,IAC7HR,GAAS6iM,EAAK1jN,GAAG9sB,MAClB,CAEA,IAAI8X,EAAI2kC,EAAE5vC,MACV,GAAGw6Q,GAAQvvQ,EAAE9X,OAAQ,MAAM,IAAIqP,MAAM,OAASg4Q,EAAO,OAASvvQ,EAAE9X,QAEhE,IAAIk+J,EAAM,GAIV,OAHGj1I,EAAEjpB,QAAQk+J,EAAIn5J,KAAKkkB,GACnBnR,EAAE9X,QAAQk+J,EAAIn5J,KAAK+S,GACnB6R,EAAE3pB,QAAQk+J,EAAIn5J,KAAK4kB,GACf4mN,GAAQryE,EAChB,CA8BA,SAASujH,GAAe7xG,EAAiBzhI,GACxC,IAAI,IAAIruC,EAAI,EAAGA,GAAK8vK,EAAG6gF,WAAWzwP,SAAUF,EAAG,CAC9C,IAAImmJ,EAAK2pB,EAAG8gF,OAAO9gF,EAAG6gF,WAAW3wP,IACjC,GAAImmJ,GAAOA,EAAG,QACF8pG,GAAa9pG,EAAG,SACnBv/I,EAAEijB,EAAI,KACM,oBAAX2lB,SAA0BA,QAAQ/nB,OAAO+nB,QAAQ/nB,MAAM,cAAgBqoJ,EAAG6gF,WAAW3wP,GAAK,uDAErG,CAEA,IAAI0kB,EAAI2pB,GAAQ,CAAC,EACjB,OAAO3pB,EAAE0qO,MAAQ,GAChB,KAAK,EAAG,KAAK,EAAG,OAvClB,SAAyBt/E,EAAiBzhI,GACzC,IAAI3pB,EAAI2pB,GAAQ,CAAC,EACbqiM,EAAO,GAER5gE,IAAOA,EAAG67F,MACZ77F,EAAG67F,IAAMliB,GAAIlY,KAEXzhE,GAAMA,EAAG67F,MACXl0B,KAAYF,GAAeznE,EAAG67F,KAE9BjnP,EAAEwzP,OAASvvB,GAAU74E,EAAG67F,KAAMjnP,EAAEwzP,OAAOpoG,EAAG67F,IAAI,QAAU,EACxDjnP,EAAEyzP,IAAMroG,EAAG67F,KAGZjnP,EAAEi0P,QAAkB,GAAqBj0P,EAAEi0P,QAAQ3O,MAAQ,EAAGtlP,EAAEi0P,QAAQzO,OAAS,EACjFsd,GAAe9iQ,GAEfA,EAAEqnP,QAAU,GACZkM,GAAevzP,EAAEqnP,QAAS,CAAC,EAAG,CAACmM,OAAO,CAAC,QAAU,KAE7CpoG,EAAGwoF,QAAOxoF,EAAGwoF,MAAQ,CAAC,GAE1B,IAAI,IAAIt4P,EAAI,EAAGA,EAAI8vK,EAAG6gF,WAAWzwP,SAAUF,EAAG0wO,EAAKA,EAAKxwO,QAAU6lR,GAAe/lR,EAAG0kB,EAAGorJ,GAEvF,OADA4gE,EAAKvxK,QAAQunN,GAAmB52G,EAAI4gE,EAAMhsN,IACnC+rN,GAAQC,EAChB,CAcyB+2C,CAAgB33G,EAAIzhI,GAC3C,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,OAAO82O,GAAgBr1G,EAAIzhI,GAEpD,MAAM,IAAI9+B,MAAM,gBAAkBmV,EAAE8wO,SAAW,YAChD,CA4DA,SAASkyB,GAAcvhI,EAAkB97I,EAAawsC,EAAcnyB,GAGnE,IAFA,IAAIoO,EAAsBqzH,EAAG,YAAa,GACtCwnG,EAAuB,GACnBn7N,EAAInoB,EAAEqf,EAAEG,EAAG2I,GAAKnoB,EAAEzD,EAAEijB,IAAK2I,EAAG,CAEnC,IADA,IAAIwxO,EAAK,EAAGlN,EAAK,EACT9pO,EAAI,EAAGA,EAAI8F,EAAE5yB,SAAU8sB,EAC9B,KAAG8F,EAAE9F,GAAGtD,EAAErf,EAAIwsC,GAAK/jB,EAAE9F,GAAGtD,EAAEG,EAAI2I,MAC3BM,EAAE9F,GAAGpmB,EAAEyD,EAAIwsC,GAAK/jB,EAAE9F,GAAGpmB,EAAEijB,EAAI2I,GAA9B,CACA,GAAGM,EAAE9F,GAAGtD,EAAErf,EAAIwsC,GAAK/jB,EAAE9F,GAAGtD,EAAEG,EAAI2I,EAAG,CAAEwxO,GAAM,EAAG,KAAO,CACnDA,EAAKlxO,EAAE9F,GAAGpmB,EAAEyD,EAAIyoB,EAAE9F,GAAGtD,EAAErf,EAAI,EAAGysP,EAAKhkO,EAAE9F,GAAGpmB,EAAEijB,EAAIiJ,EAAE9F,GAAGtD,EAAEG,EAAI,EAAG,KAFnB,CAI1C,KAAGm6O,EAAK,GAAR,CACA,IAAIQ,EAAQjV,GAAY,CAACllP,EAAEwsC,EAAEhtB,EAAE2I,IAC3By8N,EAAOvqO,EAAEqsO,OAAS5qG,EAAGtvG,IAAI,IAAIrkB,GAAK2zH,EAAGq+G,GAErCrgP,EAAK8qO,GAAkB,MAAVA,EAAK5gO,IAAe4gO,EAAK5qO,GAAKumO,GAAWqE,EAAK9qO,IAAMosO,GAAYtB,GAAOA,EAAK9qO,IAAM,MAAQ,GACvG4xP,EAAM,CAAC,EACR/R,EAAK,IAAG+R,EAAG4R,QAAU3jB,GACrBlN,EAAK,IAAGif,EAAG6R,QAAU9wB,GACrBpyO,EAAEmjQ,SAAU1jQ,EAAI,gCAAkCA,EAAI,UACjD8qO,IACP8mB,EAAG,UAAY9mB,GAAQA,EAAK54O,GAAK,IACpB,MAAV44O,EAAK5gO,IAAW0nP,EAAG,UAAY9mB,EAAK5gO,GAC1B,MAAV4gO,EAAKj8N,IAAW+iP,EAAG,UAAY9mB,EAAKj8N,GACpCi8N,EAAKtlO,GAAyC,MAAnCslO,EAAKtlO,EAAEquO,QAAU,KAAK3rN,OAAO,KAAWloB,EAAI,YAAc8qO,EAAKtlO,EAAEquO,OAAQ,KAAO7zO,EAAI,SAEnG4xP,EAAGxnQ,IAAMmW,EAAEnW,IAAM,OAAS,IAAMi2P,EAChC7W,EAAG1oP,KAAKwmP,GAAU,KAAMtnO,EAAG4xP,GAhBR,CAiBpB,CAEA,MADe,OACGpoB,EAAGr8O,KAAK,IAAM,OACjC,CAEA,IAAIw2Q,GAAa,sFACbC,GAAW,iBAWf,SAASC,GAAmB7hI,EAAkBtvG,EAAanyB,GAE1D,MAD4B,GACjBpT,KAAK,IAAM,UAAYoT,GAAKA,EAAEnW,GAAK,QAAUmW,EAAEnW,GAAK,IAAM,IAAM,GAC5E,CAEA,SAAS05Q,GAAc9hI,EAAkB93G,GACxC,IAAI3pB,EAAI2pB,GAAQ,CAAC,EACbh0B,EAAqB,MAAZqK,EAAErK,OAAiBqK,EAAErK,OAASytQ,GACvCvtQ,EAAqB,MAAZmK,EAAEnK,OAAiBmK,EAAEnK,OAASwtQ,GACvC3pH,EAAwB,CAAC/jJ,GACzBhQ,EAAI4lP,GAAa9pG,EAAG,SACxBzhI,EAAEqsO,MAAQ5uP,MAAMwS,QAAQwxI,GACxBiY,EAAIn5J,KAAK+iR,GAAmB7hI,EAAI97I,EAAGqa,IACnC,IAAI,IAAImyB,EAAIxsC,EAAEqf,EAAErf,EAAGwsC,GAAKxsC,EAAEzD,EAAEyD,IAAKwsC,EAAGunH,EAAIn5J,KAAKyiR,GAAcvhI,EAAI97I,EAAGwsC,EAAGnyB,IAErE,OADA05I,EAAIn5J,KAAK,WAAasV,GACf6jJ,EAAI9sJ,KAAK,GACjB,CAEA,SAAS42Q,GAAc/hI,EAAkBohD,EAAuB22C,GAC/D,IAAI7vM,EAAO6vM,GAAS,CAAC,EAErB,IAAIiqC,EAAO,EAAGC,EAAO,EACrB,GAAkB,MAAf/5O,EAAKuoK,OACP,GAAyB,iBAAfvoK,EAAKuoK,OAAoBuxE,EAAO95O,EAAKuoK,WAC1C,CACJ,IAAI50E,EAAgD,iBAAf3zF,EAAKuoK,OAAqBo5C,GAAY3hN,EAAKuoK,QAAUvoK,EAAKuoK,OAC/FuxE,EAAOnmJ,EAAQ33H,EAAG+9Q,EAAOpmJ,EAAQn4G,CAClC,CAGD,IAAIw6O,EAA+C98D,EAAMx8I,qBAAqB,MAC1E4zM,EAAY/wP,KAAK+T,IAAI0sB,EAAKswN,WAAW,IAAU0F,EAAKnkQ,QACpD+oC,EAAkB,CAACvf,EAAE,CAACrf,EAAE,EAAEwf,EAAE,GAAGjjB,EAAE,CAACyD,EAAE89Q,EAAKt+P,EAAEu+P,IAC/C,GAAGjiI,EAAG,QAAS,CACd,IAAI+qG,EAAmBjB,GAAa9pG,EAAG,SACvCl9G,EAAMvf,EAAErf,EAAIuD,KAAK+T,IAAIsnB,EAAMvf,EAAErf,EAAG6mP,EAAOxnO,EAAErf,GACzC4+B,EAAMvf,EAAEG,EAAIjc,KAAK+T,IAAIsnB,EAAMvf,EAAEG,EAAGqnO,EAAOxnO,EAAEG,GACzCof,EAAMriC,EAAEyD,EAAIuD,KAAKC,IAAIo7B,EAAMriC,EAAEyD,EAAG6mP,EAAOtqP,EAAEyD,GACzC4+B,EAAMriC,EAAEijB,EAAIjc,KAAKC,IAAIo7B,EAAMriC,EAAEijB,EAAGqnO,EAAOtqP,EAAEijB,IAC7B,GAATs+P,IAAYl/O,EAAMriC,EAAEyD,EAAI89Q,EAAOj3B,EAAOtqP,EAAEyD,EAAI,EAChD,CACA,IAAIywQ,EAA0B,GAAIuN,EAAO,EACrC9lB,EAA6Bp8G,EAAG,WAAaA,EAAG,SAAW,IAC3D6qG,EAAK,EAAGn6M,EAAI,EAAGo6M,EAAK,EAAGz+N,EAAI,EAAGwxO,EAAK,EAAGlN,EAAK,EAE/C,IADI3wG,EAAG,WAAUA,EAAG,SAAW,IACzB6qG,EAAKqT,EAAKnkQ,QAAU22C,EAAI8nN,IAAa3N,EAAI,CAC9C,IAAIhrN,EAA8Bq+N,EAAKrT,GACvC,GAAIs3B,GAAsBtiP,GAAM,CAC/B,GAAIqI,EAAKz0B,QAAS,SAClB2oP,EAAQ1rN,GAAK,CAAC1kC,QAAQ,EACvB,CACA,IAAIo2Q,EAAiDviP,EAAI1+B,SACzD,IAAI2pP,EAAKz+N,EAAI,EAAGy+N,EAAKs3B,EAAKroR,SAAU+wP,EAAI,CACvC,IAAIjT,EAA+BuqC,EAAKt3B,GACxC,IAAI5iN,EAAKz0B,UAAW0uQ,GAAsBtqC,GAA1C,CACA,IAAI3vN,EAAgB2vN,EAAI94N,aAAa,UAAY84N,EAAIl4N,aAAa,UAAYk4N,EAAI94N,aAAa,KAAO84N,EAAIl4N,aAAa,KAAOslO,GAAWpN,EAAInkO,WACzImZ,EAAgBgrN,EAAIl4N,aAAa,WAAak4N,EAAIl4N,aAAa,KACnE,IAAIuiQ,EAAO,EAAGA,EAAOvN,EAAO56Q,SAAUmoR,EAAM,CAC3C,IAAI93P,EAAcuqP,EAAOuN,GACtB93P,EAAE7G,EAAEG,GAAK2I,EAAI41P,GAAQ73P,EAAE7G,EAAErf,EAAIwsC,EAAIsxO,GAAQtxO,EAAIsxO,GAAQ53P,EAAE3pB,EAAEyD,IAAKmoB,EAAIjC,EAAE3pB,EAAEijB,EAAE,EAAIu+P,EAAMC,GAAQ,EAC9F,CAEAvxB,GAAM9Y,EAAIl4N,aAAa,YAAc,IAC/Bk+O,GAAOhmB,EAAIl4N,aAAa,YAAc,GAAK,GAAKgxO,EAAG,IAAGgkB,EAAO71Q,KAAK,CAACykB,EAAE,CAACrf,EAAEwsC,EAAIsxO,EAAKt+P,EAAE2I,EAAI41P,GAAMxhR,EAAE,CAACyD,EAAEwsC,EAAIsxO,GAAQnkB,GAAI,GAAK,EAAGn6O,EAAE2I,EAAI41P,GAAQtxB,GAAI,GAAK,KACvJ,IAAIpyO,EAAa,CAACrO,EAAE,IAAKgY,EAAEA,GACvBm6P,EAAgBxqC,EAAIl4N,aAAa,WAAak4N,EAAIl4N,aAAa,MAAQ,GACnE,MAALuI,IACa,GAAZA,EAAEnuB,OAAawkB,EAAErO,EAAImyQ,GAAM,IACtBn6O,EAAK03L,KAA0B,GAAnB13M,EAAE+L,OAAOl6B,QAAqB,KAANsoR,IAC9B,SAANn6P,EAAc3J,EAAI,CAACrO,EAAE,IAAKgY,GAAE,GACtB,UAANA,EAAe3J,EAAI,CAACrO,EAAE,IAAKgY,GAAE,GAC5B3K,MAAMgmO,GAASr7N,IACf3K,MAAMkmO,GAAUv7N,GAAGud,aAC3BlnB,EAAK,CAACrO,EAAE,IAAKgY,EAAE4c,GAAU5c,IACrBggB,EAAKkjN,YAAW7sO,EAAK,CAACrO,EAAE,IAAKgY,EAAEw6N,GAAQnkO,EAAE2J,KAC7C3J,EAAEsO,EAAIqb,EAAKqoM,QAAUnF,GAAU,KAJH7sN,EAAI,CAACrO,EAAE,IAAKgY,EAAEq7N,GAASr7N,WAO1Clf,IAARuV,EAAEsO,GAAwB,MAALA,IAAWtO,EAAEsO,EAAIA,GAGzC,IAAIrJ,EAAI,GAAI8+P,EAAQzqC,EAAIjzL,qBAAqB,KAC7C,GAAG09N,GAASA,EAAMvoR,OAAQ,IAAI,IAAIwoR,EAAQ,EAAGA,EAAQD,EAAMvoR,UAAoBuoR,EAAMC,GAAOxjQ,aAAa,SAC/C,MAAzDyE,EAAI8+P,EAAMC,GAAO5iQ,aAAa,SAAcumB,OAAO,MADiBq8O,GAGlE/+P,GAAoB,KAAfA,EAAE0iB,OAAO,KAAW3nB,EAAEiF,EAAK,CAAEquO,OAAQruO,IAC1C0kB,EAAK0iN,OAAa5qG,EAAGtvG,EAAIsxO,KAAOhiI,EAAGtvG,EAAIsxO,GAAQ,IAAIhiI,EAAGtvG,EAAIsxO,GAAM31P,EAAI41P,GAAQ1jQ,GAC1EyhI,EAAGopG,GAAY,CAAC1lO,EAAE2I,EAAI41P,EAAM/9Q,EAAEwsC,EAAIsxO,KAAUzjQ,EAC9CukB,EAAMriC,EAAEijB,EAAI2I,EAAI41P,IAAMn/O,EAAMriC,EAAEijB,EAAI2I,EAAI41P,GACzC51P,GAAKskO,CAnCmD,CAoCzD,GACEjgN,CACH,CAKA,OAJGikO,EAAO56Q,SAAQimJ,EAAG,YAAcA,EAAG,YAAc,IAAI7jJ,OAAOw4Q,IAC/D7xO,EAAMriC,EAAEyD,EAAIuD,KAAKC,IAAIo7B,EAAMriC,EAAEyD,EAAGwsC,EAAI,EAAIsxO,GACxChiI,EAAG,QAAU+pG,GAAajnN,GACvB4N,GAAK8nN,IAAWx4G,EAAG,YAAc+pG,IAAcjnN,EAAMriC,EAAEyD,EAAIg6P,EAAKnkQ,OAAO8wP,EAAGn6M,EAAE,EAAIsxO,EAAKl/O,KACjFk9G,CACR,CAEA,SAASwiI,GAAgBphF,EAAuB22C,GAG/C,OAAOgqC,IAFIhqC,GAAS,CAAC,GACO6S,MAAS,GAAe,CAAC,EAC5BxpD,EAAO22C,EACjC,CAMA,SAASoqC,GAAsB99Q,GAC9B,IAAIoP,EAAqB,GACrBgvQ,EAOL,SAAyCp+Q,GAExC,OAAGA,EAAQm2E,cAAc67C,aAA6E,oBAAvDhyH,EAAQm2E,cAAc67C,YAAY1oH,iBAAwCtJ,EAAQm2E,cAAc67C,YAAY1oH,iBAE5H,oBAArBA,iBAAwCA,iBAC3C,IACR,CAbwC+0Q,CAAgCr+Q,GAGvE,OAFGo+Q,IAAoBhvQ,EAAUgvQ,EAAmBp+Q,GAASy2H,iBAAiB,YAC1ErnH,IAASA,EAAUpP,EAAQ0B,OAAS1B,EAAQ0B,MAAM0N,SACnC,SAAZA,CACR,CAmkBA,IAAIkvQ,GAAmE,WACtE,IAAIC,EAAgB,CACnB,yBACC,oEACC,kBACA,6CACA,kBACA,6CACD,uBACD,2BACCz3Q,KAAK,IAEHkgL,EAAU,2BAA6Bg6D,GAAW,CACrD,eAAkB,mDAClB,cAAkB,kDAClB,cAAkB,kDAClB,aAAkB,iDAClB,aAAkB,oDAClB,WAAkB,8DAClB,cAAkB,+BAClB,WAAkB,mCAClB,eAAkB,sDAClB,YAAkB,2DAClB,WAAkB,+CAClB,iBAAkB,QACd,IAAMu9B,EAAgB,4BAE3B,OAAO,WACN,OAAO3+B,GAAa54D,CACrB,CACD,CA9BuE,GA+BnEw3F,GAAoE,WAEvE,IAQIC,EAAgB,mCAEhBhJ,EAAW,SAAS95H,EAAI2pB,EAAiB9vK,GAE5C,IAAI0kB,EAAsB,GAC1BA,EAAEzf,KAAK,kCAAoCwlP,GAAU36E,EAAG6gF,WAAW3wP,IAAM,+BACzE,IAAI62C,EAAE,EAAErkB,EAAE,EAAGyW,EAAQgnN,GAAa9pG,EAAG,SAAS,MAC1Cu6H,EAAwBv6H,EAAG,YAAc,GAAIiwC,EAAK,EAClD26D,EAAQ5uP,MAAMwS,QAAQwxI,GAC1B,GAAGA,EAAG,SACL,IAAI3zH,EAAI,EAAGA,GAAKyW,EAAMriC,EAAEijB,IAAK2I,EAAG9N,EAAEzf,KAAK,+BAAiCkhJ,EAAG,SAAS3zH,GAAK,wBAA0B2zH,EAAG,SAAS3zH,GAAG02P,IAAM,IAAM,IAAM,4BAErJ,IAAIpxO,EAAI,GAAIqxO,EAAOhjI,EAAG,UAAU,GAChC,IAAItvG,EAAI,EAAGA,EAAI5N,EAAMvf,EAAErf,IAAKwsC,EAC3BiB,EAAIqxO,EAAKtyO,GAAK,wBAA0BsyO,EAAKtyO,GAAGqyO,IAAM,IAAM,GAC5DxkQ,EAAEzf,KAAK,2BAA6B6yC,EAAI,yBAEzC,KAAMjB,GAAK5N,EAAMriC,EAAEyD,IAAKwsC,EAAG,CAG1B,IAFAiB,EAAIqxO,EAAKtyO,GAAK,wBAA0BsyO,EAAKtyO,GAAGqyO,IAAM,IAAM,GAC5DxkQ,EAAEzf,KAAK,2BAA6B6yC,EAAI,OACpCtlB,EAAE,EAAGA,EAAIyW,EAAMvf,EAAEG,IAAK2I,EAAG9N,EAAEzf,KAAKgkR,GACpC,KAAMz2P,GAAKyW,EAAMriC,EAAEijB,IAAK2I,EAAG,CAC1B,IAAIu4M,GAAO,EAAOh9K,EAAK,CAAC,EAAGq7N,EAAQ,GACnC,IAAIhzF,EAAK,EAAGA,GAAMsqF,EAAKxgR,SAAUk2L,EAChC,KAAGsqF,EAAKtqF,GAAI1sK,EAAEG,EAAI2I,MACfkuP,EAAKtqF,GAAI1sK,EAAErf,EAAIwsC,MACf6pO,EAAKtqF,GAAIxvL,EAAEijB,EAAI2I,MACfkuP,EAAKtqF,GAAIxvL,EAAEyD,EAAIwsC,GAAlB,CACG6pO,EAAKtqF,GAAI1sK,EAAEG,GAAK2I,GAAKkuP,EAAKtqF,GAAI1sK,EAAErf,GAAKwsC,IAAGk0L,GAAO,GAClDh9K,EAAG,gCAAmC2yN,EAAKtqF,GAAIxvL,EAAEijB,EAAI62P,EAAKtqF,GAAI1sK,EAAEG,EAAI,EACpEkkC,EAAG,6BAAmC2yN,EAAKtqF,GAAIxvL,EAAEyD,EAAIq2Q,EAAKtqF,GAAI1sK,EAAErf,EAAI,EACpE,KAJ6B,CAM9B,GAAG0gO,EAAQrmN,EAAEzf,KAhCO,+CAgCpB,CACA,IAAIkF,EAAMolP,GAAY,CAACllP,EAAEwsC,EAAGhtB,EAAE2I,IAAKy8N,EAAO8B,GAAS5qG,EAAGtvG,IAAI,IAAIrkB,GAAI2zH,EAAGh8I,GACrE,GAAG8kP,GAAQA,EAAK1kO,IACfwjC,EAAG,iBAAmB08L,GAAU+sB,GAAmBvoB,EAAK1kO,IACrD0kO,EAAKh6M,GACJg6M,EAAKh6M,EAAEv0B,MAAM,EAAGvW,EAAIjK,SAAWiK,GAAK,CACtC,IAAIk/Q,EAAQp5B,GAAahB,EAAKh6M,GAC9B8Y,EAAG,uCAA0Cs7N,EAAMziR,EAAEijB,EAAIw/P,EAAM3/P,EAAEG,EAAI,EACrEkkC,EAAG,oCAA0Cs7N,EAAMziR,EAAEyD,EAAIg/Q,EAAM3/P,EAAErf,EAAI,CACtE,CAGF,GAAI4kP,EAAJ,CACA,OAAOA,EAAK54O,GACX,IAAK,IACJ+yQ,EAASn6B,EAAK5gO,EAAI,OAAS,QAC3B0/B,EAAG,qBAAuB,UAC1BA,EAAG,wBAA2BkhM,EAAK5gO,EAAI,OAAS,QAChD,MACD,IAAK,IACJ+6P,EAASn6B,EAAK9qO,GAAGoH,OAAO0jO,EAAK5gO,GAAG,GAChC0/B,EAAG,qBAAuB,QAC1BA,EAAG,gBAAmBkhM,EAAK5gO,GAAG,EAC9B,MACD,IAAK,IAAK,IAAK,MACd+6P,EAAkB,MAAVn6B,EAAK5gO,EAAY,GAAK4gO,EAAK5gO,EACnC0/B,EAAG,qBAAuB,SAC1B,MACD,IAAK,IACJq7N,EAASn6B,EAAK9qO,GAAI8mB,GAAUgkN,EAAK5gO,GAAG8c,cACpC4iB,EAAG,qBAAuB,OAC1BA,EAAG,qBAAwB9iB,GAAUgkN,EAAK5gO,GAAG8c,cAC7C4iB,EAAG,oBAAsB,MACzB,MAED,QAASrpC,EAAEzf,KAAKgkR,GAAgB,SAEjC,IAAIK,EA7EC7+B,GA6EqB2+B,GA5E1Bj+Q,QAAQ,QAAQ,SAASyoO,GAAI,MAAO,mBAAmBA,EAAG1zO,OAAO,KAAM,IACvEiL,QAAQ,MAAO,eACfA,QAAQ,MAAO,qBACfA,QAAQ,KAAM,aAAaA,QAAQ,KAAM,aA0EzC,GAAG8jP,EAAKtlO,GAAKslO,EAAKtlO,EAAEquO,OAAQ,CAC3B,IAAIuxB,EAAOt6B,EAAKtlO,EAAEquO,OAGG,MAFrBuxB,EAAyB,KAAlBA,EAAKl9O,OAAO,GAAY,IAAMorO,GAAc8R,EAAK7oQ,MAAM,IAAM6oQ,GAE5Dl9O,OAAO,IAAck9O,EAAKhlQ,MAAM,WAAUglQ,EAAO,MAAQA,GACjED,EAAS79B,GAAU,SAAU69B,EAAQ,CAAC,aAAcC,EAAKp+Q,QAAQ,KAAM,UACxE,CACAuZ,EAAEzf,KAAK,aAAewmP,GAAU,mBAAoBA,GAAU,SAAU69B,EAAQ,CAAC,GAAIv7N,GAAM,KAjC9C,MAAjCrpC,EAAEzf,KAAKgkR,EAZ4B,CA8ChD,CACAvkQ,EAAEzf,KAAK,+BACR,CAEA,OADAyf,EAAEzf,KAAK,0BACAyf,EAAEpT,KAAK,GACf,EA6DA,OAAO,SAAaw+J,EAAIzhI,GACvB,IAAI3pB,EAAI,CAAC0lO,IAEL19N,EAAO8+N,GAAW,CACrB,eAAsB,mDACtB,cAAsB,kDACtB,cAAsB,kDACtB,aAAsB,iDACtB,aAAsB,oDACtB,WAAsB,8DACtB,cAAsB,+BACtB,WAAsB,mCACtB,aAAsB,iDACtB,eAAsB,sDACtB,qBAAsB,yDACtB,YAAsB,2DACtB,cAAsB,kDACtB,aAAsB,iDACtB,aAAsB,qCACtB,aAAsB,iDACtB,eAAsB,mDACtB,YAAsB,oCACtB,aAAsB,oCACtB,aAAsB,kCACtB,YAAsB,oCACtB,eAAsB,gCACtB,YAAsB,mCACtB,YAAsB,4CACtB,cAAsB,8CACtB,YAAsB,oCACtB,WAAsB,+CACtB,cAAsB,+BACtB,cAAsB,sCACtB,iBAAsB,mCACtB,gBAAsB,kCACtB,gBAAsB,uEACtB,cAAsB,uEACtB,cAAsB,mEACtB,cAAsB,qEACtB,cAAsB,kCACtB,iBAAsB,QAGnBg+B,EAAOh+B,GAAW,CACrB,eAAmB,mDACnB,kBAAmB,mDAGA,QAAjBn9M,EAAKmnN,UACP9wO,EAAEzf,KAAK,mBAAqBynB,EAAO88P,EAAO,OAC1C9kQ,EAAEzf,KAAKkzP,KAAiBhtP,QAAQ,wBAAyB,iBAEnDuZ,EAAEzf,KAAK,2BAA6BynB,EAAQ,OA/GnB,SAAShI,EAAqBorJ,GAC9DprJ,EAAEzf,KAAK,gCAEPyf,EAAEzf,KAAK,0EACPyf,EAAEzf,KAAK,4CACPyf,EAAEzf,KAAK,qCACPyf,EAAEzf,KAAK,0CACPyf,EAAEzf,KAAK,qCACPyf,EAAEzf,KAAK,uBACPyf,EAAEzf,KAAK,4BAGP,IAAIwkR,EAAO,EACX35G,EAAG6gF,WAAWjiP,KAAI,SAASiW,GAAK,OAAOmrJ,EAAG8gF,OAAOjsO,EAAI,IAAGze,SAAQ,SAASigJ,GACxE,GAAIA,GACDA,EAAG,SACL,IAAI,IAAI3zH,EAAI,EAAGA,EAAI2zH,EAAG,SAASjmJ,SAAUsyB,EAAG,GAAG2zH,EAAG,SAAS3zH,GAAI,CAC9D,IAAIk3P,EAASvjI,EAAG,SAAS3zH,GACzB,GAAmB,MAAhBk3P,EAAO3mQ,OAA+B,MAAd2mQ,EAAOxlB,KAA6B,MAAdwlB,EAAO7qB,IAAa,SACrEyE,GAAYomB,GACZA,EAAOR,IAAMO,EACb,IAAItlQ,EAAIgiI,EAAG,SAAS3zH,GAAG0xO,IAAM,KAC7Bx/O,EAAEzf,KAAK,gCAAkCwkR,EAAO,oCAChD/kQ,EAAEzf,KAAK,gFAAkFkf,EAAI,SAC7FO,EAAEzf,KAAK,wBACLwkR,CACH,CAEF,IAGA,IAAIx/B,EAAO,EACXn6E,EAAG6gF,WAAWjiP,KAAI,SAASiW,GAAK,OAAOmrJ,EAAG8gF,OAAOjsO,EAAI,IAAGze,SAAQ,SAASigJ,GACxE,GAAIA,GACDA,EAAG,SACL,IAAI,IAAItvG,EAAI,EAAGA,EAAIsvG,EAAG,SAASjmJ,SAAU22C,EAAG,GAAGsvG,EAAG,SAAStvG,GAAI,CAC9DsvG,EAAG,SAAStvG,GAAGqyO,IAAMj/B,EACrB,IAAI5lO,EAAI8hI,EAAG,SAAStvG,GAAG2sN,IAAM,KAC7B9+O,EAAEzf,KAAK,gCAAkCglP,EAAO,iCAChDvlO,EAAEzf,KAAK,2EAA6Eof,EAAI,SACxFK,EAAEzf,KAAK,wBACLglP,CACH,CAEF,IAGAvlO,EAAEzf,KAAK,wFACPyf,EAAEzf,KAAK,kFACPyf,EAAEzf,KAAK,sBAGPyf,EAAEzf,KAAK,+HAIPyf,EAAEzf,KAAK,gCACR,CAwDC0kR,CAA2BjlQ,EAAGorJ,GAC9BprJ,EAAEzf,KAAK,qBACPyf,EAAEzf,KAAK,8BACP,IAAI,IAAIjF,EAAI,EAAGA,GAAK8vK,EAAG6gF,WAAWzwP,SAAUF,EAAG0kB,EAAEzf,KAAKg7Q,EAASnwG,EAAG8gF,OAAO9gF,EAAG6gF,WAAW3wP,IAAK8vK,EAAI9vK,IAKhG,OAJA0kB,EAAEzf,KAAK,+BACPyf,EAAEzf,KAAK,sBACa,QAAjBopC,EAAKmnN,SAAoB9wO,EAAEzf,KAAK,sBAC9Byf,EAAEzf,KAAK,8BACLyf,EAAEpT,KAAK,GACf,CACD,CA3NwE,GA6NxE,SAASs4Q,GAAU95G,EAAYzhI,GAC9B,GAAoB,QAAjBA,EAAKmnN,SAAoB,OAAOwzB,GAAkBl5G,EAAIzhI,GAEzD,IAAI07M,EAAMI,KACN5/N,EAAI,GAEJs/P,EAAqC,GACrCC,EAAkC,GAiCtC,OA7BAhgC,GAAaC,EADbx/N,EAAI,WACiB,kDAIrBu/N,GAAaC,EADbx/N,EAAI,cACiBy+P,GAAkBl5G,EAAIzhI,IAC3Cw7O,EAAS5kR,KAAK,CAACslB,EAAG,aAClBu/P,EAAI7kR,KAAK,CAACslB,EAAG,gBAIbu/N,GAAaC,EADbx/N,EAAI,aACiBu+P,GAAiBh5G,EAAIzhI,IAC1Cw7O,EAAS5kR,KAAK,CAACslB,EAAG,aAClBu/P,EAAI7kR,KAAK,CAACslB,EAAG,eAIbu/N,GAAaC,EADbx/N,EAAI,WACiB6/N,GAAa+N,MAClC0xB,EAAS5kR,KAAK,CAACslB,EAAG,aAClBu/P,EAAI7kR,KAAK,CAACslB,EAAG,iBAIbu/N,GAAaC,EADbx/N,EAAI,eAhrgBL,SAAmBu/P,GAClB,IARsBn4Q,EAAiBioO,EAQnCl1N,EAAI,CAAC0lO,IACT1lO,EAAEzf,KAAK,uEACP,IAAI,IAAIjF,EAAI,EAAGA,GAAK8pR,EAAI5pR,SAAUF,EACjC0kB,EAAEzf,KAAKizP,GAAe4xB,EAAI9pR,GAAG,GAAI8pR,EAAI9pR,GAAG,KACxC0kB,EAAEzf,MAZmB0M,EAYA,GAZiBioO,EAYdkwC,EAAI9pR,GAAG,GAXzB,CACN,iCAAmC2R,EAAO,OAC1C,iGAAmGioO,EAAO,QAC1G,0BACCtoO,KAAK,MAWP,OAFAoT,EAAEzf,KAAKizP,GAAe,GAAG,WAAY,QACrCxzO,EAAEzf,KAAK,cACAyf,EAAEpT,KAAK,GACf,CAuqgBsBy4Q,CAAUD,IAC/BD,EAAS5kR,KAAK,CAACslB,EAAG,wBAIlBu/N,GAAaC,EADbx/N,EAAI,wBA7sgBL,SAAwBs/P,GACvB,IAAInlQ,EAAI,CAAC0lO,IACT1lO,EAAEzf,KAAK,oHACPyf,EAAEzf,KAAK,iJACP,IAAI,IAAIjF,EAAI,EAAGA,EAAI6pR,EAAS3pR,SAAUF,EAAG0kB,EAAEzf,KAAK,8CAAgD4kR,EAAS7pR,GAAG,GAAK,0BAA4B6pR,EAAS7pR,GAAG,GAAK,SAE9J,OADA0kB,EAAEzf,KAAK,wBACAyf,EAAEpT,KAAK,GACf,CAusgBsB04Q,CAAeH,IAE7B9/B,CACR,CAGA,SAASkgC,GAAetzM,GACtB,OAAO,IAAIuzM,SAASvzM,EAAMqzB,OAAQrzB,EAAMwzM,WAAYxzM,EAAMyzM,WAC5D,CAIA,SAASC,GAAMvhL,GACb,MAA6B,oBAAf2tE,aAA6B,IAAIA,aAAcC,OAAO5tE,GAAOwnI,GAAIwX,GAAUh/I,GAC3F,CAWA,SAASwhL,GAASC,GAChB,IAAIvmM,EAAMumM,EAAI1+P,QAAO,SAASoxE,EAAKvpF,GACjC,OAAOupF,EAAMvpF,EAAExT,MACjB,GAAG,GACCk+J,EAAM,IAAI50D,WAAWxlB,GACrB5tE,EAAM,EAKV,OAJAm0Q,EAAIrkR,SAAQ,SAASskR,GACnBpsH,EAAI9iJ,IAAIkvQ,EAAIp0Q,GACZA,GAAOo0Q,EAAGtqR,MACZ,IACOk+J,CACT,CAsBA,SAASqsH,GAAev6C,EAAKw6C,GAC3B,IAAI/gQ,EAAI+gQ,EAAMA,EAAI,GAAK,EACnBxmC,EAAe,IAAThU,EAAIvmN,GACdghQ,EACE,GAAIz6C,EAAIvmN,MAAQ,IAAK,CAEnB,GADAu6N,IAAiB,IAAThU,EAAIvmN,KAAa,EACrBumN,EAAIvmN,KAAO,IACb,MAAMghQ,EAER,GADAzmC,IAAiB,IAAThU,EAAIvmN,KAAa,GACrBumN,EAAIvmN,KAAO,IACb,MAAMghQ,EAER,GADAzmC,IAAiB,IAAThU,EAAIvmN,KAAa,GACrBumN,EAAIvmN,KAAO,IACb,MAAMghQ,EAGR,GAFAzmC,IAAiB,IAAThU,EAAIvmN,IAAY/b,KAAKsd,IAAI,EAAG,MAClCvB,EACEumN,EAAIvmN,KAAO,IACb,MAAMghQ,EAGR,GAFAzmC,IAAiB,IAAThU,EAAIvmN,IAAY/b,KAAKsd,IAAI,EAAG,MAClCvB,EACEumN,EAAIvmN,KAAO,IACb,MAAMghQ,EAGR,GAFAzmC,IAAiB,IAAThU,EAAIvmN,IAAY/b,KAAKsd,IAAI,EAAG,MAClCvB,EACEumN,EAAIvmN,KAAO,IACb,MAAMghQ,CACV,CAGF,OAFID,IACFA,EAAI,GAAK/gQ,GACJu6N,CACT,CACA,SAAS0mC,GAAev8P,GACtB,IAAI61N,EAAM,IAAI16I,WAAW,GACzB06I,EAAI,GAAS,IAAJ71N,EACT,IAAIoE,EAAI,EACR6mN,EACE,GAAIjrN,EAAI,IAAK,CAIX,GAHA61N,EAAIzxN,EAAI,IAAM,IACdyxN,EAAIzxN,GAAKpE,GAAK,EAAI,MAChBoE,EACEpE,GAAK,MACP,MAAMirN,EAIR,GAHA4K,EAAIzxN,EAAI,IAAM,IACdyxN,EAAIzxN,GAAKpE,GAAK,GAAK,MACjBoE,EACEpE,GAAK,QACP,MAAMirN,EAIR,GAHA4K,EAAIzxN,EAAI,IAAM,IACdyxN,EAAIzxN,GAAKpE,GAAK,GAAK,MACjBoE,EACEpE,GAAK,UACP,MAAMirN,EAIR,GAHA4K,EAAIzxN,EAAI,IAAM,IACdyxN,EAAIzxN,GAAKpE,EAAI,MAAQ,GAAK,MACxBoE,EACEpE,GAAK,YACP,MAAMirN,EAIR,GAHA4K,EAAIzxN,EAAI,IAAM,IACdyxN,EAAIzxN,GAAKpE,EAAI,QAAU,GAAK,MAC1BoE,EACEpE,GAAK,cACP,MAAMirN,EACR4K,EAAIzxN,EAAI,IAAM,IACdyxN,EAAIzxN,GAAKpE,EAAI,WAAa,GAAK,MAC7BoE,CACJ,CACF,OAAOyxN,EAAIxjO,MAAM,EAAG+R,EACtB,CACA,SAASo4P,GAAc36C,GACrB,IAAIvmN,EAAI,EAAGmhQ,EAAe,IAAT56C,EAAIvmN,GACrBghQ,EACE,GAAIz6C,EAAIvmN,MAAQ,IAAK,CAEnB,GADAmhQ,IAAiB,IAAT56C,EAAIvmN,KAAa,EACrBumN,EAAIvmN,KAAO,IACb,MAAMghQ,EAER,GADAG,IAAiB,IAAT56C,EAAIvmN,KAAa,GACrBumN,EAAIvmN,KAAO,IACb,MAAMghQ,EAER,GADAG,IAAiB,IAAT56C,EAAIvmN,KAAa,GACrBumN,EAAIvmN,KAAO,IACb,MAAMghQ,EACRG,IAAiB,IAAT56C,EAAIvmN,KAAa,EAC3B,CACF,OAAOmhQ,CACT,CACA,SAASC,GAAc76C,GAErB,IADA,IAAI9xE,EAAM,GAAIssH,EAAM,CAAC,GACdA,EAAI,GAAKx6C,EAAIhwO,QAAQ,CAC1B,IAKI+1I,EALA7/H,EAAMs0Q,EAAI,GACVM,EAAMP,GAAev6C,EAAKw6C,GAC1Bp0Q,EAAa,EAAN00Q,EAEPhnM,EAAM,EAEV,GAAW,IAHXgnM,EAAMp9Q,KAAKud,MAAM6/P,EAAM,IAIrB,MACF,OAAQ10Q,GACN,KAAK,EAGD,IADA,IAAIqT,EAAI+gQ,EAAI,GACLx6C,EAAIw6C,EAAI,OAAS,MAExBz0I,EAAMi6F,EAAIxvN,MAAMiJ,EAAG+gQ,EAAI,IAEzB,MACF,KAAK,EACH1mM,EAAM,EACNiyD,EAAMi6F,EAAIxvN,MAAMgqQ,EAAI,GAAIA,EAAI,GAAK1mM,GACjC0mM,EAAI,IAAM1mM,EACV,MACF,KAAK,EACHA,EAAM,EACNiyD,EAAMi6F,EAAIxvN,MAAMgqQ,EAAI,GAAIA,EAAI,GAAK1mM,GACjC0mM,EAAI,IAAM1mM,EACV,MACF,KAAK,EACHA,EAAMymM,GAAev6C,EAAKw6C,GAC1Bz0I,EAAMi6F,EAAIxvN,MAAMgqQ,EAAI,GAAIA,EAAI,GAAK1mM,GACjC0mM,EAAI,IAAM1mM,EACV,MAGF,QACE,MAAM,IAAIz0E,MAAM,WAAWjN,OAAOgU,EAAM,eAAehU,OAAO0oR,EAAK,eAAe1oR,OAAO8T,IAE7F,IAAIiY,EAAI,CAAEmI,KAAMy/G,EAAK3/H,KAAMA,GACX,MAAZ8nJ,EAAI4sH,GACN5sH,EAAI4sH,GAAO,CAAC38P,GAEZ+vI,EAAI4sH,GAAK/lR,KAAKopB,EAClB,CACA,OAAO+vI,CACT,CACA,SAAS6sH,GAAclmM,GACrB,IAAIq5E,EAAM,GAWV,OAVAr5E,EAAM7+E,SAAQ,SAAS+3J,EAAOz+I,GAC5By+I,EAAM/3J,SAAQ,SAAS2e,GAChBA,EAAK2R,OAEV4nI,EAAIn5J,KAAK2lR,GAAqB,EAANprQ,EAAUqF,EAAKvO,OACtB,GAAbuO,EAAKvO,MACP8nJ,EAAIn5J,KAAK2lR,GAAe/lQ,EAAK2R,KAAKt2B,SACpCk+J,EAAIn5J,KAAK4f,EAAK2R,MAChB,GACF,IACO8zP,GAASlsH,EAClB,CAMA,SAAS8sH,GAAeh7C,GAGtB,IAFA,IAAI5gJ,EACA8uE,EAAM,GAAIssH,EAAM,CAAC,GACdA,EAAI,GAAKx6C,EAAIhwO,QAAQ,CAC1B,IAAI8jF,EAAMymM,GAAev6C,EAAKw6C,GAC1Bv1F,EAAK41F,GAAc76C,EAAIxvN,MAAMgqQ,EAAI,GAAIA,EAAI,GAAK1mM,IAClD0mM,EAAI,IAAM1mM,EACV,IAAIiyD,EAAM,CACR1nI,GAAIs8Q,GAAc11F,EAAG,GAAG,GAAG3+J,MAC3B20P,SAAU,IAEZh2F,EAAG,GAAGjvL,SAAQ,SAAS8R,GACrB,IAAIo+K,EAAK20F,GAAc/yQ,EAAEwe,MACrB0rK,EAAK2oF,GAAcz0F,EAAG,GAAG,GAAG5/J,MAChCy/G,EAAIk1I,SAASlmR,KAAK,CAChB+3K,KAAMoZ,EACN5/J,KAAM05M,EAAIxvN,MAAMgqQ,EAAI,GAAIA,EAAI,GAAKxoF,KAEnCwoF,EAAI,IAAMxoF,CACZ,KACoB,OAAf5yG,EAAK6lG,EAAG,SAAc,EAAS7lG,EAAG,MACrC2mD,EAAIhmH,MAAQ46P,GAAc11F,EAAG,GAAG,GAAG3+J,QAAU,EAAI,GACnD4nI,EAAIn5J,KAAKgxI,EACX,CACA,OAAOmoB,CACT,CACA,SAASgtH,GAAeC,GACtB,IAAI36C,EAAO,GAoBX,OAnBA26C,EAAInlR,SAAQ,SAASsiK,GACnB,IAAI2sB,EAAK,GACTA,EAAG,GAAK,CAAC,CAAE3+J,KAAMo0P,GAAepiH,EAAGj6J,IAAK+H,KAAM,IAC9C6+K,EAAG,GAAK,GACQ,MAAZ3sB,EAAGv4I,QACLklK,EAAG,GAAK,CAAC,CAAE3+J,KAAMo0P,MAAkBpiH,EAAGv4I,OAAQ3Z,KAAM,KACtD,IAAIg1Q,EAAS,GACb9iH,EAAG2iH,SAASjlR,SAAQ,SAASkwL,GAC3Bk1F,EAAOrmR,KAAKmxL,EAAG5/J,MACf4/J,EAAGpZ,KAAK,GAAK,CAAC,CAAE1mK,KAAM,EAAGkgB,KAAMo0P,GAAex0F,EAAG5/J,KAAKt2B,UACtDi1L,EAAG,GAAGlwL,KAAK,CAAEuxB,KAAMy0P,GAAc70F,EAAGpZ,MAAO1mK,KAAM,GACnD,IACA,IAAIi1Q,EAAYN,GAAc91F,GAC9Bu7C,EAAKzrO,KAAK2lR,GAAeW,EAAUrrR,SACnCwwO,EAAKzrO,KAAKsmR,GACVD,EAAOplR,SAAQ,SAASslR,GACtB,OAAO96C,EAAKzrO,KAAKumR,EACnB,GACF,IACOlB,GAAS55C,EAClB,CACA,SAAS+6C,GAAmBn1Q,EAAM45N,GAChC,GAAY,GAAR55N,EACF,MAAM,IAAI/G,MAAM,gCAAgCjN,OAAOgU,IAIzD,IAHA,IAAIo0Q,EAAM,CAAC,GACPxmC,EAAMumC,GAAev6C,EAAKw6C,GAC1B34G,EAAS,GACN24G,EAAI,GAAKx6C,EAAIhwO,QAAQ,CAC1B,IAAImtF,EAAoB,EAAd6iJ,EAAIw6C,EAAI,IAClB,GAAW,GAAPr9L,EAAJ,CAqBE,IAAIt9D,EAAS,EAAG7vB,EAAS,EAgBzB,GAfW,GAAPmtF,GACFntF,EAAkC,GAAxBgwO,EAAIw6C,EAAI,KAAO,EAAI,GAC7B36P,GAA0B,IAAhBmgN,EAAIw6C,EAAI,QAAgB,EAClC36P,GAAUmgN,EAAIw6C,EAAI,QAElBxqR,EAAgC,GAAtBgwO,EAAIw6C,EAAI,OAAS,GAChB,GAAPr9L,GACFt9D,EAASmgN,EAAIw6C,EAAI,IAAMx6C,EAAIw6C,EAAI,GAAK,IAAM,EAC1CA,EAAI,IAAM,IAEV36P,GAAUmgN,EAAIw6C,EAAI,IAAMx6C,EAAIw6C,EAAI,GAAK,IAAM,EAAIx6C,EAAIw6C,EAAI,GAAK,IAAM,GAAKx6C,EAAIw6C,EAAI,GAAK,IAAM,MAAQ,EAClGA,EAAI,IAAM,IAGd34G,EAAS,CAACu4G,GAASv4G,IACL,GAAVhiJ,EACF,MAAM,IAAIxgB,MAAM,oBAClB,GAAIwgB,EAASgiJ,EAAO,GAAG7xK,OACrB,MAAM,IAAIqP,MAAM,gCAClB,GAAIrP,GAAU6vB,EAGZ,IAFAgiJ,EAAO9sK,KAAK8sK,EAAO,GAAGrxJ,OAAOqP,IAC7B7vB,GAAU6vB,EACH7vB,GAAU6xK,EAAOA,EAAO7xK,OAAS,GAAGA,QACzC6xK,EAAO9sK,KAAK8sK,EAAOA,EAAO7xK,OAAS,IACnCA,GAAU6xK,EAAOA,EAAO7xK,OAAS,GAAGA,OAGxC6xK,EAAO9sK,KAAK8sK,EAAO,GAAGrxJ,OAAOqP,GAASA,EAAS7vB,GACjD,KAlDA,CACE,IAAI8jF,EAAMksJ,EAAIw6C,EAAI,OAAS,EAC3B,GAAI1mM,EAAM,KACNA,MACC,CACH,IAAIn6D,EAAIm6D,EAAM,GACdA,EAAMksJ,EAAIw6C,EAAI,IACV7gQ,EAAI,IACNm6D,GAAOksJ,EAAIw6C,EAAI,GAAK,IAAM,GACxB7gQ,EAAI,IACNm6D,GAAOksJ,EAAIw6C,EAAI,GAAK,IAAM,IACxB7gQ,EAAI,IACNm6D,GAAOksJ,EAAIw6C,EAAI,GAAK,IAAM,IAC5B1mM,KAAS,EACTA,IACA0mM,EAAI,IAAM7gQ,CACZ,CACAkoJ,EAAO9sK,KAAKirO,EAAIxvN,MAAMgqQ,EAAI,GAAIA,EAAI,GAAK1mM,IACvC0mM,EAAI,IAAM1mM,CAgCZ,CACF,CACA,IAAIt/D,EAAI4lQ,GAASv4G,GACjB,GAAIrtJ,EAAExkB,QAAUgkP,EACd,MAAM,IAAI30O,MAAM,sBAAsBjN,OAAOoiB,EAAExkB,OAAQ,QAAQoC,OAAO4hP,IACxE,OAAOx/N,CACT,CACA,SAASgnQ,GAAoBx7C,GAG3B,IAFA,IAAI9xE,EAAM,GACNz0I,EAAI,EACDA,EAAIumN,EAAIhwO,QAAQ,CACrB,IAAImW,EAAI65N,EAAIvmN,KACRq6D,EAAMksJ,EAAIvmN,GAAKumN,EAAIvmN,EAAI,IAAM,EAAIumN,EAAIvmN,EAAI,IAAM,GACnDA,GAAK,EACLy0I,EAAIn5J,KAAKwmR,GAAmBp1Q,EAAG65N,EAAIxvN,MAAMiJ,EAAGA,EAAIq6D,KAChDr6D,GAAKq6D,CACP,CACA,GAAIr6D,IAAMumN,EAAIhwO,OACZ,MAAM,IAAIqP,MAAM,sCAClB,OAAO+6Q,GAASlsH,EAClB,CACA,SAASutH,GAAkBz7C,GAGzB,IAFA,IAAI9xE,EAAM,GACNz0I,EAAI,EACDA,EAAIumN,EAAIhwO,QAAQ,CACrB,IAAI2pB,EAAIjc,KAAK+T,IAAIuuN,EAAIhwO,OAASypB,EAAG,WAC7BiiQ,EAAQ,IAAIpiL,WAAW,GAC3B40D,EAAIn5J,KAAK2mR,GACT,IAAI1nC,EAAM0mC,GAAe/gQ,GACrB4I,EAAIyxN,EAAIhkP,OACZk+J,EAAIn5J,KAAKi/O,GACLr6N,GAAK,IACP4I,IACA2rI,EAAIn5J,KAAK,IAAIukG,WAAW,CAAC3/E,EAAI,GAAK,MACzBA,GAAK,KACd4I,GAAK,EACL2rI,EAAIn5J,KAAK,IAAIukG,WAAW,CAAC,IAAK3/E,EAAI,EAAI,QAC7BA,GAAK,OACd4I,GAAK,EACL2rI,EAAIn5J,KAAK,IAAIukG,WAAW,CAAC,IAAK3/E,EAAI,EAAI,IAAKA,EAAI,GAAK,EAAI,QAC/CA,GAAK,UACd4I,GAAK,EACL2rI,EAAIn5J,KAAK,IAAIukG,WAAW,CAAC,IAAK3/E,EAAI,EAAI,IAAKA,EAAI,GAAK,EAAI,IAAKA,EAAI,GAAK,GAAK,QAClEA,GAAK,aACd4I,GAAK,EACL2rI,EAAIn5J,KAAK,IAAIukG,WAAW,CAAC,IAAK3/E,EAAI,EAAI,IAAKA,EAAI,GAAK,EAAI,IAAKA,EAAI,GAAK,GAAK,IAAKA,EAAI,IAAM,GAAK,QAEjGu0I,EAAIn5J,KAAKirO,EAAIxvN,MAAMiJ,EAAGA,EAAIE,IAC1B4I,GAAK5I,EACL+hQ,EAAM,GAAK,EACXA,EAAM,GAAS,IAAJn5P,EACXm5P,EAAM,GAAKn5P,GAAK,EAAI,IACpBm5P,EAAM,GAAKn5P,GAAK,GAAK,IACrB9I,GAAKE,CACP,CACA,OAAOygQ,GAASlsH,EAClB,CA6HA,SAASytH,GAAkB58B,EAAM6a,GAC/B,IAAI1rG,EAAM,IAAI50D,WAAW,IAAKsiL,EAAK7B,GAAe7rH,GAAMz0I,EAAI,GAAIw8D,EAAQ,EAExE,OADAi4E,EAAI,GAAK,EACD6wF,EAAK54O,GACX,IAAK,IACH+nJ,EAAI,GAAK,EAtcf,SAA2B8xE,EAAKngN,EAAQlsB,GACtC,IAAIsxG,EAAMvnG,KAAKud,MAAe,GAATtnB,EAAa,EAAI+J,KAAKglO,OAAShlO,KAAKod,IAAIpd,KAAKgW,IAAI/f,KAAW,KAAO,GACpFkoR,EAAWloR,EAAQ+J,KAAKsd,IAAI,GAAIiqF,EAAM,MAC1C+6H,EAAIngN,EAAS,KAAOolF,GAAO,EAC3B+6H,EAAIngN,EAAS,MAAc,IAANolF,IAAc,EACnC,IAAK,IAAIn1G,EAAI,EAAG+rR,GAAY,IAAK/rR,EAAG+rR,GAAY,IAC9C77C,EAAIngN,EAAS/vB,GAAgB,IAAX+rR,EACpB77C,EAAIngN,EAAS,KAAOlsB,GAAS,EAAI,EAAI,GACvC,CA+bMmoR,CAAkB5tH,EAAKz0I,EAAGslO,EAAK5gO,GAC/B83D,GAAS,EACTx8D,GAAK,GACL,MACF,IAAK,IACHy0I,EAAI,GAAK,EACT0tH,EAAGG,WAAWtiQ,EAAGslO,EAAK5gO,EAAI,EAAI,GAAG,GACjC83D,GAAS,EACTx8D,GAAK,EACL,MACF,IAAK,IACH,IAA4B,GAAxBmgP,EAAI/+P,QAAQkkP,EAAK5gO,GACnB,MAAM,IAAI9e,MAAM,SAASjN,OAAO2sP,EAAK5gO,EAAG,uBAC1C+vI,EAAI,GAAK,EACT0tH,EAAGI,UAAUviQ,EAAGmgP,EAAI/+P,QAAQkkP,EAAK5gO,IAAI,GACrC83D,GAAS,EACTx8D,GAAK,EACL,MACF,QACE,KAAM,yBAA2BslO,EAAK54O,EAG1C,OADAy1Q,EAAGI,UAAU,EAAG/lM,GAAO,GAChBi4E,EAAI19I,MAAM,EAAGiJ,EACtB,CACA,SAASwiQ,GAAkBl9B,EAAM6a,GAC/B,IAAI1rG,EAAM,IAAI50D,WAAW,IAAKsiL,EAAK7B,GAAe7rH,GAAMz0I,EAAI,GAAIw8D,EAAQ,EAExE,OADAi4E,EAAI,GAAK,EACD6wF,EAAK54O,GACX,IAAK,IACH+nJ,EAAI,GAAK,EACT0tH,EAAGG,WAAWtiQ,EAAGslO,EAAK5gO,GAAG,GACzB83D,GAAS,GACTx8D,GAAK,EACL,MACF,IAAK,IACHy0I,EAAI,GAAK,EACT0tH,EAAGG,WAAWtiQ,EAAGslO,EAAK5gO,EAAI,EAAI,GAAG,GACjC83D,GAAS,GACTx8D,GAAK,EACL,MACF,IAAK,IACH,IAA4B,GAAxBmgP,EAAI/+P,QAAQkkP,EAAK5gO,GACnB,MAAM,IAAI9e,MAAM,SAASjN,OAAO2sP,EAAK5gO,EAAG,uBAC1C+vI,EAAI,GAAK,EACT0tH,EAAGI,UAAUviQ,EAAGmgP,EAAI/+P,QAAQkkP,EAAK5gO,IAAI,GACrC83D,GAAS,GACTx8D,GAAK,EACL,MACF,QACE,KAAM,yBAA2BslO,EAAK54O,EAG1C,OADAy1Q,EAAGI,UAAU,EAAG/lM,GAAO,GAChBi4E,EAAI19I,MAAM,EAAGiJ,EACtB,CAcA,SAASyiQ,GAAoBl8C,GAE3B,OAAOu6C,GADEM,GAAc76C,GACE,GAAG,GAAG15M,KACjC,CAuNA,SAAS61P,GAAeC,EAAK91P,EAAMigO,GACjC,IAAInnK,EAAIC,EAAIC,EAAIE,EAChB,KAAuB,OAAhBJ,EAAKg9L,EAAI,SAAc,EAASh9L,EAAG,OAA0B,OAAhBC,EAAK+8L,EAAI,SAAc,EAAS/8L,EAAG,IACrF,KAAM,4CAER,IADqE,OAAhDG,EAAsB,OAAhBF,EAAK88L,EAAI,SAAc,EAAS98L,EAAG,SAAc,EAASE,EAAGl5D,OAASq0P,GAAcyB,EAAI,GAAG,GAAG91P,MAAQ,IAAK,EAEpI,KAAM,sCAIR,IAHA,IAAI6mN,EAAM,EACNyuC,EAAK7B,GAAeqC,EAAI,GAAG,GAAG91P,MAAO+1P,EAAc,EAAGC,EAAe,GACrEC,EAAMxC,GAAeqC,EAAI,GAAG,GAAG91P,MAAOk2P,EAAe,EAAGC,EAAgB,GACnEn6P,EAAI,EAAGA,EAAIgE,EAAKt2B,SAAUsyB,EACjC,GAAe,MAAXgE,EAAKhE,GAAT,CAOA,IAAIo6P,EAASC,EACb,OAHAf,EAAGgB,UAAc,EAAJt6P,EAAO+5P,GAAa,GACjCE,EAAIK,UAAc,EAAJt6P,EAAOk6P,GAAc,UAEpBl2P,EAAKhE,IAClB,IAAK,SACHo6P,EAAUf,GAAkB,CAAEx1Q,EAAG,IAAKgY,EAAGmI,EAAKhE,IAAMikO,GACpDo2B,EAAWV,GAAkB,CAAE91Q,EAAG,IAAKgY,EAAGmI,EAAKhE,IAAMikO,GACrD,MACF,IAAK,SACHm2B,EAAUf,GAAkB,CAAEx1Q,EAAG,IAAKgY,EAAGmI,EAAKhE,IAAMikO,GACpDo2B,EAAWV,GAAkB,CAAE91Q,EAAG,IAAKgY,EAAGmI,EAAKhE,IAAMikO,GACrD,MACF,IAAK,UACHm2B,EAAUf,GAAkB,CAAEx1Q,EAAG,IAAKgY,EAAGmI,EAAKhE,IAAMikO,GACpDo2B,EAAWV,GAAkB,CAAE91Q,EAAG,IAAKgY,EAAGmI,EAAKhE,IAAMikO,GACrD,MACF,QACE,MAAM,IAAIlnP,MAAM,qBAAuBinB,EAAKhE,IAEhDg6P,EAAavnR,KAAK2nR,GAClBL,GAAeK,EAAQ1sR,OACvBysR,EAAc1nR,KAAK4nR,GACnBH,GAAgBG,EAAS3sR,SACvBm9O,CAxBF,MAHEyuC,EAAGgB,UAAc,EAAJt6P,EAAO,OAAO,GAC3Bi6P,EAAIK,UAAc,EAAJt6P,EAAO,OA6BzB,IADA85P,EAAI,GAAG,GAAG91P,KAAOo0P,GAAevtC,GACzB7qN,EAAI85P,EAAI,GAAG,GAAG91P,KAAKt2B,OAAS,IAAKsyB,EACtCs5P,EAAGgB,UAAc,EAAJt6P,EAAO,OAAO,GAC3Bi6P,EAAIK,UAAc,EAAJt6P,EAAO,OAAO,GAI9B,OAFA85P,EAAI,GAAG,GAAG91P,KAAO8zP,GAASkC,GAC1BF,EAAI,GAAG,GAAG91P,KAAO8zP,GAASqC,GACnBtvC,CACT,CA6QA,SAAS0vC,GAAc/8Q,GACtB,OAAO,SAAkBq+B,GACxB,IAAI,IAAIruC,EAAI,EAAGA,GAAKgQ,EAAS9P,SAAUF,EAAG,CACzC,IAAI8pB,EAAI9Z,EAAShQ,QACCmP,IAAfk/B,EAAKvkB,EAAE,MAAmBukB,EAAKvkB,EAAE,IAAMA,EAAE,IAChC,MAATA,EAAE,KAAYukB,EAAKvkB,EAAE,IAAMtH,OAAO6rB,EAAKvkB,EAAE,KAC7C,CACD,CACD,CAyBA,SAAS09P,GAAen5O,GACxB0+O,GAAc,CACb,CAAC,aAAa,GAEd,CAAC,WAAW,GAEZ,CAAC,WAAY,QAEb,CAAC,eAAe,GAEhB,CAAC,OAAO,IATTA,CAUG1+O,EACH,CAoSA,SAASgxM,GAAUvvE,EAAiBzhI,GACnC,MAAoB,OAAjBA,EAAKmnN,SAA0Bo0B,GAAU95G,EAAIzhI,GAC5B,WAAjBA,EAAKmnN,SA/lBT,SAA2B1lF,EAAIzhI,GAC7B,IAAKA,IAASA,EAAK8sF,QACjB,MAAM,IAAI5rH,MAAM,oDAClB,IAAI42I,EAAK2pB,EAAG8gF,OAAO9gF,EAAG6gF,WAAW,IAC7B7gF,EAAG6gF,WAAWzwP,OAAS,GACzBsvC,QAAQ/nB,MAAM,4DAChB,IAAIwhB,EAAQgnN,GAAa9pG,EAAG,SAC5Bl9G,EAAMvf,EAAErf,EAAI4+B,EAAMvf,EAAEG,EAAI,EACxB,IAAImjQ,GAAQ,EACR/jP,EAAMriC,EAAEijB,EAAI,IACdmjQ,GAAQ,EACR/jP,EAAMriC,EAAEijB,EAAI,GAEVof,EAAMriC,EAAEyD,EAAI,KACd2iR,GAAQ,EACR/jP,EAAMriC,EAAEyD,EAAI,IAEV2iR,GACFx9O,QAAQ/nB,MAAM,8CAA8CnlB,OAAO4tP,GAAajnN,KAClF,IAAIzS,EAAO2oO,GAAch5G,EAAI,CAAEl9G,MAAOA,EAAO5uB,OAAQ,IACjDo8O,EAAM,CAAC,aACXjgO,EAAKtwB,SAAQ,SAAS8/B,GACpB,OAAOA,EAAI9/B,SAAQ,SAAS+oP,GACP,iBAARA,GACTwH,EAAIxxP,KAAKgqP,EACb,GACF,IACA,IAAIg+B,EAAa,CAAC,EACd19K,EAAU,GACVguI,EAAM3E,GAAI3/H,KAAK5qE,EAAK8sF,QAAS,CAAE7kH,KAAM,WACzCinO,EAAIxD,UAAUrrO,KAAI,SAAS+mL,EAAIj2K,GAC7B,MAAO,CAACi2K,EAAI8nD,EAAIvD,UAAUx6N,GAC5B,IAAGtZ,SAAQ,SAAS8/B,GAClB,IAAIyvJ,EAAKzvJ,EAAI,GAAIo4M,EAAKp4M,EAAI,GACX,GAAXyvJ,EAAGn/K,MAEFm/K,EAAG/yL,KAAK6hB,MAAM,UAIV2mQ,GADEQ,GADOj2F,EAAGn7K,UAGlBpU,SAAQ,SAASgnR,GAClB39K,EAAQtqG,KAAKioR,EAAQ3+Q,IACrB0+Q,EAAWC,EAAQ3+Q,IAAM,CAAEqoL,KAAM,GAAI30D,SAAUm8G,EAAI9nO,KAAMu0Q,GAAcqC,EAAQ/B,SAAS,GAAGnuG,KAAK,GAAG,GAAGxmJ,MACxG,GACF,IACA+4E,EAAQhsD,MAAK,SAASvyB,EAAIC,GACxB,OAAOD,EAAKC,CACd,IACA,IAAIk8P,EAAiB59K,EAAQnmF,QAAO,SAAS4H,GAC3C,OAAOA,EAAK,CACd,IAAGtiB,KAAI,SAASsiB,GACd,MAAO,CAACA,EAAI45P,GAAe55P,GAC7B,IACAusN,EAAIxD,UAAUrrO,KAAI,SAAS+mL,EAAIj2K,GAC7B,MAAO,CAACi2K,EAAI8nD,EAAIvD,UAAUx6N,GAC5B,IAAGtZ,SAAQ,SAAS8/B,GAClB,IAAIyvJ,EAAKzvJ,EAAI,GAASA,EAAI,GACrByvJ,EAAG/yL,KAAK6hB,MAAM,UAEV2mQ,GAAeQ,GAAoBj2F,EAAGn7K,UAC5CpU,SAAQ,SAASsiK,GAClBA,EAAG2iH,SAASjlR,SAAQ,SAASqqB,GAC3B48P,EAAejnR,SAAQ,SAASknR,GAC1B5kH,EAAG2iH,SAAS/8Q,MAAK,SAASi/Q,GAC5B,OAA8C,OAAvCxC,GAAcwC,EAAKrwG,KAAK,GAAG,GAAGxmJ,OAz3BjD,SAAoBziB,EAAMwxK,GACxBihF,EACE,IAAK,IAAI/zO,EAAI,EAAGA,GAAK1e,EAAK7T,OAASqlL,EAAOrlL,SAAUuyB,EAAG,CACrD,IAAK,IAAIzF,EAAI,EAAGA,EAAIu4J,EAAOrlL,SAAU8sB,EACnC,GAAIjZ,EAAK0e,EAAIzF,IAAMu4J,EAAOv4J,GACxB,SAASw5O,EACb,OAAO,CACT,CACF,OAAO,CACT,CAg3BmE8mB,CAAWD,EAAK72P,KAAM42P,EAAI,GACnF,KACEH,EAAWG,EAAI,IAAIx2F,KAAK3xL,KAAKujK,EAAGj6J,GAEpC,GACF,GACF,GACF,IAUA,IAHA,IAEIg/Q,EAFA3zJ,EAAQg/G,GAAIrwI,KAAKg1I,EAAK0vC,EAAW,GAAGhrJ,UACpCvuH,EAAIw3Q,GAAeQ,GAAoB9xJ,EAAMt/G,UAExC48K,EAAK,EAAGA,EAAKxjL,EAAExT,SAAUg3L,EAAI,CACpC,IAAIs2F,EAAS95Q,EAAEwjL,GACE,GAAbs2F,EAAOj/Q,KACTg/Q,EAAUC,EACd,CACA,IAAIC,EAAerB,GAAoBrB,GAAcwC,EAAQpC,SAAS,GAAG30P,MAAM,GAAG,GAAGA,MAGrF,IADA9iB,EAAIw3Q,GAAeQ,IADnB9xJ,EAAQg/G,GAAIrwI,KAAKg1I,EAAK0vC,EAAWQ,GAAcxrJ,WACF3nH,UACxC48K,EAAK,EAAGA,EAAKxjL,EAAExT,SAAUg3L,GAC5Bs2F,EAAS95Q,EAAEwjL,IACA3oL,IAAMk/Q,IACfF,EAAUC,GAKd,IAHAC,EAAerB,GAAoBrB,GAAcwC,EAAQpC,SAAS,GAAG30P,MAAM,GAAG,GAAGA,MAEjF9iB,EAAIw3Q,GAAeQ,IADnB9xJ,EAAQg/G,GAAIrwI,KAAKg1I,EAAK0vC,EAAWQ,GAAcxrJ,WACF3nH,UACxC48K,EAAK,EAAGA,EAAKxjL,EAAExT,SAAUg3L,GAC5Bs2F,EAAS95Q,EAAEwjL,IACA3oL,IAAMk/Q,IACfF,EAAUC,GAKd,IAHAC,EAAerB,GAAoBrB,GAAcwC,EAAQpC,SAAS,GAAG30P,MAAM,GAAG,GAAGA,MAEjF9iB,EAAIw3Q,GAAeQ,IADnB9xJ,EAAQg/G,GAAIrwI,KAAKg1I,EAAK0vC,EAAWQ,GAAcxrJ,WACF3nH,UACxC48K,EAAK,EAAGA,EAAKxjL,EAAExT,SAAUg3L,GAC5Bs2F,EAAS95Q,EAAEwjL,IACA3oL,IAAMk/Q,IACfF,EAAUC,GAEd,IAAIn+G,EAAK07G,GAAcwC,EAAQpC,SAAS,GAAG30P,MAEzC64I,EAAG,GAAG,GAAG74I,KAAOo0P,GAAe3hP,EAAMriC,EAAEyD,EAAI,GAC3CglK,EAAG,GAAG,GAAG74I,KAAOo0P,GAAe3hP,EAAMriC,EAAEijB,EAAI,GAKzC,IAJF,IAAI6jQ,EAAYtB,GAAoB/8G,EAAG,IAAI,GAAG74I,MAC1Cm3P,EAAY/0C,GAAIrwI,KAAKg1I,EAAK0vC,EAAWS,GAAWzrJ,UAChD6rE,EAAKo9E,GAAeQ,GAAoBiC,EAAUrzQ,UAE3C0S,EAAI,EAAGA,EAAI8gL,EAAG5tM,QACjB4tM,EAAG9gL,GAAGze,IAAMm/Q,IADe1gQ,GAIjC,GAAI8gL,EAAG9gL,GAAGze,IAAMm/Q,EACd,KAAM,6BACR,IAAIE,EAAS7C,GAAcj9E,EAAG9gL,GAAGm+P,SAAS,GAAG30P,MAC7Co3P,EAAO,GAAK,GACZA,EAAO,GAAK,GAAIA,EAAO,GAAK,GAC5B,IAAK,IAAIp7P,EAAI,EAAGA,GAAKyW,EAAMriC,EAAEijB,IAAK2I,EAAG,CACnC,IAAIq7P,EAAO,GACXA,EAAK,GAAKA,EAAK,GAAK,CAAC,CAAEv3Q,KAAM,EAAGkgB,KAAMo0P,GAAep4P,EAAI,UACzDo7P,EAAO,GAAG3oR,KAAK,CAAEqR,KAAM,EAAGkgB,KAAMy0P,GAAc4C,KAC9CD,EAAO,GAAG3oR,KAAK,CAAEqR,KAAM,EAAGkgB,KAAMo0P,GAAep4P,KAC/Co7P,EAAO,GAAG3oR,KAAK,CAAEqR,KAAM,EAAGkgB,KAAMo0P,GAAep4P,IACjD,CACAo7P,EAAO,GAAK,GACZA,EAAO,GAAK,GAAIA,EAAO,GAAK,GAC5B,IAAK,IAAI/2O,EAAI,EAAGA,GAAK5N,EAAMriC,EAAEyD,IAAKwsC,GAChCg3O,EAAO,IACF,GAAKA,EAAK,GAAK,CAAC,CAAEv3Q,KAAM,EAAGkgB,KAAMo0P,GAAe/zO,EAAI,UACzD+2O,EAAO,GAAG3oR,KAAK,CAAEqR,KAAM,EAAGkgB,KAAMy0P,GAAc4C,KAC9CD,EAAO,GAAG3oR,KAAK,CAAEqR,KAAM,EAAGkgB,KAAMo0P,GAAe/zO,KAC/C+2O,EAAO,GAAG3oR,KAAK,CAAEqR,KAAM,EAAGkgB,KAAMo0P,GAAe/zO,KAEjDi3J,EAAG9gL,GAAGm+P,SAAS,GAAG30P,KAAOy0P,GAAc2C,GAEzCD,EAAUrzQ,QAAUqxQ,GAAkBP,GAAet9E,IACrD6/E,EAAUl/P,KAAOk/P,EAAUrzQ,QAAQpa,cAC5BmvK,EAAG,IACV,IAAIy+G,EAAQ/C,GAAc17G,EAAG,GAAG,GAAG74I,MAEjCs3P,EAAM,GAAG,GAAGt3P,KAAOo0P,GAAe3hP,EAAMriC,EAAEyD,EAAI,GAC9C,IACI0jR,EAAiB3B,GADHrB,GAAc+C,EAAM,GAAG,GAAGt3P,MACS,GAAG,GAAGA,MAIzD,IAFFs3K,EAAKo9E,GAAeQ,IADpBiC,EAAY/0C,GAAIrwI,KAAKg1I,EAAK0vC,EAAWc,GAAgB9rJ,WACH3nH,WAEzC,GAAG/L,IAAMw/Q,EACd,KAAM,0BACR,IAAIC,EAAcjD,GAAcj9E,EAAG,GAAGq9E,SAAS,GAAG30P,MAClD,IAAKqgB,EAAI,EAAGA,EAAIrgB,EAAKt2B,SAAU22C,EAAG,CAChC,IAAIo3O,EAAUlD,GAAciD,EAAY,GAAG,GAAGx3P,MAC9Cy3P,EAAQ,GAAG,GAAGz3P,KAAOo0P,GAAe/zO,GACpCo3O,EAAQ,GAAG,GAAGz3P,KAAOo0P,GAAep0P,EAAKqgB,GAAG32C,QAC5C8tR,EAAY,GAAGn3O,GAAK,CAAEvgC,KAAM03Q,EAAY,GAAG,GAAG13Q,KAAMkgB,KAAMy0P,GAAcgD,GAC1E,CACAngF,EAAG,GAAGq9E,SAAS,GAAG30P,KAAOy0P,GAAc+C,GAEzCL,EAAUrzQ,QAAUqxQ,GAAkBP,GAAet9E,IACrD6/E,EAAUl/P,KAAOk/P,EAAUrzQ,QAAQpa,OACnC,IAAIguR,EAAiB9B,GAAoB0B,EAAM,GAAG,GAAGt3P,MAInD,IAFFs3K,EAAKo9E,GAAeQ,IADpBiC,EAAY/0C,GAAIrwI,KAAKg1I,EAAK0vC,EAAWiB,GAAgBjsJ,WACH3nH,WAEzC,GAAG/L,IAAM2/Q,EACd,KAAM,0BAER,IADAF,EAAcjD,GAAcj9E,EAAG,GAAGq9E,SAAS,GAAG30P,MACzChE,EAAI,EAAGA,GAAKyW,EAAMriC,EAAEijB,IAAK2I,GAC5By7P,EAAUlD,GAAciD,EAAY,GAAG,GAAGx3P,OAClC,GAAG,GAAGA,KAAOo0P,GAAep4P,GACpCy7P,EAAQ,GAAG,GAAGz3P,KAAOo0P,GAAe3hP,EAAMriC,EAAEyD,EAAI,GAChD2jR,EAAY,GAAGx7P,GAAK,CAAElc,KAAM03Q,EAAY,GAAG,GAAG13Q,KAAMkgB,KAAMy0P,GAAcgD,IAE1EngF,EAAG,GAAGq9E,SAAS,GAAG30P,KAAOy0P,GAAc+C,GAEzCL,EAAUrzQ,QAAUqxQ,GAAkBP,GAAet9E,IACrD6/E,EAAUl/P,KAAOk/P,EAAUrzQ,QAAQpa,OACnC,IAAIiuR,EAAS/B,GAAoB0B,EAAM,GAAG,GAAGt3P,OAC7C,WAIE,IAHA,IAEI43P,EAFAC,EAASz1C,GAAIrwI,KAAKg1I,EAAK0vC,EAAWkB,GAAQlsJ,UAC1CqsJ,EAAKpD,GAAeQ,GAAoB2C,EAAO/zQ,UAE1Ci0Q,EAAM,EAAGA,EAAMD,EAAGpuR,SAAUquR,EAAK,CACxC,IAAIrB,EAAUoB,EAAGC,GACbrB,EAAQ3+Q,IAAM4/Q,IAChBC,EAAUlB,EACd,CACA,IAAIsB,EAAUzD,GAAcqD,EAAQjD,SAAS,GAAG30P,MAE9Cg4P,EAAQ,GAAK,GACb,IAAIC,EAAS,GACbh4B,EAAIvwP,SAAQ,SAAS4iG,EAAK9oG,GACxByuR,EAAO,GAAK,CAAC,CAAEn4Q,KAAM,EAAGkgB,KAAMo0P,GAAe5qR,KAC7CyuR,EAAO,GAAK,CAAC,CAAEn4Q,KAAM,EAAGkgB,KAAMo0P,GAAe,KAC7C6D,EAAO,GAAK,CAAC,CAAEn4Q,KAAM,EAAGkgB,KAAM6zP,GAAMvhL,KACpC0lL,EAAQ,GAAGvpR,KAAK,CAAEqR,KAAM,EAAGkgB,KAAMy0P,GAAcwD,IACjD,IAEFL,EAAQjD,SAAS,GAAG30P,KAAOy0P,GAAcuD,GACzC,IACIE,EAAQ/C,GADHP,GAAekD,IAExBD,EAAO/zQ,QAAUo0Q,EACjBL,EAAO5/P,KAAO4/P,EAAO/zQ,QAAQpa,MAC9B,CAzBD,GA0BA,IAAI+5E,EAAO8wM,GAAc+C,EAAM,GAAG,GAAGt3P,MAE/BngB,EAAI4jE,EAAK,GAAG,UACTA,EAAK,GACZ,IAAIkpH,EAAK4nF,GAAc10Q,EAAEmgB,MAEnBm4P,EAAUvC,GAAoBjpF,EAAG,GAAG,GAAG3sK,OAC3C,WAIE,IAHA,IAEIo4P,EAFAC,EAASj2C,GAAIrwI,KAAKg1I,EAAK0vC,EAAW0B,GAAS1sJ,UAC3C6sJ,EAAK5D,GAAeQ,GAAoBmD,EAAOv0Q,UAE1Ci0Q,EAAM,EAAGA,EAAMO,EAAG5uR,SAAUquR,EAAK,CACxC,IAAIrB,EAAU4B,EAAGP,GACbrB,EAAQ3+Q,IAAMogR,IAChBC,EAAW1B,EACf,CACA,IAAI6B,EAAWhE,GAAc6D,EAASzD,SAAS,GAAG30P,aAEzCu4P,EAAS,UACT90M,EAAK,GACZ,IAAI+0M,EAAU,IAAIxlL,WAAWulL,EAAS,GAAG,GAAGv4P,MAC5Cu4P,EAAS,GAAK,GAEd,IADA,IAAI1xC,EAAM,EACD4xC,EAAK,EAAGA,GAAMhmP,EAAMriC,EAAEyD,IAAK4kR,EAAI,CACtC,IAAIC,EAAUnE,GAAciE,GAC5B3xC,GAAOgvC,GAAe6C,EAAS14P,EAAKy4P,GAAKx4B,GACzCy4B,EAAQ,GAAG,GAAG14P,KAAOo0P,GAAeqE,GACpCF,EAAS,GAAG9pR,KAAK,CAAEuxB,KAAMy0P,GAAciE,GAAU54Q,KAAM,GACzD,CACAy4Q,EAAS,GAAK,CAAC,CAAEz4Q,KAAM,EAAGkgB,KAAMo0P,GAAe3hP,EAAMriC,EAAEijB,EAAI,KAC3DklQ,EAAS,GAAK,CAAC,CAAEz4Q,KAAM,EAAGkgB,KAAMo0P,GAAe3hP,EAAMriC,EAAEyD,EAAI,KAC3D0kR,EAAS,GAAK,CAAC,CAAEz4Q,KAAM,EAAGkgB,KAAMo0P,GAAevtC,KAC/C0xC,EAAS,GAAK,CAAC,CAAEz4Q,KAAM,EAAGkgB,KAAMo0P,GAAe3hP,EAAMriC,EAAEyD,EAAI,KAE7DukR,EAASzD,SAAS,GAAG30P,KAAOy0P,GAAc8D,GAC1C,IACIL,EAAQ/C,GADHP,GAAe0D,IAExBD,EAAOv0Q,QAAUo0Q,EACjBG,EAAOpgQ,KAAOogQ,EAAOv0Q,QAAQpa,MAC9B,CAhCD,GAkCFmW,EAAEmgB,KAAOy0P,GAAc9nF,GAEzB2qF,EAAM,GAAG,GAAGt3P,KAAOy0P,GAAchxM,GAEnCo1F,EAAG,GAAG,GAAG74I,KAAOy0P,GAAc6C,GAEhCP,EAAQpC,SAAS,GAAG30P,KAAOy0P,GAAc57G,GACzC,IACI8/G,EAAOxD,GADHP,GAAe13Q,IAIvB,OAFAkmH,EAAMt/G,QAAU60Q,EAChBv1J,EAAMnrG,KAAOmrG,EAAMt/G,QAAQpa,OACpBq9O,CACT,CAoVuC6xC,CAAkBt/G,EAAIzhI,GACxC,QAAjBA,EAAKmnN,SAQT,SAAyB1lF,EAAiBzhI,GACzCkhO,GAAW,KACRz/F,IAAOA,EAAG67F,MACZ77F,EAAG67F,IAAMliB,GAAIlY,KAEXzhE,GAAMA,EAAG67F,MACXl0B,KAAYF,GAAeznE,EAAG67F,KAE9Bt9N,EAAK6pO,OAASvvB,GAAU74E,EAAG67F,KAAMt9N,EAAK6pO,OAAOpoG,EAAG67F,IAAI,QAAU,EAC9Dt9N,EAAK8pO,IAAMroG,EAAG67F,KAEft9N,EAAKopN,KAAO,CAAC,EAAGppN,EAAKghP,OAAS,CAAC,EAC/BhhP,EAAKsqO,QAAkB,GAAqBtqO,EAAKsqO,QAAQ3O,MAAQ,EAAG37N,EAAKsqO,QAAQzO,OAAS,EACvFwN,GAAiBrpO,EAAKuqO,WAAa,IAAIv0L,KACnCh2C,EAAKuqO,WAAa,CAAC,EAAGvqO,EAAKuqO,WAAW0W,IAAM,UAAWjhP,EAAKuqO,WAAW0W,KAC9E,IAAIC,EAAyB,QAAjBlhP,EAAKmnN,SAAqB,MAAQ,MAC1Cg6B,EAASve,GAAQlmQ,QAAQsjC,EAAKmnN,WAAa,EAC3CznM,EA92jBI,CACP0mM,UAAU,GAAI/D,OAAO,GAAIuE,OAAO,GAAInuO,QAAQ,GAAIouO,OAAO,GACvDuC,KAAK,GAAI1C,KAAK,GAAIC,SAAS,GAAIy6B,iBAAiB,GAAIC,MAAM,GAC1DC,UAAU,GAAIC,SAAS,GAAIC,UAAU,GAAIC,OAAO,GAAI/+M,OAAO,GAC3Dg/M,WAAW,GAAI3N,IAAK,GAAI4N,SAAU,GAAI76B,SAAU,GAAImb,OAAO,GAC3D2f,KAAK,GAAIpkN,MAAO,IA02jBjB27M,GAAen5O,EAAOA,GAAQ,CAAC,GAC/B,IAAI07M,EAAMI,KACN5/N,EAAI,GAAIqtO,EAAM,EAElBvpN,EAAK09N,QAAU,GACfkM,GAAe5pO,EAAK09N,QAAS,CAAC,EAAG,CAACmM,OAAO,CAAC,QAAU,KAEhDpoG,EAAGwoF,QAAOxoF,EAAGwoF,MAAQ,CAAC,GAS1B,GAPA/tO,EAAI,oBACJu/N,GAAaC,EAAKx/N,EAAG8tO,GAAiBvoF,EAAGwoF,MAAOjqN,IAChD0f,EAAG4hO,UAAU1qR,KAAKslB,GAClBotO,GAAStpN,EAAKopN,KAAM,EAAGltO,EAAGorO,GAAKW,YAG/B/rO,EAAI,mBACDulJ,EAAGwoF,OAASxoF,EAAGwoF,MAAM3H,iBACnB,GAAI7gF,EAAGqpG,UAAarpG,EAAGqpG,SAASvoB,OAChC,CAEJ,IADA,IAAIs/B,EAAM,GACFxsL,EAAK,EAAGA,EAAKosE,EAAG6gF,WAAWzwP,SAAUwjG,EACF,IAAtCosE,EAAGqpG,SAASvoB,OAAOltJ,IAAK,CAAC,GAAGw7K,QAAagR,EAAIjrR,KAAK6qK,EAAG6gF,WAAWjtJ,IACrEosE,EAAGwoF,MAAM3H,WAAau/B,CACvB,MAN6CpgH,EAAGwoF,MAAM3H,WAAa7gF,EAAG6gF,WAOtE7gF,EAAGwoF,MAAMO,WAAa/oF,EAAGwoF,MAAM3H,WAAWzwP,OAC1C4pP,GAAaC,EAAKx/N,EAAGouO,GAAgB7oF,EAAGwoF,QACxCvqM,EAAG6hO,SAAS3qR,KAAKslB,GACjBotO,GAAStpN,EAAKopN,KAAM,EAAGltO,EAAGorO,GAAKY,WAE5BzmF,EAAGuwG,YAAcvwG,EAAGwoF,OAAS3rP,GAAKmjK,EAAGuwG,WAAW,CAAC,GAAGngR,OAAS,IAE/D4pP,GAAaC,EADbx/N,EAAI,sBACiBwuO,GAAiBjpF,EAAGuwG,YACzCtyN,EAAG8hO,UAAU5qR,KAAKslB,GAClBotO,GAAStpN,EAAKopN,KAAM,EAAGltO,EAAGorO,GAAKa,aAGhC,IAAIoB,EAAI,EAAEA,GAAO9nF,EAAG6gF,WAAWzwP,SAAU03P,EAAK,CAC7C,IAAIu4B,EAAS,CAAC,MAAM,CAAC,GACjBhqI,EAAK2pB,EAAG8gF,OAAO9gF,EAAG6gF,WAAWiH,EAAI,KACxBzxG,GAAM,CAAC,GAAG,SAWvB,GALC2jG,GAAaC,EADbx/N,EAAI,sBAAwBqtO,EAAM,IAAM23B,EACnBtP,GAASroB,EAAI,EAAGrtO,EAAG8jB,EAAMyhI,EAAIqgH,IAClDpiO,EAAG2iM,OAAOzrP,KAAKslB,GACfotO,GAAStpN,EAAKghP,QAAS,EAAG,mBAAqBz3B,EAAM,IAAM23B,EAAO55B,GAAKoB,GAAG,IAGxE5wG,EAAI,CACN,IAAI6uG,EAAW7uG,EAAG,aACdiqI,GAAW,EACX5mG,EAAK,GACNwrE,GAAYA,EAAS90P,OAAS,IAEhC4pP,GAAaC,EADbvgE,EAAK,cAAgBouE,EAAM,IAAM23B,EACXrP,GAAWlrB,EAAUxrE,EAAIn7I,IAC/C0f,EAAGinM,SAAS/vP,KAAKukL,GACjBmuE,GAASw4B,GAAS,EAAG,cAAgBv4B,EAAM,IAAM23B,EAAO55B,GAAKU,MAC7D+5B,GAAW,GAETjqI,EAAG,YACFiqI,GAAUtmC,GAAaC,EAAK,yBAA4B6N,EAAO,OAAQ4X,GAAmB5X,EAAKzxG,EAAG,sBAE/FA,EAAG,oBACHA,EAAG,UACX,CAEGgqI,EAAO,OAAOE,MAAMvmC,GAAaC,EAAKwN,GAAchtO,GAAIitO,GAAW24B,GACvE,CAEmB,MAAhB9hP,EAAKsqO,SAAmBtqO,EAAKsqO,QAAQz4Q,OAAS,IAEhD4pP,GAAaC,EADbx/N,EAAI,oBAAsBglQ,EArsM5B,SAAmB/4P,EAAc9zB,EAAiB2rC,GACjD,OAAyB,SAAjB3rC,EAAKge,OAAO,GAAc2pP,GAAgBR,IAAerzO,EAAM6X,EACxE,CAosMuBiiP,CAAUjiP,EAAKsqO,QAASpuP,EAAG8jB,IAChD0f,EAAGgnM,KAAK9vP,KAAKslB,GACbotO,GAAStpN,EAAKghP,QAAS,EAAG,iBAAmBE,EAAO55B,GAAKc,MAG1DlsO,EAAI,eAAiBglQ,EACrBzlC,GAAaC,EAAKx/N,EA7tMnB,SAAkBulJ,EAAIptK,EAAiB2rC,GACtC,OAAyB,SAAjB3rC,EAAKge,OAAO,GAAck/P,GAAed,IAAchvG,EAAIzhI,EACpE,CA2tMsBkiP,CAASzgH,EAAIvlJ,EAAG8jB,IACrC0f,EAAG0mM,UAAUxvP,KAAKslB,GAClBotO,GAAStpN,EAAKopN,KAAM,EAAGltO,EAAGorO,GAAKC,IAI/BrrO,EAAI,sBACJu/N,GAAaC,EAAKx/N,EAAGqkP,GAAY9+F,EAAG++F,OAAQxgO,IAC5C0f,EAAG+hO,OAAO7qR,KAAKslB,GACfotO,GAAStpN,EAAKghP,QAAS,EAAG,mBAAoB15B,GAAKgB,OAInDpsO,EAAI,aAAeglQ,EACnBzlC,GAAaC,EAAKx/N,EA9tMnB,SAAmBiM,EAAM9zB,EAAiB2rC,GACzC,OAAyB,SAAjB3rC,EAAKge,OAAO,GAAcwtP,GAAgBxC,IAAel1O,EAAM6X,EACxE,CA4tMsBmiP,CAAU1gH,EAAIvlJ,EAAG8jB,IACtC0f,EAAGgjB,OAAO9rE,KAAKslB,GACfotO,GAAStpN,EAAKghP,QAAS,EAAG,UAAYE,EAAO55B,GAAKe,KAE/C5mF,EAAGmpG,QAAUuW,IAEf1lC,GAAaC,EADbx/N,EAAI,oBACiBulJ,EAAGmpG,QACxBlrN,EAAGq0N,IAAIn9Q,KAAKslB,GACZotO,GAAStpN,EAAKghP,QAAS,EAAG,iBAAkB15B,GAAK2B,MAalD,OAVA/sO,EAAI,eAAiBglQ,EACrBzlC,GAAaC,EAAKx/N,EAztMnB,SAAsB7nB,GACrB,OAAyB,SAAjBA,EAAKge,OAAO,GAAcquP,GAAmBO,KACtD,CAutMsBmhB,CAAalmQ,IAClCwjC,EAAGonM,SAASlwP,KAAKslB,GACjBotO,GAAStpN,EAAKghP,QAAS,EAAG,YAAcE,EAAO55B,GAAKwB,QAEpDrN,GAAaC,EAAK,sBAAuBqL,GAASrnM,EAAI1f,IACtDy7M,GAAaC,EAAK,cAAeyN,GAAWnpN,EAAKopN,OACjD3N,GAAaC,EAAK,qBAAuBwlC,EAAQ,QAAS/3B,GAAWnpN,EAAKghP,gBAEnEhhP,EAAK6pO,cAAe7pO,EAAK8pO,IACzBpuB,CACR,CA7IoC2mC,CAAgB5gH,EAAIzhI,GAChDsiP,GAAe7gH,EAAIzhI,EAC3B,CA6IA,SAASsiP,GAAe7gH,EAAiBzhI,GACxCkhO,GAAW,KACRz/F,IAAOA,EAAG67F,MACZ77F,EAAG67F,IAAMliB,GAAIlY,KAEXzhE,GAAMA,EAAG67F,MACXl0B,KAAYF,GAAeznE,EAAG67F,KAE9Bt9N,EAAK6pO,OAASvvB,GAAU74E,EAAG67F,KAAMt9N,EAAK6pO,OAAOpoG,EAAG67F,IAAI,QAAU,EAC9Dt9N,EAAK8pO,IAAMroG,EAAG67F,KAEft9N,EAAKopN,KAAO,CAAC,EAAGppN,EAAKghP,OAAS,CAAC,EAC/BhhP,EAAKsqO,QAAkB,GAAqBtqO,EAAKsqO,QAAQ3O,MAAQ,EAAG37N,EAAKsqO,QAAQzO,OAAS,EACvFwN,GAAiBrpO,EAAKuqO,WAAa,IAAIv0L,KACnCh2C,EAAKuqO,WAAa,CAAC,EAAGvqO,EAAKuqO,WAAW0W,IAAM,UAAWjhP,EAAKuqO,WAAW0W,KAC9E,IAAIC,EAAQ,MACRC,EAASve,GAAQlmQ,QAAQsjC,EAAKmnN,WAAa,EAC3CznM,EAr/jBI,CACP0mM,UAAU,GAAI/D,OAAO,GAAIuE,OAAO,GAAInuO,QAAQ,GAAIouO,OAAO,GACvDuC,KAAK,GAAI1C,KAAK,GAAIC,SAAS,GAAIy6B,iBAAiB,GAAIC,MAAM,GAC1DC,UAAU,GAAIC,SAAS,GAAIC,UAAU,GAAIC,OAAO,GAAI/+M,OAAO,GAC3Dg/M,WAAW,GAAI3N,IAAK,GAAI4N,SAAU,GAAI76B,SAAU,GAAImb,OAAO,GAC3D2f,KAAK,GAAIpkN,MAAO,IAi/jBjB27M,GAAen5O,EAAOA,GAAQ,CAAC,GAC/B,IAAI07M,EAAMI,KACN5/N,EAAI,GAAIqtO,EAAM,EAclB,GAZAvpN,EAAK09N,QAAU,GACfkM,GAAe5pO,EAAK09N,QAAS,CAAC,EAAG,CAACmM,OAAO,CAAC,QAAU,KAEhDpoG,EAAGwoF,QAAOxoF,EAAGwoF,MAAQ,CAAC,GAG1BxO,GAAaC,EADbx/N,EAAI,oBACiB8tO,GAAiBvoF,EAAGwoF,MAAOjqN,IAChD0f,EAAG4hO,UAAU1qR,KAAKslB,GAClBotO,GAAStpN,EAAKopN,KAAM,EAAGltO,EAAGorO,GAAKW,YAG/B/rO,EAAI,mBACDulJ,EAAGwoF,OAASxoF,EAAGwoF,MAAM3H,iBACnB,GAAI7gF,EAAGqpG,UAAarpG,EAAGqpG,SAASvoB,OAChC,CAEJ,IADA,IAAIs/B,EAAM,GACFxsL,EAAK,EAAGA,EAAKosE,EAAG6gF,WAAWzwP,SAAUwjG,EACF,IAAtCosE,EAAGqpG,SAASvoB,OAAOltJ,IAAK,CAAC,GAAGw7K,QAAagR,EAAIjrR,KAAK6qK,EAAG6gF,WAAWjtJ,IACrEosE,EAAGwoF,MAAM3H,WAAau/B,CACvB,MAN6CpgH,EAAGwoF,MAAM3H,WAAa7gF,EAAG6gF,WAOtE7gF,EAAGwoF,MAAMO,WAAa/oF,EAAGwoF,MAAM3H,WAAWzwP,OAC1C4pP,GAAaC,EAAKx/N,EAAGouO,GAAgB7oF,EAAGwoF,QACxCvqM,EAAG6hO,SAAS3qR,KAAKslB,GACjBotO,GAAStpN,EAAKopN,KAAM,EAAGltO,EAAGorO,GAAKY,WAE5BzmF,EAAGuwG,YAAcvwG,EAAGwoF,OAAS3rP,GAAKmjK,EAAGuwG,WAAW,CAAC,GAAGngR,OAAS,IAE/D4pP,GAAaC,EADbx/N,EAAI,sBACiBwuO,GAAiBjpF,EAAGuwG,YACzCtyN,EAAG8hO,UAAU5qR,KAAKslB,GAClBotO,GAAStpN,EAAKopN,KAAM,EAAGltO,EAAGorO,GAAKa,aAGhC,IAAI8Z,EAAS,CAAC,WAGd,IAFAjiO,EAAKqiO,KAAO,EAER9Y,EAAI,EAAEA,GAAO9nF,EAAG6gF,WAAWzwP,SAAU03P,EAAK,CAC7C,IAAIu4B,EAAS,CAAC,MAAM,CAAC,GACjBhqI,EAAK2pB,EAAG8gF,OAAO9gF,EAAG6gF,WAAWiH,EAAI,KACxBzxG,GAAM,CAAC,GAAG,SAWvB,GALC2jG,GAAaC,EADbx/N,EAAI,sBAAwBqtO,EAAM,IAAM23B,EACnB1W,GAAajhB,EAAI,EAAGvpN,EAAMyhI,EAAIqgH,IACnDpiO,EAAG2iM,OAAOzrP,KAAKslB,GACfotO,GAAStpN,EAAKghP,QAAS,EAAG,mBAAqBz3B,EAAM,IAAM23B,EAAO55B,GAAKoB,GAAG,IAGxE5wG,EAAI,CACN,IAAI6uG,EAAW7uG,EAAG,aACdiqI,GAAW,EACX5mG,EAAK,GACT,GAAGwrE,GAAYA,EAAS90P,OAAS,EAAG,CACnC,IAAI0wR,GAAS,EACb57B,EAAS9uP,SAAQ,SAASqqQ,GACzBA,EAAK,GAAGrqQ,SAAQ,SAAS2jB,GAAe,GAAPA,EAAE8I,IAAWi+P,GAAS,EAAM,GAC9D,IACGA,IAEF9mC,GAAaC,EADbvgE,EAAK,sCAAwCouE,EAAM,IAAM23B,EACnClf,GAAgBrb,EAAUsb,EAAQjiO,IACxD0f,EAAG0hO,iBAAiBxqR,KAAKukL,GACzBmuE,GAASw4B,GAAS,EAAG,sCAAwCv4B,EAAM,IAAM23B,EAAO55B,GAAKyB,QAItFtN,GAAaC,EADbvgE,EAAK,cAAgBouE,EAAM,IAAM23B,EACXrf,GAAmBlb,IACzCjnM,EAAGinM,SAAS/vP,KAAKukL,GACjBmuE,GAASw4B,GAAS,EAAG,cAAgBv4B,EAAM,IAAM23B,EAAO55B,GAAKU,MAC7D+5B,GAAW,CACZ,CACGjqI,EAAG,YACFiqI,GAAUtmC,GAAaC,EAAK,yBAA4B6N,EAAO,OAAQ4X,GAAmB5X,EAAKzxG,EAAG,sBAE/FA,EAAG,oBACHA,EAAG,UACX,CAEGgqI,EAAO,OAAOE,MAAMvmC,GAAaC,EAAKwN,GAAchtO,GAAIitO,GAAW24B,GACvE,CAoDA,OAlDmB,MAAhB9hP,EAAKsqO,SAAmBtqO,EAAKsqO,QAAQz4Q,OAAS,IAEhD4pP,GAAaC,EADbx/N,EAAI,oBAAsBglQ,EACL1lB,GAAcx7N,EAAKsqO,QAAStqO,IACjD0f,EAAGgnM,KAAK9vP,KAAKslB,GACbotO,GAAStpN,EAAKghP,QAAS,EAAG,iBAAmBE,EAAO55B,GAAKc,MAI1D3M,GAAaC,EADbx/N,EAAI,eAAiBglQ,EACAzQ,GAAahvG,IAClC/hH,EAAG0mM,UAAUxvP,KAAKslB,GAClBotO,GAAStpN,EAAKopN,KAAM,EAAGltO,EAAGorO,GAAKC,IAK/B9L,GAAaC,EADbx/N,EAAI,sBACiBqkP,GAAY9+F,EAAG++F,OAAQxgO,IAC5C0f,EAAG+hO,OAAO7qR,KAAKslB,GACfotO,GAAStpN,EAAKghP,QAAS,EAAG,mBAAoB15B,GAAKgB,OAKnD7M,GAAaC,EADbx/N,EAAI,aAAeglQ,EACE7jB,GAAc57F,EAAIzhI,IACvC0f,EAAGgjB,OAAO9rE,KAAKslB,GACfotO,GAAStpN,EAAKghP,QAAS,EAAG,UAAYE,EAAO55B,GAAKe,KAE/C5mF,EAAGmpG,QAAUuW,IAEf1lC,GAAaC,EADbx/N,EAAI,oBACiBulJ,EAAGmpG,QACxBlrN,EAAGq0N,IAAIn9Q,KAAKslB,GACZotO,GAAStpN,EAAKghP,QAAS,EAAG,iBAAkB15B,GAAK2B,MAIlDxN,GAAaC,EADbx/N,EAAI,eAAiBglQ,EACAjgB,MACrBvhN,EAAGonM,SAASlwP,KAAKslB,GACjBotO,GAAStpN,EAAKghP,QAAS,EAAG,YAAcE,EAAO55B,GAAKwB,QAEjDmZ,EAAOpwQ,OAAS,IAElB4pP,GAAaC,EADbx/N,EAAI,wBA1gXN,SAA0B+lP,GACzB,IAAI5rP,EAAI,CAAC0lO,GAAYqB,GAAU,aAAc,KAAM,CAClD,MAASE,GACT,UAAWC,GAAW,KACpBzgP,QAAQ,QAAS,MAUpB,OATAmlQ,EAAOpqQ,SAAQ,SAAS2qR,EAAQrxQ,GAC/BkF,EAAEzf,KAAKwmP,GAAU,SAAU,KAAM,CAChClnP,YAAassR,EACbtiR,GAAI,6BAA+B,eAAiBiR,GAAKkB,OAAO,IAAM,IACtEk5M,OAAQi3D,EACRC,WAAY,SAEd,IACApsQ,EAAEzf,KAAK,iBACAyf,EAAEpT,KAAK,GACf,CA4/WuBy/Q,CAAiBzgB,IACtCviN,EAAGuiN,OAAOrrQ,KAAKslB,GACfotO,GAAStpN,EAAKghP,QAAS,EAAG,qBAAsB15B,GAAK0B,SAGtDvN,GAAaC,EAAK,sBAAuBqL,GAASrnM,EAAI1f,IACtDy7M,GAAaC,EAAK,cAAeyN,GAAWnpN,EAAKopN,OACjD3N,GAAaC,EAAK,6BAAwCyN,GAAWnpN,EAAKghP,gBAEnEhhP,EAAK6pO,cAAe7pO,EAAK8pO,IACzBpuB,CACR,CAEA,SAAS6c,GAAUr8O,EAAc7F,GAChC,IAAIhR,EAAI,GACR,QAAQgR,GAAG,CAAC,GAAGpO,MAAQ,UACtB,IAAK,SAGL,IAAK,QAAU,MAAO,CAACiU,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,GAAIA,EAAE,IAFnE,IAAK,SAAU7W,EAAIm8N,GAActlN,EAAE7J,MAAM,EAAE,KAAM,MACjD,IAAK,SAAUhN,EAAI6W,EAAG,MAEtB,QAAS,MAAM,IAAIhb,MAAM,sBAAwBmV,GAAKA,EAAEpO,MAAQ,cAEjE,MAAO,CAAC5C,EAAEs1F,WAAW,GAAIt1F,EAAEs1F,WAAW,GAAIt1F,EAAEs1F,WAAW,GAAIt1F,EAAEs1F,WAAW,GAAIt1F,EAAEs1F,WAAW,GAAIt1F,EAAEs1F,WAAW,GAAIt1F,EAAEs1F,WAAW,GAAIt1F,EAAEs1F,WAAW,GAC7I,CA4GA,SAASgoL,GAAczzC,EAAsB74N,GAC5C,OAAOA,EAAEpO,MACR,IAAK,SAAU,IAAK,SAAU,MAC9B,IAAK,SAAU,IAAK,QAASoO,EAAEpO,KAAO,GAAI,MAC1C,IAAK,OAAQ,OAAOsxO,GAASljO,EAAEk1N,KAAMhB,GAAI5/H,MAAMukI,EAAK,CAACjnO,KAAKw5N,GAAU,SAAW,MAC/E,IAAK,SAAU,MAAM,IAAIvgO,MAAM,qCAAuCmV,EAAE8wO,SAAW,WACnF,QAAS,MAAM,IAAIjmP,MAAM,qBAAuBmV,EAAEpO,MAEnD,OAAOsiO,GAAI5/H,MAAMukI,EAAK74N,EACvB,CAaA,SAASusQ,GAAqBj+P,EAAWtO,GACxC,IAAIwsQ,EAAQ,CAAC,EACTC,EAAQrhD,GAAU,aAAsC,qBAAftmI,WAA6B,QAAU,SAEpF,GADG9kF,EAAEo6N,cAAaoyC,EAAMpyC,YAAc,WACnCp6N,EAAE4gK,SAAU4rG,EAAM56Q,KAAO66Q,OACvB,OAAOzsQ,EAAEpO,MACb,IAAK,SAAU46Q,EAAM56Q,KAAO,SAAU,MACtC,IAAK,SAAU46Q,EAAM56Q,KAAO,SAAU,MACtC,IAAK,SAAU,MAAM,IAAI/G,MAAM,qCAAuCmV,EAAE8wO,SAAW,WACnF,IAAK,SACL,IAAK,OAAQ07B,EAAM56Q,KAAO66Q,EAAO,MACjC,QAAS,MAAM,IAAI5hR,MAAM,qBAAuBmV,EAAEpO,MAEnD,IAAI8nJ,EAAMprI,EAAEgnN,UAAYpB,GAAI5/H,MAAMhmF,EAAG,CAACmrN,SAAS,MAAO7nO,KAAa,CAAC,WAAc,SAAU,OAAU,UAAsB46Q,EAAM56Q,OAAS46Q,EAAM56Q,KAAMwoO,cAAep6N,EAAEo6N,cAAgB9rN,EAAEm0C,SAAS+pN,GACnM,GAAmB,qBAATrpC,MACQ,iBAAPzpF,EAAiB,CAC1B,GAAa,UAAV15I,EAAEpO,MAA8B,UAAVoO,EAAEpO,KAAkB,OAAO8nJ,EACpDA,EAAM,IAAI50D,WAAW+mI,GAAKnyE,GAC3B,CAGD,OAAG15I,EAAE4gK,UAAqC,qBAAlB8rG,cAAsCJ,GAAcI,cAAchzH,EAAK15I,EAAE4gK,UAAW5gK,GAE9F,SAAXA,EAAEpO,KAAwBsxO,GAASljO,EAAEk1N,KAAMx7E,GAC7B,UAAV15I,EAAEpO,KAAmB60O,GAAgB/sF,GAAmBA,CAChE,CAQA,SAASizH,GAAkBjzH,EAAgB/vH,EAAoBijP,GAC1DA,IAAKA,EAAM,IACf,IAAI5sQ,EAAI4sQ,EAAMlzH,EACd,OAAO/vH,EAAK/3B,MACX,IAAK,SAAU,OAAOq5N,GAAcmY,GAAUpjO,IAC9C,IAAK,SAAU,OAAOojO,GAAUpjO,GAChC,IAAK,SAAU,OAAO05I,EACtB,IAAK,OAAQ,OAAOwpF,GAASv5M,EAAKurM,KAAMl1N,EAAG,QAC3C,IAAK,SACJ,OAAGorN,GAAgBE,GAAYtrN,EAAG,QACH,qBAAhB+xJ,aAAoC,IAAIA,aAAcC,OAAOhyJ,GAChE2sQ,GAAkB3sQ,EAAG,CAACpO,KAAK,WAAW9C,MAAM,IAAI9E,KAAI,SAASmb,GAAK,OAAOA,EAAEm/E,WAAW,EAAI,IAGxG,MAAM,IAAIz5F,MAAM,qBAAuB8+B,EAAK/3B,KAC7C,CAiBA,SAASi7Q,GAAkBnzH,EAAK/vH,GAC/B,OAAOA,EAAK/3B,MACX,IAAK,SACL,IAAK,SACL,IAAK,SAGJ,IAFA,IAAIqiO,EAAO,GAEH34O,EAAI,EAAGA,EAAIo+J,EAAIl+J,SAAUF,EAAG24O,GAAQptN,OAAO89E,aAAa+0D,EAAIp+J,IACpE,MAAoB,UAAbquC,EAAK/3B,KAAmBq5N,GAAcgJ,GAAqB,UAAbtqM,EAAK/3B,KAAmB60O,GAASxS,GAAQA,EAC/F,IAAK,OAAQ,OAAOiP,GAASv5M,EAAKurM,KAAMx7E,GACxC,IAAK,SAAU,OAAOA,EACtB,QAAS,MAAM,IAAI7uJ,MAAM,qBAAuB8+B,EAAK/3B,MAEvD,CAWA,SAASk7Q,GAAU1hH,EAAiBzhI,GACnCghM,KACAqvC,GAAS5uG,GACT,IAAIprJ,EAAI+kO,GAAIp7M,GAAM,CAAC,GAEnB,GADG3pB,EAAE+4O,aAAc/4O,EAAE6hP,QAAS,EAAM7hP,EAAE4sO,YAAa,GACtC,SAAV5sO,EAAEpO,KAAiB,CAAEoO,EAAEpO,KAAO,SAAU,IAAI8nJ,EAAkBozH,GAAU1hH,EAAIprJ,GAA+B,OAAlBA,EAAEpO,KAAO,QAAgBi6N,GAAKnyE,EAAM,CAChI,IAAI5+I,EAAM,EACV,GAAGkF,EAAEq5E,QAC2Bv+E,EAAV,iBAAXkF,EAAEq5E,MAAyBr5E,EAAEq5E,MAC5B+xE,EAAG6gF,WAAW5lP,QAAQ2Z,EAAEq5E,QAC/B+xE,EAAG6gF,WAAWnxO,IAAM,MAAM,IAAIjQ,MAAM,oBAAsBmV,EAAEq5E,MAAQ,aAAgBr5E,EAAEq5E,OAE3F,OAAOr5E,EAAE8wO,UAAY,QACpB,IAAK,MACL,IAAK,OAAQ,OAAO67B,GAAkBhQ,GAAWvxG,EAAIprJ,GAAIA,GACzD,IAAK,MACL,IAAK,OAAQ,OAAO2sQ,GAAkB1xB,GAAKV,WAAWnvF,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,GACzF,IAAK,MACL,IAAK,OAAQ,OAAO2sQ,GAAkBpJ,GAAcn4G,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,GACvF,IAAK,MAAO,OA1Dd,SAAyB05I,EAAgB/vH,GACxC,OAAOA,EAAK/3B,MACX,IAAK,SAAU,OAAOq5N,GAAcvxE,GACpC,IAAK,SACL,IAAK,SAAU,OAAOA,EACtB,IAAK,OAAQ,OAAOwpF,GAASv5M,EAAKurM,KAAMx7E,EAAK,UAC7C,IAAK,SACJ,OAAG0xE,GAAgBE,GAAY5xE,EAAK,UACxBA,EAAI5qJ,MAAM,IAAI9E,KAAI,SAASmb,GAAK,OAAOA,EAAEm/E,WAAW,EAAI,IAGtE,MAAM,IAAIz5F,MAAM,qBAAuB8+B,EAAK/3B,KAC7C,CA8CqBm7Q,CAAgBC,GAAa5hH,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,GACnF,IAAK,MAAO,OAAO2sQ,GAAkBM,GAAa7hH,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,EAAG,UACxF,IAAK,MAAO,OAAO2sQ,GAAkB5sB,GAAIxF,WAAWnvF,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,GACvF,IAAK,MAAO,OAAO6sQ,GAAkBzzB,GAAImB,WAAWnvF,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,GACvF,IAAK,MAAO,OAAO2sQ,GAAkB/rB,GAAIrG,WAAWnvF,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,GACvF,IAAK,MAAO,OAAO2sQ,GAAkBxmB,GAAI5L,WAAWnvF,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,GACvF,IAAK,MAAO,OAAO2sQ,GAAkBpsB,GAAIhG,WAAWnvF,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,GACvF,IAAK,OAAQ,OAAO2sQ,GAAkBzH,GAAU95G,EAAIprJ,GAAIA,GACxD,IAAK,MAAO,OAAO6sQ,GAAkB1qB,GAAIuC,aAAat5F,EAAG8gF,OAAO9gF,EAAG6gF,WAAWnxO,IAAOkF,GAAIA,GACzF,IAAK,MAAO,OAAO6sQ,GAAkB1qB,GAAI4C,YAAY35F,EAAIprJ,GAAIA,GAC7D,IAAK,QAAaA,EAAE0qO,OAAM1qO,EAAE0qO,KAAO,GACnC,IAAK,QAAa1qO,EAAE0qO,OAAM1qO,EAAE0qO,KAAO,GACnC,IAAK,QAAiC,OAApB1qO,EAAE0qO,OAAM1qO,EAAE0qO,KAAO,GAAUmiC,GAAkB5P,GAAe7xG,EAAIprJ,GAAIA,GACtF,IAAK,QAAaA,EAAE0qO,OAAM1qO,EAAE0qO,KAAO,GACnC,IAAK,QACL,IAAK,MACL,IAAK,MAA+B,OAApB1qO,EAAE0qO,OAAM1qO,EAAE0qO,KAAO,GAjGnC,SAAwBt/E,EAAiBzhI,GACxC,IAAI3pB,EAAI2pB,GAAM,CAAC,EAEf,OAAO2iP,GADoBvP,GAAa3xG,EAAIprJ,GAClBA,EAC3B,CA6F6CktQ,CAAe9hH,EAAIprJ,GAC9D,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,UACL,IAAK,MAAO,OA5Id,SAAwBorJ,EAAiBzhI,GACxC,IAAI3pB,EAAI+kO,GAAIp7M,GAAM,CAAC,GAEnB,OAAO4iP,GADC5xC,GAAUvvE,EAAIprJ,GACSA,EAChC,CAwIqBmtQ,CAAe/hH,EAAIprJ,GACtC,QAAS,MAAM,IAAInV,MAAO,0BAA4BmV,EAAE8wO,SAAW,KAErE,CAEA,SAASs8B,GAAkBptQ,GAC1B,IAAGA,EAAE8wO,SAAL,CACA,IAOIxP,EAAMthO,EAAEk1N,KAAKl5N,MAAMgE,EAAEk1N,KAAK9D,YAAY,MAAMxpO,cAC7C05O,EAAIzhO,MAAM,gBAAeG,EAAE8wO,SAAWxP,EAAItlO,MAAM,IACnDgE,EAAE8wO,SATQ,CACT,IAAO,QACP,IAAO,OACP,IAAO,OACP,WAAc,MACd,QAAW,OAIK9wO,EAAE8wO,WAAa9wO,EAAE8wO,QAVb,CAWtB,CAEA,SAAS3O,GAAc/2E,EAAiBnvI,EAAqB0N,GAC5D,IAAI3pB,EAAI2pB,GAAM,CAAC,EAGf,OAHkB3pB,EAAEpO,KAAO,OAC3BoO,EAAEk1N,KAAOj5M,EACTmxP,GAAkBptQ,GACX8sQ,GAAU1hH,EAAIprJ,EACtB,CAwBA,SAASqtQ,GAAch0L,EAAqB1zF,EAAawsC,EAAc+J,EAAwBvmC,EAAmBogP,EAAoB1J,EAAmBrsO,GACxJ,IAAIuwN,EAAKya,GAAW74M,GAChBm7O,EAASttQ,EAAEstQ,OAAQjsD,EAAMrhN,EAAEqhN,MAAQlmO,OAAOQ,UAAUC,eAAeC,KAAKmkB,EAAG,OAC3EutQ,GAAU,EACVjsP,EAA0B,IAAX3rB,EAAgB,GAAK,CAAC,EACzC,GAAc,IAAXA,EACF,GAAGxa,OAAO+V,eAAgB,IAAM/V,OAAO+V,eAAeowB,EAAK,aAAc,CAACniC,MAAMgzC,EAAG/yC,YAAW,GAA0C,CAA/B,MAAM8C,GAAKo/B,EAAIksP,WAAar7O,CAAG,MACnI7Q,EAAIksP,WAAar7O,EAEvB,IAAIk6M,GAAShzJ,EAAMlnD,GAAI,IAAK,IAAIrkB,EAAInoB,EAAEqf,EAAEG,EAAG2I,GAAKnoB,EAAEzD,EAAEijB,IAAK2I,EAAG,CAC3D,IAAI0/B,EAAM6+L,EAAQhzJ,EAAMlnD,GAAGrkB,GAAKurE,EAAMn9C,EAAKpuB,GAAKyiN,GAChD,QAAW9lO,IAAR+iD,QAA+B/iD,IAAV+iD,EAAI77C,EAA5B,CAKA,IAAIgY,EAAI6jC,EAAI7jC,EACZ,OAAO6jC,EAAI77C,GACV,IAAK,IAAK,GAAQ,MAALgY,EAAW,MAAO,SAC/B,IAAK,IAAKA,EAAU,GAALA,EAAS,UAAO,EAAS,MACxC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MACxC,QAAS,MAAM,IAAI9e,MAAM,qBAAuB2iD,EAAI77C,GAErD,GAAa,MAAVokP,EAAIjoO,GAAY,CAClB,GAAQ,MAALnE,EACF,GAAY,KAAT6jC,EAAI77C,GAAkB,OAANgY,EAAY2X,EAAIy0N,EAAIjoO,IAAM,UACxC,QAAcrjB,IAAX6iR,EAAsBhsP,EAAIy0N,EAAIjoO,IAAMw/P,MACvC,KAAGjsD,GAAa,OAAN13M,EACV,SADsB2X,EAAIy0N,EAAIjoO,IAAM,IAC5B,MAEbwT,EAAIy0N,EAAIjoO,IAAMuzM,IAAkB,MAAV7zK,EAAI77C,GAAwB,MAAV67C,EAAI77C,IAA8B,IAAjBqO,EAAEytQ,YAAyB9jQ,EAAIkiO,GAAYr+L,EAAI7jC,EAAE3J,GAEnG,MAAL2J,IAAW4jQ,GAAU,EACzB,CAlBA,KAJA,CACC,QAAc9iR,IAAX6iR,EAAsB,SACZ,MAAVv3B,EAAIjoO,KAAcwT,EAAIy0N,EAAIjoO,IAAMw/P,EAEpC,CAmBD,CACA,MAAO,CAAEhsP,IAAKA,EAAKisP,QAASA,EAC7B,CAGA,SAAS9yB,GAAcphK,EAAqB1vD,GAC3C,GAAY,MAAT0vD,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAI7rC,EAAM,CAAC77C,EAAE,IAAIgY,EAAE,GAAIhU,EAAS,EAAG0V,EAAS,EAAG0qO,EAAqB,GAAIpsO,EAAE,EAAG4oN,EAAG,GAC5E5sO,EAAI,CAACqf,EAAE,CAACrf,EAAE,EAAEwf,EAAE,GAAGjjB,EAAE,CAACyD,EAAE,EAAEwf,EAAE,IAC1BnF,EAAI2pB,GAAQ,CAAC,EACbpF,EAAmB,MAAXvkB,EAAEukB,MAAgBvkB,EAAEukB,MAAQ80D,EAAM,QAK9C,OAJgB,IAAbr5E,EAAErK,OAAcA,EAAS,EACP,MAAbqK,EAAErK,OAAgBA,EAAS,EAC3BlY,MAAMwS,QAAQ+P,EAAErK,QAASA,EAAS,EACtB,MAAZqK,EAAErK,SAAgBA,EAAS,UACrB4uB,GACb,IAAK,SAAU5+B,EAAI8lP,GAAkBlnN,GAAQ,MAC7C,IAAK,UAAU5+B,EAAI8lP,GAAkBpyJ,EAAM,UAAYr0E,EAAErf,EAAI4+B,EAAO,MACpE,QAAS5+B,EAAI4+B,EAEX5uB,EAAS,IAAG0V,EAAS,GACxB,IAAIklN,EAAKya,GAAWrlP,EAAEqf,EAAErf,GACpBu2C,EAAyB,GACzBw9G,EAAqB,GACrBg0H,EAAO,EAAGpkK,EAAU,EACpB+iI,EAAQ5uP,MAAMwS,QAAQopF,GACtBlnD,EAAIxsC,EAAEqf,EAAErf,EAAGmoB,EAAI,EACf6/P,EAAa,CAAC,EACfthC,IAAUhzJ,EAAMlnD,KAAIknD,EAAMlnD,GAAK,IAClC,IAAI2rN,EAA6B99O,EAAE4tQ,YAAcv0L,EAAM,UAAY,GAC/DwkK,EAA6B79O,EAAE4tQ,YAAcv0L,EAAM,UAAY,GACnE,IAAIvrE,EAAInoB,EAAEqf,EAAEG,EAAG2I,GAAKnoB,EAAEzD,EAAEijB,IAAK2I,EAC5B,KAAKgwO,EAAQhwO,IAAI,CAAC,GAAGrgB,OAGrB,OAFAyuC,EAAKpuB,GAAKm9N,GAAWn9N,GACrB0/B,EAAM6+L,EAAQhzJ,EAAMlnD,GAAGrkB,GAAKurE,EAAMn9C,EAAKpuB,GAAKyiN,GACrC56N,GACN,KAAK,EAAGogP,EAAIjoO,GAAKA,EAAInoB,EAAEqf,EAAEG,EAAG,MAC5B,KAAK,EAAG4wO,EAAIjoO,GAAKouB,EAAKpuB,GAAI,MAC1B,KAAK,EAAGioO,EAAIjoO,GAAK9N,EAAErK,OAAOmY,EAAInoB,EAAEqf,EAAEG,GAAI,MACtC,QAIC,GAHU,MAAPqoC,IAAaA,EAAM,CAAC/tC,EAAG,UAAW9N,EAAG,MACxC4gO,EAAK5oN,EAAIkiO,GAAYr+L,EAAK,KAAMxtC,GAChCspG,EAAUqkK,EAAWhkQ,IAAM,EAEtB,CACJ,GAAK4oN,EAAK5oN,EAAI,IAAO2/F,UAAoBqkK,EAAWp7C,IAAMo7C,EAAWhkQ,GAAK2/F,EAC1EqkK,EAAWp7C,GAAM,CAClB,MAJao7C,EAAWhkQ,GAAK,EAK7BosO,EAAIjoO,GAAKykN,EAGZ,IAAKpgM,EAAIxsC,EAAEqf,EAAErf,EAAI0lB,EAAQ8mB,GAAKxsC,EAAEzD,EAAEyD,IAAKwsC,EACtC,KAAK0rN,EAAQ1rN,IAAI,CAAC,GAAG1kC,OAArB,CACA,IAAI6zB,EAAM+rP,GAAch0L,EAAO1zF,EAAGwsC,EAAG+J,EAAMvmC,EAAQogP,EAAK1J,EAAOrsO,KAC3C,IAAhBshB,EAAIisP,UAAkC,IAAX53Q,GAA+B,IAAhBqK,EAAE6tQ,UAAwB7tQ,EAAE6tQ,cAAYn0H,EAAIg0H,KAAUpsP,EAAIA,IAFnE,CAKtC,OADAo4H,EAAIl+J,OAASkyR,EACNh0H,CACR,CAEA,IAAIo0H,GAAO,KACX,SAASC,GAAa10L,EAAqB1zF,EAAawsC,EAAc+J,EAAwBi4L,EAAe65C,EAAe7sB,EAAenhP,GAG1I,IAFA,IAAIutQ,GAAU,EACVjsP,EAAwB,GAAI2sP,EAAM,GAAI19C,EAAKya,GAAW74M,GAClDrkB,EAAInoB,EAAEqf,EAAEG,EAAG2I,GAAKnoB,EAAEzD,EAAEijB,IAAK2I,EAChC,GAAKouB,EAAKpuB,GAAV,CACA,IAAI0/B,EAAMxtC,EAAEqsO,OAAShzJ,EAAMlnD,IAAI,IAAIrkB,GAAIurE,EAAMn9C,EAAKpuB,GAAKyiN,GACvD,GAAU,MAAP/iL,EAAaygO,EAAM,QACjB,GAAY,MAATzgO,EAAI7jC,EAAW,CACtB4jQ,GAAU,EACVU,EAAM,IAAIjuQ,EAAEytQ,YAAuB,KAATjgO,EAAI77C,EAAW67C,EAAI7jC,EAAIkiO,GAAYr+L,EAAK,KAAMxtC,IACxE,IAAI,IAAI1kB,EAAI,EAAGq3K,EAAK,EAAGr3K,IAAM2yR,EAAIzyR,SAAUF,EAAG,IAAIq3K,EAAKs7G,EAAI3pL,WAAWhpG,MAAQ64O,GAAMxhE,IAAOq7G,GAAa,KAAPr7G,GAAa3yJ,EAAEkuQ,YAAa,CAACD,EAAM,IAAOA,EAAIxnR,QAAQqnR,GAAM,MAAQ,IAAM,KAAO,CACxK,MAAPG,IAAaA,EAAM,OACvB,MAAmB,MAATzgO,EAAI3nC,GAAc2nC,EAAIjd,EAGzB09O,EAAM,IAFZV,GAAU,GACVU,EAAM,IAAMzgO,EAAI3nC,GAAUxf,QAAQ,MAAQ,IAAG4nR,EAAM,IAAMA,EAAIxnR,QAAQqnR,GAAM,MAAQ,MAGpFxsP,EAAI/gC,KAAK0tR,EAba,CAevB,OAAmB,IAAhBjuQ,EAAE6tQ,WAAuBN,EAAgB,KACrCjsP,EAAI10B,KAAKu0P,EACjB,CAEA,SAAS8rB,GAAa5zL,EAAqB1vD,GAC1C,IAAI+vH,EAAwB,GACxB15I,EAAY,MAAR2pB,EAAe,CAAC,EAAIA,EAC5B,GAAY,MAAT0vD,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAI1zF,EAAI8lP,GAAkBpyJ,EAAM,SAC5B8nK,OAAc12P,IAATuV,EAAEmhP,GAAmBnhP,EAAEmhP,GAAK,IAAKhtB,EAAKgtB,EAAG78J,WAAW,GACzDg7J,OAAc70P,IAATuV,EAAEs/O,GAAmBt/O,EAAEs/O,GAAK,KAAM0uB,EAAK1uB,EAAGh7J,WAAW,GAC1D6pL,EAAW,IAAIznR,QAAY,KAAJy6P,EAAU,MAAQA,GAAI,MAC7C7/N,EAAM,GAAI4a,EAAyB,GACvCl8B,EAAEqsO,MAAQ5uP,MAAMwS,QAAQopF,GAGxB,IAFA,IAAIykK,EAA6B99O,EAAE4tQ,YAAcv0L,EAAM,UAAY,GAC/DwkK,EAA6B79O,EAAE4tQ,YAAcv0L,EAAM,UAAY,GAC3DvrE,EAAInoB,EAAEqf,EAAEG,EAAG2I,GAAKnoB,EAAEzD,EAAEijB,IAAK2I,GAAUgwO,EAAQhwO,IAAI,CAAC,GAAGrgB,SAASyuC,EAAKpuB,GAAKm9N,GAAWn9N,IAEzF,IADA,IAAIrO,EAAI,EACA0yB,EAAIxsC,EAAEqf,EAAErf,EAAGwsC,GAAKxsC,EAAEzD,EAAEyD,IAAKwsC,GAC3B0rN,EAAQ1rN,IAAI,CAAC,GAAG1kC,QAEX,OADV6zB,EAAMysP,GAAa10L,EAAO1zF,EAAGwsC,EAAG+J,EAAMi4L,EAAI65C,EAAI7sB,EAAInhP,MAE/CA,EAAEouQ,QAAO9sP,EAAMA,EAAI76B,QAAQ0nR,EAAS,MACpC7sP,IAAwB,IAAhBthB,EAAE6tQ,YAAsBn0H,EAAIn5J,MAAMkf,IAAM6/O,EAAK,IAAMh+N,IAG/D,cADOthB,EAAEqsO,MACF3yF,EAAI9sJ,KAAK,GACjB,CAEA,SAASogR,GAAa3zL,EAAqB1vD,GACtCA,IAAMA,EAAO,CAAC,GAAGA,EAAKw3N,GAAK,KAAMx3N,EAAK21N,GAAK,KAC/C,IAAIt6O,EAAIioQ,GAAa5zL,EAAO1vD,GAC5B,GAAsB,oBAAZkhM,IAAwC,UAAblhM,EAAK/3B,KAAkB,OAAOoT,EACnE,IAAIhF,EAAI6qN,GAASrhK,MAAMwoG,OAAO,KAAMhtJ,EAAG,OACvC,OAAO6B,OAAO89E,aAAa,KAAO99E,OAAO89E,aAAa,KAAO3kF,CAC9D,CAoCA,SAASquQ,GAAejiC,EAAoBkiC,EAAmB3kP,GAC9D,IAWI4gN,EAXAvqO,EAAI2pB,GAAQ,CAAC,EACbte,IAAWrL,EAAEuuQ,WACb9sI,EAAmB2qG,GAAQ,CAAC,EAC5BE,EAAK,EAAGC,EAAK,EACjB,GAAG9qG,GAAkB,MAAZzhI,EAAEkyL,OACV,GAAsB,iBAAZlyL,EAAEkyL,OAAoBo6C,EAAKtsO,EAAEkyL,WAClC,CACJ,IAAI50E,EAA6C,iBAAZt9G,EAAEkyL,OAAqBo5C,GAAYtrO,EAAEkyL,QAAUlyL,EAAEkyL,OACtFo6C,EAAKhvH,EAAQ33H,EAAG4mP,EAAKjvH,EAAQn4G,CAC9B,CAGD,IAAIof,EAAmB,CAACvf,EAAG,CAACG,EAAE,EAAGxf,EAAE,GAAIzD,EAAG,CAACijB,EAAEonO,EAAI5mP,EAAE2mP,EAAKgiC,EAAG9yR,OAAS,EAAI6vB,IACxE,GAAGo2H,EAAG,QAAS,CACd,IAAI+qG,EAASf,GAAkBhqG,EAAG,SAClCl9G,EAAMriC,EAAEijB,EAAIjc,KAAKC,IAAIo7B,EAAMriC,EAAEijB,EAAGqnO,EAAOtqP,EAAEijB,GACzCof,EAAMriC,EAAEyD,EAAIuD,KAAKC,IAAIo7B,EAAMriC,EAAEyD,EAAG6mP,EAAOtqP,EAAEyD,IAC/B,GAAP2mP,IAAYA,EAAKE,EAAOtqP,EAAEyD,EAAI,EAAG4+B,EAAMriC,EAAEyD,EAAI2mP,EAAKgiC,EAAG9yR,OAAS,EAAI6vB,EACtE,MACW,GAAPihO,IAAYA,EAAK,EAAG/nN,EAAMriC,EAAEyD,EAAI2oR,EAAG9yR,OAAS,EAAI6vB,GAEpD,IAAI0qO,EAAwB/1O,EAAErK,QAAU,GAAImY,EAAI,EAEhDwgQ,EAAG9sR,SAAQ,SAAUgtR,EAAIr8O,GACxBlqC,GAAKumR,GAAIhtR,SAAQ,SAAS+H,IACC,IAAtBukB,EAAEioO,EAAI1vP,QAAQkD,MAAWwsP,EAAIjoO,EAAEioO,EAAIv6P,QAAU+N,GACjD,IAAIogB,EAAI6kQ,EAAGjlR,GACPoI,EAAI,IACJ2c,EAAI,GACJ7oB,EAAMolP,GAAY,CAAC1lO,EAAEonO,EAAKz+N,EAAEnoB,EAAE2mP,EAAKn6M,EAAI9mB,IAC3Ck/N,EAAOkkC,GAAiBhtI,EAAIh8I,IACzBkkB,GAAkB,kBAANA,GAAoBA,aAAa3gB,MAGhC,iBAAL2gB,EAAehY,EAAI,IACT,kBAALgY,EAAgBhY,EAAI,IACf,iBAALgY,EAAehY,EAAI,IAC1BgY,aAAa3gB,MACpB2I,EAAI,IACAqO,EAAE6sO,YAAal7O,EAAI,IAAKgY,EAAIw6N,GAAQx6N,IACxC2E,EAAKtO,EAAEgyN,QAAUnF,GAAU,KAEd,OAANljN,GAAc3J,EAAE2sO,YAAah7O,EAAI,IAAKgY,EAAI,GAC9C4gO,GAEHA,EAAK54O,EAAIA,EAAG44O,EAAK5gO,EAAIA,SACd4gO,EAAK9qO,SAAU8qO,EAAKp4M,EACxB7jB,IAAGi8N,EAAKj8N,EAAIA,IAJNmzH,EAAGh8I,GAAO8kP,EAAQ,CAAC54O,EAAEA,EAAGgY,EAAEA,GAMjC2E,IAAGi8N,EAAKj8N,EAAIA,IAjBfmzH,EAAGh8I,GAAOkkB,CAmBZ,GACD,IACA4a,EAAMriC,EAAEijB,EAAIjc,KAAKC,IAAIo7B,EAAMriC,EAAEijB,EAAGonO,EAAKwJ,EAAIv6P,OAAS,GAClD,IAAIixP,EAAMzB,GAAWsB,GACrB,GAAGjhO,EAAQ,IAAIyC,EAAI,EAAGA,EAAIioO,EAAIv6P,SAAUsyB,EAAG2zH,EAAGwpG,GAAWn9N,EAAIy+N,GAAME,GAAO,CAAC96O,EAAE,IAAKgY,EAAEosO,EAAIjoO,IAExF,OADA2zH,EAAG,QAAU+pG,GAAajnN,GACnBk9G,CACR,CAIA,SAASgtI,GAAiBhtI,EAAkBtvG,EAAGrkB,GAE9C,GAAe,iBAALqkB,EAAe,CAExB,GAAG10C,MAAMwS,QAAQwxI,GAAK,CACrB,IAAIitI,EAAKpjC,GAAYn5M,GAErB,OADIsvG,EAAGitI,EAAG/oR,KAAI87I,EAAGitI,EAAG/oR,GAAK,IAClB87I,EAAGitI,EAAG/oR,GAAG+oR,EAAGvpQ,KAAOs8H,EAAGitI,EAAG/oR,GAAG+oR,EAAGvpQ,GAAK,CAACxT,EAAE,KAC/C,CACA,OAAO8vI,EAAGtvG,KAAOsvG,EAAGtvG,GAAK,CAACxgC,EAAE,KAC7B,CAEA,OAAgC88Q,GAAiBhtI,EAAIopG,GAAtC,iBAAL14M,EAAuDA,EAEzB,CAACxsC,EAAEwsC,EAAEhtB,EAAE2I,GAAG,IACnD,CAeA,SAAS6gQ,KACR,MAAO,CAAE1iC,WAAY,GAAIC,OAAQ,CAAC,EACnC,CAGA,SAAS0iC,GAAkBxjH,EAAiB3pB,EAAkBzjJ,EAAkB6wR,GAC/E,IAAIvzR,EAAI,EACR,IAAI0C,EAAM,KAAM1C,GAAK,QAAgF,GAA9C8vK,EAAG6gF,WAAW5lP,QAAQrI,EAAO,QAAU1C,KAA/DA,EAAG0C,OAAOyM,GACzC,IAAIzM,GAAQotK,EAAG6gF,WAAWzwP,QAAU,MAAQ,MAAM,IAAIqP,MAAM,uBAC5D,GAAGgkR,GAAQzjH,EAAG6gF,WAAW5lP,QAAQrI,IAAS,EAAG,CAC5C,IAAI6tB,EAAI7tB,EAAK6hB,MAAM,gBACnBvkB,EAAIuwB,IAAMA,EAAE,IAAM,EAClB,IAAInb,EAAOmb,GAAKA,EAAE,IAAM7tB,EACxB,MAAM1C,EAAGA,GAAK,QAA2D,GAA3C8vK,EAAG6gF,WAAW5lP,QAAQrI,EAAO0S,EAAOpV,KAA1CA,GACzB,CAEA,GADAu+Q,GAAc77Q,GACXotK,EAAG6gF,WAAW5lP,QAAQrI,IAAS,EAAG,MAAM,IAAI6M,MAAM,wBAA0B7M,EAAO,qBAItF,OAFAotK,EAAG6gF,WAAW1rP,KAAKvC,GACnBotK,EAAG8gF,OAAOluP,GAAQyjJ,EACXzjJ,CACR,CA0BA,SAAS8wR,GAAmBvkC,EAAelvP,EAAmBq+B,GAO7D,OANIr+B,GAGHkvP,EAAKtlO,EAAK,CAAEquO,OAAQj4P,GACjBq+B,IAAS6wN,EAAKtlO,EAAE4zO,QAAUn/N,WAHtB6wN,EAAKtlO,EAKNslO,CACR,CA0BA,IAAI/gL,GAAgB,CACnByhL,WAAYA,GACZD,WAAYA,GACZH,YAAaA,GACbW,aAAcA,GACdJ,WAAYA,GACZF,WAAYA,GACZ6jC,WAjxnBD,SAAoBp1C,GAAqC,OAAOA,EAAKlzO,QAAQ,sBAAsB,SAASqI,MAAM,IAAM,EAkxnBvHw8O,YAAaA,GACbC,aAAcA,GACdM,YAAaA,GACbM,cAAeA,GACfkiC,eAAgBA,GAChB7K,cAAeA,GACfz2B,aAAcA,GACdiiC,cAjID,SAAuBV,EAAmB3kP,GAAsB,OAAO0kP,GAAe,KAAMC,EAAI3kP,EAAO,EAkItGslP,eAAgBhL,GAChBiL,cAvvGD,SAAuBrsF,EAAuBl5J,GAC7C,OAAOoiN,GAAkBk4B,GAAgBphF,EAAOl5J,GAAOA,EACxD,EAsvGCsjP,aAAcA,GACdD,aAAcA,GACdvyB,cAAeA,GACf8oB,cAAeA,GACf4L,kBAtOD,SAA2B91L,GAC1B,IAAYrqF,EAARuQ,EAAI,GAAOiuC,EAAI,GACnB,GAAY,MAAT6rC,GAAkC,MAAjBA,EAAM,QAAiB,MAAO,GAClD,IAAgFvrE,EAA5EnoB,EAAI8lP,GAAkBpyJ,EAAM,SAAUk3I,EAAK,GAAIr0L,EAAyB,GACxEkzO,EAAyB,GACzB/iC,EAAQ5uP,MAAMwS,QAAQopF,GAC1B,IAAIvrE,EAAInoB,EAAEqf,EAAEG,EAAG2I,GAAKnoB,EAAEzD,EAAEijB,IAAK2I,EAAGouB,EAAKpuB,GAAKm9N,GAAWn9N,GACrD,IAAI,IAAIqkB,EAAIxsC,EAAEqf,EAAErf,EAAGwsC,GAAKxsC,EAAEzD,EAAEyD,IAAKwsC,EAEhC,IADAo+L,EAAKya,GAAW74M,GACZrkB,EAAInoB,EAAEqf,EAAEG,EAAG2I,GAAKnoB,EAAEzD,EAAEijB,IAAK2I,EAI5B,GAHAvO,EAAI28B,EAAKpuB,GAAKyiN,EAEd/iL,EAAM,QACG/iD,KAFTuE,EAAIq9O,GAAShzJ,EAAMlnD,IAAI,IAAIrkB,GAAKurE,EAAM95E,IAEtC,CACK,GAAU,MAAPvQ,EAAEuhC,EAAW,CAEpB,GADAhxB,EAAIvQ,EAAEuhC,GACFvhC,EAAE6W,EAAG,SACT2nC,EAAMx+C,EAAE6W,GACc,GAAnBtG,EAAElZ,QAAQ,OAAYkZ,EAAIA,EAAI,IAAMA,EACxC,CACA,GAAU,MAAPvQ,EAAE6W,EAAW2nC,EAAMx+C,EAAE6W,MACnB,IAAU,KAAP7W,EAAE2C,EAAU,SACf,GAAU,KAAP3C,EAAE2C,GAAmB,MAAP3C,EAAE2a,EAAW6jC,EAAM,GAAKx+C,EAAE2a,OAC3C,GAAU,KAAP3a,EAAE2C,EAAU67C,EAAMx+C,EAAE2a,EAAI,OAAS,aACpC,QAAWlf,IAARuE,EAAEyQ,EAAiB+tC,EAAM,IAAMx+C,EAAEyQ,MACpC,SAAWhV,IAARuE,EAAE2a,EAAiB,SACP6jC,EAAL,KAAPx+C,EAAE2C,EAAgB,IAAM3C,EAAE2a,EACvB,GAAG3a,EAAE2a,CAAC,EACjBylQ,EAAKA,EAAK5zR,QAAU+jB,EAAI,IAAMiuC,CAT9B,CAYF,OAAO4hO,CACR,EAuMCC,0BAA2B50B,GAC3B60B,eAAgBb,GAChBE,SAAUA,GACVC,kBAAmBA,GACnBW,0BApFD,SAAmCnkH,EAAiB8iB,EAAsBshG,GACrEpkH,EAAGqpG,WAAUrpG,EAAGqpG,SAAW,CAAC,GAC5BrpG,EAAGqpG,SAASvoB,SAAQ9gF,EAAGqpG,SAASvoB,OAAS,IAE7C,IAAIpxO,EAxCL,SAAsBswJ,EAAiB8iB,GACtC,GAAgB,iBAANA,EAAgB,CACzB,GAAGA,GAAM,GAAK9iB,EAAG6gF,WAAWzwP,OAAS0yL,EAAI,OAAOA,EAChD,MAAM,IAAIrjL,MAAM,uBAAyBqjL,EAC1C,CAAO,GAAgB,iBAANA,EAAgB,CAChC,IAAIpzK,EAAMswJ,EAAG6gF,WAAW5lP,QAAQ6nL,GAChC,GAAGpzK,GAAO,EAAG,OAAOA,EACpB,MAAM,IAAIjQ,MAAM,2BAA6BqjL,EAAK,IACnD,CAAO,MAAM,IAAIrjL,MAAM,sBAAwBqjL,EAAK,IACrD,CA+BWuhG,CAAarkH,EAAI8iB,GAI3B,OAFI9iB,EAAGqpG,SAASvoB,OAAOpxO,KAAMswJ,EAAGqpG,SAASvoB,OAAOpxO,GAAO,CAAC,GAEjD00Q,GACN,KAAK,EAAG,KAAK,EAAG,KAAK,EAAG,MACxB,QAAS,MAAM,IAAI3kR,MAAM,gCAAkC2kR,GAG5DpkH,EAAGqpG,SAASvoB,OAAOpxO,GAAK0/P,OAASgV,CAClC,EAuECE,uBApED,SAAgCnlC,EAAe5b,GAE9C,OADA4b,EAAKj8N,EAAIqgN,EACF4b,CACR,EAkECukC,mBAAoBA,GACpBa,uBAvDD,SAAgCplC,EAAehmN,EAAkB7K,GAAuB,OAAOo1P,GAAmBvkC,EAAM,IAAMhmN,EAAO7K,EAAU,EAwD9Ik2P,iBArDD,SAA0BrlC,EAAet0O,EAAiB45Q,GACrDtlC,EAAKplO,IAAGolO,EAAKplO,EAAI,IACrBolO,EAAKplO,EAAE5kB,KAAK,CAACoR,EAAEsE,EAAMwO,EAAEorQ,GAAQ,WAChC,EAmDCC,wBAhDD,SAAiCruI,EAAkBl9G,EAAOg6N,EAAoBwxB,GAG7E,IAFA,IAAIC,EAAsB,iBAATzrP,EAAoBA,EAAQknN,GAAkBlnN,GAC3D0rP,EAAyB,iBAAT1rP,EAAoBA,EAAQinN,GAAajnN,GACrD4N,EAAI69O,EAAIhrQ,EAAErf,EAAGwsC,GAAK69O,EAAI9tR,EAAEyD,IAAKwsC,EAAG,IAAI,IAAIrkB,EAAIkiQ,EAAIhrQ,EAAEG,EAAG2I,GAAKkiQ,EAAI9tR,EAAEijB,IAAK2I,EAAG,CAC/E,IAAIy8N,EAAOkkC,GAAiBhtI,EAAItvG,EAAGrkB,GACnCy8N,EAAK54O,EAAI,IACT44O,EAAKh6M,EAAI0/O,SACF1lC,EAAK5gO,EACTwoB,GAAK69O,EAAIhrQ,EAAErf,GAAKmoB,GAAKkiQ,EAAIhrQ,EAAEG,IAC7BolO,EAAK1kO,EAAI04O,EACNwxB,IAASxlC,EAAK53M,GAAI,GAEvB,CACA,OAAO8uG,CACR,EAmCC25F,OAAQ,CACP80C,cAAe,EACfC,aAAc,EACdC,kBAAmB,IAoIEjmD,GAAK74J,QAN5B,0BCz+vBIw0M,GAAKhhL,WAAYurL,GAAMhqL,YAAaiqL,GAAM/pL,YAE1CgqL,GAAO,IAAIzK,GAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAgB,EAAG,EAAoB,IAG1I0K,GAAO,IAAI1K,GAAG,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAiB,EAAG,IAEjI2K,GAAO,IAAI3K,GAAG,CAAC,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,GAAI,EAAG,KAE7E4K,GAAO,SAAU3mH,EAAI5gI,GAErB,IADA,IAAI71B,EAAI,IAAI+8Q,GAAI,IACP/0R,EAAI,EAAGA,EAAI,KAAMA,EACtBgY,EAAEhY,GAAK6tC,GAAS,GAAK4gI,EAAGzuK,EAAI,GAGhC,IAAIqK,EAAI,IAAI2qR,GAAIh9Q,EAAE,KAClB,IAAShY,EAAI,EAAGA,EAAI,KAAMA,EACtB,IAAK,IAAIgtB,EAAIhV,EAAEhY,GAAIgtB,EAAIhV,EAAEhY,EAAI,KAAMgtB,EAC/B3iB,EAAE2iB,GAAOA,EAAIhV,EAAEhY,IAAO,EAAKA,EAGnC,MAAO,CAACgY,EAAG3N,EACf,EACIilF,GAAK8lM,GAAKH,GAAM,GAAI/yF,GAAK5yG,GAAG,GAAI+lM,GAAQ/lM,GAAG,GAE/C4yG,GAAG,IAAM,IAAKmzF,GAAM,KAAO,GAI3B,IAHA,IAAI9lM,GAAK6lM,GAAKF,GAAM,GAAIz6G,GAAKlrF,GAAG,GAAI+lM,GAAQ/lM,GAAG,GAE3C2xJ,GAAM,IAAI6zC,GAAI,OACT/0R,GAAI,EAAGA,GAAI,QAASA,GAAG,CAE5B,IAAI0T,IAAU,MAAJ1T,MAAgB,GAAW,MAAJA,KAAe,EAEhD0T,IAAU,OADVA,IAAU,MAAJA,MAAgB,GAAW,MAAJA,KAAe,MACtB,GAAW,KAAJA,KAAe,EAC5CwtO,GAAIlhP,MAAY,MAAJ0T,MAAgB,GAAW,IAAJA,KAAe,KAAQ,CAC9D,CAIA,IAAI6hR,GAAQ,SAAUhxJ,EAAIixC,EAAInrK,GAO1B,IANA,IAAIqf,EAAI66G,EAAGrkI,OAEPF,EAAI,EAEJ2pB,EAAI,IAAIorQ,GAAIv/G,GAETx1K,EAAI0pB,IAAK1pB,IACV2pB,EAAE46G,EAAGvkI,GAAK,GAEhB,IAIIw1R,EAJApwG,EAAK,IAAI2vG,GAAIv/G,GACjB,IAAKx1K,EAAI,EAAGA,EAAIw1K,IAAMx1K,EAClBolL,EAAGplL,GAAMolL,EAAGplL,EAAI,GAAK2pB,EAAE3pB,EAAI,IAAO,EAGtC,GAAIqK,EAAG,CAEHmrR,EAAK,IAAIT,GAAI,GAAKv/G,GAElB,IAAIigH,EAAM,GAAKjgH,EACf,IAAKx1K,EAAI,EAAGA,EAAI0pB,IAAK1pB,EAEjB,GAAIukI,EAAGvkI,GAQH,IANA,IAAIi/N,EAAMj/N,GAAK,EAAKukI,EAAGvkI,GAEnB01R,EAAMlgH,EAAKjxC,EAAGvkI,GAEdquB,EAAI+2J,EAAG7gD,EAAGvkI,GAAK,MAAQ01R,EAElBnlQ,EAAIlC,GAAM,GAAKqnQ,GAAO,EAAIrnQ,GAAKkC,IAAKlC,EAEzCmnQ,EAAGt0C,GAAI7yN,KAAOonQ,GAAOx2D,CAIrC,MAGI,IADAu2D,EAAK,IAAIT,GAAIrrQ,GACR1pB,EAAI,EAAGA,EAAI0pB,IAAK1pB,EACjBw1R,EAAGx1R,GAAKkhP,GAAI97D,EAAG7gD,EAAGvkI,GAAK,QAAW,GAAKukI,EAAGvkI,GAElD,OAAOw1R,CACX,EAEIG,GAAM,IAAInL,GAAG,KACjB,IAASxqR,GAAI,EAAGA,GAAI,MAAOA,GACvB21R,GAAI31R,IAAK,EACb,IAASA,GAAI,IAAKA,GAAI,MAAOA,GACzB21R,GAAI31R,IAAK,EACb,IAASA,GAAI,IAAKA,GAAI,MAAOA,GACzB21R,GAAI31R,IAAK,EACb,IAASA,GAAI,IAAKA,GAAI,MAAOA,GACzB21R,GAAI31R,IAAK,EAEb,IAAI41R,GAAM,IAAIpL,GAAG,IACjB,IAASxqR,GAAI,EAAGA,GAAI,KAAMA,GACtB41R,GAAI51R,IAAK,EAEb,IAAI61R,GAAoBN,GAAKI,GAAK,EAAG,GAAIG,GAAqBP,GAAKI,GAAK,EAAG,GAEvEI,GAAoBR,GAAKK,GAAK,EAAG,GAAII,GAAqBT,GAAKK,GAAK,EAAG,GAEvE/nR,GAAM,SAAUsb,GAEhB,IADA,IAAIoH,EAAIpH,EAAE,GACDnpB,EAAI,EAAGA,EAAImpB,EAAEjpB,SAAUF,EACxBmpB,EAAEnpB,GAAKuwB,IACPA,EAAIpH,EAAEnpB,IAEd,OAAOuwB,CACX,EAEIg0N,GAAO,SAAUz6N,EAAGd,EAAGuH,GACvB,IAAI7L,EAAKsE,EAAI,GAAM,EACnB,OAASc,EAAEpF,GAAMoF,EAAEpF,EAAI,IAAM,MAAa,EAAJsE,GAAUuH,CACpD,EAEI0lQ,GAAS,SAAUnsQ,EAAGd,GACtB,IAAItE,EAAKsE,EAAI,GAAM,EACnB,OAASc,EAAEpF,GAAMoF,EAAEpF,EAAI,IAAM,EAAMoF,EAAEpF,EAAI,IAAM,OAAc,EAAJsE,EAC7D,EAEIktQ,GAAO,SAAUltQ,GAAK,OAASA,EAAI,GAAM,IAAU,EAAJA,GAAS,EAAI,EAG5DmtQ,GAAM,SAAU9nQ,EAAG3E,EAAG9iB,IACb,MAAL8iB,GAAaA,EAAI,KACjBA,EAAI,IACC,MAAL9iB,GAAaA,EAAIynB,EAAEnuB,UACnB0G,EAAIynB,EAAEnuB,QAEV,IAAIykB,EAAI,IAAK0J,aAAa0mQ,GAAMA,GAAM1mQ,aAAa2mQ,GAAMA,GAAMxK,IAAI5jR,EAAI8iB,GAEvE,OADA/E,EAAErJ,IAAI+S,EAAEmoJ,SAAS9sJ,EAAG9iB,IACb+d,CACX,EAEIyxQ,GAAQ,SAAUC,EAAKnmD,EAAKloL,GAE5B,IAAI86I,EAAKuzF,EAAIn2R,OAETo2R,GAASpmD,GAAOloL,EAEhBuuO,GAAQvuO,GAAMA,EAAGhoD,EAChBgoD,IACDA,EAAK,CAAC,GAELkoL,IACDA,EAAM,IAAIs6C,GAAQ,EAAL1nF,IAEjB,IAAI0zF,EAAO,SAAU7sQ,GACjB,IAAIk4K,EAAKquC,EAAIhwO,OAEb,GAAIypB,EAAIk4K,EAAI,CAER,IAAI40F,EAAO,IAAIjM,GAAG58Q,KAAKC,IAAS,EAALg0L,EAAQl4K,IACnC8sQ,EAAKn7Q,IAAI40N,GACTA,EAAMumD,CACV,CACJ,EAEIC,EAAQ1uO,EAAGz9B,GAAK,EAAG0tB,EAAM+P,EAAGh/B,GAAK,EAAGisC,EAAKjN,EAAGhwC,GAAK,EAAG2+Q,EAAK3uO,EAAGr+B,EAAGitQ,EAAK5uO,EAAGl+B,EAAG+sQ,EAAM7uO,EAAGz3B,EAAGumQ,EAAM9uO,EAAGrjC,EAE/FoyQ,EAAY,EAALj0F,EACX,EAAG,CACC,IAAK6zF,EAAI,CAEL3uO,EAAGz9B,EAAImsQ,EAAQnyC,GAAK8xC,EAAKp+O,EAAK,GAE9B,IAAI3hC,EAAOiuO,GAAK8xC,EAAKp+O,EAAM,EAAG,GAE9B,GADAA,GAAO,GACF3hC,EAAM,CAEP,IAAuBqT,EAAI0sQ,GAAvB3sQ,EAAIwsQ,GAAKj+O,GAAO,GAAe,GAAMo+O,EAAI3sQ,EAAI,IAAM,EAAIrT,EAAIqT,EAAIC,EACnE,GAAItT,EAAIysL,EAAI,CACR,GAAIyzF,EACA,KAAM,iBACV,KACJ,CAEID,GACAE,EAAKvhO,EAAKtrC,GAEdumN,EAAI50N,IAAI+6Q,EAAI7/G,SAAS9sJ,EAAGrT,GAAI4+C,GAE5BjN,EAAGhwC,EAAIi9C,GAAMtrC,EAAGq+B,EAAGh/B,EAAIivB,EAAU,EAAJ5hC,EAC7B,QACJ,CACK,GAAY,GAARC,EACLqgR,EAAKb,GAAMc,EAAKZ,GAAMa,EAAM,EAAGC,EAAM,MACpC,IAAY,GAARxgR,EAqDL,KAAM,qBAnDN,IAAI0gR,EAAOzyC,GAAK8xC,EAAKp+O,EAAK,IAAM,IAAKg/O,EAAQ1yC,GAAK8xC,EAAKp+O,EAAM,GAAI,IAAM,EACnEkrJ,EAAK6zF,EAAOzyC,GAAK8xC,EAAKp+O,EAAM,EAAG,IAAM,EACzCA,GAAO,GAKP,IAHA,IAAIi/O,EAAM,IAAI1M,GAAGrnF,GAEbg0F,EAAM,IAAI3M,GAAG,IACRxqR,EAAI,EAAGA,EAAIi3R,IAASj3R,EAEzBm3R,EAAIhC,GAAKn1R,IAAMukP,GAAK8xC,EAAKp+O,EAAU,EAAJj4C,EAAO,GAE1Ci4C,GAAe,EAARg/O,EAEP,IAAIG,EAAMvpR,GAAIspR,GAAME,GAAU,GAAKD,GAAO,EAC1C,IAAKb,GAAQt+O,EAAMkrJ,GAAMi0F,EAAM,GAAKL,EAChC,MAEJ,IAAIO,EAAM/B,GAAK4B,EAAKC,EAAK,GACzB,IAASp3R,EAAI,EAAGA,EAAImjM,GAAK,CACrB,IAIIz5K,EAJArf,EAAIitR,EAAI/yC,GAAK8xC,EAAKp+O,EAAKo/O,IAM3B,GAJAp/O,GAAW,GAAJ5tC,GAEHqf,EAAIrf,IAAM,GAEN,GACJ6sR,EAAIl3R,KAAO0pB,MAEV,CAED,IAAIG,EAAI,EAAGlF,EAAI,EAOf,IANS,IAAL+E,GACA/E,EAAI,EAAI4/N,GAAK8xC,EAAKp+O,EAAK,GAAIA,GAAO,EAAGpuB,EAAIqtQ,EAAIl3R,EAAI,IACvC,IAAL0pB,GACL/E,EAAI,EAAI4/N,GAAK8xC,EAAKp+O,EAAK,GAAIA,GAAO,GACxB,IAALvuB,IACL/E,EAAI,GAAK4/N,GAAK8xC,EAAKp+O,EAAK,KAAMA,GAAO,GAClCtzB,KACHuyQ,EAAIl3R,KAAO6pB,CACnB,CACJ,CAEA,IAAI6gC,EAAKwsO,EAAI1gH,SAAS,EAAGwgH,GAAO7mO,EAAK+mO,EAAI1gH,SAASwgH,GAElDH,EAAMhpR,GAAI68C,GAEVosO,EAAMjpR,GAAIsiD,GACVwmO,EAAKpB,GAAK7qO,EAAImsO,EAAK,GACnBD,EAAKrB,GAAKplO,EAAI2mO,EAAK,EAGO,CAC9B,GAAI7+O,EAAM8+O,EACN,KAAM,gBACd,CAGIT,GACAE,EAAKvhO,EAAK,QAGd,IAFA,IAAIsiO,GAAO,GAAKV,GAAO,EAAGW,GAAO,GAAKV,GAAO,EACzCW,EAAMZ,EAAMC,EAAM,GACfP,GAAQt+O,EAAMw/O,EAAMV,GAAM,CAE7B,IAAoCpuF,GAAhC9+K,EAAI8sQ,EAAGV,GAAOI,EAAKp+O,GAAOs/O,MAAkB,EAEhD,IADAt/O,GAAW,GAAJpuB,GACGktQ,EACN,KAAM,iBACV,IAAKltQ,EACD,KAAM,yBACV,GAAI8+K,EAAM,IACNunC,EAAIj7K,KAAQ0zI,MACX,IAAW,KAAPA,EAAY,CACjBguF,EAAK,KACL,KACJ,CAEI,IAAIjsR,EAAMi+L,EAAM,IAEhB,GAAIA,EAAM,IAAK,CAEX,IAAmB3wL,EAAIi9Q,GAAnBj1R,EAAI2oM,EAAM,KACdj+L,EAAM65O,GAAK8xC,EAAKp+O,GAAM,GAAKjgC,GAAK,GAAKkqL,GAAGliM,GACxCi4C,GAAOjgC,CACX,CAEA,IAAI8R,EAAI8sQ,EAAGX,GAAOI,EAAKp+O,GAAOu/O,GAAME,EAAO5tQ,IAAM,EACjD,IAAKA,EACD,KAAM,mBACVmuB,GAAW,GAAJnuB,EACHqmC,EAAKsqH,GAAGi9G,GACZ,GAAIA,EAAO,EAAG,CACN1/Q,EAAIk9Q,GAAKwC,GACbvnO,GAAM8lO,GAAOI,EAAKp+O,IAAS,GAAKjgC,GAAK,EAAIigC,GAAOjgC,CACpD,CACA,GAAIigC,EAAM8+O,EACN,KAAM,iBACNT,GACAE,EAAKvhO,EAAK,QAEd,IADA,IAAIloD,EAAMkoD,EAAKvqD,EACRuqD,EAAKloD,EAAKkoD,GAAM,EACnBi7K,EAAIj7K,GAAMi7K,EAAIj7K,EAAK9E,GACnB+/K,EAAIj7K,EAAK,GAAKi7K,EAAIj7K,EAAK,EAAI9E,GAC3B+/K,EAAIj7K,EAAK,GAAKi7K,EAAIj7K,EAAK,EAAI9E,GAC3B+/K,EAAIj7K,EAAK,GAAKi7K,EAAIj7K,EAAK,EAAI9E,GAE/B8E,EAAKloD,CACT,CACJ,CACAi7C,EAAGr+B,EAAIgtQ,EAAI3uO,EAAGh/B,EAAIivB,EAAK+P,EAAGhwC,EAAIi9C,EAC1B0hO,IACAD,EAAQ,EAAG1uO,EAAGz3B,EAAIsmQ,EAAK7uO,EAAGl+B,EAAI8sQ,EAAI5uO,EAAGrjC,EAAImyQ,EACjD,QAAUJ,GACV,OAAOzhO,GAAMi7K,EAAIhwO,OAASgwO,EAAMimD,GAAIjmD,EAAK,EAAGj7K,EAChD,EAEI0iO,GAAQ,SAAU7tQ,EAAGd,EAAGqF,GACxBA,IAAU,EAAJrF,EACN,IAAItE,EAAKsE,EAAI,GAAM,EACnBc,EAAEpF,IAAM2J,EACRvE,EAAEpF,EAAI,IAAM2J,IAAM,CACtB,EAEIupQ,GAAU,SAAU9tQ,EAAGd,EAAGqF,GAC1BA,IAAU,EAAJrF,EACN,IAAItE,EAAKsE,EAAI,GAAM,EACnBc,EAAEpF,IAAM2J,EACRvE,EAAEpF,EAAI,IAAM2J,IAAM,EAClBvE,EAAEpF,EAAI,IAAM2J,IAAM,EACtB,EAEIwpQ,GAAQ,SAAU/tQ,EAAG0rJ,GAGrB,IADA,IAAIn/J,EAAI,GACCrW,EAAI,EAAGA,EAAI8pB,EAAE5pB,SAAUF,EACxB8pB,EAAE9pB,IACFqW,EAAEpR,KAAK,CAAEykB,EAAG1pB,EAAGuqB,EAAGT,EAAE9pB,KAE5B,IAAI0pB,EAAIrT,EAAEnW,OACNo8G,EAAKjmG,EAAEqK,QACX,IAAKgJ,EACD,MAAO,CAAC,IAAI8gQ,GAAG,GAAI,GACvB,GAAS,GAAL9gQ,EAAQ,CACR,IAAI2E,EAAI,IAAIm8P,GAAGn0Q,EAAE,GAAGqT,EAAI,GAExB,OADA2E,EAAEhY,EAAE,GAAGqT,GAAK,EACL,CAAC2E,EAAG,EACf,CACAhY,EAAEktC,MAAK,SAAUp6B,EAAGnR,GAAK,OAAOmR,EAAEoB,EAAIvS,EAAEuS,CAAG,IAG3ClU,EAAEpR,KAAK,CAAEykB,GAAI,EAAGa,EAAG,QACnB,IAAIZ,EAAItT,EAAE,GAAIhM,EAAIgM,EAAE,GAAIyhR,EAAK,EAAGC,EAAK,EAAGC,EAAK,EAO7C,IANA3hR,EAAE,GAAK,CAAEqT,GAAI,EAAGa,EAAGZ,EAAEY,EAAIlgB,EAAEkgB,EAAGZ,EAAGA,EAAGtf,EAAGA,GAMhC0tR,GAAMruQ,EAAI,GACbC,EAAItT,EAAEA,EAAEyhR,GAAIvtQ,EAAIlU,EAAE2hR,GAAIztQ,EAAIutQ,IAAOE,KACjC3tR,EAAIgM,EAAEyhR,GAAMC,GAAM1hR,EAAEyhR,GAAIvtQ,EAAIlU,EAAE2hR,GAAIztQ,EAAIutQ,IAAOE,KAC7C3hR,EAAE0hR,KAAQ,CAAEruQ,GAAI,EAAGa,EAAGZ,EAAEY,EAAIlgB,EAAEkgB,EAAGZ,EAAGA,EAAGtf,EAAGA,GAE9C,IAAI4tR,EAAS37K,EAAG,GAAG5yF,EACnB,IAAS1pB,EAAI,EAAGA,EAAI0pB,IAAK1pB,EACjBs8G,EAAGt8G,GAAG0pB,EAAIuuQ,IACVA,EAAS37K,EAAGt8G,GAAG0pB,GAGvB,IAAIwuQ,EAAK,IAAInD,GAAIkD,EAAS,GAEtBE,EAAMC,GAAG/hR,EAAE0hR,EAAK,GAAIG,EAAI,GAC5B,GAAIC,EAAM3iH,EAAI,CAINx1K,EAAI,EAAR,IAAWmwD,EAAK,EAEZkoO,EAAMF,EAAM3iH,EAAI8iH,EAAM,GAAKD,EAE/B,IADA/7K,EAAG/4D,MAAK,SAAUp6B,EAAGnR,GAAK,OAAOkgR,EAAGlgR,EAAE0R,GAAKwuQ,EAAG/uQ,EAAEO,IAAMP,EAAEoB,EAAIvS,EAAEuS,CAAG,IAC1DvqB,EAAI0pB,IAAK1pB,EAAG,CACf,IAAIu4R,EAAOj8K,EAAGt8G,GAAG0pB,EACjB,KAAIwuQ,EAAGK,GAAQ/iH,GAKX,MAJArlH,GAAMmoO,GAAO,GAAMH,EAAMD,EAAGK,IAC5BL,EAAGK,GAAQ/iH,CAInB,CAEA,IADArlH,KAAQkoO,EACDloO,EAAK,GAAG,CACX,IAAIqoO,EAAOl8K,EAAGt8G,GAAG0pB,EACbwuQ,EAAGM,GAAQhjH,EACXrlH,GAAM,GAAMqlH,EAAK0iH,EAAGM,KAAU,IAE5Bx4R,CACV,CACA,KAAOA,GAAK,GAAKmwD,IAAMnwD,EAAG,CACtB,IAAIy4R,EAAOn8K,EAAGt8G,GAAG0pB,EACbwuQ,EAAGO,IAASjjH,MACV0iH,EAAGO,KACHtoO,EAEV,CACAgoO,EAAM3iH,CACV,CACA,MAAO,CAAC,IAAIg1G,GAAG0N,GAAKC,EACxB,EAEIC,GAAK,SAALA,EAAezzQ,EAAGgF,EAAGG,GACrB,OAAe,GAARnF,EAAE+E,EACH9b,KAAKC,IAAIuqR,EAAGzzQ,EAAEgF,EAAGA,EAAGG,EAAI,GAAIsuQ,EAAGzzQ,EAAEta,EAAGsf,EAAGG,EAAI,IAC1CH,EAAEhF,EAAE+E,GAAKI,CACpB,EAEIguJ,GAAK,SAAUjuJ,GAGf,IAFA,IAAIH,EAAIG,EAAE3pB,OAEHwpB,IAAMG,IAAIH,KAMjB,IAJA,IAAIq4K,EAAK,IAAIgzF,KAAMrrQ,GAEfgvQ,EAAM,EAAGC,EAAM9uQ,EAAE,GAAI+uQ,EAAM,EAC3Bz0Q,EAAI,SAAUkK,GAAK0zK,EAAG22F,KAASrqQ,CAAG,EAC7BruB,EAAI,EAAGA,GAAK0pB,IAAK1pB,EACtB,GAAI6pB,EAAE7pB,IAAM24R,GAAO34R,GAAK0pB,IAClBkvQ,MACD,CACD,IAAKD,GAAOC,EAAM,EAAG,CACjB,KAAOA,EAAM,IAAKA,GAAO,IACrBz0Q,EAAE,OACFy0Q,EAAM,IACNz0Q,EAAEy0Q,EAAM,GAAOA,EAAM,IAAO,EAAK,MAAUA,EAAM,GAAM,EAAK,OAC5DA,EAAM,EAEd,MACK,GAAIA,EAAM,EAAG,CAEd,IADAz0Q,EAAEw0Q,KAAQC,EACHA,EAAM,EAAGA,GAAO,EACnBz0Q,EAAE,MACFy0Q,EAAM,IACNz0Q,EAAIy0Q,EAAM,GAAM,EAAK,MAAOA,EAAM,EAC1C,CACA,KAAOA,KACHz0Q,EAAEw0Q,GACNC,EAAM,EACND,EAAM9uQ,EAAE7pB,EACZ,CAEJ,MAAO,CAAC+hM,EAAGvrB,SAAS,EAAGkiH,GAAMhvQ,EACjC,EAEImvQ,GAAO,SAAUrvG,EAAIuY,GAErB,IADA,IAAIp4K,EAAI,EACC3pB,EAAI,EAAGA,EAAI+hM,EAAG7hM,SAAUF,EAC7B2pB,GAAK6/J,EAAGxpL,GAAK+hM,EAAG/hM,GACpB,OAAO2pB,CACX,EAGImvQ,GAAQ,SAAU16H,EAAKnmH,EAAKo+O,GAE5B,IAAI3sQ,EAAI2sQ,EAAIn2R,OACRwkB,EAAIwxQ,GAAKj+O,EAAM,GACnBmmH,EAAI15I,GAAS,IAAJgF,EACT00I,EAAI15I,EAAI,GAAKgF,IAAM,EACnB00I,EAAI15I,EAAI,GAAc,IAAT05I,EAAI15I,GACjB05I,EAAI15I,EAAI,GAAkB,IAAb05I,EAAI15I,EAAI,GACrB,IAAK,IAAI1kB,EAAI,EAAGA,EAAI0pB,IAAK1pB,EACrBo+J,EAAI15I,EAAI1kB,EAAI,GAAKq2R,EAAIr2R,GACzB,OAAqB,GAAb0kB,EAAI,EAAIgF,EACpB,EAEIqvQ,GAAO,SAAU1C,EAAKj4H,EAAKs4H,EAAOsC,EAAMlvG,EAAIL,EAAIhb,EAAI0nB,EAAI83D,EAAIpsD,EAAI74K,GAChE2uQ,GAAMv5H,EAAKp1I,IAAK0tQ,KACd5sG,EAAG,KAML,IALA,IAAIx6F,EAAKuoM,GAAM/tG,EAAI,IAAKmvG,EAAM3pM,EAAG,GAAI4pM,EAAM5pM,EAAG,GAC1CC,EAAKsoM,GAAMpuG,EAAI,IAAK0vG,EAAM5pM,EAAG,GAAI6/K,EAAM7/K,EAAG,GAC1CC,EAAKsoF,GAAGmhH,GAAMG,EAAO5pM,EAAG,GAAI6pM,EAAM7pM,EAAG,GACrCE,EAAKooF,GAAGqhH,GAAMG,EAAO5pM,EAAG,GAAI6pM,EAAM7pM,EAAG,GACrC8pM,EAAS,IAAIzE,GAAI,IACZ/0R,EAAI,EAAGA,EAAIo5R,EAAKl5R,SAAUF,EAC/Bw5R,EAAiB,GAAVJ,EAAKp5R,MAChB,IAASA,EAAI,EAAGA,EAAIs5R,EAAKp5R,SAAUF,EAC/Bw5R,EAAiB,GAAVF,EAAKt5R,MAGhB,IAFA,IAAIuwI,EAAKsnJ,GAAM2B,EAAQ,GAAIC,EAAMlpJ,EAAG,GAAImpJ,EAAOnpJ,EAAG,GAC9CopJ,EAAO,GACJA,EAAO,IAAMF,EAAItE,GAAKwE,EAAO,MAAOA,GAE3C,IAKIhD,EAAIr0F,EAAIs0F,EAAI30F,EALZ00C,EAAQ90C,EAAK,GAAM,EACnB+3F,EAAQf,GAAK/uG,EAAI6rG,IAAOkD,GAAKpvG,EAAImsG,IAAOnnH,EACxCorH,EAAQhB,GAAK/uG,EAAImvG,GAAOJ,GAAKpvG,EAAI0vG,GAAO1qH,EAAK,GAAK,EAAIkrH,EAAOd,GAAKW,EAAQC,IAAQ,EAAID,EAAO,IAAM,EAAIA,EAAO,IAAM,EAAIA,EAAO,KACnI,GAAI7iD,GAAQijD,GAASjjD,GAAQkjD,EACzB,OAAOf,GAAM16H,EAAKp1I,EAAGqtQ,EAAI7/G,SAASy3E,EAAIA,EAAKpsD,IAG/C,GADA81F,GAAMv5H,EAAKp1I,EAAG,GAAK6wQ,EAAQD,IAAS5wQ,GAAK,EACrC6wQ,EAAQD,EAAO,CACfjD,EAAKpB,GAAK0D,EAAKC,EAAK,GAAI52F,EAAK22F,EAAKrC,EAAKrB,GAAK4D,EAAK/pB,EAAK,GAAIntE,EAAKk3F,EAC/D,IAAIW,EAAMvE,GAAKkE,EAAKC,EAAM,GAC1B/B,GAAMv5H,EAAKp1I,EAAGqwQ,EAAM,KACpB1B,GAAMv5H,EAAKp1I,EAAI,EAAGuwQ,EAAM,GACxB5B,GAAMv5H,EAAKp1I,EAAI,GAAI2wQ,EAAO,GAC1B3wQ,GAAK,GACL,IAAShpB,EAAI,EAAGA,EAAI25R,IAAQ35R,EACxB23R,GAAMv5H,EAAKp1I,EAAI,EAAIhpB,EAAGy5R,EAAItE,GAAKn1R,KACnCgpB,GAAK,EAAI2wQ,EAET,IADA,IAAII,EAAO,CAACX,EAAME,GACTryO,EAAK,EAAGA,EAAK,IAAKA,EACvB,KAAI+yO,EAAOD,EAAK9yO,GAChB,IAASjnD,EAAI,EAAGA,EAAIg6R,EAAK95R,SAAUF,EAAG,CAClC,IAAIgkF,EAAgB,GAAVg2M,EAAKh6R,GACf23R,GAAMv5H,EAAKp1I,EAAG8wQ,EAAI91M,IAAOh7D,GAAKywQ,EAAIz1M,GAC9BA,EAAM,KACN2zM,GAAMv5H,EAAKp1I,EAAIgxQ,EAAKh6R,KAAO,EAAK,KAAMgpB,GAAKgxQ,EAAKh6R,KAAO,GAC/D,CANmB,CAQ3B,MAEI22R,EAAKd,GAAKvzF,EAAKqzF,GAAKiB,EAAKb,GAAK9zF,EAAK2zF,GAEvC,IAAS51R,EAAI,EAAGA,EAAIm2L,IAAMn2L,EACtB,GAAIg5R,EAAKh5R,GAAK,IAAK,CACXgkF,EAAOg1M,EAAKh5R,KAAO,GAAM,GAC7B43R,GAAQx5H,EAAKp1I,EAAG2tQ,EAAG3yM,EAAM,MAAOh7D,GAAKs5K,EAAGt+G,EAAM,KAC1CA,EAAM,IACN2zM,GAAMv5H,EAAKp1I,EAAIgwQ,EAAKh5R,KAAO,GAAM,IAAKgpB,GAAKisQ,GAAKjxM,IACpD,IAAIwgK,EAAgB,GAAVw0C,EAAKh5R,GACf43R,GAAQx5H,EAAKp1I,EAAG4tQ,EAAGpyC,IAAOx7N,GAAKi5K,EAAGuiD,GAC9BA,EAAM,IACNozC,GAAQx5H,EAAKp1I,EAAIgwQ,EAAKh5R,KAAO,EAAK,MAAOgpB,GAAKksQ,GAAK1wC,GAC3D,MAEIozC,GAAQx5H,EAAKp1I,EAAG2tQ,EAAGqC,EAAKh5R,KAAMgpB,GAAKs5K,EAAG02F,EAAKh5R,IAInD,OADA43R,GAAQx5H,EAAKp1I,EAAG2tQ,EAAG,MACZ3tQ,EAAIs5K,EAAG,IAClB,EAEI23F,GAAoB,IAAIjF,GAAI,CAAC,MAAO,OAAQ,OAAQ,OAAQ,OAAQ,QAAS,QAAS,QAAS,UAE/FjuO,GAAmB,IAAIyjO,GAAG,GAE1B0P,GAAO,SAAU7D,EAAK8D,EAAKC,EAAMC,EAAK/3D,EAAMsU,GAC5C,IAAIltN,EAAI2sQ,EAAIn2R,OACRwkB,EAAI,IAAI8lQ,GAAG6P,EAAM3wQ,EAAI,GAAK,EAAI9b,KAAKud,MAAMzB,EAAI,MAAS44M,GAEtDn+M,EAAIO,EAAE8xJ,SAAS6jH,EAAK31Q,EAAExkB,OAASoiO,GAC/BrqL,EAAM,EACV,IAAKkiP,GAAOzwQ,EAAI,EACZ,IAAK,IAAI1pB,EAAI,EAAGA,GAAK0pB,EAAG1pB,GAAK,MAAO,CAEhC,IAAI4G,EAAI5G,EAAI,MACR4G,EAAI8iB,EAEJuuB,EAAM6gP,GAAM30Q,EAAG8zB,EAAKo+O,EAAI7/G,SAASx2K,EAAG4G,KAIpCud,EAAEnkB,GAAK42O,EACP3+L,EAAM6gP,GAAM30Q,EAAG8zB,EAAKo+O,EAAI7/G,SAASx2K,EAAG0pB,IAE5C,KAEC,CAeD,IAdA,IAAIwqC,EAAM+lO,GAAIE,EAAM,GAChBx1Q,EAAIuvC,IAAQ,GAAIrqC,EAAU,KAANqqC,EACpBomO,GAAS,GAAKF,GAAQ,EAEtBtsR,EAAO,IAAIinR,GAAI,OAAQl0M,EAAO,IAAIk0M,GAAIuF,EAAQ,GAC9CC,EAAQ3sR,KAAKk1C,KAAKs3O,EAAO,GAAII,EAAQ,EAAID,EACzCE,EAAM,SAAUz6R,GAAK,OAAQq2R,EAAIr2R,GAAMq2R,EAAIr2R,EAAI,IAAMu6R,EAAUlE,EAAIr2R,EAAI,IAAMw6R,GAAUF,CAAO,EAG9FtB,EAAO,IAAIhE,GAAI,MAEflrG,EAAK,IAAIirG,GAAI,KAAMtrG,EAAK,IAAIsrG,GAAI,IAEhC2F,EAAO,EAAGjsH,EAAK,EAAU0nB,GAAPn2L,EAAI,EAAQ,GAAGi3L,EAAK,EAAGg3D,EAAK,EAC3CjuP,EAAI0pB,IAAK1pB,EAAG,CAEf,IAAI26R,EAAKF,EAAIz6R,GAET46R,EAAW,MAAJ56R,EAEP66R,EAAQh6M,EAAK85M,GAKjB,GAJA7sR,EAAK8sR,GAAQC,EACbh6M,EAAK85M,GAAMC,EAGP3jG,GAAMj3L,EAAG,CAET,IAAI86R,EAAMpxQ,EAAI1pB,EACd,IAAK06R,EAAO,KAAQvkG,EAAK,QAAU2kG,EAAM,IAAK,CAC1C7iP,EAAM8gP,GAAK1C,EAAKlyQ,EAAG,EAAG60Q,EAAMlvG,EAAIL,EAAIhb,EAAI0nB,EAAI83D,EAAIjuP,EAAIiuP,EAAIh2M,GACxDk+I,EAAKukG,EAAOjsH,EAAK,EAAGw/E,EAAKjuP,EACzB,IAAK,IAAIgtB,EAAI,EAAGA,EAAI,MAAOA,EACvB88J,EAAG98J,GAAK,EACZ,IAASA,EAAI,EAAGA,EAAI,KAAMA,EACtBy8J,EAAGz8J,GAAK,CAChB,CAEA,IAAIrD,EAAI,EAAGG,EAAI,EAAGixQ,EAAOlxQ,EAAGmxQ,EAAOJ,EAAOC,EAAS,MACnD,GAAIC,EAAM,GAAKH,GAAMF,EAAIz6R,EAAIg7R,GAMzB,IALA,IAAIC,EAAOrtR,KAAK+T,IAAIgD,EAAGm2Q,GAAO,EAC1BI,EAAOttR,KAAK+T,IAAI,MAAO3hB,GAGvBwiM,EAAK50L,KAAK+T,IAAI,IAAKm5Q,GAChBE,GAAOE,KAAUH,GAAQH,GAAQC,GAAO,CAC3C,GAAIxE,EAAIr2R,EAAI2pB,IAAM0sQ,EAAIr2R,EAAI2pB,EAAIqxQ,GAAM,CAEhC,IADA,IAAIt4F,EAAK,EACFA,EAAKF,GAAM6zF,EAAIr2R,EAAI0iM,IAAO2zF,EAAIr2R,EAAI0iM,EAAKs4F,KAAQt4F,GAEtD,GAAIA,EAAK/4K,EAAG,CAGR,GAFAA,EAAI+4K,EAAI54K,EAAIkxQ,EAERt4F,EAAKu4F,EACL,MAIJ,IAAIE,EAAMvtR,KAAK+T,IAAIq5Q,EAAKt4F,EAAK,GACzBtjB,EAAK,EACT,IAASpyJ,EAAI,EAAGA,EAAImuQ,IAAOnuQ,EAAG,CAC1B,IAAI8pK,EAAM92L,EAAIg7R,EAAMhuQ,EAAI,MAAS,MAE7Bu3G,EAAMuyD,EADAhpL,EAAKgpL,GACM,MAAS,MAC1BvyD,EAAK66C,IACLA,EAAK76C,EAAIs2J,EAAQ/jG,EACzB,CACJ,CACJ,CAGAkkG,IADAJ,EAAOC,IAAOA,EAAQ/sR,EAAK8sR,IACJ,MAAS,KACpC,CAGJ,GAAI9wQ,EAAG,CAGHkvQ,EAAK7iG,KAAQ,UAAak/F,GAAM1rQ,IAAM,GAAM2rQ,GAAMxrQ,GAClD,IAAIsxQ,EAAiB,GAAX/F,GAAM1rQ,GAAS0xQ,EAAiB,GAAX/F,GAAMxrQ,GACrC2kJ,GAAMwmH,GAAKmG,GAAOlG,GAAKmG,KACrBvxG,EAAG,IAAMsxG,KACT3xG,EAAG4xG,GACLpkG,EAAKj3L,EAAI2pB,IACP+wQ,CACN,MAEI1B,EAAK7iG,KAAQkgG,EAAIr2R,KACf8pL,EAAGusG,EAAIr2R,GAEjB,CACJ,CACAi4C,EAAM8gP,GAAK1C,EAAKlyQ,EAAGyyN,EAAKoiD,EAAMlvG,EAAIL,EAAIhb,EAAI0nB,EAAI83D,EAAIjuP,EAAIiuP,EAAIh2M,GAErD2+L,IACD3+L,EAAM6gP,GAAM30Q,EAAG8zB,EAAK8O,IAC5B,CACA,OAAOovO,GAAIzxQ,EAAG,EAAG21Q,EAAMnE,GAAKj+O,GAAOqqL,EACvC,EA2BIg5D,GAAQ,WACR,IAAInyQ,EAAI,EAAGnR,EAAI,EACf,MAAO,CACHgR,EAAG,SAAUc,GAIT,IAFA,IAAInF,EAAIwE,EAAGoH,EAAIvY,EACX2R,EAAIG,EAAE5pB,OACDF,EAAI,EAAGA,GAAK2pB,GAAI,CAErB,IADA,IAAI/iB,EAAIgH,KAAK+T,IAAI3hB,EAAI,KAAM2pB,GACpB3pB,EAAI4G,IAAK5G,EACDuwB,GAAX5L,GAAKmF,EAAE9pB,GACX2kB,GAAK,MAAO4L,GAAK,KACrB,CACApH,EAAIxE,EAAG3M,EAAIuY,CACf,EACAzG,EAAG,WAAc,OAASX,IAAM,GAAM,IAAU,IAAJnR,IAAY,EAAKA,IAAM,GAA0B,IAAd,IAAJmR,IAAY,GAAS,EAExG,EAGIoyQ,GAAO,SAAUlF,EAAKniO,EAAKmmO,EAAK/3D,EAAMt6K,GACtC,OAAOkyO,GAAK7D,EAAkB,MAAbniO,EAAI2pM,MAAgB,EAAI3pM,EAAI2pM,MAAkB,MAAX3pM,EAAIsnO,IAAc5tR,KAAKk1C,KAAuD,IAAlDl1C,KAAKC,IAAI,EAAGD,KAAK+T,IAAI,GAAI/T,KAAKod,IAAIqrQ,EAAIn2R,WAAoB,GAAKg0D,EAAIsnO,IAAMnB,EAAK/3D,GAAOt6K,EACzK,EA8HIyzO,GAAS,SAAU3xQ,EAAG9R,EAAGqW,GACzB,KAAOA,IAAKrW,EACR8R,EAAE9R,GAAKqW,EAAGA,KAAO,CACzB,EAkCIqtQ,GAAM,SAAU7xQ,EAAGnF,GACnB,IAAIi3Q,EAAKj3Q,EAAEm5O,MAAO37D,EAAW,GAANy5F,EAAU,EAAIA,EAAK,EAAI,EAAU,GAANA,EAAU,EAAI,EAChE9xQ,EAAE,GAAK,IAAKA,EAAE,GAAMq4K,GAAM,GAAMA,EAAM,GAAK,EAAIA,EAAM,EACzD,EAEI05F,GAAM,SAAU9xQ,GAChB,GAAmB,IAAP,GAAPA,EAAE,KAAkBA,EAAE,KAAO,EAAK,IAAOA,EAAE,IAAM,EAAIA,EAAE,IAAM,GAC9D,KAAM,oBACV,GAAW,GAAPA,EAAE,GACF,KAAM,sDACd,EA+WO,SAAS+xQ,GAASrlQ,EAAM6X,QACd,IAATA,IAAmBA,EAAO,CAAC,GAC/B,IAAIllB,EAAImyQ,KACRnyQ,EAAEH,EAAEwN,GACJ,IAAI1M,EAAIyxQ,GAAK/kQ,EAAM6X,EAAM,EAAG,GAC5B,OAAOqtP,GAAI5xQ,EAAGukB,GAAOotP,GAAO3xQ,EAAGA,EAAE5pB,OAAS,EAAGipB,EAAEW,KAAMA,CACzD,CA4EO,SAASgyQ,GAAWtlQ,EAAM4nI,GAC7B,OAAOg4H,IAAOwF,GAAIplQ,GAAOA,EAAKggJ,SAAS,GAAI,IAAKpY,EACpD,CCh0CO,IAAI29H,GAAgB,iBAClB,oBAAuB3uR,OAC1BA,OACA,oBAAuBwH,EAAAA,EACvBA,EAAAA,EACA,oBAAuBtT,KACvBA,KACAU,IAAAA,CAPqB,GCE3B,SAASg6R,KACHD,GAAavsP,SAA+C,mBAA7BusP,GAAavsP,QAAQxkB,KACtD+wQ,GAAavsP,QAAQxkB,IAAI3oB,MAAM05R,GAAavsP,QAASvvC,UAAAA,CAuBlD,IAAIuvC,GAAU,CACnBxkB,IAAKgxQ,GACLvsP,KArBF,SAAqBq5D,GACfizL,GAAavsP,UAC0B,mBAA9BusP,GAAavsP,QAAQC,KAC9BssP,GAAavsP,QAAQC,KAAKptC,MAAM05R,GAAavsP,QAASvvC,WAEtD+7R,GAAWz7R,KAAK,KAAMN,WAAAA,EAiB1BwnB,MAZF,SAAsBqhF,GAChBizL,GAAavsP,UAC2B,mBAA/BusP,GAAavsP,QAAQ/nB,MAC9Bs0Q,GAAavsP,QAAQ/nB,MAAMplB,MAAM05R,GAAavsP,QAASvvC,WAEvD+7R,GAAWlzL,GAAAA,GCWjB,SAAS1oE,GAASi3C,EAAK30E,EAAM2rC,GAAAA,IACvB20F,EAAM,IAAI7Q,eACd6Q,EAAInoC,KAAK,MAAOxjB,GAChB2rD,EAAI5Q,aAAe,OACnB4Q,EAAIhkF,OAAS,WACXipM,GAAOjlH,EAAIE,SAAUxgI,EAAM2rC,EAAAA,EAE7B20F,EAAIjQ,QAAU,WACZvjF,GAAQ/nB,MAAM,4BAEhBu7G,EAAIS,MAAAA,CAGN,SAASw4J,GAAY5kN,GAAAA,IACf2rD,EAAM,IAAI7Q,eAEd6Q,EAAInoC,KAAK,OAAQxjB,GAAAA,GAAK,IAEpB2rD,EAAIS,MACG78H,CAAP,MAAOA,GAAAA,CAAAA,OACFo8H,EAAIC,QAAU,KAAOD,EAAIC,QAAU,IAI5C,SAASpoG,GAAM11B,GAAAA,IAEXA,EAAK0R,cAAc,IAAIqlR,WAAW,SAoBf55L,CAnBnB,MAAO17F,IAAAA,IACH07F,EAAMn2F,SAASqsE,YAAY,eAC/B8pB,EAAI65L,eACF,YACA,EAEA/uR,OACA,EACA,EACA,EACA,GACA,OACA,GACA,GACA,EAEA,EACA,MAEFjI,EAAK0R,cAAcyrF,EAAAA,CAAAA,CAIvB,IClFI85L,GAAMv0F,GDkFNogD,GACFpmC,GAAQomC,SAEW,gCAAX76O,OAAAA,aAAAA,EAAAA,GAAAA,GAAAA,UAAuBA,SAAWy0M,GACtC,aAI2B,oBAAtBw6E,mBACL,aAAcA,kBAAkBh8R,UAChC,SAAgBu+C,EAAMl8C,EAAM2rC,GAAAA,IACtBwP,EAAMgkK,GAAQhkK,KAAOgkK,GAAQy6E,UAC7BnzQ,EAAIhd,SAAS1J,cAAc,KAC/BC,EAAOA,GAAQk8C,EAAKl8C,MAAQ,WAE5BymB,EAAEiX,SAAW19B,EACbymB,EAAEuS,IAAM,WAKY,iBAATkjB,GAETz1B,EAAE02B,KAAOjB,EACLz1B,EAAEytL,SAAW30E,SAAS20E,OACxBqlF,GAAY9yQ,EAAE02B,MACVzf,GAASwe,EAAMl8C,EAAM2rC,GACrBxT,GAAM1R,EAAIA,EAAEppB,OAAS,UAEzB86B,GAAM1R,KAIRA,EAAE02B,KAAOhC,EAAIC,gBAAgBc,GAC7B/3C,YAAW,WACTg3C,EAAIsqM,gBAAgBh/N,EAAE02B,KAAAA,GACrB,KACHh5C,YAAW,WACTg0B,GAAM1R,EAAAA,GACL,KAIT,qBAAsB9R,UACpB,SAAgBunC,EAAMl8C,EAAM2rC,GAAAA,GAC1B3rC,EAAOA,GAAQk8C,EAAKl8C,MAAQ,WAER,iBAATk8C,EAAAA,GACLq9O,GAAYr9O,GACdxe,GAASwe,EAAMl8C,EAAM2rC,OAChB,KACDllB,EAAIhd,SAAS1J,cAAc,KAC/B0mB,EAAE02B,KAAOjB,EACTz1B,EAAEppB,OAAS,SACX8G,YAAW,WACTg0B,GAAM1R,EAAAA,GAAAA,MAIV9R,UAAUmoC,iBAjIpB,SAAaZ,EAAMvQ,GAAAA,YAAAA,IACNA,EAAsBA,EAAO,CAAEkuP,SAAS,GAC1B,YAAhB/4H,EAAAA,GAAAA,GAAOn1H,KACdmB,GAAQC,KAAK,sDACbpB,EAAO,CAAEkuP,SAAUluP,IAMnBA,EAAKkuP,SACL,6EAA6E9xQ,KAC3Em0B,EAAKtoC,MAGA,IAAIsnC,KAAK,CAACryB,OAAO89E,aAAa,OAASzqD,GAAO,CAAEtoC,KAAMsoC,EAAKtoC,OAE7DsoC,CAAAA,CAjBT,CAiIyCA,EAAMvQ,GAAO3rC,EAAAA,EAIhD,SAAgBk8C,EAAMl8C,EAAM2rC,EAAMmuP,GAAAA,IAGhCA,EAAQA,GAAS3hM,KAAK,GAAI,aAExB2hM,EAAMrwR,SAASmG,MAAQkqR,EAAMrwR,SAAS4H,KAAK0oR,UACzC,kBAGgB,iBAAT79O,EAAmB,OAAOxe,GAASwe,EAAMl8C,EAAM2rC,GAAAA,IAEtDquP,EAAsB,6BAAd99O,EAAKtoC,KACbc,EACF,eAAeqT,KAAKo3L,GAAQ/8L,cAAgB+8L,GAAQ86E,OAClDC,EAAc,eAAenyQ,KAAKpT,UAAUC,WAAAA,IAG7CslR,GAAgBF,GAAStlR,IACJ,gCAAfgsH,WAAAA,aAAAA,EAAAA,GAAAA,GAAAA,aACP,KAEIy5J,EAAS,IAAIz5J,WACjBy5J,EAAOnuE,UAAY,eACbr3I,EAAMwlN,EAAOruR,OACjB6oE,EAAMulN,EACFvlN,EACAA,EAAIlsE,QAAQ,eAAgB,yBAC5BqxR,EAAOA,EAAMv6J,SAASpiF,KAAOw3B,EAC5B4qD,SAAW5qD,EAChBmlN,EAAQ,MAEVK,EAAOx5J,cAAczkF,EAAAA,KAChB,KACDf,EAAMgkK,GAAQhkK,KAAOgkK,GAAQy6E,UAC7BjlN,EAAMx5B,EAAIC,gBAAgBc,GAC1B49O,EAAOA,EAAMv6J,SAAW5qD,EACvB4qD,SAASpiF,KAAOw3B,EACrBmlN,EAAQ,KACR31R,YAAW,WACTg3C,EAAIsqM,gBAAgB9wK,EAAAA,GACnB,QEpLb,SAASylN,GAASC,GAAAA,IAaZC,EAZJD,EAAeA,GAAgB,QAC1BxqR,IAAK,EAGoB,KAA1BwqR,EAAa1wP,OAAO,KAEtB0wP,EAAeA,EAAa5uR,OAAO,EAAG,IA2JxC4uR,EAjJoB,CAClBE,UAAW,SACXC,aAAc,SACdC,KAAM,SACNC,WAAY,SACZC,MAAO,SACPC,MAAO,SACPC,OAAQ,SACRC,MAAO,SACPC,eAAgB,SAChBzhL,KAAM,SACN0hL,WAAY,SACZC,MAAO,SACPC,UAAW,SACXC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,MAAO,SACPC,eAAgB,SAChBC,SAAU,SACVC,QAAS,SACTC,KAAM,SACNC,SAAU,SACVC,SAAU,SACVC,cAAe,SACfC,SAAU,SACVC,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,eAAgB,SAChBC,WAAY,SACZC,WAAY,SACZC,QAAS,SACTC,WAAY,SACZC,aAAc,SACdC,cAAe,SACfC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,SAAU,SACVC,YAAa,SACbC,QAAS,SACTC,WAAY,SACZC,SAAU,SACVC,UAAW,SACXC,YAAa,SACbC,YAAa,SACbC,QAAS,SACTC,UAAW,SACXC,WAAY,SACZC,KAAM,SACNC,UAAW,SACXC,KAAM,SACNlkL,MAAO,SACPmkL,YAAa,SACbC,SAAU,SACVC,QAAS,SACTC,UAAW,SACXC,OAAQ,SACRC,MAAO,SACPC,MAAO,SACPC,SAAU,SACVC,cAAe,SACfC,UAAW,SACXC,aAAc,SACdC,UAAW,SACXC,WAAY,SACZC,UAAW,SACXC,qBAAsB,SACtBhjF,UAAW,SACXijF,WAAY,SACZC,UAAW,SACXC,YAAa,SACbC,cAAe,SACfC,aAAc,SACdC,eAAgB,SAChBC,eAAgB,SAChBC,eAAgB,SAChBC,YAAa,SACbC,KAAM,SACNC,UAAW,SACXC,MAAO,SACPC,QAAS,SACTC,OAAQ,SACRC,iBAAkB,SAClBC,WAAY,SACZC,aAAc,SACdC,aAAc,SACdC,eAAgB,SAChBC,gBAAiB,SACjBC,kBAAmB,SACnBC,gBAAiB,SACjBC,gBAAiB,SACjBC,aAAc,SACdC,UAAW,SACXC,UAAW,SACXC,SAAU,SACVC,YAAa,SACbC,KAAM,SACNC,QAAS,SACTC,MAAO,SACPC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,cAAe,SACfC,UAAW,SACXC,cAAe,SACfC,cAAe,SACfC,WAAY,SACZC,UAAW,SACXC,KAAM,SACNC,KAAM,SACNC,KAAM,SACNC,WAAY,SACZC,OAAQ,SACR9nL,IAAK,SACL+nL,UAAW,SACXC,UAAW,SACXC,YAAa,SACbC,OAAQ,SACRC,WAAY,SACZC,SAAU,SACVC,SAAU,SACVC,OAAQ,SACRC,OAAQ,SACRC,QAAS,SACTC,UAAW,SACXC,UAAW,SACXC,KAAM,SACNC,YAAa,SACbC,UAAW,SACX3oN,IAAK,SACL4oN,KAAM,SACNC,QAAS,SACTC,OAAQ,SACRC,UAAW,SACXC,OAAQ,SACRC,UAAW,SACXC,MAAO,SACPC,MAAO,SACPC,WAAY,SACZC,OAAQ,SACRC,YAAa,UArJf3I,GADAA,EAAeA,EAAa5xR,QAAQ,KAAM,KACdmB,gBAuJkBywR,EAAAA,IAAAA,IAG1C4I,EAAa,CACf,CACEz/M,GAAI,+CACJ0/M,QAAS,CAAC,oBAAqB,oBAC/B7+F,QAAS,SAASw9C,GAAAA,MACT,CAACvlO,SAASulO,EAAK,IAAKvlO,SAASulO,EAAK,IAAKvlO,SAASulO,EAAK,OAGhE,CACEr+J,GAAI,0BACJ0/M,QAAS,CAAC,UAAW,UACrB7+F,QAAS,SAASw9C,GAAAA,MACT,CACLvlO,SAASulO,EAAK,GAAI,IAClBvlO,SAASulO,EAAK,GAAI,IAClBvlO,SAASulO,EAAK,GAAI,OAIxB,CACEr+J,GAAI,0BACJ0/M,QAAS,CAAC,OAAQ,OAClB7+F,QAAS,SAASw9C,GAAAA,MACT,CACLvlO,SAASulO,EAAK,GAAKA,EAAK,GAAI,IAC5BvlO,SAASulO,EAAK,GAAKA,EAAK,GAAI,IAC5BvlO,SAASulO,EAAK,GAAKA,EAAK,GAAI,QAO3BvkP,EAAI,EAAGA,EAAI2lS,EAAWzlS,OAAQF,IAAK,KACtCkmF,EAAKy/M,EAAW3lS,GAAGkmF,GACnB2/M,EAAYF,EAAW3lS,GAAG+mM,QAC1Bw9C,EAAOr+J,EAAG7X,KAAK0uN,GACfx4C,IACFy4C,EAAW6I,EAAUthD,GAAAA,KAChBl6O,EAAI2yR,EAAS,QACbvsQ,EAAIusQ,EAAS,QACbhlR,EAAIglR,EAAS,QACbzqR,IAAK,QAKTlI,EAAIrI,KAAKqI,EAAI,GAAKqZ,MAAM1hB,KAAKqI,GAAK,EAAIrI,KAAKqI,EAAI,IAAM,IAAMrI,KAAKqI,EAAAA,KAChEomB,EAAIzuB,KAAKyuB,EAAI,GAAK/M,MAAM1hB,KAAKyuB,GAAK,EAAIzuB,KAAKyuB,EAAI,IAAM,IAAMzuB,KAAKyuB,EAAAA,KAChEzY,EAAIhW,KAAKgW,EAAI,GAAK0L,MAAM1hB,KAAKgW,GAAK,EAAIhW,KAAKgW,EAAI,IAAM,IAAMhW,KAAKgW,EAAAA,KAGhE8tR,MAAQ,iBACJ,OAAS9jS,KAAKqI,EAAI,KAAOrI,KAAKyuB,EAAI,KAAOzuB,KAAKgW,EAAI,UAEtDs2D,MAAQ,eACPjkE,EAAIrI,KAAKqI,EAAEmgB,SAAS,IACpBiG,EAAIzuB,KAAKyuB,EAAEjG,SAAS,IACpBxS,EAAIhW,KAAKgW,EAAEwS,SAAS,WACR,GAAZngB,EAAEnK,SAAamK,EAAI,IAAMA,GACb,GAAZomB,EAAEvwB,SAAauwB,EAAI,IAAMA,GACb,GAAZzY,EAAE9X,SAAa8X,EAAI,IAAMA,GACtB,IAAM3N,EAAIomB,EAAIzY,CAAAA,CAAAA,CChOzB,SAAS+tR,GAASryR,EAAGzF,GAAAA,IACfkb,EAAIzV,EAAE,GACRsE,EAAItE,EAAE,GACNmW,EAAInW,EAAE,GACNoW,EAAIpW,EAAE,GAERyV,EAAIwgK,GAAGxgK,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,GAAI,GAAI,WAC7B6b,EAAI6/J,GAAG7/J,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,IAAK,WAC9B4b,EAAI8/J,GAAG9/J,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,GAAI,GAAI,WAC7B+J,EAAI2xK,GAAG3xK,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,IAAK,YAC9Bkb,EAAIwgK,GAAGxgK,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,GAAI,GAAI,WAC7B6b,EAAI6/J,GAAG7/J,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,GAAI,YAC7B4b,EAAI8/J,GAAG9/J,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,GAAI,IAAK,YAC9B+J,EAAI2xK,GAAG3xK,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,IAAK,UAC9Bkb,EAAIwgK,GAAGxgK,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,GAAI,EAAG,YAC5B6b,EAAI6/J,GAAG7/J,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,IAAK,YAC9B4b,EAAI8/J,GAAG9/J,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,IAAK,IAAK,OAC/B+J,EAAI2xK,GAAG3xK,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,IAAK,IAAK,YAC/Bkb,EAAIwgK,GAAGxgK,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,IAAK,EAAG,YAC7B6b,EAAI6/J,GAAG7/J,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,IAAK,IAAK,UAC/B4b,EAAI8/J,GAAG9/J,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,IAAK,IAAK,YAG/Bkb,EAAIkmI,GAAGlmI,EAFPnR,EAAI2xK,GAAG3xK,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,IAAK,GAAI,YAEjB4b,EAAGC,EAAG7b,EAAE,GAAI,GAAI,WAC7B6b,EAAIulI,GAAGvlI,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,GAAI,YAC7B4b,EAAIwlI,GAAGxlI,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,IAAK,GAAI,WAC9B+J,EAAIq3I,GAAGr3I,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,IAAK,WAC9Bkb,EAAIkmI,GAAGlmI,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,GAAI,GAAI,WAC7B6b,EAAIulI,GAAGvlI,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,IAAK,EAAG,UAC7B4b,EAAIwlI,GAAGxlI,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,IAAK,IAAK,WAC/B+J,EAAIq3I,GAAGr3I,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,IAAK,WAC9Bkb,EAAIkmI,GAAGlmI,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,GAAI,EAAG,WAC5B6b,EAAIulI,GAAGvlI,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,IAAK,GAAI,YAC9B4b,EAAIwlI,GAAGxlI,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,GAAI,IAAK,WAC9B+J,EAAIq3I,GAAGr3I,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,GAAI,YAC7Bkb,EAAIkmI,GAAGlmI,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,IAAK,GAAI,YAC9B6b,EAAIulI,GAAGvlI,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,GAAI,UAC7B4b,EAAIwlI,GAAGxlI,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,GAAI,GAAI,YAG7Bkb,EAAI+zH,GAAG/zH,EAFPnR,EAAIq3I,GAAGr3I,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,IAAK,IAAK,YAElB4b,EAAGC,EAAG7b,EAAE,GAAI,GAAI,QAC7B6b,EAAIozH,GAAGpzH,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,IAAK,YAC9B4b,EAAIqzH,GAAGrzH,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,IAAK,GAAI,YAC9B+J,EAAIklI,GAAGllI,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,IAAK,IAAK,UAC/Bkb,EAAI+zH,GAAG/zH,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,GAAI,GAAI,YAC7B6b,EAAIozH,GAAGpzH,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,GAAI,YAC7B4b,EAAIqzH,GAAGrzH,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,GAAI,IAAK,WAC9B+J,EAAIklI,GAAGllI,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,IAAK,IAAK,YAC/Bkb,EAAI+zH,GAAG/zH,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,IAAK,EAAG,WAC7B6b,EAAIozH,GAAGpzH,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,IAAK,WAC9B4b,EAAIqzH,GAAGrzH,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,GAAI,IAAK,WAC9B+J,EAAIklI,GAAGllI,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,GAAI,UAC7Bkb,EAAI+zH,GAAG/zH,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,GAAI,GAAI,WAC7B6b,EAAIozH,GAAGpzH,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,IAAK,IAAK,WAC/B4b,EAAIqzH,GAAGrzH,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,IAAK,GAAI,WAG9Bkb,EAAI25H,GAAG35H,EAFPnR,EAAIklI,GAAGllI,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,IAAK,WAEjB4b,EAAGC,EAAG7b,EAAE,GAAI,GAAI,WAC7B6b,EAAIg5H,GAAGh5H,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,GAAI,YAC7B4b,EAAIi5H,GAAGj5H,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,IAAK,IAAK,YAC/B+J,EAAI8qI,GAAG9qI,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,IAAK,UAC9Bkb,EAAI25H,GAAG35H,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,IAAK,EAAG,YAC7B6b,EAAIg5H,GAAGh5H,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,GAAI,IAAK,YAC9B4b,EAAIi5H,GAAGj5H,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,IAAK,IAAK,SAC/B+J,EAAI8qI,GAAG9qI,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,IAAK,YAC9Bkb,EAAI25H,GAAG35H,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,GAAI,EAAG,YAC5B6b,EAAIg5H,GAAGh5H,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,IAAK,IAAK,UAC/B4b,EAAIi5H,GAAGj5H,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,GAAI,IAAK,YAC9B+J,EAAI8qI,GAAG9qI,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,IAAK,GAAI,YAC9Bkb,EAAI25H,GAAG35H,EAAGnR,EAAG6R,EAAGC,EAAG7b,EAAE,GAAI,GAAI,WAC7B6b,EAAIg5H,GAAGh5H,EAAGX,EAAGnR,EAAG6R,EAAG5b,EAAE,IAAK,IAAK,YAC/B4b,EAAIi5H,GAAGj5H,EAAGC,EAAGX,EAAGnR,EAAG/J,EAAE,GAAI,GAAI,WAC7B+J,EAAI8qI,GAAG9qI,EAAG6R,EAAGC,EAAGX,EAAGlb,EAAE,GAAI,IAAK,WAE9ByF,EAAE,GAAKsyR,GAAM78Q,EAAGzV,EAAE,IAClBA,EAAE,GAAKsyR,GAAMhuR,EAAGtE,EAAE,IAClBA,EAAE,GAAKsyR,GAAMn8Q,EAAGnW,EAAE,IAClBA,EAAE,GAAKsyR,GAAMl8Q,EAAGpW,EAAE,IAGpB,SAASuyR,GAAIvhP,EAAGv7B,EAAGnR,EAAGtE,EAAGgW,EAAGrT,GAAAA,OAC1B8S,EAAI68Q,GAAMA,GAAM78Q,EAAGu7B,GAAIshP,GAAMtyR,EAAG2C,IACzB2vR,GAAO78Q,GAAKO,EAAMP,IAAO,GAAKO,EAAK1R,EAAAA,CAG5C,SAAS2xK,GAAGxgK,EAAGnR,EAAG6R,EAAGC,EAAGpW,EAAGgW,EAAGrT,GAAAA,OACrB4vR,GAAKjuR,EAAI6R,GAAO7R,EAAI8R,EAAIX,EAAGnR,EAAGtE,EAAGgW,EAAGrT,EAAAA,CAG7C,SAASg5I,GAAGlmI,EAAGnR,EAAG6R,EAAGC,EAAGpW,EAAGgW,EAAGrT,GAAAA,OACrB4vR,GAAKjuR,EAAI8R,EAAMD,GAAKC,EAAIX,EAAGnR,EAAGtE,EAAGgW,EAAGrT,EAAAA,CAG7C,SAAS6mI,GAAG/zH,EAAGnR,EAAG6R,EAAGC,EAAGpW,EAAGgW,EAAGrT,GAAAA,OACrB4vR,GAAIjuR,EAAI6R,EAAIC,EAAGX,EAAGnR,EAAGtE,EAAGgW,EAAGrT,EAAAA,CAGpC,SAASysI,GAAG35H,EAAGnR,EAAG6R,EAAGC,EAAGpW,EAAGgW,EAAGrT,GAAAA,OACrB4vR,GAAIp8Q,GAAK7R,GAAK8R,GAAIX,EAAGnR,EAAGtE,EAAGgW,EAAGrT,EAAAA,CAGvC,SAAS6vR,GAAKx8Q,GAAAA,IAIV1pB,EAFE2kB,EAAI+E,EAAExpB,OACR8I,EAAQ,CAAC,YAAa,WAAY,WAAY,eAE3ChJ,EAAI,GAAIA,GAAK0pB,EAAExpB,OAAQF,GAAK,GAC/B+lS,GAAS/8R,EAAOm9R,GAAOz8Q,EAAE4B,UAAUtrB,EAAI,GAAIA,KAE7C0pB,EAAIA,EAAE4B,UAAUtrB,EAAI,QAChB27L,EAAO,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,OACpD37L,EAAI,EAAGA,EAAI0pB,EAAExpB,OAAQF,IACxB27L,EAAK37L,GAAK,IAAM0pB,EAAEs/E,WAAWhpG,KAAOA,EAAI,GAAK,MAC/C27L,EAAK37L,GAAK,IAAM,MAASA,EAAI,GAAK,GAC9BA,EAAI,GAAI,IACV+lS,GAAS/8R,EAAO2yL,GACX37L,EAAI,EAAGA,EAAI,GAAIA,IAAK27L,EAAK37L,GAAK,SAErC27L,EAAK,IAAU,EAAJh3K,EACXohR,GAAS/8R,EAAO2yL,GACT3yL,CAAAA,CAkBT,SAASm9R,GAAOz8Q,GAAAA,IAGZ1pB,EADEomS,EAAU,OAETpmS,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBomS,EAAQpmS,GAAK,GACX0pB,EAAEs/E,WAAWhpG,IACZ0pB,EAAEs/E,WAAWhpG,EAAI,IAAM,IACvB0pB,EAAEs/E,WAAWhpG,EAAI,IAAM,KACvB0pB,EAAEs/E,WAAWhpG,EAAI,IAAM,WAErBomS,CAAAA,CF1JPhK,GAAOL,GAAaK,KAAKh0R,KAAK2zR,IAC9Bl0F,GAAOk0F,GAAal0F,KAAKz/L,KAAK2zR,IE4JhC,IAAIsK,GAAU,mBAAmB7yR,MAAM,IAEvC,SAAS8yR,GAAK3hR,GAAAA,IAAAA,IACR+E,EAAI,GACNsD,EAAI,EACCA,EAAI,EAAGA,IACZtD,GAAK28Q,GAAS1hR,GAAU,EAAJqI,EAAQ,EAAM,IAAQq5Q,GAAS1hR,GAAU,EAAJqI,EAAU,WAC9DtD,CAAAA,CAST,SAAS68Q,GAAmB5hR,GAAAA,OACnB4G,OAAO89E,cACP,IAAJ1kF,IAAa,GACT,MAAJA,IAAe,GACX,SAAJA,IAAiB,IACb,WAAJA,IAAmB,IAUxB,SAAS6hR,GAAO98Q,GAAAA,OACMw8Q,GAAKx8Q,GALhBhb,IAAI63R,IAAoBj1R,KAAK,IAaxC,IAAIm1R,GAA2B,oCA9B/B,SAAa/yR,GAAAA,IACN,IAAI1T,EAAI,EAAGA,EAAI0T,EAAExT,OAAQF,IAAK0T,EAAE1T,GAAKsmS,GAAK5yR,EAAE1T,IAAAA,OAC1C0T,EAAEpC,KAAK,IAFhB,CA2Ba40R,GAGM,UAEnB,SAASF,GAAM78Q,EAAGnR,GAAAA,GACZyuR,GAAU,KAKRC,GAAW,MAAJv9Q,IAAmB,MAAJnR,GAAAA,OACjBmR,GAAK,KAAOnR,GAAK,KAAO0uR,GAAO,KACzB,GAAa,MAANA,CAAAA,CAAAA,OAOdv9Q,EAAInR,EAAK,WCrMrB,SAAS2uR,GAAIvmS,EAAKo2B,GAAAA,IACZowQ,EAASC,EAdC/9L,EAAKkiL,EAAAA,GAef5qR,IAAQwmS,EAAS,SACf34R,GAhBQ66F,EAgBG1oG,EAhBE4qR,EAgB+B,GAA1B,IAAM5qR,EAAIF,QAAW,GAftC,IAAIiC,MAAM6oR,EAAM,GAAG15Q,KAAKw3F,IAgBzB9/F,EAAQ,GACHhJ,EAAI,EAAGA,EAAI,IAAKA,IACvBgJ,EAAMhJ,GAAKA,EAAAA,IAETgtB,EAAI,MACChtB,EAAI,EAAGA,EAAI,IAAKA,IAAK,KACxBqW,EAAIrN,EAAMhJ,GACdgtB,GAAKA,EAAI3W,EAAIpI,EAAE+6F,WAAWhpG,IAAM,IAChCgJ,EAAMhJ,GAAKgJ,EAAMgkB,GACjBhkB,EAAMgkB,GAAK3W,CAAAA,CAEbuwR,EAAUxmS,EACVymS,EAAY79R,CAAAA,MAEZA,EAAQ69R,EAAAA,IAEN3mS,EAASs2B,EAAKt2B,OACdipB,EAAI,EACJnR,EAAI,EACJomJ,EAAM,OACDp+J,EAAI,EAAGA,EAAIE,EAAQF,IAG1BgY,GAAKA,GADL3B,EAAIrN,EADJmgB,GAAKA,EAAI,GAAK,OAEA,IACdngB,EAAMmgB,GAAKngB,EAAMgP,GACjBhP,EAAMgP,GAAK3B,EACXpI,EAAIjF,GAAOA,EAAMmgB,GAAKngB,EAAMgP,IAAM,KAClComJ,GAAO7yI,OAAO89E,aAAa7yE,EAAKwyE,WAAWhpG,GAAKiO,GAAAA,OAE3CmwJ,CAAAA,CCxCT,IAAI0oI,GAAoB,CACtBC,MAAO,EACPC,OAAQ,EACRxyR,KAAM,iBACS,IAgBjB,SAASyyR,GAAYC,EAAaC,EAAcC,EAAeC,GAAAA,KACxDh5Q,EAAI,OACJhkB,EAAI,MAGLi9R,EAAa,IACjBJ,EAAYhhS,SAAQ,SAASqhS,GAAAA,QAAAA,IAChBT,GAAkBS,KAAAA,MACrB,IAAIh4R,MAAM,uBAAyBg4R,GAE3CD,GAAcR,GAAkBS,EAAAA,IAAAA,KAI7Bz2R,QACH,yEAEE02R,GAAsBL,EAAenlS,KAAK8O,SAAS3C,OAAO,EAAG,IAC7Ds5R,GAAuBL,EAAgBplS,KAAK8O,SAAS3C,OAAO,EAAG,SAE9D9B,EAAIrK,KAAK0lS,qBAAqBF,EAAoBC,GAAAA,KAClD/0Q,IAA2B,GAAP,IAAb40Q,IAAAA,KACPK,cAAgBnB,GACnBgB,EACExlS,KAAKqK,EACLrK,KAAK4lS,aAAa5lS,KAAK0wB,GACvB1wB,KAAK6lS,WAAWR,IAClBl5R,OAAO,EAAG,QACPu1C,EAAIijP,GAAI3kS,KAAK2lS,cAAe3lS,KAAK8O,QAAAA,CC1DxC,SAASg3R,GAAUh/L,GAAAA,GAEb,mBAAmBr+E,KAAKq+E,GAAAA,MAEpB,IAAIv5F,MACR,4BAA8Bu5F,EAAM,2CAGpCt6F,EAAS,GACXu5R,EAAYj/L,EAAI5oG,OACTF,EAAI,EAAGA,EAAI+nS,EAAW/nS,IAAK,KAC9Bu/K,EAAWz2E,EAAIE,WAAWhpG,GAuB5BwO,GArBA+wK,EAAW,IACE,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,KAAbA,GACa,MAAbA,GACa,MAAbA,GACAA,EAAW,IASD,KAFS,IADNA,EAAS/0J,SAAS,KACE9J,OAAO,GAK9BooF,EAAI9oG,EAAAA,CAAAA,OAGXwO,CAAAA,CC3BT,SAASw5R,GAAO1iS,GAAAA,GACS,YAAnBk+J,EAAAA,GAAAA,GAAOl+J,GAAAA,MACH,IAAIiK,MACR,kEAGA04R,EAAS,CAAC,EAAD,KAERp4E,UAAY,SAASk1C,EAAO7mP,EAAU8yD,GAAAA,GACzCA,EAAOA,IAAAA,EAEY,iBAAV+zL,GACa,mBAAb7mP,GACS,kBAAT8yD,EAAAA,MAED,IAAIzhE,MACR,+DAIC04R,EAAO3nS,eAAeykQ,KACzBkjC,EAAOljC,GAAS,CAAC,GAAD,IAGdr0K,EAAQ9iF,KAAKyd,SAASb,SAAS,WACnCy9Q,EAAOljC,GAAOr0K,GAAS,CAACxyE,IAAY8yD,GAE7B0f,CAAAA,EAAAA,KAGJ49H,YAAc,SAAS59H,GAAAA,IACrB,IAAIq0K,KAASkjC,EAAAA,GACZA,EAAOljC,GAAOr0K,GAAAA,cACTu3M,EAAOljC,GAAOr0K,GACqB,IAAtC7wF,OAAO8M,KAAKs7R,EAAOljC,IAAQ7kQ,eACtB+nS,EAAOljC,IAAAA,EAET,QAGJ,OAGJmjC,QAAU,SAASnjC,GAAAA,GAClBkjC,EAAO3nS,eAAeykQ,GAAQ,KAC5B7iQ,EAAOC,MAAM9B,UAAUqgB,MAAMngB,KAAKN,UAAW,GAC/C02G,EAAS,OAEN,IAAIjmB,KAASu3M,EAAOljC,GAAQ,KAC3B/9O,EAAMihR,EAAOljC,GAAOr0K,GAAAA,IAEtB1pE,EAAI,GAAG3kB,MAAMiD,EAASpD,EAG4BimS,CAFlD,MAAOA,GACHpM,GAAavsP,SACfA,GAAQ/nB,MAAM,qBAAsB0gR,EAAGv2R,QAASu2R,EAAAA,CAGhDnhR,EAAI,IAAI2vF,EAAO1xG,KAAKyrF,EAAAA,CAEtBimB,EAAOz2G,QAAQy2G,EAAOzwG,QAAQlE,KAAKssN,YAAAA,CAAAA,EAAAA,KAItC85E,UAAY,kBACRH,CAAAA,CAAAA,CAIX,SAASI,GAAO/pN,GAAAA,KACRt8E,gBAAgBqmS,IAAAA,OACb,IAAIA,GAAO/pN,GAAAA,IAWhB/nE,EAAY,yBAAyB/C,MAAM,SAC1C,IAAIwV,KAAKs1D,EACRA,EAAWh+E,eAAe0oB,IAAMzS,EAAUxL,QAAQie,IAAM,SACrDA,GAAKs1D,EAAWt1D,IAAAA,KAOpBza,GAAK,QAKL+5R,cAAgB,EAoBvB,SAASpyN,GAAQqyN,EAAQp1N,GAAAA,KAClBo1N,OAASA,EAAAA,KACTp1N,OAASA,EAAAA,KAET5kE,GAAK,QACL+5R,cAAgB,EAGvB,SAASE,GAAelyR,EAAMmyR,EAAQxqQ,EAAQsqQ,EAAQp1N,GAAAA,KAC9CnxE,gBAAgBwmS,IAAAA,OACb,IAAIA,GAAelyR,EAAMmyR,EAAQxqQ,EAAQsqQ,EAAQp1N,GAAAA,KAIrD78D,KAAgB,UAATA,EAAmB,EAAI,OAC9BmyR,OAASA,EAAAA,KACTxqQ,OAASA,EAEdi4C,GAAQ31E,KAAKyB,KAAMumS,EAAQp1N,EAAAA,CAG7B,SAASu1N,GAAcC,EAAaC,EAAOC,EAAON,EAAQp1N,GAAAA,KAClDnxE,gBAAgB0mS,IAAAA,OACb,IAAIA,GAAcC,EAAaC,EAAOC,EAAON,EAAQp1N,GAAAA,KAGzDw1N,YAAcA,EAAAA,KACdC,MAAQA,EAAAA,KACRC,MAAQA,EAAAA,KAERC,OAAS,QAETC,WAAa,EAElB7yN,GAAQ31E,KAAKyB,KAAMumS,EAAQp1N,EAAAA,CAsC7B,SAAS61N,GAAMrzR,GAAAA,IAOTszR,EANAjvQ,EAAsC,iBAAjB/5B,UAAU,GAAkBA,UAAU,GAAK,IAChE48C,EAAO58C,UAAU,GACjB8nC,EAAS9nC,UAAU,GACnBipS,EAAcjpS,UAAU,GACxBkpS,EAAU,GACVC,EAAW,EAEXC,EAAiB,GACjBC,EAAuB,IACvBC,EAAoB,KAID,YAAnB/lI,EAAAA,GAAAA,GAFJ7tJ,EAAUA,GAAW,CAAC,KAGpBqkB,EAAcrkB,EAAQqkB,YACtB6iB,EAAOlnC,EAAQknC,MAAQA,EACvB9U,EAASpyB,EAAQoyB,QAAUA,EAC3BmhQ,EAAcvzR,EAAQ6zR,UAAY7zR,EAAQuzR,aAAeA,EAE/B,QAD1BK,EAAoB5zR,EAAQ8zR,YAAc,QAExCF,EAAkBpC,aAAeoC,EAAkBpC,cAAgB,GACnEoC,EAAkBnC,cAAgBmC,EAAkBnC,eAAiB,GACrEmC,EAAkBG,gBAChBH,EAAkBG,iBAAmB,IAEzCN,EAC8B,iBAArBzzR,EAAQyzR,SAAwBx7R,KAAKgW,IAAIjO,EAAQyzR,UAAY,WAC3DzzR,EAAQszR,YACjBA,EAAYtzR,EAAQszR,gBAAAA,IAEXtzR,EAAQ0zR,iBACjBA,EAAiB1zR,EAAQ0zR,gBAE3BC,EAAuB3zR,EAAQ2zR,sBAAwB,KAGzDH,EACExzR,EAAQwzR,WAAY,IAAAD,EAAuB,CAAC,eAAiBC,GAE/DtsP,EAAOA,GAAQ,KACf7iB,GAAe,IAAMA,GAAe,MAAM1tB,cAAAA,IACtCq9R,EAAmBh0R,EAAQg0R,mBAAoB,EAC/CC,EAAY,CAAC,EAEbC,EAAM,CACR5xR,SAAU,CAAC,EACX6xR,YAAa,CAAC,GAGhBD,EAAIC,YAAY9B,OAASA,GAAAA,IAErB+B,EAAa,MACbC,EAAiBH,EAAIC,YAAYE,cAAgB,kBAC5CD,CAAAA,EAGTF,EAAIC,YAAYG,cAAgB,SAASpmS,GACvCkmS,EAAalmS,CAAAA,EAAAA,IAIXqmS,EAAc,CAChBC,GAAI,CAAC,QAAS,SACd5yL,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,OAAQ,SACbmV,GAAI,CAAC,OAAQ,QACbw9K,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,MAAO,QACZC,GAAI,CAAC,OAAQ,OACbC,IAAK,CAAC,KAAM,QACZC,GAAI,CAAC,QAAS,SACdh+K,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdg+K,GAAI,CAAC,QAAS,SACd99K,GAAI,CAAC,OAAQ,SACbmwI,GAAI,CAAC,MAAO,QACZ4tC,GAAI,CAAC,OAAQ,OACbC,GAAI,CAAC,OAAQ,QACbhlB,GAAI,CAAC,OAAQ,QACbilB,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbC,GAAI,CAAC,QAAS,SACd12L,GAAI,CAAC,QAAS,SACdC,GAAI,CAAC,QAAS,SACdE,GAAI,CAAC,OAAQ,SACbw2L,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,GAAI,CAAC,OAAQ,QACbC,IAAK,CAAC,MAAO,QACbtpG,GAAI,CAAC,OAAQ,QACbxzD,OAAQ,CAAC,IAAK,yBACO,CAAC,IAAK,KAC3B+8J,MAAO,CAAC,IAAK,qBACG,CAAC,IAAK,KACtBC,OAAQ,CAAC,KAAM,KACfC,QAAS,CAAC,IAAK,oBACA,CAAC,IAAK,MAGvB7B,EAAIC,YAAY6B,eAAiB,kBACxBzB,CAAAA,EAAAA,IAGL0B,EAAiB/B,EAAIC,YAAY8B,cAAgB,SAAS/nS,GAAAA,OACrDqmS,EAAYrmS,EAAAA,EAGrBkkC,EAASA,GAAU,SAEf8jQ,EAAU,CACZC,OAAQ,SACRC,SAAU,YAERC,EAAUH,EAAQC,OAAAA,SAEbG,IAAAA,KAIFC,oBACL9tI,EACE,IAAIrrF,GACFo5N,GACA,EACA,GACCA,GACD,EACAC,KAAkBD,IAClB3hR,WAAa,YAEZ6hR,YAAYrqS,KAAK6lE,cAAgBskO,IAItC7C,EAAuB,IAEvB0C,EAAUH,EAAQE,QAAAA,CAAAA,SAGXO,IAAAA,KACFC,uBACLjD,EAAuB,IACvB0C,EAAUH,EAAQC,MAAAA,CAAAA,IAUhBU,EAAiC3C,EAAIC,YAAY0C,8BAAgC,SACnF5+K,EACAr5F,GAAAA,GAGgB,QAAbq5F,GAAqC,UAAdr5F,GACV,QAAbq5F,GAAqC,KAAdr5F,GACV,UAAbq5F,GAAuC,UAAdr5F,GACZ,QAAbq5F,GAAqC,UAAdr5F,EAAAA,MAElB,IAAIhlB,MAAM,0DAEdglB,IACFq5F,EACgB,KAAdr5F,GAAoC,WAAfA,EACH,WAAdq5F,EACE,SACA,SACa,KAAdr5F,GAAoC,SAAfA,GACR,WAAdq5F,GAEe,KAAdr5F,EAAoB,OAASA,GAAc,GAAKq5F,EADjD,QAGDA,CAAAA,EA6BTi8K,EAAIoC,YAAc,SAASl4R,GAAAA,IACrB04R,EAAWT,IAAYH,EAAQC,OAAAA,OAE/BW,GACFR,EAAY1rS,KAAKyB,MAGC,mBAAT+R,IAIXA,EAAK/R,MAEDyqS,GACFH,EAAU/rS,KAAKyB,OANRA,IAAAA,EAqBX6nS,EAAIyC,UAAY,SAASv4R,GAAAA,IACnB04R,EAAWT,IAAYH,EAAQE,SAAAA,OAE/BU,GACFH,EAAU/rS,KAAKyB,MAGG,mBAAT+R,IAIXA,EAAK/R,MAEDyqS,GACFR,EAAY1rS,KAAKyB,OANVA,IAAAA,EAiBX6nS,EAAI6C,cAAgB,kBACXV,IAAYH,EAAQE,QAAAA,EAAAA,IAyBzBY,EAtBAC,EAAsB,SAASp7F,GAAAA,GAC7Bw6F,IAAYH,EAAQE,SAAU,MAC1B,IAAIx8R,MACRiiM,EAAAA,mFAAAA,EAOFq7F,EAAoBhD,EAAIgD,iBAAmBhD,EAAIC,YAAY+C,iBAAmB,SAChFznS,EACA0nS,GAAAA,IAEIC,EAAe9D,GAAa6D,EAAAA,GAC5BppR,MAAMte,IAAWse,MAAMqpR,GAAAA,MACnB,IAAIx9R,MAAM,4DAEXnK,EAAOmpC,QAAQw+P,GAAc5hS,QAAQ,MAAO,KAMnDwhS,EAAM9C,EAAI8C,IAAM9C,EAAIC,YAAY6C,IADJ,iBAAnBtD,EAC6B,SAASjkS,GAAAA,GACzCse,MAAMte,GAAAA,MACF,IAAImK,MAAM,+CAEXs9R,EAAiBznS,EAAQikS,EAAAA,EAEN,UAAnBA,EAC6B,SAASjkS,GAAAA,GACzCse,MAAMte,GAAAA,MACF,IAAImK,MAAM,+CAGTs9R,EAAiBznS,EADtBA,GAAU,GAAKA,EAAS,EACM,GAEA,IAIE,SAASA,GAAAA,GACzCse,MAAMte,GAAAA,MACF,IAAImK,MAAM,+CAEXs9R,EAAiBznS,EAAQ,SAGhCqwP,EAAMo0C,EAAIp0C,GAAKo0C,EAAIC,YAAYr0C,GAAK,SAASrwP,GAAAA,GAC3Cse,MAAMte,GAAAA,MACF,IAAImK,MAAM,8CAEXs9R,EAAiBznS,EAAQ,IAG9BswP,EAAMm0C,EAAIC,YAAYp0C,GAAK,SAAStwP,GAAAA,GAClCse,MAAMte,GAAAA,MACF,IAAImK,MAAM,8CAEXs9R,EAAiBznS,EAAQ,IAG9B44C,EAAS6rP,EAAI7rP,MAAQ6rP,EAAIC,YAAY9rP,MAAQ,SAAS54C,GAAAA,GACpDse,MAAMte,GAAAA,MACF,IAAImK,MAAM,iDAEdy8R,IAAYH,EAAQC,OACf1mS,EAAS+mS,GACPH,IAAYH,EAAQE,SACtB3mS,OAAAA,CADF,EAKL4nS,EAAa,SAAS/oR,GAAAA,OACpB+nR,IAAYH,EAAQC,OACfM,KAAkBnoR,EAChB+nR,IAAYH,EAAQE,SACtB9nR,OAAAA,CADF,EAKLgpR,EAAkB,SAAShpR,GAAAA,OACtB+5B,EAAMgvP,EAAW/oR,GAAAA,EAW1B4lR,EAAIC,YAAYoD,aAAerD,EAAIqD,aAAe,SAASrpS,GACtB,iBAAxBmb,SAASnb,EAAO,MACzBolS,EAAYjqR,SAASnb,EAAO,UA0D5BspS,EAtDA9F,EAAS,mCAET+F,EAAavD,EAAIC,YAAYsD,UAAY,kBACpC/F,CAAAA,EAGLgG,EAAaxD,EAAIC,YAAYuD,UAAY,SAASxpS,GAAAA,OAElDwjS,OAAAA,IADSxjS,GAAyB,oBAAoB4mB,KAAK5mB,GAClDA,EAAMqK,cAENm5R,EACN7zR,MAAM,IACN9E,KAAI,iBACI,mBAAmB29B,OAAOz+B,KAAKud,MAAsB,GAAhBvd,KAAKyd,UAAAA,IAElD/Z,KAAK,IAGgB,OAAtBi4R,IACFE,GAAa,IAAIxC,GACfsC,EAAkBG,gBAClBH,EAAkBpC,aAClBoC,EAAkBnC,cAClBC,IAGGA,CAAAA,EAWTwC,EAAIwD,UAAY,SAASxpS,GAAAA,OACvBwpS,EAAUxpS,GACH7B,IAAAA,EAWT6nS,EAAIuD,UAAY,kBACPA,GAAAA,EAAAA,IAKLE,EAAwBzD,EAAIC,YAAYwD,qBAAuB,SACjEC,GAAAA,IAGIC,EAAWD,EAASjhQ,oBACtBmhQ,EAASD,EAAW,EAAI,IAAM,IAC9BE,EAAS9/R,KAAKud,MAAMvd,KAAKgW,IAAI4pR,EAAW,KACxCG,EAAQ//R,KAAKgW,IAAI4pR,EAAW,IAC5BI,EAAiB,CAACH,EAAQI,EAAMH,GAAS,IAAKG,EAAMF,GAAQ,KAAKr8R,KAAK,UAE/D,CACP,KACAi8R,EAAS/hQ,cACTqiQ,EAAMN,EAAS7hQ,WAAa,GAC5BmiQ,EAAMN,EAAS3hQ,WACfiiQ,EAAMN,EAASzhQ,YACf+hQ,EAAMN,EAASvhQ,cACf6hQ,EAAMN,EAASrhQ,cACf0hQ,GACAt8R,KAAK,KAILw8R,EAAwBjE,EAAIC,YAAYgE,qBAAuB,SACjEC,GAAAA,IAEItlQ,EAAOzpB,SAAS+uR,EAAY5/R,OAAO,EAAG,GAAI,IAC1Cu6B,EAAQ1pB,SAAS+uR,EAAY5/R,OAAO,EAAG,GAAI,IAAM,EACjDi8D,EAAOprD,SAAS+uR,EAAY5/R,OAAO,EAAG,GAAI,IAC1Cy6B,EAAO5pB,SAAS+uR,EAAY5/R,OAAO,GAAI,GAAI,IAC3C6gF,EAAUhwE,SAAS+uR,EAAY5/R,OAAO,GAAI,GAAI,IAC9CsgF,EAAUzvE,SAAS+uR,EAAY5/R,OAAO,GAAI,GAAI,WAI9B,IAAIT,KAAK+6B,EAAMC,EAAO0hC,EAAMxhC,EAAMomD,EAASP,EAAS,IAItEu/M,EAAmBnE,EAAIC,YAAYkE,gBAAkB,SAAS5jO,GAAAA,IAC5D6jO,EAAAA,QAAAA,IAEO7jO,IACTA,EAAO,IAAI18D,MAGT08D,aAAgB18D,KAClBugS,EAAwBX,EAAqBljO,OACxC,KAPoB,kMAOK3/C,KAAK2/C,GAAAA,MAG7B,IAAI76D,MAAM,oDAFhB0+R,EAAwB7jO,CAAAA,CAAAA,OAI1B+iO,EAAec,CAAAA,EAIbC,EAAmBrE,EAAIC,YAAYoE,gBAAkB,SAAS53R,GAAAA,IAC5D9H,EAAS2+R,EAAAA,MACA,WAAT72R,IACF9H,EAASs/R,EAAqBX,IAEzB3+R,CAAAA,EAWTq7R,EAAImE,gBAAkB,SAAS5jO,GAAAA,OAC7B4jO,EAAgB5jO,GACTpoE,IAAAA,EAWT6nS,EAAIqE,gBAAkB,SAAS53R,GAAAA,OACtB43R,EAAgB53R,EAAAA,EAAAA,IAmBrB63R,EAhBAN,EAAShE,EAAIC,YAAY+D,MAAQ,SAASzoS,GAAAA,OACpC,IAAM4Z,SAAS5Z,IAASsb,OAAO,IAGrC0tR,EAAYvE,EAAIC,YAAYsE,SAAW,SAASC,GAAAA,OAE1C,MADRA,EAAYA,EAAU7jR,aACIrc,OAAOkgS,EAAUnuS,OAAAA,EAGzCooS,EAAe,EACfgG,EAAU,GACVh0R,EAAU,GACVi0R,EAAgB,EAChBC,EAAoB,GAEpBC,EAAQ,GAERC,GAAAA,EACAC,EAAoBr0R,EAEpBs0R,EAAgB,WAElBtG,EAAe,EACfiG,EAAgB,EAChBj0R,EAAU,GACVg0R,EAAU,GACVE,EAAoB,GAEpBK,GAAsBC,KACtBC,GAA0BD,IAAAA,EAG5BjF,EAAIC,YAAYkF,2BAA6B,SAAStgO,GACpDggO,GAAAA,EACAC,EAAoBjgO,CAAAA,EAAAA,IAElBugO,EAAuB,SAASvgO,GAC7BggO,IACHC,EAAoBjgO,EAAAA,EAIxBm7N,EAAIC,YAAYoF,6BAA+B,WAC7CR,GAAAA,EACAC,EAAoBr0R,CAAAA,EAAAA,IAGlB8jJ,EAAOyrI,EAAIC,YAAY1rI,IAAM,SAAS3uJ,GAAAA,OACxCA,EAASA,EAAO+a,WAChB+jR,GAAiB9+R,EAAOvP,OAAS,EACjCyuS,EAAkB1pS,KAAKwK,GAEhBk/R,CAAAA,EAGL31L,EAAS6wL,EAAIC,YAAY9wL,MAAQ,SAASn1G,GAAAA,OACrCu6J,EACgB,IAArBn+J,UAAUC,OACN2D,EAAM2mB,WACNroB,MAAM9B,UAAUiR,KAAK/Q,KAAKN,UAAW,OAIzCkvS,GAAkBtF,EAAIC,YAAYqF,eAAiB,SAAS34Q,GAAAA,IAAAA,IAC1DwtD,EAAMxtD,EAAKt2B,OACbokI,EAAK,IAAIr6B,YAAYjmB,GACrBwmM,EAAK,IAAIhhL,WAAW86B,GAEftgD,KAAOwmM,EAAGxmM,GAAOxtD,EAAKwyE,WAAWhlB,GAAAA,OACjCsgD,CAAAA,EAGL8qK,GAAgB,CAClB,CAAC,YAAa,YAAa,SAAU,mBACrC,CAAC,iBAAkB,YAAa,OAAQ,mBACxC,CAAC,oBAAqB,YAAa,SAAU,mBAC7C,CAAC,wBAAyB,YAAa,aAAc,mBACrD,CAAC,UAAW,UAAW,SAAU,mBACjC,CAAC,eAAgB,UAAW,OAAQ,mBACpC,CAAC,kBAAmB,UAAW,SAAU,mBACzC,CAAC,sBAAuB,UAAW,aAAc,mBACjD,CAAC,cAAe,QAAS,SAAU,mBACnC,CAAC,aAAc,QAAS,OAAQ,mBAChC,CAAC,eAAgB,QAAS,SAAU,mBACpC,CAAC,mBAAoB,QAAS,aAAc,mBAC5C,CAAC,eAAgB,eAAgB,SAAU,MAC3C,CAAC,SAAU,SAAU,SAAU,OAGjCvF,EAAIC,YAAYuF,iBAAmB,kBAC1BD,EAAAA,EAAAA,IAGLE,GAAiB35R,EAAQwe,UAAY,GAYzC01Q,EAAIC,YAAYuC,YAAcxC,EAAIwC,YAAc,SAAS59Q,GAAAA,OAErD6gR,GADEtD,IAAYH,EAAQE,SACLt9Q,EAAO09Q,GAEP19Q,EAEZzsB,IAAAA,EAAAA,IAkDLutS,GAtCA1nO,GAAegiO,EAAIC,YAAYjiO,YAAcgiO,EAAIhiO,YAAc,kBAC7DmkO,IAAYH,EAAQC,OACfwD,GAEAA,GAAiBnD,EAAAA,EAIxBqD,GAAM75R,EAAQ65R,MAAO,EAYzB3F,EAAIC,YAAY2F,OAAS5F,EAAI4F,OAAS,SAAS5rS,GAAAA,OAC7C2rS,GAAM3rS,EACC7B,IAAAA,EAYT6nS,EAAIC,YAAY4F,OAAS7F,EAAI6F,OAAS,kBAC7BF,EAAAA,EAAAA,IAkCLG,GA7BAC,GAAe/F,EAAIC,YAAY8F,YAAc,SAASvvQ,GAOtD,GAGE,+BAA+B5V,KAAK4V,GACtCkvQ,GAAWlvQ,OACN,GAAK3c,MAAM2c,GAEX,KAAsC,IAbxB,MAAC,EAEpB,KACA,YACA,aACA,WACA,YAOwBt1B,QAAQs1B,GAAAA,MAG1B,IAAI9wB,MACR,gHACE8wB,EACA,wBALJkvQ,GAAWlvQ,CAAAA,MAFXkvQ,GAAWvwR,SAASqhB,EAAM,KAY9BwpQ,EAAIC,YAAY+F,YAAc,kBACrBN,EAAAA,EAAAA,IA4BLO,GAxBAC,GAAelG,EAAIC,YAAYiG,YAAc,SAASC,GAAAA,IAUlB,GATjB,MAAC,EAEpB,KACA,UACA,cACA,YACA,cAGiBjlS,QAAQilS,GAAAA,MACnB,IAAIzgS,MACR,6EACEygS,EACA,wBAGNL,GAAWK,CAAAA,EAGbnG,EAAIC,YAAYmG,YAAc,kBACrBN,EAAAA,EAAAA,IAILO,GAAiBrG,EAAIC,YAAYoG,cAAgB,SAASC,GAAAA,IAWnB,GAVlB,MAAC,EAEtB,KACA,aACA,SACA,UACA,WACA,OAGmBplS,QAAQolS,GAAAA,MACrB,IAAI5gS,MACR,sEACE4gS,EACA,wBAGNL,GAAaK,CAAAA,EAGftG,EAAIC,YAAYsG,cAAgB,kBACvBN,EAAAA,EA4BTjG,EAAIC,YAAYuG,eAAiBxG,EAAIwG,eAAiB,SACpDhwQ,EACA8vQ,EACAH,GAAAA,OAEAJ,GAAYvvQ,GACZ6vQ,GAAcC,GACdJ,GAAYC,GACLhuS,IAAAA,EAAAA,IAGLsuS,GAAqB,CACvBh+R,MAAO,GACPi+R,QAAS,GACThc,OAAQ,GACRic,SAAU,GACVC,QAAS,IAGX5G,EAAIC,YAAY4G,oBAAsB,SAAStwS,GAAAA,IACS,IAAlDP,OAAO8M,KAAK2jS,IAAoBvlS,QAAQ3K,GAAAA,MACpC,IAAImP,MAAM,+DAEX+gS,GAAmBlwS,EAAAA,EAG5BypS,EAAIC,YAAY6G,sBAAwB,kBAC/BL,EAAAA,EAaTzG,EAAIC,YAAY8G,sBAAwB/G,EAAIgH,cAAgBhH,EAAI+G,sBAAwB,SACtF76I,GAAAA,IAGK,IAAI/oJ,KAAYsjS,GACfA,GAAmBhwS,eAAe0M,IAAa+oJ,EAAW/oJ,KAC5DsjS,GAAmBtjS,GAAY+oJ,EAAW/oJ,IAAAA,OAGvChL,IAAAA,EAGT6nS,EAAIC,YAAYgH,oBAAsB,SAAS1wS,EAAKyD,GAAAA,IACI,IAAlDhE,OAAO8M,KAAK2jS,IAAoBvlS,QAAQ3K,GAAAA,MACpC,IAAImP,MAAM,gEAEV+gS,GAAmBlwS,GAAOyD,CAAAA,EAAAA,IAKhCktS,GAOA5E,GASA9oR,GACAC,GACA0tR,GApBA/zK,GAAQ,CAAC,EACTg0K,GAAU,CAAC,EAEXC,GAAiB,GACjBC,GAAW,CAAC,EACZC,GAAa,CAAC,EACdC,GAAU,CAAC,EACXC,GAAa,CAAC,EACdC,GAAe,KAEfC,GAAO,EACPC,GAAe,GACf1sS,GAAS,IAAIijS,GAAO6B,GACpB6H,GAAW/7R,EAAQ+7R,UAAY,GAE/BC,GAAgB,CAAC,EACjBC,GAAkB,CAAC,EACnBC,GAAoB,GAsBpB9+N,GAAS,SAATA,EAAkBu7M,EAAIwjB,EAAKC,EAAKC,EAAIljB,EAAImjB,GAAAA,KACpCjwS,gBAAgB+wE,GAAAA,OACb,IAAIA,EAAOu7M,EAAIwjB,EAAKC,EAAKC,EAAIljB,EAAImjB,GAGtCvuR,MAAM4qQ,KAAKA,EAAK,GAChB5qQ,MAAMouR,KAAMA,EAAM,GAClBpuR,MAAMquR,KAAMA,EAAM,GAClBruR,MAAMsuR,KAAKA,EAAK,GAChBtuR,MAAMorQ,KAAKA,EAAK,GAChBprQ,MAAMuuR,KAAKA,EAAK,QAEfC,QAAU,CAAC5jB,EAAIwjB,EAAKC,EAAKC,EAAIljB,EAAImjB,EAAAA,EAOxCpyS,OAAO+V,eAAem9D,GAAO1yE,UAAW,KAAM,CAC5CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAQtBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,MAAO,CAC7CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAQtBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,MAAO,CAC7CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAQtBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,KAAM,CAC5CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAQtBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,KAAM,CAC5CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAQtBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,KAAM,CAC5CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAItBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,IAAK,CAC3CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAItBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,IAAK,CAC3CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAItBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,IAAK,CAC3CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAItBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,IAAK,CAC3CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAItBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,IAAK,CAC3CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAItBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,IAAK,CAC3CwV,IAAK,kBACI7T,KAAKkwS,QAAQ,IAEtB52R,IAAK,SAASzX,GAAAA,KACPquS,QAAQ,GAAKruS,CAAAA,IAQtBhE,OAAO+V,eAAem9D,GAAO1yE,UAAW,WAAY,CAClDwV,IAAK,kBACIjI,KAAK6lE,MAAMzxE,KAAK+vS,IAAK/vS,KAAKssR,GAAAA,IAQrCzuR,OAAO+V,eAAem9D,GAAO1yE,UAAW,SAAU,CAChDwV,IAAK,kBACI7T,KAAKmwS,YAAYn0P,MAAMswO,EAAAA,IAQlCzuR,OAAO+V,eAAem9D,GAAO1yE,UAAW,SAAU,CAChDwV,IAAK,kBACI7T,KAAKmwS,YAAYn0P,MAAMg0P,EAAAA,IAQlCnyS,OAAO+V,eAAem9D,GAAO1yE,UAAW,aAAc,CACpDwV,IAAK,kBACa,IAAZ7T,KAAKssR,IAGQ,IAAbtsR,KAAK8vS,KAGQ,IAAb9vS,KAAK+vS,KAGO,IAAZ/vS,KAAKgwS,IAGO,IAAZhwS,KAAK8sR,IAGO,IAAZ9sR,KAAKiwS,EAAAA,IAebl/N,GAAO1yE,UAAUiR,KAAO,SAASq1E,GAAAA,MACxB,CAAC3kF,KAAKssR,GAAItsR,KAAK8vS,IAAK9vS,KAAK+vS,IAAK/vS,KAAKgwS,GAAIhwS,KAAK8sR,GAAI9sR,KAAKiwS,IACzDvjS,IAAIi+R,GACJr7R,KAAKq1E,EAAAA,EAWV5T,GAAO1yE,UAAU2yE,SAAW,SAASG,GAAAA,IAC/Bm7M,EAAKn7M,EAAOm7M,GAAKtsR,KAAKssR,GAAKn7M,EAAO2+N,IAAM9vS,KAAK+vS,IAC7CD,EAAM3+N,EAAOm7M,GAAKtsR,KAAK8vS,IAAM3+N,EAAO2+N,IAAM9vS,KAAKgwS,GAC/CD,EAAM5+N,EAAO4+N,IAAM/vS,KAAKssR,GAAKn7M,EAAO6+N,GAAKhwS,KAAK+vS,IAC9CC,EAAK7+N,EAAO4+N,IAAM/vS,KAAK8vS,IAAM3+N,EAAO6+N,GAAKhwS,KAAKgwS,GAC9CljB,EAAK37M,EAAO27M,GAAK9sR,KAAKssR,GAAKn7M,EAAO8+N,GAAKjwS,KAAK+vS,IAAM/vS,KAAK8sR,GACvDmjB,EAAK9+N,EAAO27M,GAAK9sR,KAAK8vS,IAAM3+N,EAAO8+N,GAAKjwS,KAAKgwS,GAAKhwS,KAAKiwS,GAAAA,OAEpD,IAAIl/N,GAAOu7M,EAAIwjB,EAAKC,EAAKC,EAAIljB,EAAImjB,EAAAA,EAO1Cl/N,GAAO1yE,UAAU8xS,UAAY,eACvBhpR,EAAInnB,KAAKssR,GACTt2Q,EAAIhW,KAAK8vS,IACTjoR,EAAI7nB,KAAK+vS,IACTjoR,EAAI9nB,KAAKgwS,GACTprS,EAAI5E,KAAK8sR,GACTvkQ,EAAIvoB,KAAKiwS,GAET19P,EAAS3mC,KAAK4iB,KAAKrH,EAAIA,EAAInR,EAAIA,GAI/Bo6R,GAHJjpR,GAAKorB,GAGW1qB,GAFhB7R,GAAKu8B,GAEmBzqB,EACxBD,GAAKV,EAAIipR,EACTtoR,GAAK9R,EAAIo6R,EAAAA,IAEL59P,EAAS5mC,KAAK4iB,KAAK3G,EAAIA,EAAIC,EAAIA,GAAAA,OAGnCsoR,GAAS59P,EAELrrB,GAHJW,GAAK0qB,GAGOx8B,GAJZ6R,GAAK2qB,KAKHrrB,GAAKA,EACLnR,GAAKA,EACLo6R,GAASA,EACT79P,GAAUA,GAGL,CACLyJ,MAAO,IAAI+0B,GAAOx+B,EAAQ,EAAG,EAAGC,EAAQ,EAAG,GAC3Cq/B,UAAW,IAAId,GAAO,EAAG,EAAG,EAAG,EAAGnsE,EAAG2jB,GACrCyT,OAAQ,IAAI+0C,GAAO5pD,EAAGnR,GAAIA,EAAGmR,EAAG,EAAG,GACnCkpR,KAAM,IAAIt/N,GAAO,EAAG,EAAGq/N,EAAO,EAAG,EAAG,KAQxCr/N,GAAO1yE,UAAUmqB,SAAW,SAASsiR,GAAAA,OAC5B9qS,KAAKsP,KAAK,MAOnByhE,GAAO1yE,UAAUu0E,SAAW,eACtBzrD,EAAInnB,KAAKssR,GACXt2Q,EAAIhW,KAAK8vS,IACTjoR,EAAI7nB,KAAK+vS,IACTjoR,EAAI9nB,KAAKgwS,GACTprS,EAAI5E,KAAK8sR,GACTvkQ,EAAIvoB,KAAKiwS,GAEPK,EAAO,GAAKnpR,EAAIW,EAAI9R,EAAI6R,GAExB0oR,EAAOzoR,EAAIwoR,EACXE,GAAQx6R,EAAIs6R,EACZG,GAAQ5oR,EAAIyoR,EACZI,EAAOvpR,EAAImpR,EAAAA,OAIR,IAAIv/N,GAAOw/N,EAAMC,EAAMC,EAAMC,GAHxBH,EAAO3rS,EAAI6rS,EAAOloR,GAClBioR,EAAO5rS,EAAI8rS,EAAOnoR,EAAAA,EAShCwoD,GAAO1yE,UAAUsyS,aAAe,SAAS1+O,GAAAA,IACnCvgD,EAAIugD,EAAGvgD,EAAI1R,KAAKssR,GAAKr6N,EAAGhwC,EAAIjiB,KAAK+vS,IAAM/vS,KAAK8sR,GAC5C7qQ,EAAIgwC,EAAGvgD,EAAI1R,KAAK8vS,IAAM79O,EAAGhwC,EAAIjiB,KAAKgwS,GAAKhwS,KAAKiwS,GAAAA,OACzC,IAAInjO,GAAMp7D,EAAGuQ,EAAAA,EAOtB8uD,GAAO1yE,UAAUuyS,iBAAmB,SAASzhR,GAAAA,IACvC0hR,EAAM7wS,KAAK2wS,aAAaxhR,GACxB2hR,EAAM9wS,KAAK2wS,aAAa,IAAI7jO,GAAM39C,EAAKzd,EAAIyd,EAAKhN,EAAGgN,EAAKlN,EAAIkN,EAAK9M,IAAAA,OAC9D,IAAI0uR,GAAUF,EAAIn/R,EAAGm/R,EAAI5uR,EAAG6uR,EAAIp/R,EAAIm/R,EAAIn/R,EAAGo/R,EAAI7uR,EAAI4uR,EAAI5uR,EAAAA,EAWhE8uD,GAAO1yE,UAAUwmB,MAAQ,eACnBynQ,EAAKtsR,KAAKssR,GACVwjB,EAAM9vS,KAAK8vS,IACXC,EAAM/vS,KAAK+vS,IACXC,EAAKhwS,KAAKgwS,GACVljB,EAAK9sR,KAAK8sR,GACVmjB,EAAKjwS,KAAKiwS,GAAAA,OAEP,IAAIl/N,GAAOu7M,EAAIwjB,EAAKC,EAAKC,EAAIljB,EAAImjB,EAAAA,EAG1CpI,EAAI92N,OAASA,GAAAA,IASTigO,GAAcnJ,EAAImJ,WAAa,SAASx8D,EAAIC,GAAAA,OACvCA,EAAGzjK,SAASwjK,EAAAA,EASjBy8D,GAAiB,IAAIlgO,GAAO,EAAG,EAAG,EAAG,EAAG,EAAG,GAC/C82N,EAAIqJ,WAAarJ,EAAIoJ,eAAiBA,GAAAA,IAOlCE,GAAa,SAAS/yS,EAAKszB,GAAAA,IAEzB09Q,GAAWhxS,GAAAA,CAAAA,IAGXgzS,GADS1/Q,aAAmB80Q,GAAiB,KAAO,MAC7B3oS,OAAO8M,KAAKwkS,IAAUjxS,OAAS,GAAGsqB,SAAS,IACtEkJ,EAAQnlB,GAAK6kS,EAEbhC,GAAWhxS,GAAOgzS,EAClBjC,GAASiC,GAAc1/Q,EAEvB3uB,GAAOmjS,QAAQ,aAAcx0Q,EAAAA,CAAAA,EAmB/Bm2Q,EAAIrB,eAAiBA,GAgBrBqB,EAAInB,cAAgBA,GAWpBmB,EAAIwJ,kBAAoB,SAASjzS,EAAKszB,GAAAA,OACpCk5Q,EAAoB,uBAEpBuG,GAAW/yS,EAAKszB,GACT1xB,IAAAA,EAUT6nS,EAAIyJ,mBAAqB,SAAS5/Q,GAChCk5Q,EAAoB,wBAEpB2G,GACE7/Q,EAAQi1Q,YAAY,GACpBj1Q,EAAQi1Q,YAAY,GACpBj1Q,EAAQi1Q,YAAY,GAAKj1Q,EAAQi1Q,YAAY,GAC7Cj1Q,EAAQi1Q,YAAY,GAAKj1Q,EAAQi1Q,YAAY,GAC7Cj1Q,EAAQy/C,OAAAA,EAcZ02N,EAAI2J,iBAAmB,SAASpzS,EAAKszB,GACnCk5Q,EAAoB,sBAGpBl5Q,EAAQo1Q,OAAS2F,EAAMN,GAAa78R,KAAK,MAEzC6hS,GAAW/yS,EAAKszB,GAEhB3uB,GAAOmjS,QAAQ,mBAAoBx0Q,GAGnCm+Q,GAAkBjyP,MAAM/sC,SAAAA,EAAAA,IAGtB4gS,GAAa5J,EAAIC,YAAY2J,UAAY,eACvCC,EAAM5E,KAAAA,OACV6E,GAAuBD,GAAAA,GAChBA,CAAAA,EAIL5E,GAAqBjF,EAAIC,YAAYgF,kBAAoB,kBAC3DxG,IACAgG,EAAQhG,GAAgB,kBACfiG,CAAAA,EAEFjG,CAAAA,EAGLqL,GAAyB,SAASD,EAAKE,GAAAA,OACzCA,EAA+B,kBAAbA,GAAyBA,EAC3CtF,EAAQoF,GAAOnF,EACXqF,GACFx1I,EAAIs1I,EAAM,UAELA,CAAAA,EAMLG,GAAuBhK,EAAIC,YAAY+J,oBAAsB,eAE3D9yS,EAAM,CACR+yS,MAFUhF,KAGVx0R,QAAS,WAEXk0R,EAAkBvpS,KAAKlE,GAChBA,CAAAA,EAGL8tS,GAAsBC,KACtBC,GAA0BD,KAM1BiF,GAAqBlK,EAAIC,YAAYiK,kBAAoB,SAASrkR,GAAAA,IAChEskR,EAAetkR,EAAMlc,MAAM,QAEL,IAAxBwgS,EAAa9zS,QACQ,MAApB8zS,EAAa,IAAkC,MAApBA,EAAa,GAMjB,IAAxBA,EAAa9zS,QACQ,MAApB8zS,EAAa,IAAkC,MAApBA,EAAa,KAOzCA,EAAe,EAJJ,EAAMA,EAAa,KAAO,EAAMA,EAAa,KAC3C,EAAMA,EAAa,KAAO,EAAMA,EAAa,KAC9C,EAAMA,EAAa,KAAO,EAAMA,EAAa,IAEvB,UAblC,KAEIC,EAAW7vR,WAAW4vR,EAAa,IACvCA,EAAe,CAACC,EAAUA,EAAUA,EAAU,aAY5CC,EAAa,IACRl0S,EAAI,EAAGA,EAAI,EAAGA,IACrBk0S,IACE,IAAMtmS,KAAKud,MAAoC,IAA9B/G,WAAW4vR,EAAah0S,KAAWwqB,SAAS,KAC7D9J,OAAO,UAEJwzR,CAAAA,EAGLC,GAAqBtK,EAAIC,YAAYqK,kBAAoB,SAC3Dx+R,GAAAA,IAEI+Z,EAEmB,iBAAZ/Z,IACTA,EAAU,CACRy+R,IAAKz+R,IAAAA,IAGLy+R,EAAMz+R,EAAQy+R,IACdC,EAAM1+R,EAAQ0+R,IACdC,EAAM3+R,EAAQ2+R,IACdC,EAAM5+R,EAAQ4+R,IACdC,EACuB,SAAzB7+R,EAAQ8+R,aAA0B,CAAC,IAAK,KAAM,KAAO,CAAC,IAAK,KAAM,QAEhD,iBAARL,GAAsC,MAAlBA,EAAI/nQ,OAAO,GAAY,KAChDqoQ,EAAW,IAAI5X,GAASsX,GAAAA,GACxBM,EAASniS,GACX6hS,EAAMM,EAASpmO,aACV,IAAK,cAAc7jD,KAAK2pR,GAAAA,MACvB,IAAI7kS,MACR,kBAAoB6kS,EAAM,2CAKb,iBAARA,GAAoB,oBAAoB3pR,KAAK2pR,KACtDA,EAAM,IAAMA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,GAAKA,EAAI,IAG5C,iBAARA,GAAoB,oBAAoB3pR,KAAK2pR,GAAM,KACxDlnO,EAAMluD,SAASo1R,EAAIjmS,OAAO,GAAI,IAClCimS,EAAOlnO,GAAO,GAAM,IACpBmnO,EAAOnnO,GAAO,EAAK,IACnBonO,EAAY,IAANpnO,CAAAA,CAAAA,QAAAA,IAICmnO,QAAAA,IACCE,GAAuBH,IAAQC,GAAOA,IAAQC,EAAAA,GAGnC,iBAARF,EACT1kR,EAAQ0kR,EAAM,IAAMI,EAAY,WAGzB,IADC7+R,EAAQszR,UAEZv5Q,EAAQ+lO,EAAG2+C,EAAM,KAAO,IAAMI,EAAY,QAI1C9kR,EAAQgmO,EAAG0+C,EAAM,KAAO,IAAMI,EAAY,QAG3C,QAAI,IAAOD,GAAsC,YAAf/wI,EAAAA,GAAAA,GAAO+wI,GAAkB,IAE5DA,IAAQ7wR,MAAM6wR,EAAIprR,IAGN,IAAVorR,EAAIprR,EAAAA,MACE,CAAC,KAAM,KAAM,KAAMqrR,EAAY,IAAIljS,KAAK,QAKjC,iBAAR8iS,EACT1kR,EAAQ,CAAC0kR,EAAKC,EAAKC,EAAKE,EAAY,IAAIljS,KAAK,aAGtC,IADCqE,EAAQszR,UAEZv5Q,EAAQ,CACN+lO,EAAG2+C,EAAM,KACT3+C,EAAG4+C,EAAM,KACT5+C,EAAG6+C,EAAM,KACTE,EAAY,IACZljS,KAAK,UAIPoe,EAAQ,CACNgmO,EAAG0+C,EAAM,KACT1+C,EAAG2+C,EAAM,KACT3+C,EAAG4+C,EAAM,KACTE,EAAY,IACZljS,KAAK,aAKM,iBAAR8iS,EACT1kR,EAAQ,CAAC0kR,EAAKC,EAAKC,EAAKC,EAAKC,EAAY,IAAIljS,KAAK,aAG3C,IADCqE,EAAQszR,UAEZv5Q,EAAQ,CAAC+lO,EAAG2+C,GAAM3+C,EAAG4+C,GAAM5+C,EAAG6+C,GAAM7+C,EAAG8+C,GAAMC,EAAY,IAAIljS,KAC3D,UAKFoe,EAAQ,CAACgmO,EAAG0+C,GAAM1+C,EAAG2+C,GAAM3+C,EAAG4+C,GAAM5+C,EAAG6+C,GAAMC,EAAY,IAAIljS,KAC3D,YAKHoe,CAAAA,EAGLilR,GAAc9K,EAAIC,YAAY6K,WAAa,kBACtCxL,CAAAA,EAGLyL,GAAa/K,EAAIC,YAAY8K,UAAY,SAASj/R,GAAAA,IAEhD6gB,GADJ7gB,EAAUA,GAAW,CAAC,GACH6gB,MAAQ,GACvB2yQ,EAAUxzR,EAAQwzR,SAAWwL,KAC7BE,EAAwBl/R,EAAQk/R,uBAAyB,GACzDC,EAAan/R,EAAQm/R,aAAc,EACnCC,EAAiBv+Q,EAAKt2B,OACtB80S,EAAWr/R,EAAQq/R,SACnBC,EAAY,SAASz+Q,GAAAA,OAChBA,CAAAA,EAAAA,GAEiB,OAAtB+yQ,QAAAA,IAAqCyL,EAAAA,MACjC,IAAIzlS,MACR,4DAGsB,OAAtBg6R,IACF0L,EAAYxL,GAAWwL,UAAUD,EAAU,QAGzCE,EAAgB,CAAC,GAAD,IAChB/L,IACFA,EAAU,CAAC,oBAETgM,EAAYx/R,EAAQy/R,qBAAuB,GAM3CC,GAJFH,OAAAA,IADSlM,GAAMa,IAAIyL,qBACHtM,GAAMa,IAAIyL,qBAAqB9+Q,EAAM2yQ,GAErC,CAAE3yQ,KAAMA,EAAM++Q,aAAc,KAG9BA,cACbpzS,MAAMwS,QAAQkgS,GACXA,EAAsBvjS,KAAK,KAC3BujS,EAAsBrqR,YAAAA,GAEM,IAA9B0qR,EAAc1+Q,KAAKt2B,SACrBi1S,EAAUlwS,KAAK,CACb7E,IAAK,SACLyD,MAAOqxS,EAAc1+Q,KAAKt2B,UAAAA,IAExB40S,GACFK,EAAUlwS,KAAK,CACb7E,IAAK,UACLyD,MAAOkxS,KAKgB,GAAzBM,EAAen1S,OAAAA,GACbm1S,EAAe7hS,MAAM,KAAKtT,OAAS,GAAM,EAC3Ci1S,EAAUlwS,KAAK,CACb7E,IAAK,SACLyD,MAAOwxS,QAEJ,CACLF,EAAUlwS,KAAK,CACb7E,IAAK,SACLyD,MAAO,IAAMwxS,EAAiB,UAG3B,IAAIroR,EAAI,EAAGA,EAAImoR,EAAUj1S,OAAQ8sB,GAAK,EAAG,GACnB,gBAArBmoR,EAAUnoR,GAAG5sB,IAAuB,SAClCo1S,EAAmB,GAGjBx1S,EAAI,EACRA,EAAIk1S,EAAcK,aAAa/hS,MAAM,KAAKtT,OAAS,EACnDF,GAAK,EAELw1S,EAAiBvwS,KAAK,QAGxBuwS,EAAiBvwS,KAAKkwS,EAAUnoR,GAAGnpB,OACnCsxS,EAAUnoR,GAAGnpB,MAAQ,IAAM2xS,EAAiBlkS,KAAK,KAAO,KAMhE8sJ,EAAI,UACC,IAAInwJ,EAAI,EAAGA,EAAIknS,EAAUj1S,OAAQ+N,IACpCmwJ,EAAI,IAAM+2I,EAAUlnS,GAAG7N,IAAM,IAAM+0S,EAAUlnS,GAAGpK,OAElDu6J,EAAI,MAC8B,IAA9B82I,EAAc1+Q,KAAKt2B,SACrBk+J,EAAI,UACJA,EAAI62I,EAAUC,EAAc1+Q,OAC5B4nI,EAAI,eAIJq3I,GAAW5L,EAAIC,YAAY2L,QAAU,SAASjE,GAAAA,IAC5C7zE,EAAa6zE,EAAKpsS,OAClBoxB,EAAOg7Q,EAAKh7Q,KACZk/Q,EAAmBlE,EAAKsC,MACxB6B,EAAoBnE,EAAKoE,cAE7BjC,GAAuB+B,GAAAA,GACvBt3I,EAAI,iBACJA,EAAI,WAAaozI,EAAK3C,oBAAsB,QAC5CzwI,EAAI,cAAgBozI,EAAKzC,wBAA0B,QACnD3wI,EACE,cACEh6I,WAAWuoR,EAAI6E,EAAKqE,SAASC,cAC7B,IACA1xR,WAAWuoR,EAAI6E,EAAKqE,SAASE,cAC7B,IACApJ,EAAI6E,EAAKqE,SAASG,WAClB,IACArJ,EAAI6E,EAAKqE,SAASI,WAClB,KAEiB,OAAjBzE,EAAK0E,SACP93I,EACE,aACEuuI,EAAI6E,EAAK0E,QAAQJ,aACjB,IACAnJ,EAAI6E,EAAK0E,QAAQH,aACjB,IACApJ,EAAI6E,EAAK0E,QAAQF,WACjB,IACArJ,EAAI6E,EAAK0E,QAAQD,WACjB,KAIgB,OAAlBzE,EAAK2E,UACP/3I,EACE,cACEuuI,EAAI6E,EAAK2E,SAASL,aAClB,IACAnJ,EAAI6E,EAAK2E,SAASJ,aAClB,IACApJ,EAAI6E,EAAK2E,SAASH,WAClB,IACArJ,EAAI6E,EAAK2E,SAASF,WAClB,KAIe,OAAjBzE,EAAK4E,SACPh4I,EACE,aACEuuI,EAAI6E,EAAK4E,QAAQN,aACjB,IACAnJ,EAAI6E,EAAK4E,QAAQL,aACjB,IACApJ,EAAI6E,EAAK4E,QAAQJ,WACjB,IACArJ,EAAI6E,EAAK4E,QAAQH,WACjB,KAIc,OAAhBzE,EAAK6E,QACPj4I,EACE,YACEuuI,EAAI6E,EAAK6E,OAAOP,aAChB,IACAnJ,EAAI6E,EAAK6E,OAAON,aAChB,IACApJ,EAAI6E,EAAK6E,OAAOL,WAChB,IACArJ,EAAI6E,EAAK6E,OAAOJ,WAChB,KAIuB,iBAAlBzE,EAAKpI,UAA2C,IAAlBoI,EAAKpI,UAC5ChrI,EAAI,aAAeozI,EAAKpI,UAG1BrkS,GAAOmjS,QAAQ,UAAW,CACxB4L,MAAO4B,EACPY,YAAa7E,GAAa9zE,GAC1BA,WAAYA,EACZ6zE,KAAMh7Q,IAER4nI,EAAI,aAAeu3I,EAAoB,QACvCv3I,EAAI,MACJA,EAAI,cAEAm4I,EAAc//Q,EAAKllB,KAAK,aAExB06R,IAAYH,EAAQE,WAEtBwK,GAAe,OAGjB5C,GAAuBgC,GAAAA,GACvBf,GAAU,CACRp+Q,KAAM+/Q,EACNpN,QAASwL,KACTK,SAAUW,IAEZv3I,EAAI,UACGs3I,CAAAA,EAGLc,GAAY3M,EAAIC,YAAY0M,SAAW,eACrC7xR,EACF3kB,EACAy2S,EAAoB,OAEjB9xR,EAAI,EAAGA,GAAK6sR,GAAM7sR,IACrB8sR,GAAa9sR,GAAGmvR,MAAQhF,KACxB2C,GAAa9sR,GAAGixR,cAAgB9G,KAAAA,IAG7BnqR,EAAI,EAAGA,GAAK6sR,GAAM7sR,IACrB8xR,EAAkBxxS,KAChBwwS,GAAQ,CACNrwS,OAAQuf,EACR6R,KAAMi4Q,EAAM9pR,GACZmvR,MAAOrC,GAAa9sR,GAAGmvR,MACvB8B,cAAenE,GAAa9sR,GAAGixR,cAC/BC,SAAUpE,GAAa9sR,GAAGkxR,SAC1BK,QAASzE,GAAa9sR,GAAGuxR,QACzBC,SAAU1E,GAAa9sR,GAAGwxR,SAC1BC,QAAS3E,GAAa9sR,GAAGyxR,QACzBC,OAAQ5E,GAAa9sR,GAAG0xR,OACxBjN,SAAUqI,GAAa9sR,GAAGykR,SAC1ByF,oBAAqBA,GACrBE,wBAAyBA,MAI/B4E,GAAuB9E,IAAAA,GACvBzwI,EAAI,sBACAs4I,EAAO,cACN12S,EAAI,EAAGA,EAAIwxS,GAAMxxS,IACpB02S,GAAQD,EAAkBz2S,GAAK,QAEjCo+J,EAAIs4I,EAAO,KACXt4I,EAAI,UAAYozI,IAChBpzI,EAAI,MACJA,EAAI,UACJr5J,GAAOmjS,QAAQ,iBAGbyO,GAAU,SAAS7nK,GACrB/pI,GAAOmjS,QAAQ,UAAW,CACxBp5J,KAAMA,EACNsvB,IAAKA,EACLq1I,UAAWA,GACXmB,UAAWA,MAAAA,IAGT9lK,EAAK8nK,kBACP9nK,EAAKw5J,aAAemL,KACpBr1I,EAAI,MACJA,EAAI,eACJA,EAAI,cAAgB0pI,GAAUh5J,EAAK+nK,iBACnCz4I,EAAI,mBACyB,iBAAlBtvB,EAAKw5G,UACdlqF,EAAI,cAAgBtvB,EAAKw5G,UAE3BlqF,EAAI,iBACJA,EAAI,iBACJA,EAAI,MACJA,EAAI,YAIJ04I,GAAW,eACR,IAAIC,KAAW95K,GACdA,GAAM38H,eAAey2S,MAAAA,IAErBpN,IAAAA,IACCA,GAA6BC,EAAUtpS,eAAey2S,KAEvDJ,GAAQ15K,GAAM85K,GAAAA,EAMlBC,GAAa,SAASC,GACxBA,EAAQ3O,aAAemL,KAAAA,IAEnB99R,EAAU,GACdA,EAAQ1Q,KAAK,CAAE7E,IAAK,OAAQyD,MAAO,aACnC8R,EAAQ1Q,KAAK,CAAE7E,IAAK,UAAWyD,MAAO,UACtC8R,EAAQ1Q,KAAK,CACX7E,IAAK,OACLyD,MACE,IACA,CACE8oS,EAAIsK,EAAQvjS,GACZi5R,EAAIsK,EAAQhzR,GACZ0oR,EAAIsK,EAAQvjS,EAAIujS,EAAQl0R,OACxB4pR,EAAIsK,EAAQhzR,EAAIgzR,EAAQp0R,SACxBvR,KAAK,KACP,MAEJqE,EAAQ1Q,KAAK,CACX7E,IAAK,SACLyD,MAAO,IAAMozS,EAAQ9jO,OAAO3oD,WAAa,UAIvCs+Q,EAASmO,EAAQxI,MAAM,GAAGn9R,KAAK,MACnCsjS,GAAU,CACRp+Q,KAAMsyQ,EACNsM,oBAAqBz/R,EACrBq/R,SAAUiC,EAAQ3O,eAEpBlqI,EAAI,WAGF84I,GAAc,eACX,IAAIC,KAAcxF,GACjBA,GAAcrxS,eAAe62S,IAC/BH,GAAWrF,GAAcwF,GAAAA,EAK3BC,GAAgC,SAASn5Q,EAAQo5Q,GAAAA,IAE/ChhS,EADAihS,EAAU,GAEVC,EAAK,GAAOF,EAAgB,OAC3BhhS,EAAI,EAAKA,EAAI,EAAKA,GAAKkhS,EAC1BD,EAAQryS,KAAKoR,GAAAA,GAEfihS,EAAQryS,KAAK,GAEW,GAApBg5B,EAAO,GAAGlO,OAAe,KACvBi7Q,EAAK,CACPj7Q,OAAQ,EACRL,MAAOuO,EAAO,GAAGvO,OAEnBuO,EAAOkhC,QAAQ6rO,EAAAA,CAAAA,GAEuB,GAApC/sQ,EAAOA,EAAO/9B,OAAS,GAAG6vB,OAAe,KACvCukF,EAAK,CACPvkF,OAAQ,EACRL,MAAOuO,EAAOA,EAAO/9B,OAAS,GAAGwvB,OAEnCuO,EAAOh5B,KAAKqvG,EAAAA,CAAAA,IAAAA,IAEV8pD,EAAM,GACNzqJ,EAAQ,EAEH3T,EAAI,EAAGA,EAAIs3S,EAAQp3S,OAAQF,IAAK,KACvCqW,EAAIihS,EAAQt3S,GACLqW,EAAI4nB,EAAOtqB,EAAQ,GAAGoc,QAAQpc,IAAAA,IACjCwV,EAAI8U,EAAOtqB,GAAOoc,OAElBjG,GAAKzT,EAAI8S,IADL8U,EAAOtqB,EAAQ,GAAGoc,OACH5G,GAEnBquR,EAASv5Q,EAAOtqB,GAAO+b,MACvB+nR,EAASx5Q,EAAOtqB,EAAQ,GAAG+b,MAE/B0uI,GACEgwI,EAASxgS,KAAK8c,OAAO,EAAIZ,GAAK0tR,EAAO,GAAK1tR,EAAI2tR,EAAO,IAAIjtR,SAAS,KAClE4jR,EAASxgS,KAAK8c,OAAO,EAAIZ,GAAK0tR,EAAO,GAAK1tR,EAAI2tR,EAAO,IAAIjtR,SAAS,KAClE4jR,EAASxgS,KAAK8c,OAAO,EAAIZ,GAAK0tR,EAAO,GAAK1tR,EAAI2tR,EAAO,IAAIjtR,SAAS,YAE/D4zI,EAAIhkI,MAAAA,EAGTs9Q,GAAoB,SAAShkR,EAAS2jR,GASxCA,IAAkBA,EAAgB,QAC9BM,EAAmBlE,KACnB3K,EAASsO,GAA8B1jR,EAAQuK,OAAQo5Q,GAEvD1hS,EAAU,GACdA,EAAQ1Q,KAAK,CAAE7E,IAAK,eAAgByD,MAAO,MAC3C8R,EAAQ1Q,KAAK,CAAE7E,IAAK,SAAUyD,MAAO,cACrC8R,EAAQ1Q,KAAK,CAAE7E,IAAK,OAAQyD,MAAO,IAAMwzS,EAAgB,MACzD1hS,EAAQ1Q,KAAK,CAAE7E,IAAK,gBAAiByD,MAAO,MAC5C8R,EAAQ1Q,KAAK,CAAE7E,IAAK,QAASyD,MAAO,8BACpC8R,EAAQ1Q,KAAK,CAAE7E,IAAK,SAAUyD,MAAO,8BAErC+wS,GAAU,CACRp+Q,KAAMsyQ,EACNsM,oBAAqBz/R,EACrBk/R,sBAAuB,CAAC,mBACxBG,SAAU2C,IAEZv5I,EAAI,UAEJ1qI,EAAQ40Q,aAAemL,KACvBr1I,EAAI,mBAAqB1qI,EAAQpd,MACjC8nJ,EAAI,8BACAqqI,EACF,YACAkE,EAAIvoR,WAAWsP,EAAQ+0Q,OAAO,KAC9B,IACAkE,EAAIvoR,WAAWsP,EAAQ+0Q,OAAO,KAC9B,IACmB,IAAjB/0Q,EAAQpd,KAEVmyR,GACEkE,EAAIvoR,WAAWsP,EAAQ+0Q,OAAO,KAC9B,IACAkE,EAAIvoR,WAAWsP,EAAQ+0Q,OAAO,KAGhCA,GACEkE,EAAIvoR,WAAWsP,EAAQ+0Q,OAAO,KAC9B,IACAkE,EAAIvoR,WAAWsP,EAAQ+0Q,OAAO,KAC9B,IACAkE,EAAIvoR,WAAWsP,EAAQ+0Q,OAAO,KAC9B,IACAkE,EAAIvoR,WAAWsP,EAAQ+0Q,OAAO,KAGlCrqI,EADAqqI,GAAU,KAGN/0Q,EAAQy/C,QACVirF,EAAI,YAAc1qI,EAAQy/C,OAAO3oD,WAAa,KAEhD4zI,EAAI,aAAeu5I,EAAmB,QACtCv5I,EAAI,uBACJA,EAAI,MACJA,EAAI,WAGFw5I,GAAmB,SAASlkR,EAASmkR,GAAAA,IACnCC,EAAoBhJ,KACpBiJ,EAAkBtE,KAEtBoE,EAA8B5yS,KAAK,CACjC+yS,aAAcF,EACdG,UAAWF,IAGbrkR,EAAQ40Q,aAAeyP,EAAAA,IACnBpiS,EAAU,GACdA,EAAQ1Q,KAAK,CAAE7E,IAAK,OAAQyD,MAAO,aACnC8R,EAAQ1Q,KAAK,CAAE7E,IAAK,cAAeyD,MAAO,MAC1C8R,EAAQ1Q,KAAK,CAAE7E,IAAK,YAAayD,MAAO,MACxC8R,EAAQ1Q,KAAK,CAAE7E,IAAK,aAAcyD,MAAO,MACzC8R,EAAQ1Q,KAAK,CACX7E,IAAK,OACLyD,MAAO,IAAM6vB,EAAQi1Q,YAAYj6R,IAAIi+R,GAAKr7R,KAAK,KAAO,MAExDqE,EAAQ1Q,KAAK,CAAE7E,IAAK,QAASyD,MAAO8oS,EAAIj5Q,EAAQk1Q,SAChDjzR,EAAQ1Q,KAAK,CAAE7E,IAAK,QAASyD,MAAO8oS,EAAIj5Q,EAAQm1Q,SAChDlzR,EAAQ1Q,KAAK,CAAE7E,IAAK,YAAayD,MAAOi0S,EAAoB,SACxDpkR,EAAQy/C,QACVx9D,EAAQ1Q,KAAK,CACX7E,IAAK,SACLyD,MAAO,IAAM6vB,EAAQy/C,OAAO3oD,WAAa,MAI7CoqR,GAAU,CACRp+Q,KAAM9C,EAAQo1Q,OACdsM,oBAAqBz/R,EACrBq/R,SAAUthR,EAAQ40Q,eAEpBlqI,EAAI,WAGF85I,GAAc,SAASL,GAAAA,IACrBzE,EAAAA,IACCA,KAAcjC,GACbA,GAAS7wS,eAAe8yS,KACtBjC,GAASiC,aAAuB5K,GAClCkP,GAAkBvG,GAASiC,IAClBjC,GAASiC,aAAuB1K,IACzCkP,GAAiBzG,GAASiC,GAAayE,GAAAA,EAM3CM,GAAY,SAAS5P,GAAAA,IAGlB,IAAIv/Q,KAFTu/Q,EAAOD,aAAemL,KACtBr1I,EAAI,MACUmqI,EAAAA,OACJv/Q,GAAAA,IACD,UACHo1I,EAAI,OAASq3F,EAAG8yC,EAAOv/Q,KAAAA,MAAAA,IAEpB,iBACHo1I,EAAI,OAASq3F,EAAG8yC,EAAOv/Q,KAI7Bo1I,EAAI,MACJA,EAAI,WAGFg6I,GAAa,eACXC,EAAAA,IACCA,KAAahH,GACZA,GAAQ/wS,eAAe+3S,IACzBF,GAAU9G,GAAQgH,GAAAA,EAKpBC,GAAiB,eAEd,IAAInB,KADT/4I,EAAI,eACmBuzI,GAEnBA,GAAcrxS,eAAe62S,IAC7BxF,GAAcwF,GAAY7O,cAAgB,GAE1ClqI,EACE,IACE+4I,EACA,IACAxF,GAAcwF,GAAY7O,aAC1B,QAMRvjS,GAAOmjS,QAAQ,kBACf9pI,EAAI,OAGFm6I,GAAoB,WACtB9O,GAAWiK,IAAMD,KACjBr1I,EAAI,MACJA,EAAI,qBACJA,EAAI,MAAQqrI,GAAWp7Q,GACvB+vI,EAAI,MAAQqrI,GAAWp/R,GACvB+zJ,EAAI,OAASqrI,GAAW+O,YAAY/O,GAAW/lP,GAAK,KACpD06G,EAAI,OAASqrI,GAAW+O,YAAY/O,GAAWp9R,GAAK,KACpD+xJ,EAAI,MAAQqrI,GAAW/2Q,GACvB0rI,EAAI,MACJA,EAAI,WAGFq6I,GAAc,eAGX,IAAI1B,KAFT34I,EAAI,YAEgBnhC,GACdA,GAAM38H,eAAey2S,MAAAA,IAErBpN,IAAAA,IACCA,GAA6BC,EAAUtpS,eAAey2S,KAEvD34I,EAAI,IAAM24I,EAAU,IAAM95K,GAAM85K,GAASzO,aAAe,QAI9DlqI,EAAI,OAGFs6I,GAAwB,cACtB74S,OAAO8M,KAAKwkS,IAAUjxS,OAAS,EAAG,KAE/B,IAAIkzS,KADTh1I,EAAI,eACmB+yI,GAEnBA,GAAS7wS,eAAe8yS,IACxBjC,GAASiC,aAAuB5K,IAChC2I,GAASiC,GAAY9K,cAAgB,GAErClqI,EACE,IAAMg1I,EAAa,IAAMjC,GAASiC,GAAY9K,aAAe,QAKnEvjS,GAAOmjS,QAAQ,yBACf9pI,EAAI,QAIJu6I,GAAuB,SAASV,GAAAA,GAC9Bp4S,OAAO8M,KAAKwkS,IAAUjxS,OAAS,EAAG,KAE/B,IAAIkzS,KADTh1I,EAAI,eACmB+yI,GAEnBA,GAAS7wS,eAAe8yS,IACxBjC,GAASiC,aAAuBvJ,EAAInB,eACpCyI,GAASiC,GAAY9K,cAAgB,GACrC6I,GAASiC,GAAY9K,aAAe2P,GAEpC75I,EACE,IAAMg1I,EAAa,IAAMjC,GAASiC,GAAY9K,aAAe,QAInEvjS,GAAOmjS,QAAQ,wBACf9pI,EAAI,QAIJw6I,GAAiB,cACf/4S,OAAO8M,KAAK0kS,IAASnxS,OAAS,EAAG,KAC/Bm4S,EAAAA,IAECA,KADLj6I,EAAI,iBACcizI,GAEdA,GAAQ/wS,eAAe+3S,IACvBhH,GAAQgH,GAAW/P,cAAgB,GAEnClqI,EAAI,IAAMi6I,EAAY,IAAMhH,GAAQgH,GAAW/P,aAAe,QAIlEvjS,GAAOmjS,QAAQ,iBACf9pI,EAAI,QAIJy6I,GAAwB,SAASC,GACnCnF,GAAuBmF,EAAUd,cAAc,GAC/C55I,EAAI,MACJA,EAAI,iDACJq6I,KACAC,KACAC,GAAqBG,EAAUb,WAC/BW,KACAN,KACAl6I,EAAI,MACJA,EAAI,WAGF26I,GAAe,eAablB,EAAgC,GAEpCf,KACAsB,KACAlB,KACAgB,GAAYL,GAEZ9yS,GAAOmjS,QAAQ,gBACf2P,EAA8B3xS,QAAQ2yS,IACtCA,GAAsB,CACpBb,aAAcjJ,GACdkJ,UAAWz1R,OAAOw2R,mBAEpBj0S,GAAOmjS,QAAQ,qBAGb+Q,GAAuB,WACzBl0S,GAAOmjS,QAAQ,4BACV,IAAIloS,EAAI,EAAGA,EAAIwuS,EAAkBtuS,OAAQF,IAAK,KAC7Ce,EAAMytS,EAAkBxuS,GAC5B2zS,GAAuB5yS,EAAI+yS,OAAO,GAClC11I,EAAIr9J,EAAIuZ,SACR8jJ,EAAI,UAENr5J,GAAOmjS,QAAQ,6BAGbgR,GAA0B,SAASpqK,GACrCmiK,GAAQniK,EAAKqqK,UAAYlI,GAAQniK,EAAKqqK,WAAa,CAAC,EACpDlI,GAAQniK,EAAKqqK,UAAUrqK,EAAKlhB,WAAakhB,EAAKvgI,EAAAA,EAG5C6qS,GAAU,SACZvC,EACAsC,EACAvrL,EACA06H,EACA+wD,GAAAA,IAEIvqK,EAAO,CACTvgI,GAAI,KAAO1O,OAAO8M,KAAKswH,IAAO/8H,OAAS,GAAGsqB,SAAS,IACnDqsR,eAAgBA,EAChBsC,SAAUA,EACVvrL,UAAWA,EACX06H,SAAUA,EACV+wD,eAAgBA,IAAAA,EAChBlkD,SAAU,CAAC,GAAD,OAGZpwP,GAAOmjS,QAAQ,UAAW,CACxBp5J,KAAMA,EACN5tI,SAAUc,OAGZi7H,GAAM6R,EAAKvgI,IAAMugI,EACjBoqK,GAAwBpqK,GACjBA,EAAKvgI,EAAAA,EAGV+qS,GAAW,SAASC,GAAAA,IACjB,IAAIv5S,EAAI,EAAG2pB,EAAIylR,GAAclvS,OAAQF,EAAI2pB,EAAG3pB,IAAK,KAChD+2S,EAAUqC,GAAQ74S,KACpByB,KACAu3S,EAAav5S,GAAG,GAChBu5S,EAAav5S,GAAG,GAChBu5S,EAAav5S,GAAG,GAChBovS,GAAcpvS,GAAG,QACjB,IAGE2pS,IACFC,EAAUmN,IAAAA,GAAW,IAGnB7jJ,EAAQqmJ,EAAav5S,GAAG,GAAGwT,MAAM,KACrC0lS,GAAwB,CACtB3qS,GAAIwoS,EACJoC,SAAUjmJ,EAAM,GAChBtlC,UAAWslC,EAAM,IAAM,KAG3BnuJ,GAAOmjS,QAAQ,WAAY,CACzBjrK,MAAOA,GACPu8K,WAAYvI,IAAAA,EAIZwI,GAAO,SAAoBjsS,GAAAA,OAC7BA,EAAG8hR,IAAM,sBAEE9hR,EAAGnL,MAAML,KAAM/B,UAWUswB,CAVhC,MAAO3pB,GAAAA,IACHsjI,EAAQtjI,EAAEsjI,OAAS,IAClBA,EAAMn/H,QAAQ,UAASm/H,EAAQA,EAAM12H,MAAM,QAAQ,QACpD+c,EACF,qBACA25G,EAAM12H,MAAM,MAAM,GAAGA,MAAM,KAAK,GAChC,KACA5M,EAAEgL,QAAAA,IACAmqR,GAAavsP,QAAS,MAIlB,IAAIjgC,MAAMghB,GAHhBwrQ,GAAavsP,QAAQ/nB,MAAM8I,EAAG3pB,GAC1Bm1R,GAAa2d,OAAOA,MAAMnpR,EAAAA,CAAAA,EAMpC/iB,EAAG8hR,IAAI9tP,IAAMh0B,EACNA,EAAG8hR,GAAAA,EAGRqqB,GAAe,SAASh/R,EAAMwrE,GAAAA,IAiD5BnmF,EACF2pB,EACAiwR,EACAC,EACAC,EACAC,EACAC,EACA3oH,EACA4oH,EAAAA,GAGFL,GADAzzN,EAAQA,GAAS,CAAC,GACKyzN,gBAAkB,UACzCE,EAAiB3zN,EAAM2zN,gBAYpB3zN,EAAM+zN,YAAcJ,IACrB78K,GAAM8zK,IAAe57C,UACrBl4H,GAAM8zK,IAAe57C,SAASykD,IAC9B38K,GAAM8zK,IAAe57C,SAASykD,GAAgBtxD,WAE9CuxD,EAAgB58K,GAAM8zK,IAAe57C,SAASykD,GAAgBtxD,UAGzDwxD,GAAkB78K,GAAM8zK,IAAezoD,WAC1CwxD,EAAiB78K,GAAM8zK,IAAezoD,WAInCwxD,GAAkBD,EAAcM,YACnCL,EAAiBD,EAAcM,UAAU,IAGb,iBAAnBL,IACTA,EAAiBD,EAAcC,IAK7BA,GAAgB,KAClBE,GAAAA,EACAD,EAAU,GACL/5S,EAAI,EAAG2pB,EAAIhP,EAAKza,OAAQF,EAAI2pB,EAAG3pB,KAClCqxL,EAAKyoH,EAAen/R,EAAKquF,WAAWhpG,KAElC+5S,EAAQ90S,KAAKsmB,OAAO89E,aAAagoF,IAEjC0oH,EAAQ90S,KAAK0V,EAAK3a,IAKhB+5S,EAAQ/5S,GAAGgpG,WAAW,IAAM,IAE9BgxM,GAAAA,GAGJr/R,EAAOo/R,EAAQzoS,KAAK,QAIxBtR,EAAI2a,EAAKza,YAAAA,IAEF85S,GAAiC,IAANh6S,GAC5B2a,EAAKquF,WAAWhpG,EAAI,IAAM,IAE5Bg6S,GAAAA,GAEFh6S,IAAAA,IAEGg6S,EAAAA,OACIr/R,EAAAA,IAGTo/R,EAAU5zN,EAAMi0N,MAAQ,GAAK,CAAC,IAAK,KAC9Bp6S,EAAI,EAAG2pB,EAAIhP,EAAKza,OAAQF,EAAI2pB,EAAG3pB,IAAK,KAEvCi6S,GADA5oH,EAAK12K,EAAKquF,WAAWhpG,KACT,IACD,EAAG,MAEN,IAAIuP,MACR,yBACEvP,EACA,eACA2a,EACA,qDAGNo/R,EAAQ90S,KAAKg1S,GACbF,EAAQ90S,KAAKosL,GAAM4oH,GAAO,WAErB1uR,OAAO89E,aAAahnG,WAAM,EAAW03S,EAAAA,EAG1CM,GAAaxQ,EAAIC,YAAYuQ,UAAYxQ,EAAIwQ,UAAY,SAC3D1/R,EACAwrE,GAAAA,OAeOwzN,GAAah/R,EAAMwrE,GACvBh7E,QAAQ,MAAO,QACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,QAGhBmvS,GAAazQ,EAAIC,YAAYwQ,UAAY,SAASvyQ,GACpD0mQ,IAAQ+C,IAAQ,GAChBC,GAAaD,IAAQ,CACnBsC,MAAO,EACP8B,cAAe,EACfxM,SAAU5mR,OAAO4mR,GACjBiN,OAAQ,KACRF,SAAU,KACVD,QAAS,KACTE,QAAS,KACTP,SAAU,CACRC,YAAa,EACbC,YAAa,EACbC,UAAWxzR,OAAOulB,EAAO,IACzBkuQ,UAAWzzR,OAAOulB,EAAO,MAG7BwyQ,GAAS/I,IACTvC,EAAqBR,EAAMN,GAAAA,EAGzBqM,GAAW,SAASC,EAAYC,GAAAA,IAC9Bp7N,EAAYv8D,EAAOF,EAAAA,OAEvBmX,EAAc0gR,GAAmB1gR,EAEP,iBAAfygR,IACTn7N,EAAassN,EAAc6O,EAAWnuS,eAClCnK,MAAMwS,QAAQ2qE,KAChBv8D,EAAQu8D,EAAW,GACnBz8D,EAASy8D,EAAW,KAIpBn9E,MAAMwS,QAAQ8lS,KAChB13R,EAAQ03R,EAAW,GAAKtO,GACxBtpR,EAAS43R,EAAW,GAAKtO,IAGvBzoR,MAAMX,KACRA,EAAQglB,EAAO,GACfllB,EAASklB,EAAO,KAGdhlB,EAAQ,OAASF,EAAS,SAC5B2sB,GAAQC,KACN,0GAEF1sB,EAAQnV,KAAK+T,IAAI,MAAOoB,GACxBF,EAASjV,KAAK+T,IAAI,MAAOkB,IAG3BklB,EAAS,CAAChlB,EAAOF,GAETmX,EAAY7rB,OAAO,EAAG,QACvB,IACC0U,EAASE,IACXglB,EAAS,CAACllB,EAAQE,IAAAA,MAAAA,IAGjB,IACCA,EAAQF,IACVklB,EAAS,CAACllB,EAAQE,IAKxBu3R,GAAUvyQ,GAGV4yQ,GAAanrK,IAEb4uB,EAAIpiI,IAEc,IAAd4+Q,IACFx8I,EAAIw8I,GAAY,MAEC,IAAfC,IACFz8I,EAAIy8I,GAAa,MAEnB91S,GAAOmjS,QAAQ,UAAW,CACxBvqE,WAAY6zE,IAAAA,EAIZsJ,GAAc,SAASn2R,GACrBA,EAAI,GAAKA,GAAK6sR,KAChB/C,EAAM76R,OAAO+Q,EAAG,GAChB8sR,GAAa79R,OAAO+Q,EAAG,GACvB6sR,KACIrD,EAAcqD,KAChBrD,EAAcqD,IAAAA,KAEXuJ,QAAQ5M,GAAAA,EAIboM,GAAW,SAAS51R,GAClBA,EAAI,GAAKA,GAAK6sR,KAChBrD,EAAcxpR,EAAAA,EAIdq2R,GAAoBnR,EAAIC,YAAYkR,iBAAmBnR,EAAImR,iBAAmB,kBACzEvM,EAAMvuS,OAAS,GAiBpB+6S,GAAU,SAAS9B,EAAUvrL,EAAWj4G,GAAAA,IAExCulS,EADE96S,OAAAA,EAAM+O,OAEVwG,EAAUA,GAAW,CAAC,EAEtBwjS,OAAAA,IACEA,EAAyBA,EAAWl8K,GAAM8zK,IAAeoI,SAC3DvrL,OAAAA,IACEA,EAA0BA,EAAYqP,GAAM8zK,IAAenjL,UAC7DstL,EAAoB/B,EAAS7sS,mBAAAA,IAG3B2kS,GAAQiK,SAAAA,IACRjK,GAAQiK,GAAmBttL,GAE3BxtH,EAAM6wS,GAAQiK,GAAmBttL,QAAAA,IAEjCqjL,GAAQkI,SAAAA,IACRlI,GAAQkI,GAAUvrL,GAElBxtH,EAAM6wS,GAAQkI,GAAUvrL,IAAAA,IAEpBj4G,EAAQwlS,gBACV3rQ,GAAQC,KACN,0CACE0pQ,EACA,OACAvrL,EACA,kDAKHxtH,GAAQuV,EAAQylS,YAER,OADXh7S,EAAM6wS,GAAO/hO,MAAU0+C,MAErBxtH,EAAM6wS,GAAO/hO,MAAPvgD,QAGHvuB,CAAAA,EAGLi7S,GAAWxR,EAAIC,YAAYuR,QAAU,eACnCrG,EAAWvB,KACXwB,EAAY,SAASz+Q,GAAAA,OAChBA,CAAAA,EAAAA,IAOJ,IAAIp2B,KALiB,OAAtBmpS,IACF0L,EAAYxL,GAAWwL,UAAUD,EAAU,IAE7C52I,EAAI,MACJA,EAAI,cAAgBi8I,GAAUpF,EAAU,SAAWjM,GAAMhzN,UAAY,KACrDs6N,GACVA,GAAmBhwS,eAAeF,IAAQkwS,GAAmBlwS,IAC/Dg+J,EACE,IACEh+J,EAAI+N,OAAO,EAAG,GAAGD,cACjB9N,EAAI+N,OAAO,GACX,KACAksS,GAAUpF,EAAU3E,GAAmBlwS,KACvC,KAIRg+J,EAAI,kBAAoBi8I,GAAUpF,EAAU9H,IAAiB,KAC7D/uI,EAAI,MACJA,EAAI,WAGFk9I,GAAczR,EAAIC,YAAYwR,WAAa,SAAS3lS,GAAAA,IAElD4lS,GADJ5lS,EAAUA,GAAW,CAAC,GAEZk5R,qBAAuBA,GAAAA,OACjC4E,KACAr1I,EAAI,MACJA,EAAI,kBACJA,EAAI,UAAYm9I,EAAyB,QAEpChM,KAAUA,GAAW,aAClBA,IAAAA,IACD,YACHnxI,EAAI,4CAED,aACHA,EAAI,4CAED,WACHA,EAAI,sCAED,WACHA,EAAI,0DAGAo9I,EAAM,GAAKjM,GACoB,MAA/BiM,EAAIrtS,OAAOqtS,EAAIt7S,OAAS,KAC1BqvS,GAAWvwR,SAASuwR,IAAY,KACV,iBAAbA,IACTnxI,EAAI,qCAAuCq3F,EAAG85C,IAAY,YAG3DO,KAAYA,GAAa,cACtBA,IAAAA,IACD,aACH1xI,EAAI,oCAED,SACHA,EAAI,qCAED,UACA,UACHA,EAAI,wCAED,WACHA,EAAI,+BAGJuxI,IAQFvxI,EAAI,cAAgBuxI,IAEtB5qS,GAAOmjS,QAAQ,cACf9pI,EAAI,MACJA,EAAI,WAGFq9I,GAAc5R,EAAIC,YAAY2R,WAAa,WAC7Cr9I,EAAI,WACJA,EAAI,MACJA,EAAI,UAAYkqI,EAAe,IAE/BlqI,EAAI,SAAWkqI,EAAe,QAC9BlqI,EAAI,UAAYkqI,EAAe,GAAK,QACV,OAAtBiB,GACFnrI,EAAI,YAAcqrI,GAAWiK,IAAM,QAErCt1I,EAAI,UAAYipI,EAAS,MAAQA,EAAS,OAC1CjpI,EAAI,OAGFs9I,GAAa7R,EAAIC,YAAY4R,UAAY,WAC3Ct9I,EAAI,QAAU2rI,GACd3rI,EAAI,sBAGFu9I,GAAW9R,EAAIC,YAAY6R,QAAU,eACnC3yR,EAAI,aAERo1I,EAAI,QACJA,EAAI,MAAQkqI,EAAe,IAC3BlqI,EAAI,2BACC,IAAIp+J,EAAI,EAAGA,GAAKsoS,EAActoS,IAEX,mBADTsuS,EAAQtuS,GAEnBo+J,GAAKp1I,EAAIslR,EAAQtuS,MAAM0gB,OAAO,IAAM,sBAEzB4tR,EAAQtuS,GACjBo+J,GAAKp1I,EAAIslR,EAAQtuS,IAAI0gB,OAAO,IAAM,aAElC09I,EAAI,wBAMRw9I,GAAiB/R,EAAIC,YAAY8R,cAAgB,WACnDhN,IACAK,EAAqB30R,GAErBvV,GAAOmjS,QAAQ,iBAEfwT,KACAlF,KACAyC,KACAF,KAC0B,OAAtBxP,GAA4BgP,KAChC8C,KACAC,KAAAA,IAEIO,EAAetN,EAAAA,OACnBoN,KACAF,KACAr9I,EAAI,aACJA,EAAI,GAAKy9I,GACTz9I,EAAI,SAEJ6wI,EAAqBR,EAAMN,IAEpB7zR,EAAQhJ,KAAK,OAGlBwqS,GAAWjS,EAAIC,YAAYgS,QAAU,SAAStlR,GAAAA,OACzC,IAAIonB,KAAK,CAACuxP,GAAe34Q,IAAQ,CACtClgB,KAAM,qBA4BNokI,GAAUmvJ,EAAInvJ,OAASmvJ,EAAIC,YAAYpvJ,OAAS++J,IAAK,SACvDnjS,EACAX,GAAAA,OAIuB,iBAFvBA,EAAUA,GAAW,CAAC,GAGpBA,EAAU,CACRgrB,SAAUhrB,GAGZA,EAAQgrB,SAAWhrB,EAAQgrB,UAAY,gBAGjCrqB,GAAAA,UAAAA,EACDnH,OACIysS,KAAAA,IACJ,OACH/R,EAAI57J,KAAKt4H,EAAQgrB,UAAAA,MAAAA,IAEd,qBACIwuQ,GAAeyM,MAAAA,IACnB,cACIE,GAAQF,MAAAA,IACZ,cACA,sBAGM7f,GAAal+O,KACwB,mBAArCk+O,GAAal+O,IAAIC,gBAAAA,OAGrBi+O,GAAal+O,KACZk+O,GAAal+O,IAAIC,gBAAgBg+P,GAAQF,aAAAA,EAI7CpsQ,GAAQC,KACN,oHAID,oBACA,oBACC6P,EAAU,GACVy8P,EAAcH,KAAAA,IAEhBt8P,EAAUuoJ,GAAKk0G,EAE4BA,CAD3C,MAAOn1S,GACP04C,EAAUuoJ,GAAKC,SAASjpJ,mBAAmBk9P,IAAAA,CAAAA,MAG3C,iCACApmS,EAAQgrB,SACR,WACA2e,EAAAA,IAEC,wBAEgD,oBAAjDz/C,OAAOQ,UAAUmqB,SAASjqB,KAAKw7R,IAC/B,KACIigB,EACF,0EACEC,EACF,uIAEEtmS,EAAQqmS,eACVA,EAAermS,EAAQqmS,aACvBC,EAAY,QAGVC,EACF,kIAEAF,EACA,IACAC,EACA,wCACAj6S,KAAK04I,OAAO,iBACZ,MACAl3F,KAAKC,UAAU9tC,GACf,6BACEwmS,EAAKpgB,GAAalhM,OAAAA,OAEX,OAAPshN,GACFA,EAAGhwS,SAAS6sG,MAAMkjM,GAEbC,CAAAA,CAAAA,MAED,IAAI5sS,MACR,0EAGD,oBAEgD,oBAAjD1P,OAAOQ,UAAUmqB,SAASjqB,KAAKw7R,IAC/B,KAEIqgB,EACF,kJAFazmS,EAAQ0mS,UAAY,mCAMjC,uBACA1mS,EAAQgrB,SALR,kDAQE27Q,EAAiBvgB,GAAalhM,OAAAA,GAEX,OAAnByhN,EAAyB,CAC3BA,EAAenwS,SAAS6sG,MAAMojM,GAAAA,IAC1BvhS,EAAQ7Y,KACZs6S,EAAenwS,SAAS+H,gBAAgB+L,cACtC,cACA++B,OAAS,WACTs9P,EAAenwS,SAASmG,MAAQqD,EAAQgrB,SACxC27Q,EAAenwS,SAAS+H,gBACrB+L,cAAc,cACds2G,cAAcgmL,qBAAqB1hN,KAClChgF,EAAM6/H,OAAO,oBAId4hK,CAAAA,CAAAA,MAED,IAAI/sS,MACR,sEAGD,sBAEgD,oBAAjD1P,OAAOQ,UAAUmqB,SAASjqB,KAAKw7R,IAAAA,MAkBzB,IAAIxsR,MACR,wEAjBEitS,EACF,kIAIAx6S,KAAK04I,OAAO,gBAAiB/kI,GAJ7B,4BAOE8mS,EAAmB1gB,GAAalhM,OAAAA,GACX,OAArB4hN,IACFA,EAAiBtwS,SAAS6sG,MAAMwjM,GAChCC,EAAiBtwS,SAASmG,MAAQqD,EAAQgrB,UAExC87Q,GAAsC,oBAAX9f,OAC7B,OAAO8f,EAAAA,MAAAA,IAOR,cACA,iBACK1gB,GAAa5vR,SAAS81H,SAASpiF,KAAO79C,KAAK04I,OACjD,gBACA/kI,GAAAA,QAAAA,OAGK,SAST+mS,GAAY,SAASC,GAAAA,OAAAA,IAErBx6S,MAAMwS,QAAQ+8R,KAAsBA,GAAS3mS,QAAQ4xS,IAAe,UAIhE9/P,GAAAA,IACD,KACHsvP,GAAc,YAEX,KACHA,GAAc,GAAK,eAEhB,KACHA,GAAc,GAAK,eAEhB,KACHA,GAAc,aAEX,KAEDA,GAD6B,GAA3BuQ,GAAU,cACE,IAEA,GAAK,aAGlB,SAGA,KACHvQ,GAAc,aAEX,KACHA,GAAc,mBAGM,iBAATtvP,EAAAA,MAGH,IAAIttC,MAAM,iBAAmBstC,GAFnCsvP,GAActvP,EAAAA,IAMhB4sP,GAAa,KACjBuE,IACAX,IAAAA,IAEIuP,GAAe,SAAS5H,GAAAA,OACA,OAAtBzL,EACKE,GAAWwL,UAAUD,EAAU,GAEjC,SAASx+Q,GAAAA,OACPA,CAAAA,CAAAA,EAOPqmR,GAAehT,EAAIC,YAAY+S,YAAchT,EAAIgT,YAAc,SACjEC,GAAAA,GAEIp5R,MAAMo5R,IAAuBA,EAAqB,GAAM,EAAG,MACvD,IAAIvtS,MAAM,sDAGX,CACLukS,MAFUrC,GAAaqL,GAAoBhJ,MAG3Cn2E,WAAYm/E,EACZxG,YAAa7E,GAAaqL,GAAAA,EAI1BC,GAAsBlT,EAAIC,YAAYiT,mBAAqB,SAC7DjJ,GAAAA,GAEIpwR,MAAMowR,IAAUA,EAAQ,GAAM,EAAG,MAC7B,IAAIvkS,MAAM,2DAEb,IAAIouN,KAAc8zE,GAAAA,GACjBA,GAAa9zE,GAAYm2E,QAAUA,EAAAA,MAAAA,OAIlC+I,GAAYl/E,EAAAA,EAGjBq/E,GAAsBnT,EAAIC,YAAYkT,mBAAqBnT,EAAImT,mBAAqB,iBAC/E,CACLlJ,MAAOrC,GAAatD,GAAa2F,MACjCn2E,WAAYwwE,EACZmI,YAAa7E,GAAatD,GAAAA,EAgB9BtE,EAAIoT,QAAU,kBACZzC,GAASn4S,MAAML,KAAM/B,WACd+B,IAAAA,EAmBT6nS,EAAIkR,QAAU,kBACZR,GAASl4S,MAAML,KAAM/B,WACrBgvS,EAAqB1uS,KAAKyB,KAAMysS,EAAMN,IAC/BnsS,IAAAA,EAYT6nS,EAAIqT,WAAa,SAASC,GAAAA,OAAAA,KACnBF,UAAAA,KACAG,SAASjP,EAAagP,GACpBn7S,IAAAA,EAYT6nS,EAAIuT,SAAW,SAASC,EAAYF,GAAAA,IAC9BG,EAAUC,EAAAA,GACVF,EAAaF,EAAY,CAC3BG,EAAW7O,EAAM4O,GACjBE,EAAkB9L,GAAa4L,GAAAA,IAC1B,IAAIr9S,EAAIq9S,EAAYr9S,EAAIm9S,EAAYn9S,IACvCyuS,EAAMzuS,GAAKyuS,EAAMzuS,EAAI,GACrByxS,GAAazxS,GAAKyxS,GAAazxS,EAAI,GAErCyuS,EAAM0O,GAAcG,EACpB7L,GAAa0L,GAAcI,EAAAA,KACtBxC,QAAQoC,EAAAA,MACR,GAAIE,EAAaF,EAAY,CAClCG,EAAW7O,EAAM4O,GACjBE,EAAkB9L,GAAa4L,GAAAA,IAC1B,IAAIrwR,EAAIqwR,EAAYrwR,EAAImwR,EAAYnwR,IACvCyhR,EAAMzhR,GAAKyhR,EAAMzhR,EAAI,GACrBykR,GAAazkR,GAAKykR,GAAazkR,EAAI,GAErCyhR,EAAM0O,GAAcG,EACpB7L,GAAa0L,GAAcI,EAAAA,KACtBxC,QAAQoC,EAAAA,CAAAA,OAERn7S,IAAAA,EAYT6nS,EAAI2T,WAAa,kBACf1C,GAAYz4S,MAAML,KAAM/B,WACjB+B,IAAAA,EAuCT6nS,EAAIC,YAAYnvR,KAAOkvR,EAAIlvR,KAAO,SAASA,EAAMjH,EAAGuQ,EAAGtO,EAAS7J,GAAAA,IAe1D0lL,EAAS/b,EAAIl0G,EAAOxjC,EAAO0/Q,EAAWz6R,EAAUmjE,EAAOu3N,EAkBvDC,EAnBA9iS,GADJlF,EAAUA,GAAW,CAAC,GACFkF,OAAS7Y,KAAAA,GASX,iBAAT2Y,GACM,iBAANjH,IACO,iBAANuQ,GAAkB9hB,MAAMwS,QAAQsP,IACxC,KACIq3G,EAAMr3G,EACVA,EAAIvQ,EACJA,EAAIiH,EACJA,EAAO2gH,CAAAA,CAAAA,GAKLr7H,UAAU,aAAc8yE,IAAAA,GAE1BxR,EAAQthE,UAAU,GAClB89B,EAAQ99B,UAAU,GAEG,YAAjBujK,EAAAA,GAAAA,GAJJr9E,EAAQlmF,UAAU,KAIyB,OAAVkmF,IACV,iBAAV5kB,IACTxjC,EAAQwjC,EACRA,EAAQ,MAEW,iBAAV4kB,IACTpoD,EAAQooD,EACRA,EAAQ,MAEW,iBAAVA,IACT5kB,EAAQ4kB,EACRA,EAAQ,MAEVxwE,EAAU,CACRwwE,MAAOA,EACP5kB,MAAOA,EACPxjC,MAAOA,MAIX6uQ,EACE,yDAEF+Q,EAAuB7xS,GAGrB4X,MAAMhQ,IAAMgQ,MAAMO,IAAlBP,MAA+B/I,EAAAA,MAC3B,IAAIpL,MAAM,6CAGE,IAAhBoL,EAAKza,OAAAA,OACA2a,EAAAA,IAGL+iS,EAAO,GACPtwO,GAAAA,EACAo+C,EACkC,iBAA7B/1G,EAAQkoS,iBACXloS,EAAQkoS,iBACRA,GACF1R,EAActxR,EAAM5C,SAASk0R,YAAAA,SAExB2R,EAAIp0R,GAAAA,OACXA,EAAIA,EAAElW,MAAM,MAAMlC,KAAKnP,MAAMwT,EAAQooS,QAAU,GAAGzsS,KAAK,MAChD+oS,GAAU3wR,EAAGy8D,EAAAA,CAAAA,SAGb63N,EAA4BrjS,GAAAA,IAAAA,IAK/BsjS,EAHAryI,EAAKjxJ,EAAKrY,SACVmzK,EAAK,GACLzxF,EAAM4nF,EAAG1rK,OAIN8jF,KAEgB,iBADrBi6N,EAAQryI,EAAGx5F,SAETqjG,EAAGxwK,KAAKg5S,GAGN97S,MAAMwS,QAAQgG,KACI,IAAjBsjS,EAAM/9S,aAAAA,IACJ+9S,EAAM,aAAoBA,EAAM,IAEnCxoI,EAAGxwK,KAAKg5S,EAAM,IAEdxoI,EAAGxwK,KAAK,CAACg5S,EAAM,GAAIA,EAAM,GAAIA,EAAM,YAIlCxoI,CAAAA,CAAAA,SAGAyoI,EAAsBvjS,EAAMwjS,GAAAA,IAC/B3vS,EAAAA,GACgB,iBAATmM,EACTnM,EAAS2vS,EAAmBxjS,GAAM,QAC7B,GAAIxY,MAAMwS,QAAQgG,GAAO,SAK1BsjS,EACAG,EAJAxyI,EAAKjxJ,EAAKrY,SACVmzK,EAAK,GACLzxF,EAAM4nF,EAAG1rK,OAKN8jF,KAEgB,iBADrBi6N,EAAQryI,EAAGx5F,SAETqjG,EAAGxwK,KAAKk5S,EAAmBF,GAAO,IACzB97S,MAAMwS,QAAQspS,IAA8B,iBAAbA,EAAM,KAC9CG,EAAYD,EAAmBF,EAAM,GAAIA,EAAM,GAAIA,EAAM,IACzDxoI,EAAGxwK,KAAK,CAACm5S,EAAU,GAAIA,EAAU,GAAIA,EAAU,MAGnD5vS,EAASinK,CAAAA,CAAAA,OAEJjnK,CAAAA,CAAAA,IAIL6vS,GAAAA,EACAC,GAAAA,EAAwB,GAER,iBAAT3jS,EACT0jS,GAAAA,OACK,GAAIl8S,MAAMwS,QAAQgG,GAAO,KAE1BixJ,EAAKjxJ,EAAKrY,SACdmzK,EAAK,WAEDwoI,EADAj6N,EAAM4nF,EAAG1rK,OAIN8jF,MAGc,iBAFnBi6N,EAAQryI,EAAGx5F,UAGRjwE,MAAMwS,QAAQspS,IAA8B,iBAAbA,EAAM,MAEtCK,GAAAA,GAGJD,EAAqBC,CAAAA,CAAAA,IAAAA,IAEnBD,EAAAA,MACI,IAAI9uS,MACR,0CACEoL,EACA,wBAWc,iBAATA,IAEPA,EADEA,EAAK4J,MAAM,WACN5J,EAAKnH,MAAM,eAEX,CAACmH,IAAAA,IAKRkI,EAASysR,GAAiBz0R,EAAM5C,SAASk0R,YACzCoS,EAAU17R,GAAU6oG,EAAa,UAE7B/1G,EAAQ43H,UAAAA,IACT,SACHtpH,GAAKs6R,EAAAA,MAAAA,IAEF,MACHt6R,GAAKpB,EAAS07R,EAAAA,MAAAA,IAEX,UACHt6R,GAAKpB,EAAS,EAAI07R,EAAAA,MAAAA,IAEf,SACHt6R,GAAKpB,EAAS,EAAI07R,EAAAA,IAUtBv7R,EAAWrN,EAAQqN,UAAY,GAEhB,IACO,iBAATrI,EACTA,EAAOE,EAAM2jS,gBAAgB7jS,EAAMqI,GACe,mBAAzCnjB,OAAOQ,UAAUmqB,SAASjqB,KAAKoa,KACxCA,EAAOA,EAAKkR,QAAO,SAASoxE,EAAKwhN,GAAAA,OACxBxhN,EAAI36F,OAAOuY,EAAM2jS,gBAAgBC,EAAUz7R,GAAAA,GACjD,MAKPwuK,EAAU,CACR72K,KAAMA,EACNjH,EAAGA,EACHuQ,EAAGA,EACHtO,QAASA,EACT+oS,MAAO,CACLrE,UAAWA,GACXtJ,cAAeA,GACf9zK,MAAOA,GACPqyK,eAAgBA,KAGpBvqS,GAAOmjS,QAAQ,iBAAkB12G,GAEjC72K,EAAO62K,EAAQ72K,KAIf4mD,GAHA5rD,EAAU67K,EAAQ77K,SAGF4rD,MAGdo8O,aAAgC5qO,IAAAA,GAChCxR,GACiB,iBAAVA,EACP,CACAA,GAAS3zD,KAAKke,GAAK,IAEe,IAA9BnW,EAAQgpS,oBACVp9O,GAASA,GAGPyqO,IAAYH,EAAQE,WACtBxqO,GAASA,GAAAA,IAGP13C,EAAIjc,KAAKoe,IAAIu1C,GACb73C,EAAI9b,KAAKme,IAAIw1C,GACjBo8O,EAAuB,IAAI5qO,GAAOlpD,EAAGH,GAAIA,EAAGG,EAAG,EAAG,QACzC03C,GAASA,aAAiBwR,KACnC4qO,EAAuBp8O,GAGrByqO,IAAYH,EAAQE,UAAa4R,IACnCA,EAAuB1K,SAAAA,KAKzBwK,EAAY9nS,EAAQ8nS,WAAamB,MAG/BhB,GAAQjR,EAAI3uP,EAAMy/P,IAAc,aAC3BoB,aAAa78S,KAAK88S,gBAAkB,cAG3CpB,EAAkB/nS,EAAQ+nS,mBAExBE,GAAQjR,EAAsB,IAAlB+Q,GAAyB,SAK5B/nS,EAAQ4iJ,KAAAA,IAOfwmJ,GAAiB,EACjBC,OAAAA,IACKrpS,EAAQopS,cACXppS,EAAQopS,cACRppS,EAAQub,OACVolR,EAAcz7R,EAAM5C,SAAS+kS,qBAAqB1G,YAAAA,OAE9C0I,GAAAA,KACD,SACA,IACA,OACHD,EAAgB,aAEb,SACA,IACA,SACHA,EAAgB,aAEb,MACA,iBACHA,EAAgB,aAEb,MACA,YACHA,EAAgB,aAEb,MACA,wBACHA,EAAgB,aAEb,MACA,8BACHA,EAAgB,aAEb,MACA,wCACHA,EAAgB,aAEb,MACA,uBACHA,EAAgB,MAIhBE,OAAAA,IACK3I,EAAY2I,kBACf3I,EAAY2I,mBACX,GAIgB,IAAnBF,EACFnB,GAAQmB,EAAgB,SAGQ,IAAvBE,IACTrB,GAAQ,WAGa,IAAnBmB,IACFzI,EAAY2I,kBAAoBF,GAIlChhR,EAAQpoB,EAAQooB,OAAS,WAOrBmhR,EANA5qO,EAAUg7N,GAAiB5jL,EAC3ByzL,EAAYtkS,EAAM5C,SAASwlN,SAAS2hF,WACpCC,EAAapiL,GAAM8zK,IACvB0M,EAAY9nS,EAAQ8nS,WAAamB,GACjC57R,EAAWrN,EAAQqN,UAAY,EAG/BmjE,EAAQtmF,OAAOC,OAAO,CAAEo6S,YAAY,EAAME,OAAO,GAAQzkS,EAAQwwE,OAAAA,IAE7Dm5N,EAAqB,MAEoB,mBAAzCz/S,OAAOQ,UAAUmqB,SAASjqB,KAAKoa,GAA4B,KAEzD2oD,EADJmyG,EAAKuoI,EAA4BrjS,GAEnB,SAAVojB,IACFmhR,EAAazpI,EAAG/mK,KAAI,SAAS2f,GAAAA,OAExBxT,EAAM0kS,mBAAmBlxR,EAAG,CAC3BygH,KAAMuwK,EACN5B,UAAWA,EACXtpR,SAAUm7Q,GACVkQ,WAAW,IAEXlQ,GACFnD,CAAAA,KAAAA,IAQF9oO,EADAo8O,EAAY,KAEF,UAAV1hR,EAAmB,CAGrBrqB,GAAKwrS,EAAW,GAChBvkS,EAAO,GACPqpE,EAAMyxF,EAAGv1K,OAAAA,IACJ,IAAIF,EAAI,EAAGA,EAAIgkF,EAAKhkF,IACb,IAANA,GACFqjE,EAAOq8O,GAAwBhsS,GAC/B4vD,EAAOq8O,GAAsB17R,KAE7Bo/C,EAAOrlB,EAAMyhQ,EAAYP,EAAWl/S,IACpCsjE,GAAQgR,GAEV35D,EAAK1V,KAAK,CAACwwK,EAAGz1K,GAAIqjE,EAAMC,IACxBm8O,EAAYP,EAAWl/S,EAAAA,MAEpB,GAAc,WAAV+9B,EAAoB,CAG7BrqB,GAAKwrS,EAAW,GAAK,EACrBvkS,EAAO,GACPqpE,EAAMyxF,EAAGv1K,OAAAA,IACJ,IAAI8sB,EAAI,EAAGA,EAAIg3D,EAAKh3D,IACb,IAANA,GACFq2C,EAAOq8O,GAAwBhsS,GAC/B4vD,EAAOq8O,GAAsB17R,KAE7Bo/C,EAAOrlB,GAAOyhQ,EAAYP,EAAWlyR,IAAM,GAC3Cs2C,GAAQgR,GAEV35D,EAAK1V,KAAK,CAACwwK,EAAGzoJ,GAAIq2C,EAAMC,IACxBm8O,EAAYP,EAAWlyR,EAAAA,MAEpB,GAAc,SAAV+Q,EAAkB,CAC3BpjB,EAAO,GACPqpE,EAAMyxF,EAAGv1K,OAAAA,IACJ,IAAImkB,EAAI,EAAGA,EAAI2/D,EAAK3/D,IACvB1J,EAAK1V,KAAKwwK,EAAGpxJ,GAAAA,KAEV,IAAc,YAAV0Z,EAAAA,MAsBH,IAAIxuB,MACR,8EAtBFoL,EAAO,GACPqpE,EAAMyxF,EAAGv1K,OACT8iB,EAAwB,IAAbA,EAAiBA,EAAWm8R,EAAAA,IAElC,IAAIx1R,GAAI,EAAGA,GAAIq6D,EAAKr6D,KACvB25C,EAAa,IAAN35C,GAAUg2R,GAAsB17R,IAAMqwD,EAC7CjR,EAAa,IAAN15C,GAAU+1R,GAAwBhsS,GAAK,EAC1CiW,GAAIq6D,EAAM,EACZs7N,EAAmBr6S,KACjB0nS,EACE3uP,GACGh7B,EAAWk8R,EAAWv1R,MAAO8rJ,EAAG9rJ,IAAGnW,MAAM,KAAKtT,OAAS,MAK9Do/S,EAAmBr6S,KAAK,GAE1B0V,EAAK1V,KAAK,CAACwwK,EAAG9rJ,IAAI05C,EAAMC,GAAAA,CAAAA,CAAAA,IAU1Bs8O,GAAqC,kBAAhBjqS,EAAQ65R,IAAoB75R,EAAQ65R,IAAMA,IAAAA,IAC/DoQ,KACFjlS,EAAOujS,EAAsBvjS,GAAM,SAASA,EAAMklS,EAAMC,GAAAA,MAC/C,CACLnlS,EACGnH,MAAM,IACNoN,UACAtP,KAAK,IACRuuS,EACAC,EAAAA,KAMNtuH,EAAU,CACR72K,KAAMA,EACNjH,EAAGA,EACHuQ,EAAGA,EACHtO,QAASA,EACT+oS,MAAO,CACLrE,UAAWA,GACXtJ,cAAeA,GACf9zK,MAAOA,GACPqyK,eAAgBA,KAGpBvqS,GAAOmjS,QAAQ,kBAAmB12G,GAElC72K,EAAO62K,EAAQ72K,KACf2yD,EAAQkkH,EAAQktH,MAAMpxO,QAAS,MAG3ByyO,GAAqB9iL,GAAM8zK,IAAezoD,SAGrB,oBAAvBy3D,IACuB,qBAAvBA,KAEAplS,EAAOujS,EAAsBvjS,GAAM,SAASA,EAAMklS,EAAMC,GAAAA,MAC/C,CAAChC,EAAInjS,GAAOklS,EAAMC,EAAAA,KAI7BrqI,EAAKuoI,EAA4BrjS,GAEjCA,EAAO,WAIHklS,GACAC,GACAxlS,GALA0lS,GAAS,EACTC,GAAQ,EACRtxK,GAAUxsI,MAAMwS,QAAQ8gK,EAAG,IAAMwqI,GAAQD,GAIzCtuL,GAAc,GAEdwuL,GAAmB,SACrBC,EACAC,EACAC,GAAAA,IAEI7uS,EAAW,UACX6uS,aAAoCttO,IAKpCstO,EAD2B,iBAAlB1qS,EAAQ4rD,MACUyxO,GACzBqN,EACA,IAAIttO,GAAO,EAAG,EAAG,EAAG,EAAGotO,EAAUC,IAGRpN,GACzB,IAAIjgO,GAAO,EAAG,EAAG,EAAG,EAAGotO,EAAUC,GACjCC,GAIArU,IAAYH,EAAQE,WACtBsU,EAA2BrN,GACzB,IAAIjgO,GAAO,EAAG,EAAG,GAAI,EAAG,EAAG,GAC3BstO,IAIJ7uS,EAAW6uS,EAAyB/uS,KAAK,KAAO,SAEhDE,EAAWm7R,EAAIwT,GAAY,IAAMxT,EAAIyT,GAAY,QAE5C5uS,CAAAA,EAGA8uS,GAAY,EAAGA,GAAY7qI,EAAGv1K,OAAQogT,KAAa,QAC1D5uL,GAAc,GAENid,IAAAA,KACDsxK,GACH3lS,IACGgzD,EAAQ,IAAM,KAAOmoG,EAAG6qI,IAAW,IAAMhzO,EAAQ,IAAM,KAC1DuyO,GAAOz7R,WAAWqxJ,EAAG6qI,IAAW,IAChCR,GAAO17R,WAAWqxJ,EAAG6qI,IAAW,eAE7BN,GACH1lS,IAAWgzD,EAAQ,IAAM,KAAOmoG,EAAG6qI,KAAchzO,EAAQ,IAAM,KAC/DuyO,GAAOH,GAAwBhsS,GAC/BosS,GAAOH,GAAsB17R,QAAAA,IAKxBq7R,QAAAA,IACAA,EAAmBgB,MAE1B5uL,GAAc4tL,EAAmBgB,IAAa,SAG9B,IAAdA,GACF3lS,EAAK1V,KACHysH,GACEwuL,GAAiBL,GAAMC,GAAMnC,GAC7BrjS,IAEKq0H,KAAYqxK,GACrBrlS,EAAK1V,KAAKysH,GAAcp3G,IACfq0H,KAAYsxK,IACrBtlS,EAAK1V,KACHysH,GACEwuL,GAAiBL,GAAMC,GAAMnC,GAC7BrjS,GAAAA,CAKRK,EAAOg0H,KAAYqxK,GAASrlS,EAAKrJ,KAAK,YAAcqJ,EAAKrJ,KAAK,SAC9DqJ,GAAQ,YAEJnM,GAAS,eACbA,IAAUuiS,GAAgB,IAAMzB,GAAiB,QACjD9gS,IAAUm+R,EAAI2C,GAAiB5jL,GAAc,QAC7Cl9G,IAAU+xS,GAAY,KACtB/xS,IAAUovS,EACVpvS,IAAUmM,EAGVyjJ,EAFA5vJ,IAAU,MAGVo7R,EAAUmH,KAAAA,EACHl2R,CAAAA,EAAAA,IA6BLszH,GAAQ07J,EAAIC,YAAY37J,KAAO07J,EAAI17J,KAAO,SAASpuC,GAAAA,OAInDq+D,EADE,YAAcr+D,EACZ,KAEA,KAEC/9F,IAAAA,EAaT6nS,EAAI2W,YAAc,kBACTryK,GAAK,YAYd07J,EAAIC,YAAY2W,YAAc5W,EAAI4W,YAAc,kBAC9CriJ,EAAI,KACGp8J,IAAAA,EAAAA,IAGL0+S,GAAgB7W,EAAIC,YAAY4W,aAAe,SAASx0S,GAAAA,IAetDsC,GAAAA,EAAS,OAC8B,IAflB,MAAC,EAExB,KACA,IACA,IACA,IACA,KACA,KACA,IACA,KACA,IACA,KACA,KAGqBzD,QAAQmB,KAC7BsC,GAAAA,GAEKA,CAAAA,EAGTq7R,EAAIC,YAAY6W,wBAA0B9W,EAAI8W,wBAA0B,SACtEhmO,GAAAA,OAEI+lO,GAAa/lO,KACf2uN,EAAuB3uN,GAElB34E,IAAAA,EAAAA,IAGL4+S,GAAY/W,EAAIC,YAAY8W,SAAW/W,EAAI+W,SAAW,SAAS10S,GAAAA,IAE7DkS,EAAKkrR,EAAAA,OAEDp9R,GAAAA,IACD,QACA,IACHkS,EAAK,cAEF,IACHA,EAAK,cAEF,SACA,KACHA,EAAK,cAEF,QACA,SACA,QACA,KAQHA,EAAKlS,EAAAA,OAGFkS,CAAAA,EAWLhM,GAASy3R,EAAIz3R,MAAQ,kBACvBgsJ,EAAI,KACGp8J,IAAAA,EAWT6nS,EAAI34Q,OAAS,kBACXktI,EAAI,KACGp8J,IAAAA,EAaT6nS,EAAI58Q,KAAO,SAASyG,GAAAA,OAClBmtR,GAAwB,IAAKntR,GACtB1xB,IAAAA,EAaT6nS,EAAIiX,YAAc,SAASptR,GAAAA,OACzBmtR,GAAwB,KAAMntR,GACvB1xB,IAAAA,EAaT6nS,EAAIkX,WAAa,SAASrtR,GAAAA,OACxBmtR,GAAwB,IAAKntR,GACtB1xB,IAAAA,EAaT6nS,EAAImX,kBAAoB,SAASttR,GAAAA,OAC/BmtR,GAAwB,KAAMntR,GACvB1xB,IAAAA,EAAAA,IAGL6+S,GAA0B,SAAS30S,EAAOwnB,GACrB,YAAnB8vI,EAAAA,GAAAA,GAAO9vI,GACTutR,GAAgBvtR,EAASxnB,GAEzBkyJ,EAAIlyJ,EAAAA,EAIJg1S,GAAW,SAASh1S,GAEV,OAAVA,GACC8/R,IAAYH,EAAQE,eAAY,IAAA7/R,IAKnCA,EAAQ00S,GAAS10S,GAGjBkyJ,EAAIlyJ,GAAAA,EAAAA,SAGGi1S,GAAmB/N,EAAYzK,EAAaC,EAAOC,EAAO11N,GAAAA,IAC7DtsD,EAAQ,IAAI6hR,GACdC,GAAe3mS,KAAK2mS,YACpBC,GAAS5mS,KAAK4mS,MACdC,GAAS7mS,KAAK6mS,MACd7mS,KAAKumS,OACLp1N,GAAUnxE,KAAKmxE,QAEjBtsD,EAAMiiR,OAAS9mS,KAAK8mS,OAAAA,IAChB1oS,EAAMgzS,EAAa,KAAOpxS,KAAK+mS,aAAe,YAClDoK,GAAW/yS,EAAKymB,GACTA,CAAAA,CAAAA,IAGLo6R,GAAkB,SAASG,EAAal1S,GAAAA,IACtCm1S,EAAYjQ,GAAWgQ,EAAYhhT,KACnCszB,EAAUy9Q,GAASkQ,GAAAA,GAEnB3tR,aAAmB80Q,GACrBpqI,EAAI,KAEJA,EAAIkjJ,GAAkBp1S,IAElBwnB,EAAQ60Q,QACVsB,EAAI0X,UAAU7tR,EAAQ60Q,QAExBnqI,EAAIgjJ,EAAYjuO,OAAO3oD,WAAa,OACpC4zI,EAAI,IAAMijJ,EAAY,OACtBjjJ,EAAI,UACC,GAAI1qI,aAAmBg1Q,GAAe,KAGvCv1N,EAAS,IAAIJ,GAAO,EAAG,EAAG,GAAI,EAAG,EAAGq5N,MAEpCgV,EAAYjuO,SACdA,EAASA,EAAOH,SAASouO,EAAYjuO,QAAU8/N,IAG/CoO,EAAYF,GAAmB5gT,KAC7BmzB,EACA0tR,EAAYhhT,IACZghT,EAAYzY,YACZyY,EAAYxY,MACZwY,EAAYvY,MACZ11N,GACA5kE,IAGJ6vJ,EAAI,KACJA,EAAI,eACJA,EAAI,IAAMijJ,EAAY,QAElB3tR,EAAQ60Q,QACVsB,EAAI0X,UAAU7tR,EAAQ60Q,QAGxBnqI,EAAIlyJ,GACJkyJ,EAAI,OAIJkjJ,GAAoB,SAASp1S,GAAAA,OACvBA,GAAAA,IACD,QACA,IAYI,IACJ,UACI,MAbA,IACJ,WACI,WACJ,IAGI,IAIJ,UACI,MAPA,IACJ,WACI,OAOA,EAcT8X,GAAU6lR,EAAI7lR,OAAS,SAAStQ,EAAGuQ,GAAAA,OACrCm6I,EAAIuuI,EAAI3uP,EAAMtqC,IAAM,IAAMi5R,EAAIM,EAAgBhpR,IAAM,MAC7CjiB,IAAAA,EAcLgvI,GAAU64J,EAAI74J,OAAS,SAASt9H,EAAGuQ,GAAAA,OACrCm6I,EAAIuuI,EAAI3uP,EAAMtqC,IAAM,IAAMi5R,EAAIM,EAAgBhpR,IAAM,MAC7CjiB,IAAAA,EAmBLw/S,GAAW3X,EAAI2X,QAAU,SAAS1wR,EAAIC,EAAIC,EAAIC,EAAIwwR,EAAIC,GAAAA,OACxDtjJ,EACE,CACEuuI,EAAI3uP,EAAMltB,IACV67Q,EAAIM,EAAgBl8Q,IACpB47Q,EAAI3uP,EAAMhtB,IACV27Q,EAAIM,EAAgBh8Q,IACpB07Q,EAAI3uP,EAAMyjQ,IACV9U,EAAIM,EAAgByU,IACpB,KACApwS,KAAK,MAEFtP,IAAAA,EAiBT6nS,EAAIC,YAAYj5Q,KAAOg5Q,EAAIh5Q,KAAO,SAASC,EAAIC,EAAIC,EAAIC,EAAI/kB,GAAAA,GAEvDwX,MAAMoN,IACNpN,MAAMqN,IACNrN,MAAMsN,IACNtN,MAAMuN,KACLyvR,GAAax0S,GAAAA,MAER,IAAIqD,MAAM,iDAEdy8R,IAAYH,EAAQC,OACf9pS,KAAK+jC,MAAM,CAAC,CAAC/U,EAAKF,EAAIG,EAAKF,IAAMD,EAAIC,EAAI,CAAC,EAAG,GAAI7kB,GAAS,KAE1DlK,KAAK+jC,MAAM,CAAC,CAAC/U,EAAKF,EAAIG,EAAKF,IAAMD,EAAIC,EAAI,CAAC,EAAG,IAAIG,QAAAA,EAuC5D24Q,EAAIC,YAAY/jQ,MAAQ8jQ,EAAI9jQ,MAAQ,SAClCA,EACAryB,EACAuQ,EACA+5B,EACA9xC,EACAy1S,GAAAA,IAEIC,EAAQC,EAAQ7hT,EAAG2pB,EAAGm4R,EAAK9wR,EAAIC,EAAIwwR,EAAIC,EAAIK,EAAIC,EAAI1mL,EAAAA,GAOlC,iBAAVv1F,IACTu1F,EAAMr3G,EACNA,EAAIvQ,EACJA,EAAIqyB,EACJA,EAAQu1F,GAGVt9E,EAAQA,GAAS,CAAC,EAAG,GACrB2jQ,EAASA,IAAAA,EAGPj+R,MAAMhQ,IACNgQ,MAAMO,KACL9hB,MAAMwS,QAAQoxB,KACd5jC,MAAMwS,QAAQqpC,KACd0iQ,GAAax0S,IACI,kBAAXy1S,EAAAA,MAED,IAAIpyS,MAAM,+CAIlByU,GAAOtQ,EAAGuQ,GAEV29R,EAAS5jQ,EAAM,GACf6jQ,EAAS7jQ,EAAM,GACfr0B,EAAIoc,EAAM7lC,OAIV6hT,EAAKruS,EACLsuS,EAAK/9R,EAEAjkB,EAAI,EAAGA,EAAI2pB,EAAG3pB,IAEE,KADnB8hT,EAAM/7Q,EAAM/lC,IACJE,QAEN6hT,EAAKD,EAAI,GAAKF,EAASG,EACvBC,EAAKF,EAAI,GAAKD,EAASG,EACvBhxK,GAAO+wK,EAAIC,KAGXhxR,EAAK8wR,EAAI,GAAKF,EAASG,EACvB9wR,EAAK6wR,EAAI,GAAKD,EAASG,EACvBP,EAAKK,EAAI,GAAKF,EAASG,EACvBL,EAAKI,EAAI,GAAKD,EAASG,EACvBD,EAAKD,EAAI,GAAKF,EAASG,EACvBC,EAAKF,EAAI,GAAKD,EAASG,EACvBR,GAAQxwR,EAAIC,EAAIwwR,EAAIC,EAAIK,EAAIC,IAAAA,OAI5BL,GACFvvS,KAGF8uS,GAASh1S,GACFlK,IAAAA,EAaT6nS,EAAI/3Q,KAAO,SAASiU,GAAAA,IACb,IAAI/lC,EAAI,EAAGA,EAAI+lC,EAAM7lC,OAAQF,IAAK,KACjC8hT,EAAM/7Q,EAAM/lC,GACZyoS,EAASqZ,EAAIj4R,EAAAA,OACTi4R,EAAI1jS,IAAAA,IACL,IACH4F,GAAOykR,EAAO,GAAIA,EAAO,cAEtB,IACHz3J,GAAOy3J,EAAO,GAAIA,EAAO,cAEtB,IACH+Y,GAAQn/S,MAAML,KAAMymS,GAAAA,MAAAA,IAEjB,IACHr2R,KAAAA,CAAAA,OAKCpQ,IAAAA,EAwBT6nS,EAAIC,YAAY34Q,KAAO04Q,EAAI14Q,KAAO,SAASzd,EAAGuQ,EAAGE,EAAGE,EAAGnY,GAAAA,GACjDwX,MAAMhQ,IAAMgQ,MAAMO,IAAMP,MAAMS,IAAMT,MAAMW,KAAOq8R,GAAax0S,GAAAA,MAC1D,IAAIqD,MAAM,iDAEdy8R,IAAYH,EAAQC,SACtBznR,GAAKA,GAGP+5I,EACE,CACEuuI,EAAI3uP,EAAMtqC,IACVi5R,EAAIM,EAAgBhpR,IACpB0oR,EAAI3uP,EAAM75B,IACVwoR,EAAI3uP,EAAM35B,IACV,MACA/S,KAAK,MAGT4vS,GAASh1S,GACFlK,IAAAA,EA0BT6nS,EAAIC,YAAYmY,SAAWpY,EAAIoY,SAAW,SACxCnxR,EACAC,EACAC,EACAC,EACAwwR,EACAC,EACAx1S,GAAAA,GAGEwX,MAAMoN,IACNpN,MAAMqN,IACNrN,MAAMsN,IACNtN,MAAMuN,IACNvN,MAAM+9R,IACN/9R,MAAMg+R,KACLhB,GAAax0S,GAAAA,MAER,IAAIqD,MAAM,0DAEbw2B,MACH,CACE,CAAC/U,EAAKF,EAAIG,EAAKF,GAAAA,CACd0wR,EAAKzwR,EAAI0wR,EAAKzwR,GAAAA,CACdH,EAAK2wR,EAAI1wR,EAAK2wR,IAEjB5wR,EACAC,EAAAA,CACC,EAAG,GACJ7kB,GAAAA,GAGKlK,IAAAA,EA0BT6nS,EAAIC,YAAYoY,YAAcrY,EAAIqY,YAAc,SAC9CxuS,EACAuQ,EACAE,EACAE,EACA+M,EACAC,EACAnlB,GAAAA,GAGEwX,MAAMhQ,IACNgQ,MAAMO,IACNP,MAAMS,IACNT,MAAMW,IACNX,MAAM0N,IACN1N,MAAM2N,KACLqvR,GAAax0S,GAAAA,MAER,IAAIqD,MAAM,qDAEd4yS,EAAS,EAAI,GAAMv0S,KAAKw0S,MAAQ,UAEpChxR,EAAKxjB,KAAK+T,IAAIyP,EAAQ,GAAJjN,GAClBkN,EAAKzjB,KAAK+T,IAAI0P,EAAQ,GAAJhN,GAAAA,KAEb0hB,MACH,CACE,CAAC5hB,EAAI,EAAIiN,EAAI,GACb,CAACA,EAAK+wR,EAAO,EAAG/wR,EAAIC,EAAKA,EAAK8wR,EAAO/wR,EAAIC,GACzC,CAAC,EAAGhN,EAAI,EAAIgN,GACZ,CAAC,EAAGA,EAAK8wR,GAAS/wR,EAAK+wR,EAAQ9wR,GAAKD,EAAIC,GACxC,CAAM,EAAID,EAARjN,EAAY,GACd,EAAGiN,EAAK+wR,EAAQ,GAAI/wR,GAAMC,EAAK8wR,GAAS/wR,GAAKC,GAC7C,CAAC,EAAQ,EAAIA,EAARhN,GACL,CAAC,GAAKgN,EAAK8wR,EAAQ/wR,EAAK+wR,GAAQ9wR,EAAID,GAAKC,IAE3C3d,EAAI0d,EACJnN,EAAAA,CACC,EAAG,GACJ/X,GAAAA,GAGKlK,IAAAA,EAwBT6nS,EAAIC,YAAYrzN,QAAUozN,EAAIpzN,QAAU,SAAS/iE,EAAGuQ,EAAGmN,EAAIC,EAAInlB,GAAAA,GAE3DwX,MAAMhQ,IACNgQ,MAAMO,IACNP,MAAM0N,IACN1N,MAAM2N,KACLqvR,GAAax0S,GAAAA,MAER,IAAIqD,MAAM,iDAEd8yS,EAAM,EAAI,GAAMz0S,KAAKw0S,MAAQ,GAAKhxR,EACpCkxR,EAAM,EAAI,GAAM10S,KAAKw0S,MAAQ,GAAK/wR,EAAAA,OAEpCrN,GAAOtQ,EAAI0d,EAAInN,GACfu9R,GAAQ9tS,EAAI0d,EAAInN,EAAIq+R,EAAI5uS,EAAI2uS,EAAIp+R,EAAIoN,EAAI3d,EAAGuQ,EAAIoN,GAC/CmwR,GAAQ9tS,EAAI2uS,EAAIp+R,EAAIoN,EAAI3d,EAAI0d,EAAInN,EAAIq+R,EAAI5uS,EAAI0d,EAAInN,GAChDu9R,GAAQ9tS,EAAI0d,EAAInN,EAAIq+R,EAAI5uS,EAAI2uS,EAAIp+R,EAAIoN,EAAI3d,EAAGuQ,EAAIoN,GAC/CmwR,GAAQ9tS,EAAI2uS,EAAIp+R,EAAIoN,EAAI3d,EAAI0d,EAAInN,EAAIq+R,EAAI5uS,EAAI0d,EAAInN,GAEhDi9R,GAASh1S,GACFlK,IAAAA,EAuBT6nS,EAAIC,YAAYv4Q,OAASs4Q,EAAIt4Q,OAAS,SAAS7d,EAAGuQ,EAAG5Z,EAAG6B,GAAAA,GAClDwX,MAAMhQ,IAAMgQ,MAAMO,IAAMP,MAAMrZ,KAAOq2S,GAAax0S,GAAAA,MAC9C,IAAIqD,MAAM,mDAEXvN,KAAKy0E,QAAQ/iE,EAAGuQ,EAAG5Z,EAAGA,EAAG6B,EAAAA,EAgBlC29R,EAAI0Y,QAAU,SAASpJ,EAAUvrL,EAAWr5F,GAAAA,OACtCA,IACFq5F,EAAY4+K,EAA8B5+K,EAAWr5F,IAEvDw8Q,GAAgBkK,GAAQ9B,EAAUvrL,EAAW,CAC3CutL,gBAAgB,IAEXn5S,IAAAA,EAAAA,IAYLwgT,GAAgB3Y,EAAIC,YAAYmR,QAAUpR,EAAIoR,QAAU,kBACnDh+K,GAAMg+K,GAAQ54S,MAAMwnS,EAAK5pS,WAAAA,EAclC4pS,EAAIC,YAAY2Y,YAAc5Y,EAAI4Y,YAAc,eAE5CtJ,EACAvrL,EAFEy6G,EAAO,CAAC,EAAD,IAIN8wE,KAAYlI,GAAAA,GACXA,GAAQ3wS,eAAe64S,GAAAA,IAEpBvrL,KADLy6G,EAAK8wE,GAAY,GACClI,GAAQkI,GACpBlI,GAAQkI,GAAU74S,eAAestH,IACnCy6G,EAAK8wE,GAAUl0S,KAAK2oH,GAAAA,OAKrBy6G,CAAAA,EAiBTwhE,EAAIuP,QAAU,SACZvC,EACAsC,EACAvrL,EACAr5F,EACA+zN,GAAAA,IAEIo6D,EAAkB,CACpB,mBACA,mBACA,aACA,0BAEEziT,UAAU,KAAiD,IAA3CyiT,EAAgB33S,QAAQ9K,UAAU,IAEpDqoP,EAAWroP,UAAU,GACZA,UAAU,KAAgD,GAA1CyiT,EAAgB33S,QAAQ9K,UAAU,MAC3D2tH,EAAY4+K,EAA8B5+K,EAAWr5F,IAEvD+zN,EAAWA,GAAY,aAChB8wD,GAAQ74S,KAAKyB,KAAM60S,EAAgBsC,EAAUvrL,EAAW06H,EAAAA,EAAAA,IAuE7Du1D,GApEAruK,GAAY75H,EAAQ65H,WAAa,QAUjCmzK,GAAgB9Y,EAAIC,YAAY6Y,aAAe9Y,EAAI8Y,aAAe,kBAC7DnzK,EAAAA,EAaLmrK,GAAgB9Q,EAAIC,YAAY6Q,aAAe9Q,EAAI8Q,aAAe,SACpE53R,GAAAA,OAEAysH,GAAYzsH,EACZq7I,EAAIuuI,EAAI3uP,EAAMj7B,IAAU,MACjB/gB,IAAAA,EAiBT6nS,EAAIC,YAAYn2J,YAAcq1J,GAAMa,IAAIl2J,YAAcq1J,GAAMa,IAAI+Y,mBAAqB,SACnF7vR,EACA8vR,GAAAA,GAEA9vR,EAAYA,GAAa,GACzB8vR,EAAYA,GAAa,EAErBn/R,MAAMm/R,KAAe1gT,MAAMwS,QAAQoe,GAAAA,MAC/B,IAAIxjB,MAAM,wDAGlBwjB,EAAYA,EACTrkB,KAAI,SAASgF,GAAAA,OACLi5R,EAAI3uP,EAAMtqC,GAAAA,IAElBpC,KAAK,KACRuxS,EAAYlW,EAAI3uP,EAAM6kQ,IAEtBzkJ,EAAI,IAAMrrI,EAAY,KAAO8vR,EAAY,MAClC7gT,IAAAA,EAAAA,IAKL8gT,GAAiBjZ,EAAIC,YAAYgZ,cAAgBjZ,EAAIiZ,cAAgB,kBAChExT,GAAiBuO,EAAAA,EAG1BhU,EAAIC,YAAYgZ,cAAgBjZ,EAAIiZ,cAAgB,kBAC3CxT,GAAiBuO,EAAAA,EAAAA,IAatBkF,GAAuBlZ,EAAIC,YAAYiZ,oBAAsBlZ,EAAIkZ,oBAAsB,SACzFl/S,GAAAA,MAGqB,iBADrBA,EAAQA,GAAS,QAEfg6S,GAAmBh6S,GAEd7B,IAAAA,EAYLghT,GAAuBnZ,EAAIC,YAAYkZ,oBAAsBnZ,EAAImZ,oBAAsB,kBAClFnF,EAAAA,EAGTkF,GAAoBptS,EAAQ+1G,YAAAA,IAExBg0L,GAA2B7V,EAAIC,YAAY4V,wBAA0B,SACvE77S,GAAAA,OAEOm6C,EAAMn6C,EAAAA,EAGX87S,GAAyB9V,EAAIC,YAAY6V,sBAAwB,SACnE97S,GAAAA,OAEImoS,IAAYH,EAAQE,SACfloS,EAGL4tS,GAAatD,GAAa0H,SAASI,UACnCxE,GAAatD,GAAa0H,SAASE,YACjB/3P,EAAMn6C,EAAAA,EAI1Bo/S,GAAiCpZ,EAAIC,YAAYmZ,8BAAgCpZ,EAAIoZ,8BAAgC,SACvHp/S,GAAAA,OAEO8oS,EAAI+S,GAAwB77S,GAAAA,EAGjCq/S,GAA+BrZ,EAAIC,YAAYoZ,4BAA8BrZ,EAAIqZ,4BAA8B,SACjHr/S,GAAAA,OAEO8oS,EAAIgT,GAAsB97S,GAAAA,EAG/Bm4B,GAAcrmB,EAAQqmB,aAAe,MAWzC6tQ,EAAIC,YAAYqZ,eAAiBtZ,EAAIuZ,aAAe,kBAC3CrP,GAAkB/3Q,GAAAA,EAyC3B6tQ,EAAIC,YAAYuZ,eAAiBxZ,EAAIyZ,aAAe,SAClDlP,EACAC,EACAC,EACAC,GAAAA,OAWAv4Q,GAAcm4Q,GATA,CACZC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLE,aAAc,OACdxL,UAAW,IAIb7qI,EAAIpiI,IACGh6B,IAAAA,EAAAA,IAGLy5B,GAAY9lB,EAAQ8lB,WAAa,MAWrCouQ,EAAIC,YAAYyZ,aAAe1Z,EAAI0Z,aAAe,kBACzCxP,GAAkBt4Q,GAAAA,EAyC3BouQ,EAAIC,YAAY0Z,aAAe3Z,EAAI2Z,aAAe,SAChDpP,EACAC,EACAC,EACAC,GAAAA,OAWA94Q,GAAY04Q,GATE,CACZC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLE,aAAc,OACdxL,UAAW,IAIb7qI,EAAI3iI,IACGz5B,IAAAA,EAAAA,IAGLu+S,GAAY5qS,EAAQ4qS,WAAa,MAUjCkD,GAAgB5Z,EAAIC,YAAY2Z,aAAe5Z,EAAI4Z,aAAe,kBAC7D1P,GAAkBwM,GAAAA,EAwC3B1W,EAAIC,YAAY4Z,aAAe7Z,EAAI6Z,aAAe,SAChDtP,EACAC,EACAC,EACAC,GAAAA,OAUAgM,GAAYpM,GARE,CACZC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLC,IAAKA,EACLE,aAAc,OACdxL,UAAW,IAINjnS,IAAAA,EAAAA,IAGL48S,GAAkBjpS,EAAQ8nS,UAW1BqB,GAAgBjV,EAAIC,YAAYgV,aAAejV,EAAIiV,aAAe,kBAC7D16R,WAAWw6R,IAAmB,IAavC/U,EAAIC,YAAY+U,aAAehV,EAAIgV,aAAe,SAASpB,GAAAA,GACrD/5R,MAAM+5R,GAAAA,MACF,IAAIluS,MAAM,wDAElBqvS,GAAkBnB,EACXz7S,IAAAA,EAAAA,IAGL44S,GAAY,EAShB/Q,EAAI8Z,cAAgB,GACf,EACHC,KAAM,EACNC,IAAK,EACLC,MAAO,IACJ,EACHp5R,MAAO,EACPq5R,QAAS,EACTxyR,OAAQ,IACL,EACHyyR,WAAY,EACZC,QAAS,EACTC,OAAQ,EACRC,MAAO,GAcTta,EAAIC,YAAYsa,WAAava,EAAIua,WAAa,SAASl4S,GAAAA,IACjDqC,EAAKs7R,EAAI8Z,cAAcz3S,GAAAA,QAAAA,IACvBqC,EAAAA,MACI,IAAIgB,MACR,sBACErD,EACA,sFAGN0uS,GAAYrsS,EACZ6vJ,EAAI7vJ,EAAK,MAEFvM,IAAAA,EAAAA,IAGL64S,GAAa,EAYjBhR,EAAIC,YAAYua,YAAcxa,EAAIwa,YAAc,SAASn4S,GAAAA,IACnDqC,EAAKs7R,EAAI8Z,cAAcz3S,GAAAA,QAAAA,IACvBqC,EAAAA,MACI,IAAIgB,MACR,uBACErD,EACA,sFAGN2uS,GAAatsS,EACb6vJ,EAAI7vJ,EAAK,MAEFvM,IAAAA,EAcT6nS,EAAIC,YAAYwa,kBAAoBza,EAAIC,YAAYya,cAAgB1a,EAAIya,kBAAoBza,EAAI0a,cAAgB,SAC9GrkT,GAAAA,GAEAA,EAASA,GAAU,EACfwjB,MAAMxjB,GAAAA,MACF,IAAIqP,MAAM,6DAElB6uJ,EAAIuuI,EAAI3uP,EAAM99C,IAAW,MAElB8B,IAAAA,EAcT6nS,EAAIxB,OAASA,GAWbwB,EAAI0X,UAAY,SAAShZ,IAErBA,EADoB,iBAAXA,EACA8I,GAAQC,GAAW/I,IAEnBic,GAAU,KAAMjc,IAGfkc,OAAOlT,MACjBnzI,EAAI,IAAMmqI,EAAOh6R,GAAK,OACtBgjS,GAAehJ,EAAAA,EAAAA,IASfic,GAAY,SAASpkT,EAAKmoS,GAAAA,IAExBnoS,IAAOkxS,GAAWlxS,GAAAA,CAAAA,IAClBskT,GAAAA,EAAY,IACX,IAAIh7R,KAAK2nR,GAAAA,GACRA,GAAQ/wS,eAAeopB,IACrB2nR,GAAQ3nR,GAAG+6R,OAAOlc,GAAS,CAC7Bmc,GAAAA,EAAY,SAMdA,EACFnc,EAAS8I,GAAQ3nR,OACZ,KACD2uR,EAAY,MAAQx4S,OAAO8M,KAAK0kS,IAASnxS,OAAS,GAAGsqB,SAAS,IAClE6mR,GAAQgH,GAAa9P,EACrBA,EAAOh6R,GAAK8pS,CAAAA,CAAAA,OAIdj4S,IAAQkxS,GAAWlxS,GAAOmoS,EAAOh6R,IAEjCxJ,GAAOmjS,QAAQ,YAAaK,GAErBA,CAAAA,CAAAA,EAcTsB,EAAI2a,UAAY,SAASpkT,EAAKmoS,GAAAA,OAC5Bic,GAAUpkT,EAAKmoS,GACRvmS,IAAAA,EAYT6nS,EAAIqC,kBAAoB,kBACtB9tI,EAAI,KAEJ8yI,GAAejsS,KAAK,CAClB7E,IAAK2wS,GACLtiR,KAAM6gR,GACN5/Q,MAAO6wR,KAEFv+S,IAAAA,EAUT6nS,EAAI0C,qBAAuB,WACzBnuI,EAAI,SAGAumJ,EAAYzT,GAAetxP,MAAAA,OAC/BmxP,GAAgB4T,EAAUvkT,IAC1BkvS,GAAiBqV,EAAUl2R,KAC3B8xR,GAAYoE,EAAUj1R,MAEtB6hR,GAAe,KAERvvS,IAAAA,EAYT6nS,EAAI+a,+BAAiC,SAASzxO,GAAAA,OAC5CirF,EAAIjrF,EAAO3oD,WAAa,OACjBxoB,IAAAA,EAYT6nS,EAAIznE,QAAU,SAASznN,GAAAA,OACrByjJ,EAAI,IAAMzjJ,GACH3Y,IAAAA,EAAAA,IAML8sE,GAAQ,SAASp7D,EAAGuQ,GAAAA,IAClB6pL,EAAKp6L,GAAK,EACd7T,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZ+R,IAAK,kBACIi4L,CAAAA,EAETxyL,IAAK,SAASzX,GACP6f,MAAM7f,KACTiqM,EAAK1pL,WAAWvgB,GAAAA,IAAAA,IAKlBghT,EAAK5gS,GAAK,EACdpkB,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZ+R,IAAK,kBACIgvS,CAAAA,EAETvpS,IAAK,SAASzX,GACP6f,MAAM7f,KACTghT,EAAKzgS,WAAWvgB,GAAAA,IAAAA,IAKlBy7F,EAAQ,YACZz/F,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC8B,YAAY,EACZ+R,IAAK,kBACIypF,CAAAA,EAEThkF,IAAK,SAASzX,GACZy7F,EAAQz7F,EAAM2mB,UAAAA,IAGXxoB,IAAAA,EAML+wS,GAAY,SAASr/R,EAAGuQ,EAAGE,EAAGE,GAChCyqD,GAAMvuE,KAAKyB,KAAM0R,EAAGuQ,GAAAA,KACf3N,KAAO,WAER4qI,EAAK/8H,GAAK,EACdtkB,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZ+R,IAAK,kBACIqrI,CAAAA,EAET5lI,IAAK,SAASzX,GACP6f,MAAM7f,KACTq9I,EAAK98H,WAAWvgB,GAAAA,IAAAA,IAKlB8sI,EAAKtsH,GAAK,SACdxkB,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZ+R,IAAK,kBACI86H,CAAAA,EAETr1H,IAAK,SAASzX,GACP6f,MAAM7f,KACT8sI,EAAKvsH,WAAWvgB,GAAAA,IAKf7B,IAAAA,EAOL8iT,GAAe,gBACZtT,KAAOA,GAAAA,KACPrD,YAAcA,EAAAA,KACdM,MAAQA,EAAM/tR,MAAM,QACpB+wR,aAAeA,GAAa/wR,MAAM,QAClChN,EAAI2P,GAAAA,KACJY,EAAIX,GAAAA,KACJ6vD,OAAS69N,GAAAA,KACTjuR,MAAQgiS,GAAa5W,GAAAA,KACrBtrR,OAASupR,GAAc+B,GAAAA,KACvBQ,kBAAoBA,EAAAA,KAEpBpgS,GAAK,QACL+5R,cAAgB,GAGvBwc,GAAazkT,UAAUwS,QAAU,WAC/B2+R,GAAOxvS,KAAKwvS,KACZrD,EAAcnsS,KAAKmsS,YACnBsD,GAAezvS,KAAKyvS,aACpBhD,EAAQzsS,KAAKysS,MACbprR,GAAQrhB,KAAK0R,EACb4P,GAAQthB,KAAKiiB,EACb+sR,GAAahvS,KAAKmxE,OAClB6xO,GAAa7W,EAAansS,KAAK+gB,OAC/BkiS,GAAc9W,EAAansS,KAAK6gB,QAChC8rR,EAAoB3sS,KAAK2sS,iBAAAA,EAAAA,IAGvB4E,GAAuB,SAAS7/R,EAAGuQ,EAAGlB,EAAOF,EAAQswD,GAEvD0+N,GAAkB5sS,KAAK,IAAI6/S,IAG3BtT,GAAOrD,EAAc,EACrBM,EAAQ,GACRprR,GAAQ3P,EACR4P,GAAQW,EAER+sR,GAAa79N,EAEbmnO,GAAU,CAACv3R,EAAOF,GAAAA,EAGhBqiS,GAAgB,SAAS9kT,GAAAA,GAEvBwxS,GAAgBxxS,GAClByxS,GAAkBjyP,MAAM/sC,cAAAA,CAAAA,IAKtBsyS,EAAa,IAAIL,GAEjBM,EAAY,MAAQvlT,OAAO8M,KAAKglS,IAAezxS,OAAS,GAAGsqB,SAAS,IACxE26R,EAAW52S,GAAK62S,EAEhBxT,GAAgBxxS,GAAOglT,EACvBzT,GAAcyT,GAAaD,EAE3BpgT,GAAOmjS,QAAQ,gBAAiBid,GAGhCtT,GAAkBjyP,MAAM/sC,SAAAA,CAAAA,EAAAA,IAoIrB,IAAI01E,MAhHTshN,EAAIwb,gBAAkB,SAAS3xS,EAAGuQ,EAAGlB,EAAOF,EAAQswD,GAAAA,OAQlDogO,GAAqB7/R,EAAGuQ,EAAGlB,EAAOF,EAAQswD,GACnCnxE,IAAAA,EAWT6nS,EAAIqb,cAAgB,SAAS9kT,GAAAA,OAC3B8kT,GAAc9kT,GACP4B,IAAAA,EAeT6nS,EAAIyb,aAAe,SAASllT,EAAK+yE,GAAAA,IAC3B8jO,EAAUtF,GAAcC,GAAgBxxS,IAAAA,OAC5Cg+J,EAAI,KACJA,EAAIjrF,EAAO3oD,WAAa,OACxB4zI,EAAI,IAAM64I,EAAQ1oS,GAAK,OACvB6vJ,EAAI,KACGp8J,IAAAA,EAYT6nS,EAAI0b,cAAgB,SAASnlT,GAAAA,IACvB62S,EAAUtF,GAAcC,GAAgBxxS,IAAAA,MACrC,CACLsT,EAAGujS,EAAQvjS,EACXuQ,EAAGgzR,EAAQhzR,EACXlB,MAAOk0R,EAAQl0R,MACfF,OAAQo0R,EAAQp0R,OAChBswD,OAAQ8jO,EAAQ9jO,OAAAA,EAepB02N,EAAI57J,KAAO,SAASttG,EAAUhrB,GAAAA,OAC5BgrB,EAAWA,GAAY,iBAEvBhrB,EAAUA,GAAW,CAAC,GACd6vS,cAAgB7vS,EAAQ6vS,gBAAiB,OAE7C7vS,EAAQ6vS,eACVv9D,GAAO6zD,GAAQF,MAAkBj7Q,GACJ,mBAAlBsnN,GAAOw9D,QACZ1pB,GAAal1R,YACfA,WAAWohP,GAAOw9D,OAAQ,KAGvBzjT,MAEA,IAAI+7C,SAAQ,SAASinC,EAASC,GAAAA,IAAAA,IAE7Bz2E,EAASy5O,GAAO6zD,GAAQF,MAAkBj7Q,GACjB,mBAAlBsnN,GAAOw9D,QACZ1pB,GAAal1R,YACfA,WAAWohP,GAAOw9D,OAAQ,KAG9BzgO,EAAQx2E,EAECoD,CADT,MAAOhL,GACPq+E,EAAOr+E,EAAEgL,QAAAA,CAAAA,GAAAA,EAUEo3R,GAAMa,IACnBb,GAAMa,IAAIvpS,eAAeioF,MACZ,WAAXA,IAAuBygN,GAAMa,IAAI9kS,OAAO7E,OAAAA,SAChC6E,EAAQ2gT,GAAAA,IAMZC,EAAWC,EAAkB5lT,EAAAA,IAE5BA,EAAI0lT,EAAUxlT,OAAS,GAAU,IAAPF,EAAUA,IAMvC2lT,EAAYD,EAAU1lT,GAAG,GACzB4lT,EAAmBF,EAAU1lT,GAAG,GAChC+E,EAAO8qN,UAAUxtN,MACf0C,EACA,CAAC4gT,GAAWrjT,OACkB,mBAArBsjT,EACH,CAACA,GACDA,GAAAA,CAtB8B1lT,CA0BvC6E,GAAQikS,GAAMa,IAAI9kS,QAErB8kS,EAAIthN,IAAUygN,GAAMa,IAAIthN,KAAAA,IAK1Bw8N,GAAgBlb,EAAIkb,aAAe,SAASpnF,GAAAA,OAG3C8zE,GAFH9zE,EAAaA,GAAcwwE,GAEC0H,SAASG,UACjCvE,GAAa9zE,GAAYk4E,SAASC,aACpC3J,EAAAA,EAIA6Y,GAAgBnb,EAAImb,aAAe,SAASrnF,EAAY95N,GAC1D4tS,GAAa9zE,GAAYk4E,SAASG,UAChCnyS,EAAQsoS,GAAcsF,GAAa9zE,GAAYk4E,SAASC,WAAAA,EAGxD1J,GAAiBvC,EAAIuC,cAAgB,SAASzuE,GAAAA,OAG7C8zE,GAFH9zE,EAAaA,GAAcwwE,GAEC0H,SAASI,UACjCxE,GAAa9zE,GAAYk4E,SAASE,aACpC5J,EAAAA,EAIA8Y,GAAiBpb,EAAIob,cAAgB,SAAStnF,EAAY95N,GAC5D4tS,GAAa9zE,GAAYk4E,SAASI,UAChCpyS,EAAQsoS,GAAcsF,GAAa9zE,GAAYk4E,SAASE,WAAAA,EAAAA,OAQ5DlM,EAAI5xR,SAAW,CACboiS,UAAWA,GACXuG,SAAUA,GACV3F,QAASuH,GACT36O,YAAaA,GACbi3O,aAAcA,GACd2E,aAAcA,GACdX,cAAeA,GACfE,oBAAqBA,GACrBL,aAAcA,GACd3pM,MAAOA,EACP0mM,wBAAyBA,GACzBC,sBAAuBA,GACvBkG,oBAAqB5C,GACrBC,4BAA6BA,GAC7B4C,YAAa,CAAC,EACdrS,UAAWA,GACXI,oBAAqBA,GACrB/E,kBAAmBA,GACnB6E,uBAAwBA,GACxBgB,WAAYA,GACZC,UAAWA,GACX7vS,OAAQA,GACRonS,YAAaA,GACb1uE,SAAU,CACR2hF,SAAU,kBACD2F,GAAa5W,EAAAA,EAEtB4X,SAAU,SAASliT,GACjBmhT,GAAa7W,EAAatqS,EAAAA,EAE5BmiT,UAAW,kBACF5Z,GAAc+B,EAAAA,EAEvB8X,UAAW,SAASpiT,GAClBohT,GAAc9W,EAAatqS,EAAAA,GAG/B0lS,kBAAmBA,EACnBE,WAAYA,GACZmT,aAAcA,GACdliK,OAAQA,GACRsgK,iBAAkBA,GAClBvM,MAAOA,EACPrwI,IAAKA,EACLq3F,GAAIA,EACJC,GAAIA,EACJmnD,YAAaA,GACbE,mBAAoBA,GACpBC,mBAAoBA,GACpBkJ,cAAelc,EACfl7N,MAAOA,GACPikO,UAAWA,GACXhgO,OAAQA,GACR2pO,UAAWA,IAGb78S,OAAO+V,eAAei0R,EAAI5xR,SAASwlN,SAAU,QAAS,CACpD5nN,IAAK,kBACIkvS,GAAa5W,EAAAA,EAEtB7yR,IAAK,SAASzX,GACZmhT,GAAa7W,EAAatqS,EAAAA,EAE5BC,YAAY,EACZE,cAAc,IAEhBnE,OAAO+V,eAAei0R,EAAI5xR,SAASwlN,SAAU,SAAU,CACrD5nN,IAAK,kBACIu2R,GAAc+B,EAAAA,EAEvB7yR,IAAK,SAASzX,GACZohT,GAAc9W,EAAatqS,EAAAA,EAE7BC,YAAY,EACZE,cAAc,IAOhBs1S,GAAS/4S,KAAKspS,EAAKuF,IACnB2B,GAAgB,KAChByJ,GAASzyQ,EAAQ/N,GAEjBj1B,GAAOmjS,QAAQ,eACR2B,CAAAA,CF9zLT5C,GAAY5mS,UAAUunS,aAAe,SAASpxQ,GAAAA,OACrCjL,OAAO89E,aACX7yE,GAAQ,EAAK,IACbA,GAAQ,EAAK,IACbA,GAAQ,GAAM,IACdA,GAAQ,GAAM,MAYnBywQ,GAAY5mS,UAAUm4S,YAAc,SAAS2N,GAAAA,OACpCA,EACJ3yS,MAAM,IACN9E,KAAI,SAAS03S,GAAAA,OACJ,KAA4B,IAArBA,EAAKp9M,WAAW,IAAWx+E,SAAS,KAAK9J,OAAO,MAEhEpP,KAAK,KAWV21R,GAAY5mS,UAAUwnS,WAAa,SAAS36N,GAAAA,IACrC,IAAIg9B,EAAQ,GAAIrgF,EAAI,EAAGA,EAAIqjD,EAAIhtE,OAAQ2pB,GAAK,EAC/CqgF,EAAMjlG,KAAKsmB,OAAO89E,aAAarqF,SAASkuD,EAAI/+D,OAAO0b,EAAG,GAAI,aACrDqgF,EAAM54F,KAAK,KAYpB21R,GAAY5mS,UAAUqnS,qBAAuB,SAC3CF,EACAC,GAAAA,OAGOd,GADGH,GAAOiB,GAAqBt5R,OAAO,EAAG,GAChCq5R,EAAAA,EAiBlBP,GAAY5mS,UAAU40S,UAAY,SAASD,EAAUqR,GAAAA,IAC/CjmT,EAAMomS,GACRxkS,KAAK2lS,cACHp8Q,OAAO89E,aACM,IAAX2rM,EACCA,GAAY,EAAK,IACjBA,GAAY,GAAM,IACN,IAAbqR,EACCA,GAAc,EAAK,MAExBl4S,OAAO,EAAG,WACL,SAASqoB,GAAAA,OACPmwQ,GAAIvmS,EAAKo2B,EAAAA,CAAAA,EExCpB6xQ,GAAOhoS,UAAUokT,OAAS,SAAgBxzJ,GAAAA,IAEpCjoI,EADAs9R,EAAS,6BAERr1J,IAASuS,EAAAA,GAAAA,GAAOvS,MAAAA,EAAAA,GAAAA,GAAiBjvJ,MAAM,OAAO,MAC/C6jC,EAAQ,MACP7c,KAAKhnB,KAAM,KACVskT,EAAOv7S,QAAQie,IAAM,OACrBhnB,KAAK1B,eAAe0oB,KAAOioI,EAAM3wJ,eAAe0oB,GAAI,OAAO,KAC3DhnB,KAAKgnB,KAAOioI,EAAMjoI,GAAI,OAAO,EACjC6c,GAAAA,CAAAA,IAEG7c,KAAKioI,EACJA,EAAM3wJ,eAAe0oB,IAAMs9R,EAAOv7S,QAAQie,GAAK,GAAG6c,IAAAA,OAEvC,IAAVA,CAAAA,EA+xLTmjQ,GAAMa,IAAM,CACV9kS,OAAQ,IAQVikS,GAAMhzN,QAAU,QC35LhB,IAAIuwO,GAAWvd,GAAMa,IACjBsC,GAAc,EAEdkO,GAAY,SAASx2S,GAAAA,OAChBA,EACJsH,QAAQ,MAAO,QACfA,QAAQ,MAAO,OACfA,QAAQ,MAAO,QAEhBq7S,GAAc,SAAS3iT,GAAAA,OAClBA,EACJsH,QAAQ,QAAS,MACjBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,MAGlBsqP,GAAK,SAASrwP,GAAAA,OACTA,EAAOmpC,QAAQ,IAGpBk4Q,GAAK,SAASrhT,GAAAA,OACTA,EAAOmpC,QAAQ,IAGxBg4Q,GAASG,aAAe,CAAC,EACzB,IAAIx6O,GAAU,SAAS1pE,EAAO61C,GAC5B71C,EAAMnC,UAAYR,OAAO8D,OAAO00C,EAAOh4C,WACvCmC,EAAMnC,UAAUuD,YAAcpB,CAAAA,EAG5Bw7C,GAAQ,SAAStqC,GAAAA,OACZA,EAAIy4R,EAAAA,EAGTwa,GAAoB,SAASC,GAAAA,IAC3BC,EAAO,IAAIC,GACXjkS,EAASkkS,GAAmB9uS,SAAS+tS,UAAUY,IAAe,EAC9D7jS,EAAQgkS,GAAmB9uS,SAASmnS,SAASwH,IAAe,SAChEC,EAAKxzO,KAAO,CAAC,EAAG,EAAG7wD,OAAOizO,GAAG1yO,IAASP,OAAOizO,GAAG5yO,KACzCgkS,CAAAA,EAMLG,GAAUT,GAASG,aAAaM,OAAS,SAAS5hT,EAAQ6hT,GAAAA,GAC5D7hT,EAASA,GAAU,EACnB6hT,EAAcA,GAAe,EAEzBvjS,MAAMte,IAAWse,MAAMujS,GAAAA,MACnB,IAAI13S,MACR,oEAKJnK,EAFc,GAAK6hT,CAAAA,EAOjBC,GAAYX,GAASG,aAAaQ,SAAW,SAAS9hT,EAAQ6hT,GAAAA,GAChE7hT,EAASA,GAAU,EACnB6hT,EAAcA,GAAe,EAEzBvjS,MAAMte,IAAWse,MAAMujS,GAAAA,MACnB,IAAI13S,MACR,sEAKJnK,IAFc,GAAK6hT,EAAAA,EAOjBE,GAAUZ,GAASG,aAAaS,OAAS,SAAS/hT,EAAQ6hT,GAAAA,GACxDvjS,MAAMte,IAAWse,MAAMujS,GAAAA,MACnB,IAAI13S,MACR,oEAGqC,IAAjCnK,EAAU,GAAK6hT,GAAsB,EAAI,GAM/CG,GAAgBb,GAASG,aAAaU,aAAe,SACvDhiT,EACA6hT,GAAAA,GAEIvjS,MAAMte,IAAWse,MAAMujS,GAAAA,MACnB,IAAI13S,MACR,0EAGG43S,GAAO/hT,EAAQ6hT,EAAc,IAGlCI,GAAgBd,GAASG,aAAaW,aAAe,SACvDjiT,EACA6hT,GAAAA,GAEIvjS,MAAMte,IAAWse,MAAMujS,GAAAA,MACnB,IAAI13S,MACR,0EAGGy3S,GAAO5hT,EAAQ6hT,EAAc,IAGlCK,GAAkBf,GAASG,aAAaY,eAAiB,SAC3DliT,EACA6hT,GAAAA,GAEIvjS,MAAMte,IAAWse,MAAMujS,GAAAA,MACnB,IAAI13S,MACR,4EAGG23S,GAAS9hT,EAAQ6hT,EAAc,IAGpCM,GAAwBhB,GAASG,aAAaa,qBAAuB,SACvErlT,EACA2Y,GAAAA,IAEI6kS,EAA0B7kS,EAAM5C,SAASynS,wBACzCC,EAAwB9kS,EAAM5C,SAAS0nS,sBACvCjsS,EAAIxR,EAAK,GACT+hB,EAAI/hB,EAAK,GACTiiB,EAAIjiB,EAAK,GACTmiB,EAAIniB,EAAK,GAETslT,EAAc,CAAC,EAAD,OAElBA,EAAYC,YAAc/H,EAAwBhsS,IAAM,EACxD8zS,EAAYE,YAAc/H,EAAsB17R,EAAII,IAAM,EAC1DmjS,EAAYG,aAAejI,EAAwBhsS,EAAIyQ,IAAM,EAC7DqjS,EAAYI,aAAejI,EAAsB17R,IAAM,EAEhD,CACLzB,OAAOizO,GAAG+xD,EAAYC,cACtBjlS,OAAOizO,GAAG+xD,EAAYE,cACtBllS,OAAOizO,GAAG+xD,EAAYG,eACtBnlS,OAAOizO,GAAG+xD,EAAYI,eAAAA,EAItBC,GAA4B,SAASjB,GAAAA,GACnCA,EAAWkB,wBAAyB,OAC/BlB,EAAWkB,wBAAAA,GAGflB,EAAW9mQ,GAAM8mQ,EAAWmB,GAAI,CAAJA,IAM7Bjf,EAAS,GACTnuR,EAAOisS,EAAWoB,IAAMpB,EAAWmB,GACnCE,EAAUC,GAAWtB,EAAYjsS,GACjCo8R,EAAU6P,EAAW/rS,MAAM5C,SAASgjS,QACtC2L,EAAWzN,SACXyN,EAAWh5L,WACXr/G,GAGFu6R,EAAO7jS,KAAK,WACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,MACZ6jS,EAAO7jS,KAAK2hT,EAAW/rS,MAAMivR,YAAYqK,kBAAkByS,EAAWl3R,QACtEo5Q,EAAO7jS,KAAK,IAAM8xS,EAAU,IAAMthD,GAAGwyD,EAAQ9zR,UAAY,OACzD20Q,EAAO7jS,KAAK,kBACZ6jS,EAAO7jS,KAAKgjT,EAAQttS,MACpBmuR,EAAO7jS,KAAK,MACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,WAER6iT,EAA0BnB,GAAkBC,GAAAA,OAChDkB,EAAwBjtS,MAAQ+rS,EAAW/rS,MAC3CitS,EAAwBhf,OAASA,EAAOx3R,KAAK,MACtCw2S,CAAAA,CAAAA,EAGLI,GAAa,SAAStB,EAAYjsS,GAAAA,IAChCwtS,EACsB,IAAxBvB,EAAWzyR,SAAiByyR,EAAWuB,YAAcvB,EAAWzyR,SAC9DjM,EAAc,CAChBvN,KAAM,GACNwZ,SAAU,IASRi0R,GALJztS,EACkC,MAFlCA,EAA4B,KAArBA,EAAKxM,OAAO,EAAG,GAAYwM,EAAKxM,OAAO,GAAKwM,GAE5CxM,OAAOwM,EAAKza,OAAS,GACtBya,EAAKxM,OAAO,EAAGwM,EAAKza,OAAS,GAC7Bya,GAEenH,MAAM,KAEzB40S,EADExB,EAAW9xS,UACDszS,EAAU15S,KAAI,YAAA25S,OAAQA,EAAK70S,MAAM,SAEjC40S,EAAU15S,KAAI,YAAA25S,MAAQ,CAACA,EAAAA,IAAAA,IAGjCl0R,EAAWg0R,EAIXtlS,EAASkkS,GAAmB9uS,SAAS+tS,UAAUY,IAAe,EAClE/jS,EAASA,EAAS,GAAKA,EAASA,EAAAA,IAC5BE,EAAQgkS,GAAmB9uS,SAASmnS,SAASwH,IAAe,EAChE7jS,EAAQA,EAAQ,GAAKA,EAAQA,EAAAA,IAEzBulS,EAAqB,SAAStoT,EAAGuoT,EAAUp0R,GAAAA,GACzCn0B,EAAI,EAAIooT,EAAUloT,OAAQ,KACxBo7H,EAAMitL,EAAW,IAAMH,EAAUpoT,EAAI,GAAG,UAC5BwoT,GAAmBltL,EAAKsrL,EAAYzyR,GAAUpR,OAC7CA,EAAQ,UAGlB,EAIXoR,IACAs0R,EAAU,KAAOt0R,EAAW,GAAG,CAC7BxZ,EAAO,GACPwZ,IAAAA,IAMI85B,EAKAy6P,EAVAC,EAAaH,GAAmB,IAAK5B,EAAYzyR,GAAUtR,OAC3DurC,EAASw4P,EAAW9xS,UACpB+N,EAASsR,GACRtR,EAAS8lS,GAAc,EAIxBC,EAHJx6P,GA3BgB,EA+BZy6P,EAAkB,EACpBC,EAAiB,EAEfC,EAAW,KAEX50R,GAAY,EAAG,CAGjBxZ,EAAO,aACPA,GACE,oBACA6tS,GAAmB7tS,EAAMisS,EAJ3BzyR,EAAW,IAIsCpR,MAC/C,gBACAA,EACA,WAME,IAAK,IAFPwlS,EAAW,GACXS,EAAY,EACDhpT,EAAI,EAAGA,EAAIooT,EAAUloT,OAAQF,IAAAA,GACtCooT,EAAU9nT,eAAeN,GAAAA,CAAAA,IACvBipT,GAAAA,EAAgB,GACQ,IAAxBb,EAAUpoT,GAAGE,QAAgB6oT,IAAaX,EAAUpoT,GAAGE,OAAS,EAAG,KAElEyoT,EAxDO,IAwDsBK,EAAY,GAxDlC,EAyDRnmS,EAAAA,SAES4lS,EAGXF,GAAYH,EAAUpoT,GAAG+oT,GACzBE,GAAAA,EACAH,EAAiB9oT,EACjBA,GAAAA,KACK,CAELuoT,EAC0C,MAF1CA,GAAYH,EAAUpoT,GAAG+oT,GAAY,KAE1B56S,OAAOo6S,EAASroT,OAAS,GAC9BqoT,EAASp6S,OAAO,EAAGo6S,EAASroT,OAAS,GACrCqoT,EAAAA,IACFnoT,EAAM4e,SAAShf,GACfkpT,EAAoBZ,EAAmBloT,EAAKmoT,EAAUp0R,GACtDg1R,EAAanpT,GAAKooT,EAAUloT,OAAS,KAErCgpT,IAAsBC,EAAY,CACpCZ,GAAY,IACZQ,EAAW,WAEN,GAAKG,GAAsBC,GAe3B,GAAIA,EACTL,EAAiB1oT,OAAAA,GAGfwmT,EAAW9xS,YACV6zS,EApGK,IAoGwBK,EAAY,GApGpC,EAqGJnmS,EAAAA,SAGO4lS,MAxBiC,KACvC7B,EAAW9xS,UAAW,SAChB2zS,EAAAA,IAGNE,EArFG,IAqF0BK,EAAY,GArFtC,EAsFJnmS,EAAAA,SAIS4lS,EAEXK,EAAiB1oT,CAAAA,CAAAA,CAAAA,IAAAA,IAkBnBywB,EAAO,GAEFnd,EAAIm1S,EAAiBn1S,GAAKo1S,EAAgBp1S,IAAK,KAClD01S,EAAWhB,EAAU10S,GAAAA,GACrBkzS,EAAW9xS,UAAW,IACpBpB,IAAMo1S,EAAgB,CACxBj4R,GAAQu4R,EAASL,GAAY,IAC7BA,GAAYA,EAAW,GAAKK,EAASlpT,OAAAA,QAAAA,CAAAA,GAGnCwT,IAAMm1S,EAAiB,CACzBh4R,GAAQu4R,EAASA,EAASlpT,OAAS,GAAK,cAI5C2wB,GAAQu4R,EAAS,GAAK,WAIxBv4R,EACkC,KAAhCA,EAAK1iB,OAAO0iB,EAAK3wB,OAAS,GACtB2wB,EAAK1iB,OAAO,EAAG0iB,EAAK3wB,OAAS,GAC7B2wB,EAEN63R,EAAaF,GAAmB33R,EAAM+1R,EAAYzyR,GAAUpR,MAGpD6jS,EAAWz6L,WAAAA,IACZ,QACHl+D,EAASlrC,EAAQ2lS,EA1IP,YA4IP,SACHz6P,GAAUlrC,EAAQ2lS,GAAc,QAE7B,QAEHz6P,EAjJU,EAoJdtzC,GAAQ86O,GAAGxnM,GAAU,IAAMwnM,GAAGmzD,GAAS,QACvCjuS,GAAQ,IAAM0/R,GAAUxpR,GAAQ,SAEhClW,IAAS86O,GAAGxnM,GAAU,UAGtB26P,IAAUz0R,EA3JE,GA8JZu0R,EAAa,EACbG,EAAkBI,EAAgBH,EAAiBA,EAAiB,EACpEE,IAEAT,EAAW,gBAOjBrgS,EAAYvN,KAAOA,EACnBuN,EAAYiM,SAAWA,EAEhBjM,CAAAA,EAULsgS,GAAqB,SAAS7tS,EAAMisS,EAAYzyR,GAAAA,IAC9C26G,EAAO83K,EAAW/rS,MAAM5C,SAASgjS,QACnC2L,EAAWzN,SACXyN,EAAWh5L,WAET7qG,EACF6jS,EAAW/rS,MAAM0kS,mBAAmB5kS,EAAM,CACxCm0H,KAAMA,EACN36G,SAAU/P,WAAW+P,GACrBspR,UAAW,IACRr5R,WAAW+P,GAAAA,MASX,CAAEtR,OAPP+jS,EAAW/rS,MAAM0kS,mBAAmB,IAAK,CACvCzwK,KAAMA,EACN36G,SAAU/P,WAAW+P,GACrBspR,UAAW,IAEbr5R,WAAW+P,GACX,IACuBpR,MAAOA,EAAAA,EAG9BsmS,GAAyB,CAC3B5qD,OAAQ,GACR6qD,OAAQ,GAMRC,uBAAwB,KAMxBC,YAAY,EACZvxS,SAAU,KACVwxS,eAAe,GAmCbC,GAA4B,SAAS1mJ,EAAQnoJ,GAAAA,IAC3ClF,EAAU,CACZW,KAAM,YACN0sJ,OAAQA,QAAAA,IAMRnoJ,EAAM5C,SACH4kS,YAAY75I,EAAOwuI,MACnB8E,YAAY58Q,YAAY6uE,MANb,SAASqxB,GAAAA,OAChBA,EAAMtjH,OAASX,EAAQW,MAAQsjH,EAAMopC,SAAWrtJ,EAAQqtJ,MAAAA,KAO/DnoJ,EAAM5C,SACH4kS,YAAY75I,EAAOwuI,MACnB8E,YAAY58Q,YAAYz0B,KAAK0Q,EAAAA,EAmLhCg0S,GAAqB,SAAS9uS,EAAO+rS,GAAAA,GACvCA,EAAW/rS,MAAQA,OAAAA,IAEjBA,EAAM5C,gBAAAA,IACL4C,EAAM5C,SAAS2xS,iBAAAA,IACd/uS,EAAM5C,SAAS2xS,eAAeH,eAChC,IACAI,GAAcC,SAAW,EACzBjvS,EAAM5C,SAAS2xS,eAAiBpmQ,KAAKtY,MACnCsY,KAAKC,UAAU4lQ,KAEbxuS,EAAM5C,SAAS2xS,eAAeL,uBAAwB,MAClD,IAAIh6S,MAAM,+CAElB48R,GAActxR,EAAM5C,SAASk0R,YAE7BtxR,EAAM5C,SAAS2xS,eAAeL,uBAAyB,IAAIQ,GAC3DlvS,EAAM5C,SAAS2xS,eAAeL,uBAAuB1uS,MAAQA,EAG7DA,EAAM5C,SAAS2xS,eAAeL,uBAAuBS,SAAWnvS,EAAM5C,SAASlT,OAAO8qN,UACpF,oBACA,YA7K2B,SAASh1M,GAExCA,EAAM5C,SAASlT,OAAOupN,YACpBzzM,EAAM5C,SAAS2xS,eAAeL,uBAAuBS,iBAEhDnvS,EAAM5C,SAAS2xS,eAAeL,uBAAuBS,SAC5DnvS,EAAM5C,SAAS2xS,eAAeJ,YAAa,EANZ,CA8KE3uS,EAAAA,IAI/BA,EAAM5C,SAASlT,OAAO8qN,UAAU,iBAAiB,YA7PxB,SAASh1M,GAEpCA,EAAM5C,SAAS2xS,eAAeL,uBAAuBzV,WAAQ,EAAA3kS,IACzDsvP,EAAS5jP,EAAM5C,SAAS2xS,eAAeL,uBAAuBU,OAAAA,IAC7D,IAAIjqT,KAAKy+P,EAAAA,GACRA,EAAOn+P,eAAeN,GAAI,KACxB4mT,EAAanoD,EAAOz+P,GAExB4mT,EAAW9S,WAAQ,EAEf8S,EAAWsD,eAGbR,GAA0B9C,EAAY/rS,EAAAA,CAAAA,CAbjB,CA8PAA,EAAAA,IAMzBA,EAAM5C,SAASlT,OAAO8qN,UAAU,cAAc,YA/MzB,SAASh1M,GAAAA,QAAAA,IAGvBA,EAAM5C,SAAS2xS,eAAeL,uBAAAA,MAW/B,IAAIh6S,MAAM,qCARhBsL,EAAM5C,SAAS+gG,MACb,aACEn+F,EAAM5C,SAAS2xS,eAAeL,uBAAuBzV,MADvD,QAPmB,CAgNAj5R,EAAAA,IAIrBA,EAAM5C,SAASlT,OAAO8qN,UAAU,gBAAgB,SAASs6F,IA/KnC,SAASA,EAAYtvS,GAAAA,IACzCuvS,GAAkBD,EAAAA,IAgBjB,IAAInqT,KAdJmqT,IAIHtvS,EAAM5C,SAAS07R,uBACb94R,EAAM5C,SAAS2xS,eAAeL,uBAAuBzV,OAAAA,GAGvDj5R,EAAM5C,SAAS2xS,eAAeL,uBAAuB3U,aAGvDuV,EACEA,GAActvS,EAAM5C,SAAS2xS,eAAeL,uBAAuBc,KAAAA,GAG/DF,EAAW7pT,eAAeN,GAAI,KAC5BsqT,EAAcH,EAAWnqT,GACzBuqT,EAAe,GACfC,EAAUF,EAAYh0O,KAAAA,GAEtBg0O,EAAYh0O,OACdg0O,EAAYh0O,KAAOixO,GAAqB+C,EAAYh0O,KAAMz7D,IAI5DA,EAAM5C,SAAS07R,uBAAuB2W,EAAYxW,OAAO,GAEzDwW,EAAYvqD,GAAKgnD,GAAmB0D,8BAClCH,GAIuB,YAAvB9mJ,EAAAA,GAAAA,GAAO8mJ,IACyC,mBAAzCA,EAAYI,2BAEnBH,EAAeD,EAAYI,4BAG7BJ,EAAYh0O,KAAOk0O,EAGjBF,EAAYK,sBACXL,EAAYxC,wBACb,KAEI8C,EAAa/C,GAA0ByC,GAC3CC,EAAatlT,KAAK,CAAE7E,IAAK,KAAMyD,MAAO,QAAU+mT,EAAa,OAE7D/vS,EAAM5C,SAAS2xS,eAAeN,OAAOrkT,KAAK2lT,EAAAA,CAAAA,GAKxCN,EAAYxC,wBAAyB,KACnC+C,EAAyB,OAExB,IAAI58S,KAAKq8S,EAAYxC,wBAAyB,GAC7CwC,EAAYxC,wBAAwBxnT,eAAe2N,GAAI,KACrDpK,EAAQymT,EAAYxC,wBAAwB75S,GAAAA,GAChD48S,GAA0B,IAAM58S,EAAI,IACpC48S,GAA0B,KACtBhrT,OAAO8M,KAAK9I,GAAO3D,QAAU,GAAKiC,MAAMwS,QAAQ9Q,IAAAA,IAE7C,IAAI7D,KAAK6D,EAAAA,GACRA,EAAMvD,eAAeN,GAAI,KACvBe,EAAM8C,EAAM7D,GACG,mBAARe,IAGTA,EAAMA,EAAIR,KAAKsa,EAAOyvS,IAExBO,GAA0B,IAAM7qT,EAAI,IAAMe,EAAM,IAI1C8Z,EAAM5C,SAAS2xS,eAAeN,OAAOv+S,QAAQhK,IAAQ,GACzD8Z,EAAM5C,SAAS2xS,eAAeN,OAAOrkT,KAAKlE,EAAAA,MAK7B,mBADnBA,EAAM8C,KAIJ9C,EAAMA,EAAIR,KAAKsa,EAAOyvS,IAExBO,GAA0B,IAAM7qT,EAAI,IAAMe,EACpC8Z,EAAM5C,SAAS2xS,eAAeN,OAAOv+S,QAAQhK,IAAQ,GACzD8Z,EAAM5C,SAAS2xS,eAAeN,OAAOrkT,KAAKlE,GAE9C8pT,GAA0B,KAK9BN,EAAatlT,KAAK,CAChB7E,IAAK,KACLyD,MAAO,OAASgnT,EAAyB,OAI7ChwS,EAAM5C,SAAS28R,UAAU,CACvBQ,oBAAqBmV,EACrBvV,SAAUsV,EAAYxW,QAGxBj5R,EAAM5C,SAASmmJ,IAAI,UAGnBgsJ,GAK0B,SAASD,EAAYtvS,GAAAA,IAC9C,IAAI7a,KAAKmqT,EAAAA,GACRA,EAAW7pT,eAAeN,GAAI,KAC5BI,EAAMJ,EACNsqT,EAAcH,EAAWnqT,GAE7B6a,EAAM5C,SAAS07R,uBAAuB2W,EAAYxW,OAAO,GAGhC,YAAvBtwI,EAAAA,GAAAA,GAAO8mJ,IAC0B,mBAA1BA,EAAY1V,WAEnB0V,EAAY1V,mBAEPuV,EAAW/pT,EAAAA,CAAAA,CAlBpB0qT,CAA0BjwS,EAAM5C,SAAS2xS,eAAeN,OAAQzuS,EAAAA,CAjH1C,CAgLAsvS,EAAYtvS,EAAAA,IAGlCA,EAAM5C,SAAS2xS,eAAeH,eAAgB,IAK9CsB,GAAmBxE,GAASG,aAAaqE,gBAAkB,SAC7Dp0O,EACAm9N,EACAj5R,GAAAA,IAEIo6R,EAAY,SAASz+Q,GAAAA,OAChBA,CAAAA,EAAAA,GAELr0B,MAAMwS,QAAQgiE,GAAQ,SACpBr8D,EAAU,IACLta,EAAI,EAAGA,EAAI22E,EAAMz2E,OAAQF,IAAAA,OACtB,IAANA,IACFsa,GAAW,cAEEq8D,EAAM32E,KAAAA,IACd,cACA,aACA,SACHsa,GAAWq8D,EAAM32E,GAAGwqB,WAAAA,MAAAA,IAEjB,SAC2B,MAA1BmsD,EAAM32E,GAAGmO,OAAO,EAAG,aACV2lS,GAAyBj5R,IAClCo6R,EAAYp6R,EAAM5C,SAAS2kS,aAAa9I,IAC1Cx5R,GAAW,IAAM+/R,GAAUpF,EAAUt+N,EAAM32E,GAAGwqB,aAAe,KAE7DlQ,GAAWq8D,EAAM32E,GAAGwqB,WAAAA,OAK5BlQ,EAAW,UAGP,IAAI/K,MACR,kEAoBAy7S,GAAc,SAASv7S,EAAQqkS,EAAOj5R,GAAAA,IACpCo6R,EAAY,SAASz+Q,GAAAA,OAChBA,CAAAA,EAAAA,YAAAA,IAEEs9Q,GAAyBj5R,IAClCo6R,EAAYp6R,EAAM5C,SAAS2kS,aAAa9I,KAC1CrkS,EAASA,GAAU,IACZ+a,WACE,IAAM6vR,GAAUpF,EAAUxlS,IAAW,KAY5Cw7S,GAAoB,gBACjBC,YAAS,EAAA/7S,KACTg8S,YAAS,EAMdtrT,OAAO+V,eAAe5T,KAAM,QAAS,CACnC6T,IAAK,uBACQ7T,KAAKkpT,OAAwB,aAC3BlpT,KAAK6Y,MAAAA,OAAAA,KAGXqwS,OAASlpT,KAAK6Y,MAAM5C,SAAS62R,mBAAAA,CAAAA,OAE7B9sS,KAAKkpT,MAAAA,EAEd5vS,IAAK,SAASzX,GAAAA,KACPqnT,OAASrnT,CAAAA,IAGlBhE,OAAO+V,eAAe5T,KAAM,QAAS,CACnC6B,MAAO7B,KAAKmpT,OACZpnT,UAAU,KAOdknT,GAAkB5qT,UAAUmqB,SAAW,kBAC9BxoB,KAAK8xS,MAAQ,QAGtBmX,GAAkB5qT,UAAUu0S,UAAY,eAClC2V,EAAevoT,KAAK0oT,2BAAAA,KACnB7vS,MAAM5C,SAAS28R,UAAU,CAC5Bp+Q,KAAMx0B,KAAK8mS,OACXsM,oBAAqBmV,EACrBvV,SAAUhzS,KAAK8xS,QAAAA,KAEZj5R,MAAM5C,SAASmmJ,IAAI,WAS1B6sJ,GAAkB5qT,UAAUqqT,yBAA2B,eACjDH,EAAe,GACf59S,EAAO9M,OAAOkmF,oBAAoB/jF,MAAMonB,QAAO,SAAShpB,GAAAA,MAEjD,WAAPA,GACO,2BAAPA,GACO,SAAPA,GACO,SAAPA,GACuB,KAAvBA,EAAIkrB,UAAU,EAAG,UAIhB,IAAItrB,KAAK2M,EAAAA,IAAAA,IACR9M,OAAOwpB,yBAAyBrnB,KAAM2K,EAAK3M,IAAIgE,aAAwB,KACrE5D,EAAMuM,EAAK3M,GACX6D,EAAQ7B,KAAK5B,GAEbyD,IACE1B,MAAMwS,QAAQ9Q,GAChB0mT,EAAatlT,KAAK,CAChB7E,IAAKA,EACLyD,MAAOknT,GAAgBlnT,EAAO7B,KAAK8xS,MAAO9xS,KAAK6Y,SAExChX,aAAiBonT,IAG1BpnT,EAAMgX,MAAQ7Y,KAAK6Y,MACnB0vS,EAAatlT,KAAK,CAAE7E,IAAKA,EAAKyD,MAAOA,EAAMiwS,MAAQ,UACzB,mBAAVjwS,GAChB0mT,EAAatlT,KAAK,CAAE7E,IAAKA,EAAKyD,MAAOA,IAAAA,CAAAA,OAKtC0mT,CAAAA,EAGT,IAAIzD,GAAkB,WACpBmE,GAAkB1qT,KAAKyB,MAEvBnC,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC6B,MAAO,WACPG,cAAc,EACdD,UAAU,IAGZlE,OAAO+V,eAAe5T,KAAM,UAAW,CACrC6B,MAAO,QACPG,cAAc,EACdD,UAAU,IAGZlE,OAAO+V,eAAe5T,KAAM,WAAY,CACtC6B,MAAO,EACPG,cAAc,EACdD,UAAU,QAoBRqnT,EAjBAC,EAAQ,GACZxrT,OAAO+V,eAAe5T,KAAM,OAAQ,CAClCgC,cAAc,EACd6R,IAAK,kBACIw1S,CAAAA,EAET/vS,IAAK,SAASzX,GACZwnT,EAAQxnT,CAAAA,IAIZhE,OAAO+V,eAAe5T,KAAM,YAAa,CACvC6B,MAAO,QACPG,cAAc,EACdD,UAAU,IAIZlE,OAAO+V,eAAe5T,KAAM,SAAU,CACpC8B,YAAY,EACZE,cAAc,EACdsX,IAAK,SAASzX,GACZunT,EAAUvnT,EAAMu2B,MAAAA,EAElBvkB,IAAK,kBACCu1S,GAGK,SAMfl/O,GAAQ46O,GAAiBmE,IAEzB,IAAIlB,GAAqB,WACvBkB,GAAkB1qT,KAAKyB,MAAAA,IAwBnBspT,EAtBAC,EAAQ,GAEZ1rT,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACC01S,EAAMrrT,OAAS,EACVqrT,OAAAA,CAAAA,IAMb1rT,OAAO+V,eAAe5T,KAAM,SAAU,CACpC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI01S,CAAAA,IAMX1rT,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,cACEy1S,EAAAA,CAAAA,IAGDrW,EAAY,SAASz+Q,GAAAA,OAChBA,CAAAA,EAAAA,OAELx0B,KAAK6Y,QAAOo6R,EAAYjzS,KAAK6Y,MAAM5C,SAAS2kS,aAAa56S,KAAK8xS,QAC3D,IAAMuG,GAAUpF,EAAUqW,IAAQ,MAE3ChwS,IAAK,SAASzX,GACZynT,EAAMznT,CAAAA,GAAAA,EAKZqoE,GAAQ69O,GAAoBkB,IAQ5B,IAAIpB,GAAgB,SAAhBA,IACFoB,GAAkB1qT,KAAKyB,MAAAA,IAGnBwpT,EAAK,EACT3rT,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI21S,CAAAA,EAETlwS,IAAK,SAASzX,GAAAA,GACP6f,MAAM7f,GAAAA,MAGH,IAAI0L,MACR,kBAAoB1L,EAAQ,+BAH9B2nT,EAAK3nT,CAAAA,IAiBXhE,OAAO+V,eAAe5T,KAAM,kBAAmB,CAC7C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaoE,EAAI,KAElClwS,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLoxC,EAAIoyQ,GAAamE,EAAI,QAErBv2Q,EAAIqyQ,GAAekE,EAAI,UAK9BC,EAAM,EACV5rT,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI41S,CAAAA,EAETnwS,IAAK,SAASzX,GAAAA,GACP6f,MAAM7f,GAAAA,MAGH,IAAI0L,MACR,kBAAoB1L,EAAQ,gCAH9B4nT,EAAM5nT,CAAAA,IAAAA,IASR6nT,EAAQ,GACZ7rT,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,cACkB,IAAjB61S,EAAMxrT,OAAAA,OAGHwrT,CAAAA,EAETpwS,IAAK,SAASzX,GAEV6nT,OAAAA,IADS7nT,EACDA,EAEA,MAYdhE,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACE61S,GAAShoS,MAAMgoS,EAAM,IACjB,EAEFA,EAAM,IAEfpwS,IAAK,SAASzX,GACZ6nT,EAAM,GAAK7nT,CAAAA,IAWfhE,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACE61S,GAAShoS,MAAMgoS,EAAM,IACjB,EAEFA,EAAM,IAEfpwS,IAAK,SAASzX,GACZ6nT,EAAM,GAAK7nT,CAAAA,IAWfhE,OAAO+V,eAAe5T,KAAM,QAAS,CACnC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACE61S,GAAShoS,MAAMgoS,EAAM,IACjB,EAEFA,EAAM,IAEfpwS,IAAK,SAASzX,GACZ6nT,EAAM,GAAK7nT,CAAAA,IAWfhE,OAAO+V,eAAe5T,KAAM,SAAU,CACpC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACE61S,GAAShoS,MAAMgoS,EAAM,IACjB,EAEFA,EAAM,IAEfpwS,IAAK,SAASzX,GACZ6nT,EAAM,GAAK7nT,CAAAA,IAAAA,IAIX8nT,EAAM,GACV9rT,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI81S,CAAAA,EAETrwS,IAAK,SAASzX,GAAAA,OACJA,GAAAA,IACD,WACA,UACA,UACA,OACH8nT,EAAM9nT,EAAAA,MAAAA,QAAAA,MAGA,IAAI0L,MACR,kBAAoB1L,EAAQ,wCAMlC+nT,EAAK,KAET/rT,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZE,cAAc,EACd6R,IAAK,eACE+1S,GAAMA,EAAG1rT,OAAS,EAAG,IAEpB8B,gBAAgB6pT,GAAAA,OAGpBD,EAAK,cAAgB/B,EAAcC,UAAAA,CAAAA,IAEjC7U,EAAY,SAASz+Q,GAAAA,OAChBA,CAAAA,EAAAA,OAELx0B,KAAK6Y,QAAOo6R,EAAYjzS,KAAK6Y,MAAM5C,SAAS2kS,aAAa56S,KAAK8xS,QAC3D,IAAMuG,GAAUpF,EAAU2W,IAAO,KAE1CtwS,IAAK,SAASzX,GACZ+nT,EAAK/nT,EAAM2mB,UAAAA,IAWf3qB,OAAO+V,eAAe5T,KAAM,YAAa,CACvCgC,cAAc,EACdF,YAAY,EACZ+R,IAAK,kBACI+1S,CAAAA,EAETtwS,IAAK,SAASzX,GACZ+nT,EAAK/nT,CAAAA,IAAAA,IAILioT,EAAY,YAQhBjsT,OAAO+V,eAAe5T,KAAM,WAAY,CACtC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIi2S,CAAAA,EAETxwS,IAAK,SAASzX,GACZioT,EAAYjoT,CAAAA,IAAAA,IAIZkoT,EAAa,SAQjBlsT,OAAO+V,eAAe5T,KAAM,YAAa,CACvC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIk2S,CAAAA,EAETzwS,IAAK,SAASzX,GACZkoT,EAAaloT,CAAAA,IAAAA,IAIbmoT,EAAY,EAQhBnsT,OAAO+V,eAAe5T,KAAM,WAAY,CACtC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIm2S,CAAAA,EAET1wS,IAAK,SAASzX,GACZmoT,EAAYnoT,CAAAA,IAAAA,IAIZooT,OAAAA,EAQJpsT,OAAO+V,eAAe5T,KAAM,cAAe,CACzC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,2BACCo2S,EAGK,GAAK9f,GAEL8f,CAAAA,EAGX3wS,IAAK,SAASzX,GACZooT,EAAepoT,CAAAA,IAAAA,IAIfqoT,EAAS,QAQbrsT,OAAO+V,eAAe5T,KAAM,QAAS,CACnC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIq2S,CAAAA,EAET5wS,IAAK,SAASzX,GACZqoT,EAASroT,CAAAA,IAAAA,IAITynT,EAAM,eAEVzrT,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,iBAEAy1S,GACDtpT,gBAAgB6pT,IAChB7pT,gBAAgBmqT,IAAAA,OAIXnB,GAAYM,EAAKtpT,KAAK8xS,MAAO9xS,KAAK6Y,MAAAA,EAE3CS,IAAK,SAASzX,GACZA,EAAQA,EAAM2mB,WACd8gS,EAAMznT,CAAAA,IAAAA,IAINuoT,EAAM,KACVvsT,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,cACEu2S,EAAAA,OAGDpqT,gBAAgBqqT,IAAAA,EACXrB,GAAYoB,EAAKpqT,KAAK8xS,MAAO9xS,KAAK6Y,OAEpCuxS,CAAAA,EAET9wS,IAAK,SAASzX,GACZA,EAAQA,EAAM2mB,WAGV4hS,EAFApqT,gBAAgBqqT,IAAAA,EACS,MAAvBxoT,EAAMsK,OAAO,EAAG,GACZq4S,GAAY3iT,EAAMsK,OAAO,EAAGtK,EAAM3D,OAAS,IAE3CsmT,GAAY3iT,GAGdA,CAAAA,IAYZhE,OAAO+V,eAAe5T,KAAM,eAAgB,CAC1C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACC7T,gBAAgBqqT,IAAAA,EACX7F,GAAY4F,EAAIj+S,OAAO,EAAGi+S,EAAIlsT,OAAS,IAEvCksT,CAAAA,EAGX9wS,IAAK,SAASzX,GACZA,EAAQA,EAAM2mB,WAEZ4hS,EADEpqT,gBAAgBqqT,IAAAA,EACZ,IAAMxoT,EAENA,CAAAA,IAAAA,IAKRmkT,EAAK,KACTnoT,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,cACEmyS,EAAAA,OAGEA,CAAAA,EAET1sS,IAAK,SAASzX,GAAAA,KACPi8C,EAAIj8C,CAAAA,IAGbhE,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZE,cAAc,EACd6R,IAAK,cACEmyS,EAAAA,OAGDhmT,gBAAgBqqT,IAAAA,EACXrB,GAAYhD,EAAIhmT,KAAK8xS,MAAO9xS,KAAK6Y,OAEnCmtS,CAAAA,EAET1sS,IAAK,SAASzX,GACZA,EAAQA,EAAM2mB,WAGVw9R,EAFAhmT,gBAAgBqqT,IAAAA,EACS,MAAvBxoT,EAAMsK,OAAO,EAAG,GACbq4S,GAAY3iT,EAAMsK,OAAO,EAAGtK,EAAM3D,OAAS,IAE3CsmT,GAAY3iT,GAGdA,CAAAA,IAYXhE,OAAO+V,eAAe5T,KAAM,QAAS,CACnC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACC7T,gBAAgBqqT,IAAAA,EACX7F,GAAYwB,EAAG75S,OAAO,EAAG65S,EAAG9nT,OAAS,IAErC8nT,CAAAA,EAGX1sS,IAAK,SAASzX,GACZA,EAAQA,EAAM2mB,WAEZw9R,EADEhmT,gBAAgBqqT,IAAAA,EACb,IAAMxoT,EAENA,CAAAA,IAYXhE,OAAO+V,eAAe5T,KAAM,gBAAiB,CAC3C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI7T,KAAKs0E,IAAAA,IAIhBz2E,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI7T,KAAKkoT,cAAgB,SAAW,QAI3CrqT,OAAO+V,eAAe5T,KAAM,UAAW,CACrC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI7T,KAAKkoT,cAAgB,UAAY,YA8BxCoC,EA1BAC,GAAAA,EAQJ1sT,OAAO+V,eAAe5T,KAAM,sBAAuB,CACjD8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI02S,CAAAA,EAETjxS,IAAK,SAASzX,GACZA,EAAQsmB,QAAQtmB,GAChB0oT,EAAuB1oT,CAAAA,IAW3BhE,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,cACEy2S,EAAAA,OAGEA,CAAAA,EAEThxS,IAAK,SAASzX,GACZyoT,EAAQzoT,CAAAA,IAWZhE,OAAO+V,eAAe5T,KAAM,WAAY,CACtC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,KAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,QAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,MAYxCzrL,OAAO+V,eAAe5T,KAAM,WAAY,CACtC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,KAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,QAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,MAYxCzrL,OAAO+V,eAAe5T,KAAM,WAAY,CACtC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,KAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,QAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,UAKpCkhI,EAAK,KACT3sT,OAAO+V,eAAe5T,KAAM,IAAK,CAC/B8B,YAAY,EACZE,cAAc,EACd6R,IAAK,cACQ,OAAP22S,EAAAA,OAGGA,CAAAA,EAETlxS,IAAK,SAASzX,GAAAA,IACsB,IAA9B,CAAC,EAAG,EAAG,GAAGkH,QAAQlH,GAAAA,MAGd,IAAI0L,MACR,kBAAoB1L,EAAQ,+BAH9B2oT,EAAK3oT,CAAAA,IAiBXhE,OAAO+V,eAAe5T,KAAM,YAAa,CACvC6T,IAAK,eACCrH,EAAAA,OACIg+S,GAAAA,KACD,UAEHh+S,EAAS,kBAEN,EACHA,EAAS,oBAEN,EACHA,EAAS,eAGNA,CAAAA,EAETxK,cAAc,EACdF,YAAY,EACZwX,IAAK,SAASzX,GAAAA,OACJA,GAAAA,IACD,aACA,EACH2oT,EAAK,YAEF,cACA,EACHA,EAAK,QAGF,QAEHA,EAAK,OAMftgP,GAAQ29O,GAAeoB,IAAAA,IAMnBwB,GAAsB,WACxB5C,GAActpT,KAAKyB,MAAAA,KAEd0qT,GAAK,WAEL5sQ,EAAI,UAEJq5P,SAAW,mBAEZwT,EAAM,EAEV9sT,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI82S,CAAAA,EAETrxS,IAAK,SAASzX,GACZ8oT,EAAM9oT,CAAAA,IAWVhE,OAAO+V,eAAe5T,KAAM,WAAY,CACtC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI82S,CAAAA,EAETrxS,IAAK,SAASzX,GACZ8oT,EAAM9oT,CAAAA,IAAAA,IAIN+oT,EAAO,GACX/sT,OAAO+V,eAAe5T,KAAM,MAAO,CACjC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIk1S,GAAgB6B,EAAM5qT,KAAK8xS,MAAO9xS,KAAK6Y,MAAAA,EAEhDS,IAAK,SAASzX,GA97BU,IAAS8yE,EAC/BnoE,EAAAA,EAAS,GACQ,iBAFcmoE,EA+7BF9yE,KA57B/B2K,EAZJ,SAAoBiB,EAAQ6U,EAAO3Q,GACjCA,IAAUA,EAAQ,WAEd4Q,EADAwrD,EAAU,GAENxrD,EAAQD,EAAM+pD,KAAK5+D,IACzBsgE,EAAQ9qE,KAAKsf,EAAM5Q,IAAAA,OAEdo8D,CAAAA,CAPT,CAYwB4G,EAAO,eA47BzBi2O,EA17BGp+S,CAAAA,IAAAA,KAq8BFq+S,WAAa,kBACTD,CAAAA,EAAAA,KAUJE,WAAa,SAASjpT,GACzB+oT,EAAO/oT,EACH7B,KAAKuhD,MACPqpQ,EAAKrpQ,MAAAA,EAAAA,KAWJwpQ,UAAY,SAASlpT,GAExBA,GADAA,EAAQA,GAAS,IACH2mB,WACdoiS,EAAK3nT,KAAKpB,GACN7B,KAAKuhD,MACPqpQ,EAAKrpQ,MAAAA,EAAAA,KAYJypQ,aAAe,SAASnpT,EAAOopT,GAAAA,IAClCA,EAAaA,IAAAA,EAEbppT,GADAA,EAAQA,GAAS,IACH2mB,YAEkB,IAAzBoiS,EAAK7hT,QAAQlH,KAClB+oT,EAAKh5S,OAAOg5S,EAAK7hT,QAAQlH,GAAQ,QAC7BopT,KAAAA,EAaRptT,OAAO+V,eAAe5T,KAAM,QAAS,CACnC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAYxCzrL,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IAER7B,KAAKkrT,SAAAA,IACH/iS,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,QAa1CzrL,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,IAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,IAChCshI,EAAKrpQ,QAAAA,KAEA+nI,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAYxCzrL,OAAO+V,eAAe5T,KAAM,cAAe,CACzC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAYxCzrL,OAAO+V,eAAe5T,KAAM,kBAAmB,CAC7C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAaxCzrL,OAAO+V,eAAe5T,KAAM,oBAAqB,CAC/C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,YAKnCq/H,qBAAsB,GAE7Bz+O,GAAQugP,GAAqB5C,IAAAA,IAOzBsD,GAAkB,WACpBV,GAAoBlsT,KAAKyB,MAAAA,KACpBm3S,SAAW,iBAGX+T,OAAQ,GAEfhhP,GAAQihP,GAAiBV,IAAAA,IAQrBW,GAAmB,WACrBD,GAAgB5sT,KAAKyB,MAAAA,KAChBkrT,OAAQ,GAEfhhP,GAAQkhP,GAAkBD,IAAAA,IAStBE,GAAkB,WACpBD,GAAiB7sT,KAAKyB,MAAAA,KACjBsrT,MAAO,GAEdphP,GAAQmhP,GAAiBD,IAAAA,IAMrBf,GAAiB,WACnBxC,GAActpT,KAAKyB,MAAAA,KACd0qT,GAAK,OAQV7sT,OAAO+V,eAAe5T,KAAM,gBAAiB,CAC3C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAWxCzrL,OAAO+V,eAAe5T,KAAM,QAAS,CACnC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAWxCzrL,OAAO+V,eAAe5T,KAAM,aAAc,CACxC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAWxCzrL,OAAO+V,eAAe5T,KAAM,gBAAiB,CAC3C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,WAyDpCiiI,EApDAC,EAAM,CAAC,EACX3tT,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,eACCo/R,EAAY,SAASz+Q,GAAAA,OAChBA,CAAAA,EAAAA,GAELx0B,KAAK6Y,QAAOo6R,EAAYjzS,KAAK6Y,MAAM5C,SAAS2kS,aAAa56S,KAAK8xS,QAClC,IAA5Bj0S,OAAO8M,KAAK6gT,GAAKttT,OAAc,KAG7BE,EAFAoO,EAAS,OAGRpO,KAFLoO,EAAOvJ,KAAK,MAEAuoT,EACVh/S,EAAOvJ,KAAK,IAAM7E,EAAM,KAAOi6S,GAAUpF,EAAUuY,EAAIptT,KAAS,YAElEoO,EAAOvJ,KAAK,MACLuJ,EAAO8C,KAAK,QAIvBgK,IAAK,SAASzX,GACS,YAAjB2/J,EAAAA,GAAAA,GAAO3/J,KACT2pT,EAAM3pT,EAAAA,IAgBZhE,OAAO+V,eAAe5T,KAAM,UAAW,CACrC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI23S,EAAI1tD,IAAM,IAEnBxkP,IAAK,SAASzX,GACS,iBAAVA,IACT2pT,EAAI1tD,GAAKj8P,EAAAA,IAMfhE,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI03S,CAAAA,EAETjyS,IAAK,SAASzX,GACZ0pT,EAAM1pT,CAAAA,IAUVhE,OAAO+V,eAAe5T,KAAM,kBAAmB,CAC7C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI03S,EAAIp/S,OAAO,EAAGo/S,EAAIrtT,OAAS,IAEpCob,IAAK,SAASzX,GACZ0pT,EAAM,IAAM1pT,CAAAA,GAAAA,EAIlBqoE,GAAQmgP,GAAgBxC,IAAAA,IAOpB4D,GAAqB,WACvBpB,GAAe9rT,KAAKyB,MAAAA,KACf0rT,YAAa,GAEpBxhP,GAAQuhP,GAAoBpB,IAAAA,IAOxBsB,GAAsB,WACxBtB,GAAe9rT,KAAKyB,MAAAA,KACf4rT,OAAQ,OACRF,YAAa,MAEdnC,EAAQ,GACZ1rT,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI01S,CAAAA,EAETjwS,IAAK,SAASzX,GAEV0nT,OAAAA,IADS1nT,EACDA,EAEA,OAKhBqoE,GAAQyhP,GAAqBtB,IAS7B,IAAIR,GAAqB,eAGnBgC,EAYAC,EAdJjE,GAActpT,KAAKyB,MAGnBnC,OAAO+V,eAAe5T,KAAM,SAAU,CACpC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIg4S,CAAAA,EAETvyS,IAAK,SAASzX,GACZgqT,EAAUhqT,CAAAA,IAKdhE,OAAO+V,eAAe5T,KAAM,aAAc,CACxC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIi4S,CAAAA,EAETxyS,IAAK,SAASzX,GACZiqT,EAAcjqT,CAAAA,IAAAA,IAqDd0pT,EAjDAC,EAAM,CAAC,EACX3tT,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,eACCo/R,EAAY,SAASz+Q,GAAAA,OAChBA,CAAAA,EAELx0B,KAAK6Y,QAAOo6R,EAAYjzS,KAAK6Y,MAAM5C,SAAS2kS,aAAa56S,KAAK8xS,QAAAA,IAG9D1zS,EAFAoO,EAAS,OAGRpO,KAFLoO,EAAOvJ,KAAK,MAEAuoT,EACVh/S,EAAOvJ,KAAK,IAAM7E,EAAM,KAAOi6S,GAAUpF,EAAUuY,EAAIptT,KAAS,YAElEoO,EAAOvJ,KAAK,MACLuJ,EAAO8C,KAAK,OAErBgK,IAAK,SAASzX,GACS,YAAjB2/J,EAAAA,GAAAA,GAAO3/J,KACT2pT,EAAM3pT,EAAAA,IAgBZhE,OAAO+V,eAAe5T,KAAM,UAAW,CACrC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI23S,EAAI1tD,IAAM,IAEnBxkP,IAAK,SAASzX,GACS,iBAAVA,IACT2pT,EAAI1tD,GAAKj8P,EAAAA,IAMfhE,OAAO+V,eAAe5T,KAAM,KAAM,CAChC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI03S,CAAAA,EAETjyS,IAAK,SAASzX,GACZ0pT,EAAM1pT,CAAAA,IAUVhE,OAAO+V,eAAe5T,KAAM,kBAAmB,CAC7C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI03S,EAAIp/S,OAAO,EAAGo/S,EAAIrtT,OAAS,IAEpCob,IAAK,SAASzX,GACZ0pT,EAAM,IAAM1pT,CAAAA,IAAAA,KAGXkqT,QAAU,SACVC,gBAAkB,WAGlBC,gBAAkBlH,GAAmBmH,YAAY33O,OAAAA,KAEjDuxO,wBAA0B9lT,KAAKisT,gBAAgBE,uBAClDnsT,KAAKosT,WAAAA,EAGTliP,GAAQ2/O,GAAoBhC,IAE5B8D,GAAoBttT,UAAUguT,cAAgB,SAASzD,GAAAA,KAC/C,2BAA4BA,MAAc,UAAWA,GAAAA,MACnD,IAAIr7S,MACR,0EAGC,IAAIukS,KAAS9xS,KAAKqoT,KAAM,GACvBroT,KAAKqoT,KAAK/pT,eAAewzS,GAAQ,KAC/BtxS,EAAQR,KAAKqoT,KAAKvW,GACtBtxS,EAAMslT,wBAA0B8C,EAAWuD,uBACzC3rT,EAAM4rT,YAER5rT,EAAMurT,QAAUnD,EAAW0D,OAAAA,CAAAA,EAKjCX,GAAoBttT,UAAUkuT,aAAe,SAAS7rT,GAAAA,IAEhDF,EAAQ,IAAIqpT,GAAAA,OAChBrpT,EAAM+tE,OAASvuE,KACfQ,EAAM4rT,WAAa1rT,EAAAA,KAEd2nT,KAAKplT,KAAKzC,GAEfgsT,GAASjuT,KAAKyB,KAAK6Y,MAAOrY,GAEnBA,CAAAA,EAAAA,IAQLisT,GAAmB,WACrBpC,GAAe9rT,KAAKyB,MAAAA,KAEfm3S,SAAW,oBACX4U,QAAU,SACVC,gBAAkB,UAClBnqT,MAAQ,UACRsoH,UAAY,cACZ27L,wBAA0Bf,GAAmB2H,SAASP,wBAAAA,EAE7DjiP,GAAQuiP,GAAkBpC,IAAAA,IAMtBF,GAAoB,WACtBtC,GAActpT,KAAKyB,MAAAA,KACd0qT,GAAK,MAQV7sT,OAAO+V,eAAe5T,KAAM,YAAa,CACvC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAWxCzrL,OAAO+V,eAAe5T,KAAM,aAAc,CACxC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAWxCzrL,OAAO+V,eAAe5T,KAAM,kBAAmB,CAC7C8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAWxCzrL,OAAO+V,eAAe5T,KAAM,cAAe,CACzC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAWxCzrL,OAAO+V,eAAe5T,KAAM,OAAQ,CAClC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,OAWxCzrL,OAAO+V,eAAe5T,KAAM,WAAY,CACtC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,WAKpCqjI,EAAU,KACd9uT,OAAO+V,eAAe5T,KAAM,SAAU,CACpC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI84S,CAAAA,EAETrzS,IAAK,SAASzX,GACZ8qT,EAAU9qT,CAAAA,IAUdhE,OAAO+V,eAAe5T,KAAM,YAAa,CACvC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI84S,CAAAA,EAETrzS,IAAK,SAASzX,GACR2e,OAAOosS,UAAU/qT,KACnB8qT,EAAU9qT,EAAAA,IAKhBhE,OAAO+V,eAAe5T,KAAM,sBAAuB,CACjD8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACI7T,KAAK89C,GAAK99C,KAAK+lT,EAAAA,GAAAA,EAI5B77O,GAAQigP,GAAmBtC,IAAAA,IAOvBgF,GAAwB,WAC1B1C,GAAkB5rT,KAAKyB,MASvBnC,OAAO+V,eAAe5T,KAAM,WAAY,CACtC8B,YAAY,EACZE,cAAc,EACd6R,IAAK,kBACIsU,QAAQi9R,GAAaplT,KAAKspL,GAAI,MAEvChwK,IAAK,SAASzX,IAAAA,IACRsmB,QAAQtmB,GAAAA,KACLynL,GAAK+7H,GAAarlT,KAAKspL,GAAI,SAE3BA,GAAKg8H,GAAetlT,KAAKspL,GAAI,YAInChG,UAAW,GAElBp5G,GAAQ2iP,GAAuB1C,IAAAA,IAG3BpF,GAAqB,CACvB2H,SAAU,CACRP,uBAAwB,iBACL,CACf10Q,EAAG,CACDq1Q,GAAI/H,GAAmB2H,SAASK,WAElC13Q,EAAG,CACDy3Q,GAAI/H,GAAmB2H,SAASM,YAChCC,IAAKlI,GAAmB2H,SAASQ,aAAAA,EAWvCF,YAAa,SAASpI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKhsS,MAAQ+rS,EAAW/rS,MAAAA,IACpBiuR,EAAS,GACTiO,EAAU6P,EAAW/rS,MAAM5C,SAASgjS,QACtC2L,EAAWzN,SACXyN,EAAWh5L,WACXr/G,GACE4gT,EAAevI,EAAW/rS,MAAMivR,YAAYqK,kBAC9CyS,EAAWl3R,OAETu4R,EAAUC,GAAWtB,EAAYA,EAAWmH,SAAAA,OAChDjlB,EAAO7jS,KAAK,cACZ6jS,EAAO7jS,KACL,OACEwwP,GAAGsxD,GAAmB9uS,SAASmnS,SAASwH,IACxC,IACAnxD,GAAGsxD,GAAmB9uS,SAAS+tS,UAAUY,IACzC,OAEJ9d,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,OACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,YACZ6jS,EAAO7jS,KACL,IAAM8xS,EAAU,IAAMthD,GAAGwyD,EAAQ9zR,UAAY,OAASg7R,GAExDrmB,EAAO7jS,KAAK,MACZ6jS,EAAO7jS,KAAKgjT,EAAQttS,MACpBmuR,EAAO7jS,KAAK,MACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,OACZ4hT,EAAK/d,OAASA,EAAOx3R,KAAK,MACnBu1S,CAAAA,EAGTkI,UAAW,SAASnI,GAAAA,IACdC,EAAOF,GAAkBC,GAC7BC,EAAKhsS,MAAQ+rS,EAAW/rS,MAAAA,IACpBk8R,EAAU6P,EAAW/rS,MAAM5C,SAASgjS,QACtC2L,EAAWzN,SACXyN,EAAWh5L,WACXr/G,GACE4gT,EAAevI,EAAW/rS,MAAMivR,YAAYqK,kBAC9CyS,EAAWl3R,OAETo5Q,EAAS,GACTjmR,EAASkkS,GAAmB9uS,SAAS+tS,UAAUY,GAC/C7jS,EAAQgkS,GAAmB9uS,SAASmnS,SAASwH,GAC7CqB,EAAUC,GAAWtB,EAAYA,EAAWmH,SAAAA,OAChDjlB,EAAO7jS,KAAK,OACZ6jS,EAAO7jS,KAAK,OAASwwP,GAAG1yO,GAAS,IAAM0yO,GAAG5yO,GAAU,OACpDimR,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,YACZ6jS,EAAO7jS,KAAK,OAASwwP,GAAG1yO,EAAQ,GAAK,IAAM0yO,GAAG5yO,EAAS,GAAK,OAC5DimR,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,OACZ6jS,EAAO7jS,KAAK,MACZ6jS,EAAO7jS,KACL,IAAM8xS,EAAU,IAAMthD,GAAGwyD,EAAQ9zR,UAAY,OAASg7R,GAExDrmB,EAAO7jS,KAAKgjT,EAAQttS,MACpBmuR,EAAO7jS,KAAK,MACZ6jS,EAAO7jS,KAAK,KACZ4hT,EAAK/d,OAASA,EAAOx3R,KAAK,MACnBu1S,CAAAA,EAQTqI,YAAa,SAAStI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKhsS,MAAQ+rS,EAAW/rS,MAAAA,IACpBiuR,EAAS,UACbA,EAAO7jS,KAAK,cACZ6jS,EAAO7jS,KACL,OACEwwP,GAAGsxD,GAAmB9uS,SAASmnS,SAASwH,IACxC,IACAnxD,GAAGsxD,GAAmB9uS,SAAS+tS,UAAUY,IACzC,OAEJ9d,EAAO7jS,KAAK,KACZ4hT,EAAK/d,OAASA,EAAOx3R,KAAK,MACnBu1S,CAAAA,GAIXqH,YAAa,CACX33O,OAAQ,CACN43O,uBAAwB,SAASzrT,GAAAA,IAC3BolT,EAA0B,CAC5BzwQ,EAAG,CACD43Q,IAAKlI,GAAmBmH,YAAY33O,OAAO24O,aAE7Cz1Q,EAAG,CAAC,GAAD,OAELquQ,EAAwBruQ,EAAE/2C,GACxBqkT,GAAmBmH,YAAY33O,OAAOw4O,UACxCjH,EAAwBzwQ,EAAE30C,GACxBqkT,GAAmBmH,YAAY33O,OAAOy4O,YACjClH,CAAAA,EAETwG,MAAO,iBACE,KAGTS,UAAW,SAASnI,GAAAA,IACdC,EAAOF,GAAkBC,GAC7BC,EAAKhsS,MAAQ+rS,EAAW/rS,MAAAA,IACpBiuR,EAAS,GAETsmB,EACFrI,GAAmB9uS,SAASmnS,SAASwH,IACrCG,GAAmB9uS,SAAS+tS,UAAUY,GAClCG,GAAmB9uS,SAASmnS,SAASwH,GAAc,EACnDG,GAAmB9uS,SAAS+tS,UAAUY,GAAc,EAE1DwI,EAAY5sS,QAAoB,GAAZ4sS,GAAiB7gR,QAAQ,QACzC1kB,EAAIk9R,GAAmB9uS,SAASo3S,SAChCC,EAAkB9sS,QAAQ4sS,EAAYvlS,GAAG0kB,QAAQ,WAIrDu6P,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KACL,WACEwhT,GAAGM,GAAmB9uS,SAASmnS,SAASwH,GAAc,GACtD,IACAH,GAAGM,GAAmB9uS,SAAS+tS,UAAUY,GAAc,GACvD,OAEJ9d,EAAO7jS,KAAKmqT,EAAY,QACxBtmB,EAAO7jS,KACLmqT,EACE,IACAE,EACA,IACAA,EACA,IACAF,EACA,MACAA,EACA,MAEJtmB,EAAO7jS,KACL,IACEqqT,EACA,IACAF,EACA,KACAA,EACA,IACAE,EACA,KACAF,EACA,QAEJtmB,EAAO7jS,KACL,IACEmqT,EACA,KACAE,EACA,KACAA,EACA,KACAF,EACA,OACAA,EACA,MAEJtmB,EAAO7jS,KACLqqT,EACE,KACAF,EACA,IACAA,EACA,KACAE,EACA,IACAF,EACA,QAEJtmB,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ4hT,EAAK/d,OAASA,EAAOx3R,KAAK,MACnBu1S,CAAAA,EAETmI,YAAa,SAASpI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKhsS,MAAQ+rS,EAAW/rS,MAAAA,IACpBiuR,EAAS,GACTsmB,EACFrI,GAAmB9uS,SAASmnS,SAASwH,IACrCG,GAAmB9uS,SAAS+tS,UAAUY,GAClCG,GAAmB9uS,SAASmnS,SAASwH,GAAc,EACnDG,GAAmB9uS,SAAS+tS,UAAUY,GAAc,EAE1DwI,EAAY5sS,QAAoB,GAAZ4sS,GAAiB7gR,QAAQ,QAGzCtgC,EAAIuU,QAAoB,EAAZ4sS,GAAe7gR,QAAQ,IACnCspI,EAAKr1J,QAAQvU,EAAI84S,GAAmB9uS,SAASo3S,UAAU9gR,QAAQ,IAC/D+oI,EAAK90J,QACN4sS,EAAYrI,GAAmB9uS,SAASo3S,UAAU9gR,QAAQ,WAG7Du6P,EAAO7jS,KAAK,cACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KACL,WACEwhT,GAAGM,GAAmB9uS,SAASmnS,SAASwH,GAAc,GACtD,IACAH,GAAGM,GAAmB9uS,SAAS+tS,UAAUY,GAAc,GACvD,OAEJ9d,EAAO7jS,KAAKgJ,EAAI,QAChB66R,EAAO7jS,KAAKgJ,EAAI,IAAM4pK,EAAK,IAAMA,EAAK,IAAM5pK,EAAI,MAAQA,EAAI,MAC5D66R,EAAO7jS,KACL,IAAM4yK,EAAK,IAAM5pK,EAAI,KAAOA,EAAI,IAAM4pK,EAAK,KAAO5pK,EAAI,QAExD66R,EAAO7jS,KACL,IAAMgJ,EAAI,KAAO4pK,EAAK,KAAOA,EAAK,KAAO5pK,EAAI,OAASA,EAAI,MAE5D66R,EAAO7jS,KAAK4yK,EAAK,KAAO5pK,EAAI,IAAMA,EAAI,KAAO4pK,EAAK,IAAM5pK,EAAI,QAC5D66R,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,OACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KACL,WACEwhT,GAAGM,GAAmB9uS,SAASmnS,SAASwH,GAAc,GACtD,IACAH,GAAGM,GAAmB9uS,SAAS+tS,UAAUY,GAAc,GACvD,OAEJ9d,EAAO7jS,KAAKmqT,EAAY,QACxBtmB,EAAO7jS,KAEHmqT,EACA,IACA93I,EACA,IACAA,EACA,IACA83I,EACA,MACAA,EACA,MAEJtmB,EAAO7jS,KACL,IACEqyK,EACA,IACA83I,EACA,KACAA,EACA,IACA93I,EACA,KACA83I,EACA,QAEJtmB,EAAO7jS,KACL,IACEmqT,EACA,KACA93I,EACA,KACAA,EACA,KACA83I,EACA,OACAA,EACA,MAEJtmB,EAAO7jS,KACLqyK,EACE,KACA83I,EACA,IACAA,EACA,KACA93I,EACA,IACA83I,EACA,QAEJtmB,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ4hT,EAAK/d,OAASA,EAAOx3R,KAAK,MACnBu1S,CAAAA,EAETqI,YAAa,SAAStI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKhsS,MAAQ+rS,EAAW/rS,MAAAA,IACpBiuR,EAAS,GACTsmB,EACFrI,GAAmB9uS,SAASmnS,SAASwH,IACrCG,GAAmB9uS,SAAS+tS,UAAUY,GAClCG,GAAmB9uS,SAASmnS,SAASwH,GAAc,EACnDG,GAAmB9uS,SAAS+tS,UAAUY,GAAc,EAE1DwI,EAAY5sS,QAAoB,GAAZ4sS,GAAiB7gR,QAAQ,QAGzCtgC,EAAIuU,QAAoB,EAAZ4sS,GAAe7gR,QAAQ,IACnCspI,EAAKr1J,QAAQvU,EAAI84S,GAAmB9uS,SAASo3S,UAAU9gR,QAAQ,WAEnEu6P,EAAO7jS,KAAK,cACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KACL,WACEwhT,GAAGM,GAAmB9uS,SAASmnS,SAASwH,GAAc,GACtD,IACAH,GAAGM,GAAmB9uS,SAAS+tS,UAAUY,GAAc,GACvD,OAEJ9d,EAAO7jS,KAAKgJ,EAAI,QAChB66R,EAAO7jS,KAAKgJ,EAAI,IAAM4pK,EAAK,IAAMA,EAAK,IAAM5pK,EAAI,MAAQA,EAAI,MAC5D66R,EAAO7jS,KACL,IAAM4yK,EAAK,IAAM5pK,EAAI,KAAOA,EAAI,IAAM4pK,EAAK,KAAO5pK,EAAI,QAExD66R,EAAO7jS,KACL,IAAMgJ,EAAI,KAAO4pK,EAAK,KAAOA,EAAK,KAAO5pK,EAAI,OAASA,EAAI,MAE5D66R,EAAO7jS,KAAK4yK,EAAK,KAAO5pK,EAAI,IAAMA,EAAI,KAAO4pK,EAAK,IAAM5pK,EAAI,QAC5D66R,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ4hT,EAAK/d,OAASA,EAAOx3R,KAAK,MACnBu1S,CAAAA,GAIX0I,MAAO,CAQLpB,uBAAwB,SAASzrT,GAAAA,IAC3BolT,EAA0B,CAC5BzwQ,EAAG,CACD43Q,IAAKlI,GAAmBmH,YAAYqB,MAAML,aAE5Cz1Q,EAAG,CAAC,GAAD,OAELquQ,EAAwBruQ,EAAE/2C,GACxBqkT,GAAmBmH,YAAYqB,MAAMR,UACvCjH,EAAwBzwQ,EAAE30C,GACxBqkT,GAAmBmH,YAAYqB,MAAMP,YAChClH,CAAAA,EAETwG,MAAO,iBACE,KAGTS,UAAW,SAASnI,GAAAA,IACdC,EAAOF,GAAkBC,GAC7BC,EAAKhsS,MAAQ+rS,EAAW/rS,MAAAA,IACpBiuR,EAAS,GACT0mB,EAAQzI,GAAmB9uS,SAASw3S,eAAe7I,GAAAA,OACvD9d,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KACL,OACEwwP,GAAGsxD,GAAmB9uS,SAASmnS,SAASwH,GAAc,GACtD,IACAnxD,GAAGsxD,GAAmB9uS,SAAS+tS,UAAUY,GAAc,GACvD,OAEJ9d,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAKwwP,GAAG+5D,EAAM1+R,GAAGpd,GAAK,IAAM+hP,GAAG+5D,EAAM1+R,GAAG7M,GAAK,MACpD6kR,EAAO7jS,KAAKwwP,GAAG+5D,EAAMx+R,GAAGtd,GAAK,IAAM+hP,GAAG+5D,EAAMx+R,GAAG/M,GAAK,MACpD6kR,EAAO7jS,KAAKwwP,GAAG+5D,EAAMzN,GAAGruS,GAAK,IAAM+hP,GAAG+5D,EAAMzN,GAAG99R,GAAK,MACpD6kR,EAAO7jS,KAAKwwP,GAAG+5D,EAAM/N,GAAG/tS,GAAK,IAAM+hP,GAAG+5D,EAAM/N,GAAGx9R,GAAK,MACpD6kR,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ4hT,EAAK/d,OAASA,EAAOx3R,KAAK,MACnBu1S,CAAAA,EAETmI,YAAa,SAASpI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKhsS,MAAQ+rS,EAAW/rS,MAAAA,IACpB20S,EAAQzI,GAAmB9uS,SAASw3S,eAAe7I,GACnD9d,EAAS,UACbA,EAAO7jS,KAAK,cACZ6jS,EAAO7jS,KACL,OACEwwP,GAAGsxD,GAAmB9uS,SAASmnS,SAASwH,IACxC,IACAnxD,GAAGsxD,GAAmB9uS,SAAS+tS,UAAUY,IACzC,OAEJ9d,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KACL,OACEwwP,GAAGsxD,GAAmB9uS,SAASmnS,SAASwH,GAAc,GACtD,IACAnxD,GAAGsxD,GAAmB9uS,SAAS+tS,UAAUY,GAAc,GACvD,OAEJ9d,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAKwwP,GAAG+5D,EAAM1+R,GAAGpd,GAAK,IAAM+hP,GAAG+5D,EAAM1+R,GAAG7M,GAAK,MACpD6kR,EAAO7jS,KAAKwwP,GAAG+5D,EAAMx+R,GAAGtd,GAAK,IAAM+hP,GAAG+5D,EAAMx+R,GAAG/M,GAAK,MACpD6kR,EAAO7jS,KAAKwwP,GAAG+5D,EAAMzN,GAAGruS,GAAK,IAAM+hP,GAAG+5D,EAAMzN,GAAG99R,GAAK,MACpD6kR,EAAO7jS,KAAKwwP,GAAG+5D,EAAM/N,GAAG/tS,GAAK,IAAM+hP,GAAG+5D,EAAM/N,GAAGx9R,GAAK,MACpD6kR,EAAO7jS,KAAK,KACZ6jS,EAAO7jS,KAAK,KACZ4hT,EAAK/d,OAASA,EAAOx3R,KAAK,MACnBu1S,CAAAA,EAETqI,YAAa,SAAStI,GAAAA,IAChBC,EAAOF,GAAkBC,GAC7BC,EAAKhsS,MAAQ+rS,EAAW/rS,MAAAA,IACpBiuR,EAAS,UACbA,EAAO7jS,KAAK,cACZ6jS,EAAO7jS,KACL,OACEwwP,GAAGsxD,GAAmB9uS,SAASmnS,SAASwH,IACxC,IACAnxD,GAAGsxD,GAAmB9uS,SAAS+tS,UAAUY,IACzC,OAEJ9d,EAAO7jS,KAAK,KACZ4hT,EAAK/d,OAASA,EAAOx3R,KAAK,MACnBu1S,CAAAA,IAUb4D,8BAA+B,SAAS7D,GAAAA,IAGlC7P,EAAU6P,EAAW/rS,MAAM5C,SAASgjS,QACtC2L,EAAWzN,SACXyN,EAAWh5L,WACXr/G,GACE4gT,EAAevI,EAAW/rS,MAAMivR,YAAYqK,kBAC9CyS,EAAWl3R,OAAAA,MAGA,IAAMqnR,EAAU,IADd6P,EAAWzyR,SACoB,OAASg7R,CAAAA,GAK3DpI,GAAmB9uS,SAAW,CAC5Bo3S,SAAU,cAEVI,eAAgB,SAAS7I,GAAAA,IACnB7jS,EAAQgkS,GAAmB9uS,SAASmnS,SAASwH,GAC7C/jS,EAASkkS,GAAmB9uS,SAAS+tS,UAAUY,GAC/Cz9R,EAAIvb,KAAK+T,IAAIoB,EAAOF,GAAAA,MAEZ,CACViO,GAAI,CAEFpd,GAAIqP,EAAQoG,GAAK,EACjBlF,GAAIpB,EAASsG,GAAK,EAAIA,GAExB6H,GAAI,CAEFtd,GAAIqP,EAAQoG,GAAK,EAAIA,EACrBlF,GAAIpB,EAASsG,GAAK,GAEpBs4R,GAAI,CAEF/tS,GAAIqP,EAAQoG,GAAK,EACjBlF,GAAIpB,EAASsG,GAAK,GAEpB44R,GAAI,CAEFruS,GAAIqP,EAAQoG,GAAK,EAAIA,EACrBlF,GAAIpB,EAASsG,GAAK,EAAIA,GAAAA,GAO9B49R,GAAmB9uS,SAASmnS,SAAW,SAASwH,GAAAA,IAC1Cp4S,EAAS,QACa,YAAtBg1J,EAAAA,GAAAA,GAAOojJ,KACTp4S,EAASwvC,GAAM4oQ,EAAWtwO,KAAK,KAE1B9nE,CAAAA,EAETu4S,GAAmB9uS,SAAS+tS,UAAY,SAASY,GAAAA,IAC3Cp4S,EAAS,QACa,YAAtBg1J,EAAAA,GAAAA,GAAOojJ,KACTp4S,EAASwvC,GAAM4oQ,EAAWtwO,KAAK,KAE1B9nE,CAAAA,EAcT,IAAIggT,GAAYjI,GAASiI,SAAW,SAASlE,GAAAA,GAC3CX,GAAmB3nT,KAAMsoT,KAErBA,aAAuBT,IAAAA,MAGnB,IAAIt6S,MAAM,8CAvlFN,IAASq3S,EAAAA,OAAAA,EAqlFX0D,GAplFKzvS,MAAM5C,SAAS2xS,eAAeJ,aAC3C5C,EAAW/rS,MAAM5C,SAAS2xS,eAAeJ,YAAa,EACtD5C,EAAW/rS,MAAM5C,SAAS2xS,eAAeL,uBAAyB,MAEpE3C,EAAW/rS,MAAM5C,SAAS2xS,eAAeL,uBAAuBU,OAAOhlT,KACrE2hT,GAmlFF0D,EAAY9Y,KAAO8Y,EAAYzvS,MAAM5C,SAAS+kS,qBAAqBr/E,WAC5D37N,IAAAA,EAGTukT,GAASkG,oBAAsBA,GAC/BlG,GAAS4G,gBAAkBA,GAC3B5G,GAAS6G,iBAAmBA,GAC5B7G,GAAS8G,gBAAkBA,GAC3B9G,GAAS8F,eAAiBA,GAC1B9F,GAASkH,mBAAqBA,GAC9BlH,GAASoH,oBAAsBA,GAC/BpH,GAASkI,iBAAmBA,GAC5BlI,GAAS4F,kBAAoBA,GAC7B5F,GAASsI,sBAAwBA,GACjCtI,GAASQ,mBAAqBA,GAE9BR,GAASmJ,SAAW,CAClBC,YAAalD,GACbmD,QAASzC,GACT0C,SAAUzC,GACV0C,QAASzC,GACT0C,OAAQ1D,GACR2D,WAAYvC,GACZS,YAAaP,GACbe,SAAUD,GACVwB,UAAW9D,GACX+D,cAAerB,GACfsB,WAAYpJ,IAGd/d,GAAM0mB,SAAW,CACfC,YAAalD,GACbmD,QAASzC,GACT0C,SAAUzC,GACV0C,QAASzC,GACT0C,OAAQ1D,GACR2D,WAAYvC,GACZS,YAAaP,GACbe,SAAUD,GACVwB,UAAW9D,GACX+D,cAAerB,GACfsB,WAAYpJ,IAGC/d,GAAM0mB,SCzlGrB,SAASU,GAAStgO,GAAAA,OACTA,EAAIjkE,QAAO,SAAS09E,EAAQ7mG,EAAMiR,GAAAA,OACvC41F,EAAO7mG,GAAQiR,EAER41F,CAAAA,GACN,CAAC,EAAD,ECgCL,SAAUg9M,GAIRA,EAAS8J,aAAe,CAAC,EAAD,IAEpBC,EAAU,UAOVC,EAAuB,CACzBC,IAAK,CAAC,CAAC,IAAM,GAAM,GAAM,KACzBC,KAAM,CACJ,CAAC,GAAM,GAAM,EAAM,KAClB,GAAM,GAAM,GAAM,IAErBC,KAAM,CACJ,CACE,IACA,IACA,IACA,gBACAvhT,EAEA,GACA,GACA,GACA,GACA,IAGA,IACA,IACA,IACA,gBACAA,EAEA,GACA,IACA,IACA,IACA,EACA,IAED,IAAM,IAAM,IAAM,MAClB,IAAM,IAAM,IAAM,MAErBwhT,SAAU,CAAC,CAAC,EAAM,EAAM,EAAM,GAAM,IAAM,GAAM,GAAM,KACtDC,OAAQ,CAAC,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,KACxCC,OAAQ,CAAC,CAAC,GAAM,GAAM,GAAM,GAAM,GAAM,KACxCC,KAAM,CACJ,CACE,GACA,GACA,GACA,eACA3hT,OACAA,OACAA,EAEA,GACA,GACA,GACA,KAGJ4hT,IAAK,CACH,CAAC,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,KACN,GAAM,MAiBPC,EAA+BzK,EAAS8J,aAAaW,4BAA8B,SACrFC,EACAC,GAAAA,IAGIlxT,EACAgtB,EAEAmkS,EACAC,EACAjzE,EAHA3vO,EAAS8hT,EAAAA,GAMQ,UATrBY,EAAiBA,GAAkBZ,SAAAA,IAUhCW,EAAUz6R,MACTy6R,EAAUz6R,gBAAgB66R,mBAC1B,WAAYJ,GACZ,UAAWA,EAAAA,MAEN,UAGLpuG,EAAkBouG,GAAAA,IACf9yE,KAAYoyE,EAAAA,IACfY,EAAiBZ,EAAqBpyE,GACjCn+O,EAAI,EAAGA,EAAImxT,EAAejxT,OAAQF,GAAK,EAAG,KAC7CoxT,GAAAA,EACKpkS,EAAI,EAAGA,EAAImkS,EAAenxT,GAAGE,OAAQ8sB,GAAK,EAAG,QAAH,IACzCmkS,EAAenxT,GAAGgtB,IAGlBmkS,EAAenxT,GAAGgtB,KAAOikS,EAAUjkS,GAAI,CACzCokS,GAAAA,EAAgB,cAIhBA,EAAwB,CAC1B5iT,EAAS2vO,EAAAA,KAAAA,CAAAA,MAAAA,IAMVA,KAAYoyE,EAAAA,IACfY,EAAiBZ,EAAqBpyE,GACjCn+O,EAAI,EAAGA,EAAImxT,EAAejxT,OAAQF,GAAK,EAAG,KAC7CoxT,GAAAA,EACKpkS,EAAI,EAAGA,EAAImkS,EAAenxT,GAAGE,OAAQ8sB,GAAK,EAAG,QAAH,IACzCmkS,EAAenxT,GAAGgtB,IAGlBmkS,EAAenxT,GAAGgtB,KAAOikS,EAAUjoN,WAAWh8E,GAAI,CACpDokS,GAAAA,EAAgB,cAIhBA,EAAwB,CAC1B5iT,EAAS2vO,EAAAA,KAAAA,CAAAA,CAAAA,OAOb3vO,IAAW8hT,GAAWY,IAAmBZ,IAC3C9hT,EAAS0iT,GAEJ1iT,CAAAA,EAIL8iT,EAAW,SAAXA,EAAoBl1R,GAAAA,IAAAA,IAClBgiI,EAAMp8J,KAAKiW,SAAS+gG,MACpB47L,EAAY5yS,KAAKiW,SAAS28R,UAG1BxrR,GAAAA,EAFapnB,KAAKiW,SAAS08R,eAGW,IAAnCvrR,EAAOre,QAAQ,gBACpBqe,EAAOxV,OAAOwV,EAAOre,QAAQ,eAAgB,GAG/CqxB,EAAM44Q,SAAWhzS,KAAKiW,SAASw7R,YAAAA,IAE3B2B,EAAsB,MAC1BA,EAAoBnwS,KAAK,CAAE7E,IAAK,OAAQyD,MAAO,aAC/CuxS,EAAoBnwS,KAAK,CAAE7E,IAAK,UAAWyD,MAAO,WAClDuxS,EAAoBnwS,KAAK,CAAE7E,IAAK,QAASyD,MAAOu4B,EAAMrZ,QACtDqyR,EAAoBnwS,KAAK,CAAE7E,IAAK,SAAUyD,MAAOu4B,EAAMvZ,SAEnDuZ,EAAMm1R,aAAeC,EAAaC,QACpCrc,EAAoBnwS,KAAK,CACvB7E,IAAK,aACLyD,MACE,yBAECu4B,EAAMiN,QAAQnpC,OAAS,EAAI,GAC5B,KACC,UAAWk8B,QAAAA,IAAgBA,EAAMs1R,MAC9Bt1R,EAAM44Q,SAAW,EACjB54Q,EAAM44Q,SAAW,GACrB,WAGJI,EAAoBnwS,KAAK,CACvB7E,IAAK,aACLyD,MAAO,IAAMu4B,EAAMm1R,aAEjBn1R,EAAMm1R,aAAeC,EAAaG,aACpCvc,EAAoBnwS,KAAK,CAAE7E,IAAK,SAAUyD,MAAO,uBAGrDuxS,EAAoBnwS,KAAK,CACvB7E,IAAK,mBACLyD,MAAOu4B,EAAMw1R,mBAGb,qBAAsBx1R,QAAAA,IACfA,EAAMy1R,kBAEbzc,EAAoBnwS,KAAK,CACvB7E,IAAK,cACLyD,MAAO,KAAOu4B,EAAMy1R,iBAAmB,OAGvC,iBAAkBz1R,GAASj6B,MAAMwS,QAAQynB,EAAM01R,cAAe,SAC5DA,EAAe,GACjB9xT,EAAI,EACJgkF,EAAM5nD,EAAM01R,aAAa5xT,OACpBF,EAAIgkF,EAAKhkF,IACd8xT,GACE11R,EAAM01R,aAAa9xT,GAAK,IAAMo8B,EAAM01R,aAAa9xT,GAAK,IAE1Do1S,EAAoBnwS,KAAK,CACvB7E,IAAK,OACLyD,MAAO,IAAMiuT,EAAe,eAGrB11R,EAAMs1R,OACftc,EAAoBnwS,KAAK,CACvB7E,IAAK,QACLyD,MAAOu4B,EAAM44Q,SAAW,EAAI,aAI5BH,OAAAA,IACKz4Q,EAAMhT,OAAyB,CAAC,IAAMgT,EAAMhT,aAAU,EAAAja,GAE/DylS,EAAU,CACRp+Q,KAAM4F,EAAM5F,KACZ4+Q,oBAAqBA,EACrBP,sBAAuBA,EACvBG,SAAU54Q,EAAM44Q,WAGlB52I,EAAI,UAGA,UAAWhiI,QAAAA,IAAgBA,EAAMs1R,MAAuB,KACtDG,EACF,cACAz1R,EAAM21R,UACN,gCACA31R,EAAMw1R,iBACN,aACAx1R,EAAMrZ,MACJ2uS,EAAQ,CACV3uS,MAAOqZ,EAAMrZ,MACbF,OAAQuZ,EAAMvZ,OACd0uS,WAAY,aACZK,iBAAkBx1R,EAAMw1R,iBACxBC,iBAAkBA,EAClBr7R,KAAM4F,EAAMs1R,OAEV,WAAYt1R,IACds1R,EAAMtoS,OAASgT,EAAMhT,QAEvBkoS,EAAS/wT,KAAKyB,KAAM0vT,EAAAA,CAAAA,GAIlBt1R,EAAMm1R,aAAeC,EAAaC,QAAS,KACzC3d,EAAQ9xS,KAAKiW,SAASw7R,YAG1BmB,EAAU,CACRp+Q,KAAMw7R,EAA0B,IAAIxoN,WAAWptE,EAAMiN,UACrD2rQ,SAAUlB,IAEZ11I,EAAI,YAGJ6zJ,EAAuB,eACrBtzR,EAAS38B,KAAKiW,SAAS6tS,YAAdoM,gBAAA,IACR,IAAIlyT,KAAK2+B,EACZ2yR,EAAS/wT,KAAKyB,KAAM28B,EAAO3+B,GAAAA,EAG3BmyT,EAA0B,eAG1B/1R,EAFEuC,EAAS38B,KAAKiW,SAAS6tS,YAAdoM,gBACX9zJ,EAAMp8J,KAAKiW,SAAS+gG,MAAAA,IAEjB,IAAIh5G,KAAK2+B,EAEZy/H,EAAI,MADJhiI,EAAQuC,EAAO3+B,IACE2T,MAAOyoB,EAAM44Q,SAAU,IAAK,MAS7C9/R,EAAa,WACVlT,KAAKiW,SAAS6tS,YAAdoM,kBAAAA,KACEj6S,SAAS6tS,YAAdoM,gBAAkD,CAAC,EAAD,KAC7Cj6S,SAASlT,OAAO8qN,UAAU,eAAgBoiG,GAAAA,KAC1Ch6S,SAASlT,OAAO8qN,UAAU,iBAAkBsiG,GAAAA,EAIjDC,EAAY,eACVzzR,EAAS38B,KAAKiW,SAAS6tS,YAAdoM,gBAAA,OACbh9S,EAAW3U,KAAKyB,MACT28B,CAAAA,EAEL0zR,EAAgB,kBACXxyT,OAAO8M,KAAK3K,KAAKiW,SAAS6tS,YAAdoM,iBAAiDhyT,MAAAA,EAelEoyT,EAAuB,SAASh8S,GAAAA,MACyB,mBAA7CiwS,EAAS,UAAYjwS,EAAKpI,cAAAA,EAGtCqkT,EAAe,SAASvvJ,GAAAA,MACD,YAAlBQ,EAAAA,GAAAA,GAAOR,IAA2C,IAApBA,EAAOtrF,QAAAA,EAG1C86O,EAA0B,SAAShoT,EAASu9B,GAAAA,GAErB,QAArBv9B,EAAQ8hE,UAAsB9hE,EAAQ0a,aAAa,OAAQ,KACzDzQ,EAAM,GAAKjK,EAAQsb,aAAa,UAGD,IAA/BrR,EAAI1J,QAAQ,sBACPqxR,GACLt0F,SAASrzL,GACNjB,MAAM,WACNosC,OAAAA,IAKH6yQ,EAAelM,EAASmM,SAASj+S,GAAAA,GAAK,YACtCg+S,EAAAA,OACKA,CAAAA,CAAAA,GAIc,WAArBjoT,EAAQ8hE,SAAuB,IACX,IAAlB9hE,EAAQuY,OAAkC,IAAnBvY,EAAQqY,OAAAA,MAC3B,IAAItT,MACR,8CACE/E,EAAQuY,MACR,aACAvY,EAAQqY,QAAAA,IAGV8vS,EAAAA,OACI5qR,GAAAA,IACD,MACH4qR,EAAW,sBAER,OACHA,EAAW,mBAGR,QAEHA,EAAW,oBAGRv2B,GACL5xR,EACG00C,UAAUyzQ,EAAU,GACpBn/S,MAAM,WACNosC,MAAAA,CAAAA,EAKLgzQ,EAAsB,SAASnzJ,GAAAA,IAC7B9gI,EAAS38B,KAAKiW,SAAS6tS,YAAdoM,gBAAA,GACTvzR,EAAAA,IACG,IAAI/3B,KAAK+3B,EAAAA,GACR8gI,IAAU9gI,EAAO/3B,GAAG64J,MAAO,OACtB9gI,EAAO/3B,EAAAA,EAMlBisT,EAA0B,SAAS9vS,EAAOF,EAAQuZ,GAAAA,OAC/CrZ,GAAUF,IACbE,GAAS,GACTF,GAAU,IAERE,EAAQ,IACVA,GAAU,EAAIqZ,EAAMrZ,MAAQ,GAAMA,EAAQ/gB,KAAKiW,SAASk0R,aAEtDtpR,EAAS,IACXA,GAAW,EAAIuZ,EAAMvZ,OAAS,GAAMA,EAAS7gB,KAAKiW,SAASk0R,aAE/C,IAAVppR,IACFA,EAASF,EAASuZ,EAAMrZ,MAASqZ,EAAMvZ,QAE1B,IAAXA,IACFA,EAAUE,EAAQqZ,EAAMvZ,OAAUuZ,EAAMrZ,OAGnC,CAACA,EAAOF,EAAAA,EAGbiwS,EAAkB,SAASp/S,EAAGuQ,EAAGlB,EAAOF,EAAQuZ,EAAOw3C,GAAAA,IACrDm/O,EAAOF,EAAwBtyT,KAAKyB,KAAM+gB,EAAOF,EAAQuZ,GAC3DooO,EAAQxiQ,KAAKiW,SAAS4tS,oBACtBmN,EAAShxT,KAAKiW,SAASirS,4BAErBvkR,EAASyzR,EAAU7xT,KAAKyB,MAAAA,GAE5B+gB,EAAQgwS,EAAK,GACblwS,EAASkwS,EAAK,GACdp0R,EAAOvC,EAAMzoB,OAASyoB,EAElBw3C,EAAU,CACZA,GAAYhmE,KAAKke,GAAK,QAClBjC,EAAIjc,KAAKoe,IAAI4nD,GACblqD,EAAI9b,KAAKme,IAAI6nD,GAEbq/O,EAAK,SAAS7tT,GAAAA,OACTA,EAAOmpC,QAAQ,IAEpB2kR,EAA+B,CACjCD,EAAGppS,GACHopS,EAAGvpS,GACHupS,GAAQ,EAALvpS,GACHupS,EAAGppS,GACH,EACA,EACA,WAGC5R,SAAS+gG,MAAM,KAChBplC,GAAAA,KACG37D,SAAS+gG,MACZ,CAAC,EAAG,IAAK,IAAK,EAAGwrJ,EAAM9wP,GAAIs/S,EAAO/uS,EAAIpB,GAAS,MAAMvR,KAAK,WAEvD2G,SAAS+gG,MAAMk6M,EAA6B5hT,KAAK,WACjD2G,SAAS+gG,MACZ,CAACwrJ,EAAMzhP,GAAQ,IAAK,IAAKyhP,EAAM3hP,GAAS,IAAK,IAAK,MAAMvR,KAAK,YAG1D2G,SAAS+gG,MACZ,CACEwrJ,EAAMzhP,GACN,IACA,IACAyhP,EAAM3hP,GACN2hP,EAAM9wP,GACNs/S,EAAO/uS,EAAIpB,GACX,MACAvR,KAAK,MAIPtP,KAAK0qS,iBAAAA,KAEFz0R,SAAS+gG,MAAM,CAAC,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,MAAM1nG,KAAK,WAGhD2G,SAAS+gG,MAAM,KAAO58E,EAAMzoB,MAAQ,YACpCsE,SAAS+gG,MAAM,MAMlBw4M,EAAgBjL,EAASiL,aAAe,CAC1C2B,WAAY,YACZC,YAAa,aACbzB,YAAa,aACb0B,SAAU,UACVC,QAAS,SACTC,IAAK,MACLC,UAAW,WACX/B,QAAS,UACTgC,QAAS,UACTC,WAAY,aACZC,SAAU,WAMZpN,EAAS98M,OAAS,CAChBmqN,WAAY,YACZC,aAAc,cACdC,WAAY,YACZC,WAAY,YACZC,aAAc,cACdC,eAAgB,gBAChBC,iBAAkB,iBAClBC,kBAAmB,kBACnBC,iBAAkB,sBAMhBC,EAAqB9N,EAAS8N,kBAAoB,CACpDC,KAAM,OACNC,KAAM,OACNC,OAAQ,SACRC,KAAM,QASJC,EAAanO,EAAS8J,aAAaqE,UAAY,SAASl+R,GAAAA,IAExDx2B,EACAgkF,EAFEsyH,EAAO,KAIS,iBAAT9/K,EAAAA,IACTwtD,EAAMxtD,EAAKt2B,OACNF,EAAI,EAAGA,EAAIgkF,EAAKhkF,IACnBs2M,GAAQA,GAAQ,GAAKA,EAAO9/K,EAAKwyE,WAAWhpG,GAC5Cs2M,GAAQ,OAEL,GAAIuM,EAAkBrsL,GAAAA,IAC3BwtD,EAAMxtD,EAAK4zP,WAAa,EACnBpqR,EAAI,EAAGA,EAAIgkF,EAAKhkF,IACnBs2M,GAAQA,GAAQ,GAAKA,EAAO9/K,EAAKx2B,GACjCs2M,GAAQ,SAGLA,CAAAA,EAaLq+G,EAA0BpO,EAAS8J,aAAasE,uBAAyB,SAC3EC,IAEAA,EAAuBA,GAAwB,IAC1BpqS,WAAW4P,OAAAA,IAE5B5rB,GAAAA,EAAS,OAEuB,IAAhComT,EAAqB10T,SACvBsO,GAAAA,GAGEomT,EAAqB10T,OAAS,GAAM,IACtCsO,GAAAA,IAAS,IAIT,mBAAmBic,KACjBmqS,EAAqBzmT,OAAO,EAAGymT,EAAqB10T,OAAS,MAG/DsO,GAAAA,IAAS,IAIT,gDAAgDic,KAC9CmqS,EAAqBzmT,QAAQ,MAG/BK,GAAAA,GAEKA,CAAAA,EAeLqmT,EAA2BtO,EAAS8J,aAAawE,wBAA0B,SAC7EC,GAAAA,IAGIC,GADJD,EAAUA,GAAW,IACMthT,MAAM,WAC7BhF,EAAS,QAEe,IAAxBumT,EAAa70T,OAAc,KACzB80T,EAAgB,sDAAsD3mP,KACxE0mP,EAAa,IAEX5yT,MAAMwS,QAAQqgT,KAChBxmT,EAAS,CACPmkT,SAAUqC,EAAc,GACxBtgH,QAASsgH,EAAc,GACvBx+R,KAAMu+R,EAAa,YAIlBvmT,CAAAA,EAULymT,EAAuB1O,EAAS8J,aAAa4E,oBAAsB,iBAE5C,oBAAhBhrN,aAAqD,oBAAfT,UAAAA,EAajD+8M,EAAS8J,aAAahvG,cAAgB,SAASr+C,GAAAA,OACtCiyJ,KAAyBjyJ,aAAkB/4D,WAAAA,EAAAA,IAWhD44G,EAAqB0jG,EAAS8J,aAAaxtG,kBAAoB,SACjE7/C,GAAAA,OAGEiyJ,KACuB,oBAAhBhqN,cACN+3D,aAAkBkyJ,WACjBlyJ,aAAkBx5D,YACY,oBAAtB6nN,mBACNruJ,aAAkBquJ,mBACpBruJ,aAAkBmyJ,YAClBnyJ,aAAkBj4D,aAClBi4D,aAAkB80E,YAClB90E,aAAkB/3D,aAClB+3D,aAAkBoyJ,cAClBpyJ,aAAkBqyJ,aAAAA,EAapBC,EAA4B/O,EAAS8J,aAAaiF,yBAA2B,SAC/EC,GAAAA,IAAAA,IAEIvxO,EAAMuxO,EAAcr1T,OACpBgqG,EAAQ,IAAIV,WAAWxlB,GAClBhkF,EAAI,EAAGA,EAAIgkF,EAAKhkF,IACvBkqG,EAAMlqG,GAAKu1T,EAAcvsN,WAAWhpG,GAAAA,OAE/BkqG,CAAAA,EAaL8nN,EAA6BzL,EAAS8J,aAAa2B,0BAA4B,SACjFhoN,GAAAA,IAAAA,IAEIo0D,EAAM,GAGN8xE,EAAMrtB,EAAkB74G,GAAUA,EAAS,IAAIR,WAAWQ,GACrDhqG,EAAI,EAAGA,EAAIkwO,EAAIhwO,OAAQF,GAzsBV,KA6sBpBo+J,GAAO7yI,OAAO89E,aAAahnG,MACzB,KACA6tO,EAAI15D,SAASx2K,EAAGA,EA/sBE,cAktBfo+J,CAAAA,EA8BTmoJ,EAASlqR,SAAW,eACd40R,EAAWlpR,EAAQr0B,EAAGuQ,EAAGE,EAAGE,EAAGo7I,EAAOq/E,EAAalrK,EAAAA,GAG3B,iBAAjB3zE,UAAU,IACnB8nC,EAASuoR,EACT58S,EAAIzT,UAAU,GACdgkB,EAAIhkB,UAAU,GACdkkB,EAAIlkB,UAAU,GACdokB,EAAIpkB,UAAU,GACdw/J,EAAQx/J,UAAU,GAClB6+O,EAAc7+O,UAAU,GACxB2zE,EAAW3zE,UAAU,KAErB8nC,EAAS9nC,UAAU,GACnByT,EAAIzT,UAAU,GACdgkB,EAAIhkB,UAAU,GACdkkB,EAAIlkB,UAAU,GACdokB,EAAIpkB,UAAU,GACdw/J,EAAQx/J,UAAU,GAClB6+O,EAAc7+O,UAAU,GACxB2zE,EAAW3zE,UAAU,IAIA,YAArBujK,EAAAA,GAAAA,GAtBFytJ,EAAYhxT,UAAU,MAuBnBsyT,EAAatB,IACd,cAAeA,EACf,KACIt7S,EAAUs7S,EAEdA,EAAYt7S,EAAQs7S,UACpBlpR,EAASpyB,EAAQoyB,QAAUA,GAAUuoR,EACrC58S,EAAIiC,EAAQjC,GAAKA,GAAK,EACtBuQ,EAAItO,EAAQsO,GAAKA,GAAK,EACtBE,EAAIxO,EAAQwO,GAAKxO,EAAQoN,OAASoB,EAClCE,EAAI1O,EAAQ0O,GAAK1O,EAAQkN,QAAUwB,EACnCo7I,EAAQ9pJ,EAAQ8pJ,OAASA,EACzBq/E,EAAcnpO,EAAQmpO,aAAeA,EACrClrK,EAAWj+D,EAAQi+D,UAAYj+D,EAAQ4rD,OAASqS,CAAAA,CAAAA,IAI9CxqD,EAASpnB,KAAKiW,SAAS08R,aAAAA,QAAAA,IACvB71D,IAAgE,IAAnC11N,EAAOre,QAAQ,iBAC9C+zO,EAAc,QAGZp7N,MAAMhQ,IAAMgQ,MAAMO,GAAAA,MACd,IAAI1U,MAAM,gDAGlB2F,EAAW3U,KAAKyB,MAAAA,IAEZo6B,EAAQo5R,EAAiBj1T,KAC3ByB,KACAivT,EACAlpR,EACA03H,EACAq/E,GAAAA,OAGFg0E,EAAgBvyT,KAAKyB,KAAM0R,EAAGuQ,EAAGE,EAAGE,EAAG+X,EAAOw3C,GAEvC5xE,IAAAA,EAAAA,IAGLwzT,EAAmB,SAASvE,EAAWlpR,EAAQ03H,EAAOq/E,GAAAA,IACpDtwO,EAAQinT,EA/fY5xT,EAAAA,GAkgBD,iBAAdotT,GACPD,EAA4BC,KAAeX,EAC3C,CACAW,EAAYnpH,SAASmpH,GAAAA,IACjBwB,EAAeiD,EAA4BzE,GAAAA,IAE1B,KAAjBwB,QAAAA,KAGFA,EAAelM,EAASmM,SAASzB,GAAAA,OAFjCA,EAAYwB,EAAAA,CAAAA,GASZF,EAAatB,KACfA,EAAYuB,EAAwBvB,EAAWlpR,IAGjDA,EAASipR,EAA4BC,EAAWlpR,IAC3CuqR,EAAqBvqR,GAAAA,MAClB,IAAIx4B,MACR,4CACEw4B,EACA,uCACAA,EACA,2BA5hBC,OADiBlkC,EAmiBT47J,IAliB2D,IAAjB57J,EAAM3D,UAmiB7Du/J,EAjiB6B,SAASwxJ,GAAAA,MACf,iBAAdA,GAA0BpuG,EAAkBouG,GAC9CyD,EAAUzD,GACRpuG,EAAkBouG,EAAUz6R,MAC9Bk+R,EAAUzD,EAAUz6R,MAGtB,KAPwB,CAiiBMy6R,KAErCziT,EAASokT,EAAoBryT,KAAKyB,KAAMy9J,MAGlCw1J,MAEIhE,aAAqBznN,YAA0B,SAAXzhE,IACxC0tR,EAAqBxE,EACrBA,EAAYqE,EAAyBrE,KAIzCziT,EAASxM,KAAK,UAAY+lC,EAAO75B,eAC/B+iT,EACAoB,EAAc9xT,KAAKyB,MACnBy9J,EAzkBmB,SAAS57J,GAAAA,OAC5BA,GAA0B,iBAAVA,IAAoBA,EAAQA,EAAMqK,eAC/CrK,KAAS0iT,EAAS8N,kBAAoBxwT,EAAQwwT,EAAkBC,IAAAA,CAFhD,CA0kBAx1E,GACnB22E,KAICjnT,EAAAA,MACG,IAAIe,MAAM,iEAEXf,CAAAA,EASLknT,EAA+BnP,EAAS8J,aAAaqF,4BAA8B,SACrFC,EACAC,GAAAA,IAGIC,EADJD,EAAmC,kBAAfA,GAA2BA,EAAAA,IAG3CE,EADA7E,EAAY,MAGU,iBAAf0E,EAAyB,CAElCG,EAAyB,QADzBD,EAAahB,EAAwBc,IACLE,EAAWr/R,KAAOm/R,EAAAA,IAGhD1E,EAAY70B,GAAK05B,EAKX,CAJN,MAAOlvT,GAAAA,GACHgvT,EAAAA,MACGjB,EAAuBmB,GAKpB,IAAIvmT,MACR,mDAAqD3I,EAAEgL,SALnD,IAAIrC,MACR,yFAUH0hT,CAAAA,EAST1K,EAASwP,mBAAqB,SAAS9E,GAAAA,IACjC70R,EAEA2L,EADA0qR,EAAe,MAGfF,EAAatB,KACfA,EAAYuB,EAAwBvB,IAIf,iBAAdA,GACPD,EAA4BC,KAAeX,IAItB,MAFrBmC,EAAeiD,EAA4BzE,GAAAA,MAGzCwB,EAAelM,EAASmM,SAASzB,IAAc,IAEjDA,EAAYwB,GAGd1qR,EAASipR,EAA4BC,IAChCqB,EAAqBvqR,GAAAA,MAClB,IAAIx4B,MACR,4CACEw4B,EACA,uCACAA,EACA,2BAIFktR,KAA2BhE,aAAqBznN,aAClDynN,EAAYqE,EAAyBrE,MAGvC70R,EAAQp6B,KAAK,UAAY+lC,EAAO75B,eAAe+iT,IAAAA,MAGvC,IAAI1hT,MAAM,gEAGlB6sB,EAAM+hN,SAAWp2M,EAEV3L,CAAAA,CAAAA,CAx9BX,CA09BG4sQ,GAAMa,KCt8BT,SAAU0c,GAAAA,IAGJyP,EAAW,SAASj1T,GAAAA,QAAAA,IACXA,GACE,IAAPA,EAAAA,OAAAA,CACK,EAKbioS,GAAMa,IAAI9kS,OAAOE,KAAK,CACpB,UACA,SAASgxT,GACQj0T,KAAKiW,SAAS4kS,YAAYoZ,EAAYt4F,YAC5C24E,YAAY58Q,YAAc,MAIvC6sR,EAASxhT,OAAOE,KAAK,CACnB,UACA,SAASixT,GAAAA,IAAAA,IAOHC,EAAMhlS,EAAMN,EANZoyR,EAAgCjhT,KAAKiW,SAAS4tS,oBAC9C3C,EAA8BlhT,KAAKiW,SACpCirS,4BACCkT,EAAWp0T,KAAKiW,SAAS8kS,mBAAmBmZ,EAAYpiB,OACxDuiB,EAAYH,EAAY5f,YAAY58Q,YAGpCpb,GAAAA,EACK6K,EAAI,EAAGA,EAAIktS,EAAUn2T,SAAWoe,EAAO6K,IAAAA,QAC9CgtS,EAAOE,EAAUltS,IACJ7S,MAAAA,IACN,QAED0/S,EAASG,EAAKxgT,QAAQ0hE,MACtB2+O,EAASG,EAAKxgT,QAAQgoN,eAEtBr/M,GAAAA,GAAQ,UAGP,gBACA,WACA,WACHA,GAAAA,EAAQ,GAID,GAATA,EAAAA,CAAAA,KAICrG,SAAS+gG,MAAM,iBACf,IAAIh5G,EAAI,EAAGA,EAAIq2T,EAAUn2T,OAAQF,IAAK,CACzCm2T,EAAOE,EAAUr2T,GAAAA,IACbyrM,EAASzpM,KAAKiW,SAASoiS,UACvBpF,EAAYjzS,KAAKiW,SAAS2kS,aAAasZ,EAAYpiB,OAAAA,OAE/CqiB,EAAK7/S,MAAAA,IACN,iBAEE2B,SAAS+gG,MAAM,IAAMm9M,EAAKnzJ,OAAO8wI,MAAQ,mBAE3C,WAECwiB,EAAUt0T,KAAKiW,SAAS47R,sBACxB0iB,EAAWv0T,KAAKiW,SAAS47R,sBACzB2iB,EAAgBx0T,KAAKiW,SAAS2kS,aAAa0Z,EAAQxiB,OAEnDxhS,EAAQ6jT,EAAK7jT,OAAS,OAY1Bue,EACE,kCAZFM,EACE,UACA8xR,EAA8BkT,EAAK70S,OAAO5N,GAC1C,IACAwvS,EAA4BiT,EAAK70S,OAAO2C,EAAIkyS,EAAK70S,OAAO+C,GACxD,IACA4+R,EAA8BkT,EAAK70S,OAAO5N,EAAIyiT,EAAK70S,OAAO6C,GAC1D,IACA++R,EAA4BiT,EAAK70S,OAAO2C,GACxC,MAOA,cACAwnL,EAAO+qH,EAAcL,EAAKM,WAC1B,IACF5lS,GAAQ,WAAa0lS,EAASziB,MAAQ,OACtCjjR,GAAQ,OAASulS,EAAStiB,MAAQ,OAClCjjR,GAAQ,QAAU46K,EAAO+qH,EAAclkT,IAAU,OACjDgkT,EAAQh8S,QAAUuW,EAAAA,IAEdwnB,EAASi+Q,EAAQxiB,MAAQ,OAc7BjjR,EACE,mCAbFM,EACE,UACA8xR,EAA8BkT,EAAK70S,OAAO5N,EAH/B,IAIX,IACAwvS,EAA4BiT,EAAK70S,OAAO2C,EAAIkyS,EAAK70S,OAAO+C,GACxD,IACA4+R,EACEkT,EAAK70S,OAAO5N,EAAIyiT,EAAK70S,OAAO6C,EARnB,IAUX,IACA++R,EAA4BiT,EAAK70S,OAAO2C,GACxC,MAMA,YACAo0B,EACE89Q,EAAKt7N,OACPhqE,GAAQ,eAEVA,GAAQ,MACR0lS,EAASj8S,QAAUuW,EAAAA,KAEd5Y,SAAS+gG,MAAMs9M,EAAQxiB,MAAO,MAAOyiB,EAASziB,MAAO,iBAGvD,WACH3iR,EACE,UACA8xR,EAA8BkT,EAAK70S,OAAO5N,GAC1C,IACAwvS,EAA4BiT,EAAK70S,OAAO2C,GACxC,IACAg/R,EAA8BkT,EAAK70S,OAAO5N,EAAIyiT,EAAK70S,OAAO6C,GAC1D,IACA++R,EAA4BiT,EAAK70S,OAAO2C,EAAIkyS,EAAK70S,OAAO+C,GACxD,SACEqL,EAAQymS,EAAKzmS,OAAS,UAC1BmB,EACE,qCAGAM,EACA,cACAs6K,EAAOwpG,EAAUkhB,EAAKM,WACtB,IACF5lS,GACE,mEACAnB,EACA,IACFmB,GAAQ,mBACRA,GAAQ,WACH5Y,SAAS+gG,MAAMnoF,GAAAA,MAAAA,IAEjB,UACCslS,EAAKxgT,QAAQjT,KAAM,KACjBuwM,EAAMjxM,KAAK03B,YAAYg9R,SAASP,EAAKxgT,QAAQjT,MACjDyzT,EAAKxgT,QAAQgoN,WAAa1qB,EAAIu+F,KAC9B2kB,EAAKxgT,QAAQ9D,IAAMohM,EAAIhvL,CAAAA,MAElBkyS,EAAKxgT,QAAQ9D,MAChBskT,EAAKxgT,QAAQ9D,IAAM,MAIvBsf,EACE,UACAglS,EAAKQ,YAAYjjT,EACjB,IACAyiT,EAAKQ,YAAY1yS,EACjB,IACAkyS,EAAKQ,YAAYxyS,EACjB,IACAgyS,EAAKQ,YAAYtyS,EACjB,KAEFwM,EAAO,GACHslS,EAAKxgT,QAAQ0hE,IACfxmD,EACE,iCACAM,EACA,sCACAs6K,EAAOwpG,EAAUkhB,EAAKxgT,QAAQ0hE,MAC9B,YACG,GAAI8+O,EAAKxgT,QAAQgoN,WAAY,OAGlC9sM,EACE,iCACAM,EACA,0BAJSnvB,KAAKiW,SAAS4kS,YAAYsZ,EAAKxgT,QAAQgoN,YAK3Cm2E,MACL,OACFqiB,EAAKxgT,QAAQihT,UAAYT,EAAKxgT,QAAQihT,WAAa,MAC3CT,EAAKxgT,QAAQihT,WAAAA,IACd,MACH/lS,GAAQ,mBAEL,OACHA,GAAQ,UAAYslS,EAAKxgT,QAAQ9D,IAAM,cAEpC,OACHskT,EAAKxgT,QAAQ3D,KAAOmkT,EAAKxgT,QAAQ3D,MAAQ,EACzC6e,GAAQ,UAAYslS,EAAKxgT,QAAQ3D,KAAO,UAErC,YAECH,EAAMqxS,EAA4BiT,EAAKxgT,QAAQ9D,KACnDskT,EAAKxgT,QAAQ3D,KAAOmkT,EAAKxgT,QAAQ3D,MAAQ,WAE9BmkT,EAAKxgT,QAAQ0qB,OACtB81R,EAAKxgT,QAAQ0qB,KAAO,GAEtBxP,GACE,SACAslS,EAAKxgT,QAAQ3D,KACb,IACAH,EACA,IACAskT,EAAKxgT,QAAQ0qB,KACb,IAKI,IAARxP,IACFA,GAAQ,WACH5Y,SAAS+gG,MAAMnoF,IAAAA,CAAAA,KAKvB5Y,SAAS+gG,MAAM,SASxButM,EAASsQ,iBAAmB,SAASlhT,GAAAA,IAC/BygT,EAAWp0T,KAAKiW,SAAS+kS,qBAAAA,OACrBrnS,EAAQW,MAAAA,IACT,YACEorH,KACH/rH,EAAQ2L,OAAO5N,EACfiC,EAAQ2L,OAAO2C,EACftO,EAAQ2L,OAAO6C,EACfxO,EAAQ2L,OAAO+C,EACf1O,GAAAA,MAAAA,IAGC,WACA,WACHygT,EAAS9f,YAAY58Q,YAAYz0B,KAAK0Q,GAAAA,EAmB5C4wS,EAAS7kL,KAAO,SAAShuH,EAAGuQ,EAAGE,EAAGE,EAAG1O,GAAAA,IAC/BygT,EAAWp0T,KAAKiW,SAAS+kS,qBACzBiG,EAAgCjhT,KAAKiW,SAAS4tS,oBAC9C3C,EAA8BlhT,KAAKiW,SAASirS,4BAEhDkT,EAAS9f,YAAY58Q,YAAYz0B,KAAK,CACpC0xT,YAAa,CACXjjT,EAAGuvS,EAA8BvvS,GACjCuQ,EAAGi/R,EAA4Bj/R,GAC/BE,EAAG8+R,EAA8BvvS,EAAIyQ,GACrCE,EAAG6+R,EAA4Bj/R,EAAII,IAErC1O,QAASA,EACTW,KAAM,UAgBViwS,EAASuQ,aAAe,SAASn8S,EAAMjH,EAAGuQ,EAAGtO,GAAAA,IAGvCohT,EAAYC,EAFZC,EAAiBj1T,KAAKk1T,aAAav8S,GACnC+wG,EAAa1pH,KAAKiW,SAAS6qS,gBAAkB9gT,KAAKiW,SAASk0R,YAAAA,QAAAA,IAI3Dx2R,EAAQqN,SAAwB,CAElCg0S,EADmBrhT,EAAbqN,SAAAA,IAEFm0S,EAAan1T,KAAKw8S,gBAAgB7jS,EAAMq8S,GAAW92T,OACvD62T,EAAanpT,KAAKk1C,KAAK4oE,EAAayrM,EAAAA,MAEpCH,EAAYC,EACZF,EAAarrM,EAAAA,OAAAA,KAGV/wG,KAAKA,EAAMjH,EAAGuQ,EAAGtO,GAItBsO,GAAkB,GAAbynG,EAEiB,WAAlB/1G,EAAQooB,QACVrqB,GAAQujT,EAAiB,GAEL,UAAlBthT,EAAQooB,QACVrqB,GAAQujT,GAAAA,KAELv1L,KAAKhuH,EAAGuQ,EAAIynG,EAAYsrM,EAAWD,EAAYphT,GAC7CshT,CAAAA,EAUT1Q,EAAS2Q,aAAe,SAASv8S,GAAAA,IAC3BwZ,EAAWnyB,KAAKiW,SAAS4vD,cAAAA,OAE1B7lE,KAAKu9S,mBAAmB5kS,GAAQwZ,EAAYnyB,KAAKiW,SAASk0R,WAAAA,CAAAA,CAvVjE,CA4VGnD,GAAMa,KCrYT,SAAU0c,GAAAA,IAOJ6Q,EAAoB,MACd,CAAC,YACD,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAO,YACxB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,YACD,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,YACT,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAAQ,MAAQ,MAAQ,YACzB,CAAC,MAA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hzU,MAAM,IACpBizU,EAAU,IAAIjzU,MAAM,IACpBkzU,EAAW,IAAIlzU,MAAM,IAMrBmzU,EAAU,IAAInzU,MAAM,OACpBozU,EAAW,IAAIpzU,MAAM,OACrBqzU,EAAkB,IAAIrzU,MAAM,IAC5BszU,EAAK,IAAItzU,MAAM,IACfuzU,EAAU,GACVC,EAAU,EACVC,EAAU,EAEVC,EAAM,IAAI1zU,MAAM,IAChB2zU,EAAM,IAAI3zU,MAAM,IAChB4zU,EAAM,IAAI5zU,MAAM,IAChBg1R,EAAM,IAAIh1R,MAAM,KAChB6zU,EAAgB,IAAI7zU,MAAM,MAG1B8zU,EAAS,CACX,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAGEC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC7DC,EAA2B,CAC7B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA0B,CAC5B,EACA,EACA,EACA,EACA,EACA,GACA,EACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,IACA,IACA,IACA,EACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGEC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEEC,EAA4B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IAC/DC,EAA6B,CAC/B,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KAEEC,EAA4B,CAC9B,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,EACA,GACA,GACA,GACA,EACA,GACA,IACA,GACA,GACA,GACA,IACA,EACA,GACA,GACA,IACA,IACA,IACA,IACA,EACA,GACA,GACA,GACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,cAuKOC,EAAkBC,EAASC,GAAAA,IAAAA,IAC9BC,EAAY,EACZC,EAAe,EACfC,EAAK,IAAI50U,MACJ8L,EAAI,EAAGA,GAAK,GAAIA,IAAK,KACvB,IAAI+e,EAAI,EAAGA,GAAK2pT,EAAQ1oU,GAAI+e,IAC/B+pT,EAAGH,EAAUE,IAAiB,GAC9BC,EAAGH,EAAUE,IAAe,GAAKD,EACjCE,EAAGH,EAAUE,IAAe,GAAK7oU,EACjC6oU,IACAD,IAEFA,GAAa,SAERE,CAAAA,CAAAA,SA2DAC,EAAU/oF,GAAAA,IAAAA,IACbpqP,EAAQoqP,EAAG,GACXgpF,EAAShpF,EAAG,GAAK,EACdgpF,GAAU,GACXpzU,EAAS,GAAKozU,IAChBtB,GAAW,GAAKC,GAElBqB,MACArB,EACc,IACG,KAAXD,GACFuB,EAAU,KACVA,EAAU,IAEVA,EAAUvB,GAEZC,EAAU,EACVD,EAAU,YAKPuB,EAAUrzU,GAEjB6xU,EAAQzwU,KAAKpB,EAAAA,CAAAA,SAGNszU,EAAUtzU,GACjBqzU,EAAWrzU,GAAS,EAAK,KACzBqzU,EAAkB,IAARrzU,EAAAA,CAAAA,SAyOHuzU,EAAUC,EAAKC,EAAOC,EAAIC,EAAMC,GAAAA,IAAAA,IAGnCx/R,EAFAy/R,EAAMD,EAAK,GACXE,EAAYF,EAAK,KAKjBG,EAAAA,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MAAQmR,EAAElF,EACfjM,GAAK,MAAQmR,EAAEoB,EACfvS,GAAK,MAAQmR,EAAEwsJ,GAAAA,IACT/uK,IAAOoR,GAAK3N,GAAKkgB,EAAKvS,GAAK0sC,GAAKv7B,EAAE0wJ,GAAM7hK,GAAK,MAAQmR,EAAE8rB,EAAAA,MAE5Dj9B,EAAI,EACTmR,EAAInR,EAAI,EAAI,UAGZ,GAAKmR,GAAAA,MACDU,GAAKA,EAAE4wJ,KAAOtxJ,EAAIo4J,GAAGz3J,IADVX,CAAAA,CAAAA,IAIjB4mJ,GAAK,GACP4R,GAAK,CACH,EACA,EACA,EACA,EACA,GACA,GACA,GACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,UAEFm7J,GAAK,GACL1tK,GAAK,GACL4H,GAAK,EACL8K,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAEJ3+J,EAAE,aAAc,iBAChB7hB,EAAKq8U,WAAa,kBACT,YAETr8U,EAAKs8U,WAAa,SAASz0T,GAAAA,OAClBA,CAAAA,EAET7nB,EAAKu8U,WAAa,SAAS10T,EAAGnR,EAAG6R,GAAAA,OACxB7R,EAAE6R,EAAI,IAEfvoB,EAAKw8U,WAAa,SAAS30T,EAAGnR,EAAG6R,GAAAA,OACxB7R,EAAE6R,EAAI,IAEfvoB,EAAKy8U,WAAa,SAAS50T,EAAGnR,EAAG6R,GAAAA,OACxB7R,EAAE6R,EAAI,IAEfvoB,EAAK08U,WAAa,SAAS70T,EAAGnR,EAAG6R,GAAAA,OACxBw+I,EAAGA,EAAGl/I,EAAGnR,EAAE6R,EAAI,IAAK7R,EAAE6R,EAAI,KAEnCvoB,EAAK28U,WAAa,SAAS90T,EAAGnR,EAAG6R,GAAAA,OACxBw+I,EAAGl/I,EAAGnR,EAAE6R,EAAI,KAErBvoB,EAAK48U,WAAa,SAAS/0T,EAAGnR,EAAG6R,GAAAA,OACxBw+I,EAAGl/I,EAAGnR,EAAE6R,EAAI,KAErBvoB,EAAK68U,WAAa,SAASh1T,EAAGnR,EAAG6R,GAAAA,OACxBw+I,EAAGrwJ,EAAE6R,EAAI,GAAI7R,EAAE6R,EAAI,KAE5BvoB,EAAK88U,WAAa,SAASj1T,EAAGnR,EAAG6R,GAAAA,OACxBw+I,EAAGrwJ,EAAE6R,EAAI,GAAI7R,EAAE6R,EAAI,KAE5BvoB,EAAK+8U,YAAc,SAASl1T,EAAGnR,EAAG6R,GAAAA,OACzBw+I,EAAGA,EAAGl/I,EAAGnR,EAAE6R,EAAI,IAAKw+I,EAAGrwJ,EAAE6R,EAAI,GAAI7R,EAAE6R,EAAI,MAEhDvoB,EAAKg9U,YAAc,SAASn1T,EAAGnR,EAAG6R,GAAAA,IAC5BC,EAAI9R,EAAE6R,EAAI,UAEP,GACL8iJ,EAAI7iJ,GAAK,GAAM,IAAMX,GAAK,GAAM,KAFlCnR,EAAIA,EAAE6R,EAAI,KAEmC,GAAM,KAC/C8iJ,EAAI7iJ,GAAK,GAAM,IAAMX,GAAK,GAAM,IAAMnR,GAAK,GAAM,KACjD20J,EAAI7iJ,GAAK,EAAK,IAAMX,GAAK,EAAK,IAAMnR,GAAK,EAAK,KAC9C20J,EAAO,IAAJ7iJ,EAAa,IAAJX,EAAa,IAAJnR,GACrB8R,EACAX,CAAAA,EAEN7nB,EAAKi9U,YAAc,SAASp1T,EAAGnR,EAAG6R,GAAAA,IAC5BC,EAAI9R,EAAE6R,EAAI,UAGV+hJ,GAAKziJ,GAAK,GAAM,MAASW,GAAK,GAAM,OAFxC9R,EAAIA,EAAE6R,EAAI,KAE4C,GAAM,OAAS,GAChE+hJ,GAAKziJ,GAAK,GAAM,MAASW,GAAK,GAAM,MAAS9R,GAAK,GAAM,OACvD,GACD4zJ,GAAKziJ,GAAK,EAAK,MAASW,GAAK,EAAK,MAAS9R,GAAK,EAAK,OAAS,EAC/D4zJ,GAAQ,IAAJziJ,IAAgB,IAAJW,IAAgB,IAAJ9R,OAC9B,GAGJ1W,EAAKk9U,YAAc,SAASr1T,EAAGnR,EAAG6R,GAAAA,IAC5BC,EAAI9R,EAAE6R,EAAI,UAGV4kJ,GAFJtlJ,EAAIk/I,EAAGl/I,EAAGnR,EAAE6R,EAAI,MAEH,GAAM,IAAMC,GAAK,GAAM,MAAQ,GACvC2kJ,EAAItlJ,GAAK,GAAM,IAAMW,GAAK,GAAM,MAAQ,GACxC2kJ,EAAItlJ,GAAK,EAAK,IAAMW,GAAK,EAAK,MAAQ,EACvC2kJ,EAAItlJ,GAAK,EAAK,IAAMW,GAAK,EAAK,QAChC,OAGAi7J,GAAKzjL,EAAKm9U,cACdn9U,EAAKo9U,cAAgBrnK,EACrBl0J,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,aAAc,iBAChBA,EAAE,cAAe,kBACjBA,EAAE,cAAe,kBACjBA,EAAE,cAAe,kBACjBA,EAAE,cAAe,sBACb6hK,GAAK1jL,EAAKq9U,cACdpnK,EACE,6BACA,UACA,OACA,SAASpuJ,GAAAA,OACCA,GAAK,EAAK,OAEpB,SAASA,GAAAA,OACAA,CAAAA,IAGXouJ,EACE,sCACA,WACA,MACA,SAASpuJ,GAAAA,OACAA,CAAAA,IAET,SAASA,GAAAA,OACCA,GAAK,EAAK,WAOpBgvJ,GAJEE,GAAK/2K,EAAKs9U,2BACZ/zJ,GAAKvpL,EAAKu9U,QACV35J,GAAK5jL,EAAKw9U,oCACV15J,GAAK9jL,EAAKy9U,SAEV3mK,GAAM92K,EAAK09U,kBAAoB,GACjC5mK,GAAGl4K,OAAS,IACXoB,EAAK29U,eAAiB,IAAI/+U,OAAS,IACnCoB,EAAK49U,oBAAsB,IAAIh/U,OAAS,IACxCoB,EAAK69U,iBAAmB,IAAIj/U,OAAS,OAClCyyK,GACF2F,GACA1F,GACAQ,GACAsF,GACAF,GA+3BAkB,GAIA5L,GACA2M,GACApG,GACA7I,GACAiJ,GACAyF,GACAL,GACAM,GACAL,GACAM,GACAJ,GACAK,GACAJ,GACAe,GACArB,GACAI,GACAH,GAIAxN,GACAoS,GACAhH,GACAyB,GAz5BAsB,GAAKz6H,EAAE,KACPykF,GAAKzkF,EAAE,MACPq9F,GAAKr9F,EAAE,KACP06H,GAAK16H,EAAE,KACPw6H,GAAK,EACLxF,GAAKvwC,GACLixC,GAAKr4B,GACLtmG,GAAI2jI,GACJ92H,GAAI62H,GACJlO,GAAK,EACLkB,GAAK,EACLgL,GAAK,EACL/K,GAAK,EACLtB,GAAK,EACLsG,GAAK,EACLiG,GAAK,EACLvH,GAAK,EACL8E,GAAK,EACLpJ,GAAK,EACLuE,GAAK,GACLwU,GAAK,CAAC,EAAG,EAAG,GACZD,GAAK,CAAC,EAAG,EAAG,IACZ3M,GAAK,CAAC,IAAK,IAAK,IAAK,IAAK,IAC1B6M,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,GAClBH,GAAK,CAAC,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,IACpEX,GAAK,CACH,GACA,EACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,GACA,GACA,EACA,IACA,IACA,GACA,GACA,GACA,GACA,GACA,IACA,GACA,IACA,IACA,GACA,GACA,GACA,IACA,IACA,GACA,IACA,GACA,IACA,IACA,GACA,KAEFxjH,GAAK,CACH,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAEF6jH,GAAK,EACLxR,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEFO,GAAK,CACH,EACA,EACA,EACA,EACA,EACA,EACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAEF3I,GAAK,KACLub,GAAK,CACH,CAAC,IAAK,IAAK,IAAK,GAChB,CAAC,IAAK,IAAK,IAAK,IA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AK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,OAGvD,CACE,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,MAErD,CACE,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KACnD,CAAC,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,I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A,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,MACA,IACA,MACA,MACA,IACA,MACA,MACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,MACA,MACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,IACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAC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","sources":["Common/Configurations/APIConfig.js","../node_modules/@bkrem/react-transition-group/CSSTransitionGroup.js","../node_modules/@bkrem/react-transition-group/CSSTransitionGroupChild.js","../node_modules/@bkrem/react-transition-group/TransitionGroup.js","../node_modules/@bkrem/react-transition-group/index.js","../node_modules/@bkrem/react-transition-group/node_modules/dom-helpers/class/addClass.js","../node_modules/@bkrem/react-transition-group/node_modules/dom-helpers/class/hasClass.js","../node_modules/@bkrem/react-transition-group/node_modules/dom-helpers/class/removeClass.js","../node_modules/@bkrem/react-transition-group/node_modules/dom-helpers/transition/properties.js","../node_modules/@bkrem/react-transition-group/node_modules/dom-helpers/util/inDOM.js","../node_modules/@bkrem/react-transition-group/node_modules/dom-helpers/util/requestAnimationFrame.js","../node_modules/@bkrem/react-transition-group/utils/ChildMapping.js","../node_modules/@bkrem/react-transition-group/utils/PropTypes.js","../node_modules/alertifyjs/build/alertify.js","../node_modules/apexcharts/dist/apexcharts.common.js","../node_modules/chain-function/index.js","../node_modules/clone/clone.js","../node_modules/countup.js/dist/countUp.min.js","../node_modules/flatpickr/dist/esm/types/options.js","../node_modules/flatpickr/dist/esm/l10n/default.js","../node_modules/flatpickr/dist/esm/utils/index.js","../node_modules/flatpickr/dist/esm/utils/dom.js","../node_modules/flatpickr/dist/esm/utils/formatting.js","../node_modules/flatpickr/dist/esm/utils/dates.js","../node_modules/flatpickr/dist/esm/index.js","../node_modules/flatpickr/dist/esm/utils/polyfills.js","../node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","../node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","../node_modules/hoist-non-react-statics/node_modules/react-is/index.js","../node_modules/html2canvas/node_modules/tslib/tslib.es6.js","../node_modules/html2canvas/node_modules/src/Util.ts","../node_modules/src/css/layout/bounds.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Util.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/css-line-break/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/linebreak-trie.ts","../node_modules/html2canvas/node_modules/src/LineBreak.ts","../node_modules/src/css/syntax/tokenizer.ts","../node_modules/src/css/syntax/parser.ts","../node_modules/src/css/types/length.ts","../node_modules/src/css/types/length-percentage.ts","../node_modules/src/css/types/angle.ts","../node_modules/src/css/types/color.ts","../node_modules/src/css/property-descriptors/background-clip.ts","../node_modules/src/css/property-descriptors/background-color.ts","../node_modules/src/css/types/functions/gradient.ts","../node_modules/src/css/types/functions/-prefix-linear-gradient.ts","../node_modules/src/css/types/functions/radial-gradient.ts","../node_modules/src/css/types/functions/-prefix-radial-gradient.ts","../node_modules/src/css/types/image.ts","../node_modules/src/css/property-descriptors/background-size.ts","../node_modules/src/css/types/functions/linear-gradient.ts","../node_modules/src/css/types/functions/-webkit-gradient.ts","../node_modules/src/css/property-descriptors/background-image.ts","../node_modules/src/css/property-descriptors/background-origin.ts","../node_modules/src/css/property-descriptors/background-position.ts","../node_modules/src/css/property-descriptors/background-repeat.ts","../node_modules/src/css/property-descriptors/line-break.ts","../node_modules/src/css/property-descriptors/border-color.ts","../node_modules/src/css/property-descriptors/border-radius.ts","../node_modules/src/css/property-descriptors/border-style.ts","../node_modules/src/css/property-descriptors/border-width.ts","../node_modules/src/css/property-descriptors/color.ts","../node_modules/src/css/property-descriptors/direction.ts","../node_modules/src/css/property-descriptors/display.ts","../node_modules/src/css/property-descriptors/float.ts","../node_modules/src/css/property-descriptors/letter-spacing.ts","../node_modules/src/css/property-descriptors/word-break.ts","../node_modules/src/css/property-descriptors/line-height.ts","../node_modules/src/css/property-descriptors/list-style-image.ts","../node_modules/src/css/property-descriptors/list-style-position.ts","../node_modules/src/css/property-descriptors/list-style-type.ts","../node_modules/src/css/property-descriptors/margin.ts","../node_modules/src/css/property-descriptors/overflow.ts","../node_modules/src/css/property-descriptors/overflow-wrap.ts","../node_modules/src/css/property-descriptors/padding.ts","../node_modules/src/css/property-descriptors/text-align.ts","../node_modules/src/css/property-descriptors/position.ts","../node_modules/src/css/property-descriptors/text-shadow.ts","../node_modules/src/css/property-descriptors/text-transform.ts","../node_modules/src/css/property-descriptors/transform.ts","../node_modules/src/css/property-descriptors/transform-origin.ts","../node_modules/src/css/property-descriptors/visibility.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Util.ts","../node_modules/src/css/property-descriptors/z-index.ts","../node_modules/src/css/types/time.ts","../node_modules/src/css/property-descriptors/opacity.ts","../node_modules/src/css/property-descriptors/text-decoration-color.ts","../node_modules/src/css/property-descriptors/text-decoration-line.ts","../node_modules/src/css/property-descriptors/font-family.ts","../node_modules/src/css/property-descriptors/font-size.ts","../node_modules/src/css/property-descriptors/font-weight.ts","../node_modules/src/css/property-descriptors/font-variant.ts","../node_modules/src/css/property-descriptors/font-style.ts","../node_modules/src/core/bitwise.ts","../node_modules/src/css/property-descriptors/content.ts","../node_modules/src/css/property-descriptors/counter-increment.ts","../node_modules/src/css/property-descriptors/counter-reset.ts","../node_modules/src/css/property-descriptors/duration.ts","../node_modules/src/css/property-descriptors/quotes.ts","../node_modules/src/css/property-descriptors/box-shadow.ts","../node_modules/src/css/property-descriptors/paint-order.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-color.ts","../node_modules/src/css/property-descriptors/webkit-text-stroke-width.ts","../node_modules/src/css/index.ts","../node_modules/src/core/debugger.ts","../node_modules/src/dom/element-container.ts","../node_modules/html2canvas/node_modules/src/grapheme-break-trie.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/utrie/node_modules/src/index.ts","../node_modules/html2canvas/node_modules/text-segmentation/node_modules/src/Trie.ts","../node_modules/html2canvas/node_modules/src/GraphemeBreak.ts","../node_modules/src/dom/document-cloner.ts","../node_modules/src/core/features.ts","../node_modules/src/css/layout/text.ts","../node_modules/src/dom/text-container.ts","../node_modules/src/dom/replaced-elements/image-element-container.ts","../node_modules/src/dom/replaced-elements/canvas-element-container.ts","../node_modules/src/dom/replaced-elements/svg-element-container.ts","../node_modules/src/dom/elements/li-element-container.ts","../node_modules/src/dom/elements/ol-element-container.ts","../node_modules/src/dom/replaced-elements/input-element-container.ts","../node_modules/src/dom/elements/select-element-container.ts","../node_modules/src/dom/elements/textarea-element-container.ts","../node_modules/src/dom/replaced-elements/iframe-element-container.ts","../node_modules/src/dom/node-parser.ts","../node_modules/src/css/types/functions/counter.ts","../node_modules/src/render/bound-curves.ts","../node_modules/src/core/cache-storage.ts","../node_modules/src/render/vector.ts","../node_modules/src/render/bezier-curve.ts","../node_modules/src/render/effects.ts","../node_modules/src/render/path.ts","../node_modules/src/render/stacking-context.ts","../node_modules/src/render/border.ts","../node_modules/src/render/box-sizing.ts","../node_modules/src/render/background.ts","../node_modules/src/core/util.ts","../node_modules/src/render/font-metrics.ts","../node_modules/src/render/renderer.ts","../node_modules/src/render/canvas/canvas-renderer.ts","../node_modules/src/render/canvas/foreignobject-renderer.ts","../node_modules/src/core/logger.ts","../node_modules/src/core/context.ts","../node_modules/src/index.ts","../node_modules/moment/moment.js","../node_modules/prop-types/factoryWithThrowingShims.js","../node_modules/prop-types/index.js","../node_modules/prop-types/lib/ReactPropTypesSecret.js","../node_modules/react-apexcharts/dist/react-apexcharts.min.js","../node_modules/react-countup/build/index.js","../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../node_modules/react-dom/cjs/react-dom.production.min.js","../node_modules/react-dom/client.js","../node_modules/react-dom/index.js","../node_modules/react-dom/server.browser.js","../node_modules/react-export-table-to-excel/lib/hooks/useExcel.js","../node_modules/react-export-table-to-excel/lib/index.js","../node_modules/react-export-table-to-excel/lib/lib.js","../node_modules/react-export-table-to-excel/lib/utils/create-table.js","../node_modules/react-export-table-to-excel/lib/utils/index.js","../node_modules/react-flatpickr/build/index.js","../node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","../node_modules/react/cjs/react-jsx-runtime.production.min.js","../node_modules/react/cjs/react.production.min.js","../node_modules/react/index.js","../node_modules/react/jsx-runtime.js","../node_modules/scheduler/cjs/scheduler.production.min.js","../node_modules/scheduler/index.js","../node_modules/warning/browser.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelper.js","../node_modules/@babel/runtime/helpers/esm/createSuper.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","../node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../webpack/bootstrap","../webpack/runtime/compat get default export","../webpack/runtime/create fake namespace object","../webpack/runtime/define property getters","../webpack/runtime/ensure chunk","../webpack/runtime/get javascript chunk filename","../webpack/runtime/get mini-css chunk filename","../webpack/runtime/global","../webpack/runtime/hasOwnProperty shorthand","../webpack/runtime/load script","../webpack/runtime/make namespace object","../webpack/runtime/node module decorator","../webpack/runtime/publicPath","../webpack/runtime/jsonp chunk loading","../node_modules/@remix-run/router/history.ts","../node_modules/@babel/runtime/helpers/esm/construct.js","../node_modules/@babel/runtime/helpers/esm/wrapNativeSuper.js","../node_modules/@babel/runtime/helpers/esm/isNativeFunction.js","../node_modules/@remix-run/router/utils.ts","../node_modules/@remix-run/router/router.ts","../node_modules/react-router/lib/use-sync-external-store-shim/useSyncExternalStoreShimClient.ts","../node_modules/react-router/lib/use-sync-external-store-shim/index.ts","../node_modules/react-router/lib/context.ts","../node_modules/react-router/lib/hooks.tsx","../node_modules/react-router/lib/components.tsx","../node_modules/@babel/runtime/helpers/esm/objectSpread2.js","../node_modules/axios/lib/helpers/bind.js","../node_modules/axios/lib/utils.js","../node_modules/axios/lib/core/AxiosError.js","../node_modules/axios/lib/helpers/toFormData.js","../node_modules/axios/lib/helpers/AxiosURLSearchParams.js","../node_modules/axios/lib/helpers/buildURL.js","../node_modules/axios/lib/core/InterceptorManager.js","../node_modules/axios/lib/defaults/transitional.js","../node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","../node_modules/axios/lib/platform/browser/classes/FormData.js","../node_modules/axios/lib/platform/browser/index.js","../node_modules/axios/lib/helpers/formDataToJSON.js","../node_modules/axios/lib/defaults/index.js","../node_modules/axios/lib/helpers/toURLEncodedForm.js","../node_modules/axios/lib/helpers/parseHeaders.js","../node_modules/axios/lib/core/AxiosHeaders.js","../node_modules/axios/lib/core/transformData.js","../node_modules/axios/lib/cancel/isCancel.js","../node_modules/axios/lib/cancel/CanceledError.js","../node_modules/axios/lib/helpers/cookies.js","../node_modules/axios/lib/core/buildFullPath.js","../node_modules/axios/lib/helpers/isAbsoluteURL.js","../node_modules/axios/lib/helpers/combineURLs.js","../node_modules/axios/lib/helpers/isURLSameOrigin.js","../node_modules/axios/lib/helpers/speedometer.js","../node_modules/axios/lib/adapters/xhr.js","../node_modules/axios/lib/core/settle.js","../node_modules/axios/lib/helpers/parseProtocol.js","../node_modules/axios/lib/adapters/adapters.js","../node_modules/axios/lib/helpers/null.js","../node_modules/axios/lib/core/dispatchRequest.js","../node_modules/axios/lib/core/mergeConfig.js","../node_modules/axios/lib/env/data.js","../node_modules/axios/lib/helpers/validator.js","../node_modules/axios/lib/core/Axios.js","../node_modules/axios/lib/cancel/CancelToken.js","../node_modules/axios/lib/helpers/HttpStatusCode.js","../node_modules/axios/lib/axios.js","../node_modules/axios/lib/helpers/spread.js","../node_modules/axios/lib/helpers/isAxiosError.js","../node_modules/react-router-dom/index.tsx","../node_modules/react-router-dom/dom.ts","Common/Configurations/Auth.js","Common/Layouts/CustomAlerts.js","Authentication/Login.js","Authentication/Logout.js","Common/Layouts/NotificationsUI.js","Common/Layouts/Header.js","Common/Layouts/SideBar.js","Common/Enums.js","SuperAdmin/Users.js","Common/Layouts/Footer.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/react-select/dist/useStateManager-7e1e8489.esm.js","../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/stylis/src/Utility.js","../node_modules/stylis/src/Tokenizer.js","../node_modules/stylis/src/Enum.js","../node_modules/stylis/src/Serializer.js","../node_modules/stylis/src/Parser.js","../node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/stylis/src/Middleware.js","../node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/@emotion/use-insertion-effect-with-fallbacks/dist/emotion-use-insertion-effect-with-fallbacks.browser.esm.js","../node_modules/@emotion/react/dist/emotion-element-c39617d8.browser.esm.js","../node_modules/@emotion/react/dist/emotion-react.browser.esm.js","../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.mjs","../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../node_modules/use-isomorphic-layout-effect/dist/use-isomorphic-layout-effect.browser.esm.js","../node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js","../node_modules/memoize-one/dist/memoize-one.esm.js","../node_modules/react-select/dist/react-select.esm.js","../node_modules/xlsx/xlsx.mjs","../node_modules/jspdf/node_modules/fflate/esm/browser.js","../node_modules/jspdf/src/libs/globalObject.js","../node_modules/jspdf/src/libs/console.js","../node_modules/jspdf/src/libs/FileSaver.js","../node_modules/jspdf/src/libs/AtobBtoa.js","../node_modules/jspdf/src/libs/rgbcolor.js","../node_modules/jspdf/src/libs/md5.js","../node_modules/jspdf/src/libs/rc4.js","../node_modules/jspdf/src/libs/pdfsecurity.js","../node_modules/jspdf/src/libs/pdfname.js","../node_modules/jspdf/src/jspdf.js","../node_modules/jspdf/src/modules/acroform.js","../node_modules/jspdf/src/libs/fontFace.js","../node_modules/jspdf/src/modules/addimage.js","../node_modules/jspdf/src/modules/annotations.js","../node_modules/jspdf/src/modules/arabic.js","../node_modules/jspdf/src/modules/autoprint.js","../node_modules/jspdf/src/modules/canvas.js","../node_modules/jspdf/src/modules/cell.js","../node_modules/jspdf/src/modules/javascript.js","../node_modules/jspdf/src/modules/context2d.js","../node_modules/jspdf/src/modules/filters.js","../node_modules/jspdf/src/modules/fileloading.js","../node_modules/jspdf/src/modules/html.js","../node_modules/jspdf/src/modules/outline.js","../node_modules/jspdf/src/modules/jpeg_support.js","../node_modules/jspdf/src/libs/png.js","../node_modules/jspdf/src/modules/split_text_to_size.js","../node_modules/jspdf/src/libs/omggif.js","../node_modules/jspdf/src/libs/JPEGEncoder.js","../node_modules/jspdf/src/libs/BMPDecoder.js","../node_modules/jspdf/src/libs/WebPDecoder.js","../node_modules/jspdf/src/modules/png_support.js","../node_modules/jspdf/src/modules/gif_support.js","../node_modules/jspdf/src/modules/bmp_support.js","../node_modules/jspdf/src/modules/webp_support.js","../node_modules/jspdf/src/modules/rgba_support.js","../node_modules/jspdf/src/modules/setlanguage.js","../node_modules/jspdf/src/modules/standard_fonts_metrics.js","../node_modules/jspdf/src/modules/ttfsupport.js","../node_modules/jspdf/src/modules/svg.js","../node_modules/jspdf/src/modules/total_pages.js","../node_modules/jspdf/src/modules/viewerpreferences.js","../node_modules/jspdf/src/modules/xmp_metadata.js","../node_modules/jspdf/src/modules/utf8.js","../node_modules/jspdf/src/modules/vfs.js","../node_modules/jspdf/src/libs/bidiEngine.js","../node_modules/jspdf/src/libs/ttffont.js","SuperAdmin/SuperDashboard.js","Customers/CustomerDashboard.js","../node_modules/react-organizational-chart/node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js","../node_modules/react-organizational-chart/node_modules/stylis/src/Enum.js","../node_modules/react-organizational-chart/node_modules/stylis/src/Utility.js","../node_modules/react-organizational-chart/node_modules/stylis/src/Tokenizer.js","../node_modules/react-organizational-chart/node_modules/stylis/src/Parser.js","../node_modules/react-organizational-chart/node_modules/stylis/src/Prefixer.js","../node_modules/react-organizational-chart/node_modules/stylis/src/Serializer.js","../node_modules/react-organizational-chart/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","../node_modules/react-organizational-chart/node_modules/stylis/src/Middleware.js","../node_modules/react-organizational-chart/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","../node_modules/react-organizational-chart/node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js","../node_modules/react-organizational-chart/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","../node_modules/react-organizational-chart/node_modules/@emotion/hash/dist/emotion-hash.esm.js","../node_modules/react-organizational-chart/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","../node_modules/react-organizational-chart/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","../node_modules/react-organizational-chart/node_modules/@emotion/css/dist/emotion-css.esm.js","../node_modules/react-organizational-chart/src/components/TreeNode.tsx","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/count.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/index.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/tree.js","../node_modules/d3-selection/src/selector.js","../node_modules/d3-selection/src/array.js","../node_modules/d3-selection/src/selectorAll.js","../node_modules/d3-selection/src/matcher.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/each.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/eachAfter.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/eachBefore.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/sum.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/sort.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/path.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/ancestors.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/descendants.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/leaves.js","../node_modules/react-d3-tree/node_modules/d3-hierarchy/src/hierarchy/links.js","../node_modules/d3-selection/src/selection/selectChild.js","../node_modules/d3-selection/src/selection/selectChildren.js","../node_modules/d3-selection/src/selection/sparse.js","../node_modules/d3-selection/src/selection/enter.js","../node_modules/d3-selection/src/constant.js","../node_modules/d3-selection/src/selection/data.js","../node_modules/d3-selection/src/selection/sort.js","../node_modules/d3-selection/src/namespaces.js","../node_modules/d3-selection/src/namespace.js","../node_modules/d3-selection/src/selection/attr.js","../node_modules/d3-selection/src/window.js","../node_modules/d3-selection/src/selection/style.js","../node_modules/d3-selection/src/selection/property.js","../node_modules/d3-selection/src/selection/classed.js","../node_modules/d3-selection/src/selection/text.js","../node_modules/d3-selection/src/selection/html.js","../node_modules/d3-selection/src/selection/raise.js","../node_modules/d3-selection/src/selection/lower.js","../node_modules/d3-selection/src/creator.js","../node_modules/d3-selection/src/selection/insert.js","../node_modules/d3-selection/src/selection/remove.js","../node_modules/d3-selection/src/selection/clone.js","../node_modules/d3-selection/src/selection/on.js","../node_modules/d3-selection/src/selection/dispatch.js","../node_modules/d3-selection/src/selection/iterator.js","../node_modules/d3-selection/src/selection/index.js","../node_modules/d3-selection/src/selection/select.js","../node_modules/d3-selection/src/selection/selectAll.js","../node_modules/d3-selection/src/selection/filter.js","../node_modules/d3-selection/src/selection/exit.js","../node_modules/d3-selection/src/selection/join.js","../node_modules/d3-selection/src/selection/merge.js","../node_modules/d3-selection/src/selection/order.js","../node_modules/d3-selection/src/selection/call.js","../node_modules/d3-selection/src/selection/nodes.js","../node_modules/d3-selection/src/selection/node.js","../node_modules/d3-selection/src/selection/size.js","../node_modules/d3-selection/src/selection/empty.js","../node_modules/d3-selection/src/selection/each.js","../node_modules/d3-selection/src/selection/append.js","../node_modules/d3-selection/src/selection/datum.js","../node_modules/d3-selection/src/select.js","../node_modules/d3-dispatch/src/dispatch.js","../node_modules/d3-drag/src/noevent.js","../node_modules/d3-drag/src/nodrag.js","../node_modules/d3-interpolate/src/zoom.js","../node_modules/d3-selection/src/pointer.js","../node_modules/d3-selection/src/sourceEvent.js","../node_modules/d3-timer/src/timer.js","../node_modules/d3-timer/src/timeout.js","../node_modules/d3-transition/src/transition/schedule.js","../node_modules/d3-transition/src/interrupt.js","../node_modules/d3-interpolate/src/number.js","../node_modules/d3-interpolate/src/transform/decompose.js","../node_modules/d3-interpolate/src/transform/parse.js","../node_modules/d3-interpolate/src/transform/index.js","../node_modules/d3-transition/src/transition/tween.js","../node_modules/d3-color/src/define.js","../node_modules/d3-color/src/color.js","../node_modules/d3-interpolate/src/basis.js","../node_modules/d3-interpolate/src/constant.js","../node_modules/d3-interpolate/src/color.js","../node_modules/d3-interpolate/src/rgb.js","../node_modules/d3-interpolate/src/basisClosed.js","../node_modules/d3-interpolate/src/string.js","../node_modules/d3-transition/src/transition/interpolate.js","../node_modules/d3-transition/src/transition/attr.js","../node_modules/d3-transition/src/transition/attrTween.js","../node_modules/d3-transition/src/transition/delay.js","../node_modules/d3-transition/src/transition/duration.js","../node_modules/d3-transition/src/transition/ease.js","../node_modules/d3-transition/src/transition/on.js","../node_modules/d3-transition/src/transition/selection.js","../node_modules/d3-transition/src/transition/style.js","../node_modules/d3-transition/src/transition/styleTween.js","../node_modules/d3-transition/src/transition/textTween.js","../node_modules/d3-transition/src/transition/index.js","../node_modules/d3-transition/src/transition/select.js","../node_modules/d3-transition/src/transition/selectAll.js","../node_modules/d3-transition/src/transition/filter.js","../node_modules/d3-transition/src/transition/merge.js","../node_modules/d3-transition/src/transition/transition.js","../node_modules/d3-transition/src/transition/text.js","../node_modules/d3-transition/src/transition/remove.js","../node_modules/d3-transition/src/transition/easeVarying.js","../node_modules/d3-transition/src/transition/end.js","../node_modules/d3-transition/src/selection/transition.js","../node_modules/d3-ease/src/cubic.js","../node_modules/d3-transition/src/selection/index.js","../node_modules/d3-transition/src/selection/interrupt.js","../node_modules/d3-zoom/src/constant.js","../node_modules/d3-zoom/src/event.js","../node_modules/d3-zoom/src/transform.js","../node_modules/d3-zoom/src/noevent.js","../node_modules/d3-zoom/src/zoom.js","../node_modules/dequal/lite/index.mjs","../node_modules/uuid/dist/esm-browser/rng.js","../node_modules/uuid/dist/esm-browser/regex.js","../node_modules/uuid/dist/esm-browser/stringify.js","../node_modules/uuid/dist/esm-browser/validate.js","../node_modules/uuid/dist/esm-browser/v4.js","../node_modules/react-d3-tree/lib/esm/Tree/TransitionGroupWrapper.js","../node_modules/react-d3-tree/lib/esm/Node/DefaultNodeElement.js","../node_modules/react-d3-tree/lib/esm/Node/index.js","../node_modules/react-d3-tree/node_modules/d3-path/src/path.js","../node_modules/react-d3-tree/node_modules/d3-shape/src/array.js","../node_modules/react-d3-tree/node_modules/d3-shape/src/constant.js","../node_modules/react-d3-tree/node_modules/d3-shape/src/point.js","../node_modules/react-d3-tree/node_modules/d3-shape/src/link/index.js","../node_modules/react-d3-tree/lib/esm/Link/index.js","../node_modules/react-d3-tree/lib/esm/Tree/index.js","../node_modules/react-d3-tree/lib/esm/globalCss.js","../node_modules/react-d3-tree/lib/esm/index.js","Admin/NewTree.js","Admin/AdminDashboard.js","Pages/Profile.js","Pages/ChangePassword.js","SuperAdmin/Devices.js","Pages/Organisations.js","Pages/Payments.js","Pages/Tickets.js","Pages/Notifications.js","Pages/MeterReading.js","Pages/NewTicket.js","Pages/TicketDetails.js","Pages/PaymentDetails.js","Pages/Apartments.js","Pages/Floors.js","Pages/Blocks.js","Pages/Units.js","Pages/UserMeterReading.js","Pages/PaymentRequest.js","Pages/Payment.js","Customers/UserMeterLeaksData.js","SuperAdmin/LeaksData.js","SuperAdmin/Messages.js","Pages/UserDevices.js","../node_modules/read-excel-file/source/xml/xmlBrowser.js","../node_modules/fflate/esm/browser.js","../node_modules/read-excel-file/source/read/unpackXlsxFileBrowser.js","../node_modules/read-excel-file/source/xml/dom.js","../node_modules/read-excel-file/source/xml/xlsx.js","../node_modules/read-excel-file/source/read/parseProperties.js","../node_modules/read-excel-file/source/read/parseFilePaths.js","../node_modules/read-excel-file/source/read/parseStyles.js","../node_modules/read-excel-file/source/read/parseSharedStrings.js","../node_modules/read-excel-file/source/read/parseDate.js","../node_modules/read-excel-file/source/read/isDateTimestamp.js","../node_modules/read-excel-file/source/read/parseCellValue.js","../node_modules/read-excel-file/source/read/coordinates.js","../node_modules/read-excel-file/source/read/parseCell.js","../node_modules/read-excel-file/source/read/parseCells.js","../node_modules/read-excel-file/source/read/parseDimensions.js","../node_modules/read-excel-file/source/read/parseSheet.js","../node_modules/read-excel-file/source/read/getData.js","../node_modules/read-excel-file/source/read/dropEmptyRows.js","../node_modules/read-excel-file/source/read/dropEmptyColumns.js","../node_modules/read-excel-file/source/read/readXlsx.js","../node_modules/read-excel-file/source/types/InvalidError.js","../node_modules/read-excel-file/source/types/Number.js","../node_modules/read-excel-file/source/types/String.js","../node_modules/read-excel-file/source/types/Boolean.js","../node_modules/read-excel-file/source/read/schema/convertToJson.js","../node_modules/read-excel-file/source/types/Date.js","../node_modules/read-excel-file/source/read/schema/convertMapToSchema.js","../node_modules/read-excel-file/source/read/readXlsxFileContents.js","Pages/BulkUpload.js","../node_modules/read-excel-file/source/read/readXlsxFileBrowser.js","Customers/NewDashboard.js","SuperAdmin/AdminUsers.js","Admin/AdminMeterReading.js","Admin/AdminWaterUsage.js","Admin/UsageReport.js","Pages/PrivacyPolicy.js","Authentication/ResetPassword.js","App.js","reportWebVitals.js","index.js"],"sourcesContent":["module.exports = {\r\n //RAZORPAY_SECRET: 'iPcqI8cJj0nVQAPfEdzJqnb3',\r\n //RAZORPAY_KEY_ID: 'rzp_test_HAF6HCcH7moc64',\r\n APILOCALURL: 'https://localhost:7095/api/',\r\n APISERVERURL: 'https://hydroidwater.azurewebsites.net/api/',\r\n APIACTIVATEURL: 'https://hydroidwater.azurewebsites.net/api/',\r\n\r\n LOCALWEBURL: 'http://localhost:3000/',\r\n DEVWEBURL: 'http://hydroid.trawtel.com/',\r\n APITEMPURL: 'https://localhost:7095/api/',\r\n DOMAINLOCALURL: 'http://localhost:3000/',\r\n DOMAINSERVERURL: 'http://hydroid.ztravelsonline.com/',\r\n DOMAINACTIVATEURL: 'http://localhost:3000/',\r\n\r\n BULKUPLOADUSERDEVICES:'BulkUpload/UploadUserDevices',\r\n SUPERDASHBOARDCOUNT:'Dashboard/GetSuperCount',\r\n ADMINDASHBOARDCOUNT:'Dashboard/GetAdminCount',\r\n ADMINDASHBOARDCOUNTBYNAME:'Dashboard/GetDashboardCountByName',\r\n GETDASHBOARDORGANISATION:'Dashboard/GetByOrganisation',\r\n GETDASHBOARDCOUNT:'Dashboard/GetDashboardCount',\r\n GETORGANISATIONTREE:'Dashboard/GetAdminTree',\r\n GETFLOORS:'Dashboard/GetFloors',\r\n GETWINGS:'Dashboard/GetWings',\r\n GETBLOCKS:'Dashboard/GetBlocks',\r\n\r\n GETALLROLES: 'Roles',\r\n CREATEROLE: 'Roles',\r\n UPDATEROLE: 'Roles',\r\n DELETEROLE: 'Roles',\r\n GETROLEBYID: 'Roles/GetById',\r\n\r\n GETALLUSERS: 'Users/GetAll',\r\n GETALLORGANISATIONUSERS: 'Users/GetAllByOrganisation', \r\n REGISETERADMIN:'Users/admin-register',\r\n GETCUSTOMERS: 'Users/GetCustomers',\r\n GETALLCUSTOMERS: 'Users/GetAllCustomers',\r\n GETADMINS: 'Users/GetAdmin',\r\n CREATEUSER: 'Users/user-register',\r\n LOGINUSER: 'Home/Login',\r\n CHANGEPASSWORD: 'Users/ChangePassword',\r\n GETUSERBYID: 'Users/GetById',\r\n DELETEUSER: 'Users',\r\n USERSTATUS: 'Users/Status',\r\n USERPROFILE: 'Users/Profile',\r\n RESETPASSWORDS: 'Users/ResetPassword',\r\n\r\n GETALLDEVICES: 'Device/GetAll',\r\n GETDEVICES: 'Device',\r\n CREATEDEVICE: 'Device',\r\n UPDATEDEVICE: 'Device',\r\n DELETEDEVICE: 'Device',\r\n GETDEVICEBYID: 'Device/GetById',\r\n GETACTIVEDEVICE: 'Device/GetActive',\r\n GETUSERACTIVEDEVICE: 'Device/GetUserActive',\r\n GETCUSTOMERDEVICES: 'Users/GetUserDevices',\r\n\r\n GETUSERBARGRAPH:'WaterUsage/GetUserBarGraph',\r\n GETUSERMETERREADING:'WaterUsage/GetUserMeterReading',\r\n GETADMINBARGRAPH:'WaterUsage/GetAdminBarGraph',\r\n GETADMINMETERREADING:'WaterUsage/GetOrganisationMeterReading',\r\n GETADMINWATERUSAGE:'WaterUsage/GetAdminWaterUsage',\r\n //GETALLDEVICESDATA: 'DevicesData',\r\n //GETDEVICEDATABYID: 'DevicesData/GetById',\r\n //GETDEVICEDATABYDEVICE: 'DevicesData/Devices/GetByDevice',\r\n //GETBARGRAPHDEVICEDATA :'DevicesData/GetBarGraphData',\r\n //GETWATERUSAGECOUNT :'DevicesData/GetWaterUsageCount',\r\n //GETCOUNTSDEVICEDATA :'DevicesData/GetAdminCount',\r\n //GETDEVICEDATABYUSER :'DevicesData/GetMeterReadingByuser',\r\n\r\n GETALLTICKETS: 'Ticket',\r\n CREATETICKET: 'Ticket',\r\n UPDATETICKET: 'Ticket',\r\n DELETETICKET: 'Ticket',\r\n GETTICKETBYID: 'Ticket/GetById',\r\n GETTICKETBYCATEGORY: 'Ticket/GetByCategory',\r\n GETTICKETBYUSER: 'Ticket/GetByUser',\r\n GETTICKETBYSTATUS: 'Ticket/GetByStatus',\r\n GETTICKETIMAGES: 'Ticket/GetTicketImages',\r\n\r\n GETALLTICKETCATEGORIES: 'TicketCategory',\r\n\r\n GETALLTICKETRESPONSES: 'TicketResponse',\r\n CREATETICKETRESPONSE: 'TicketResponse',\r\n UPDATEDTICKETRESPONSE: 'TicketResponse',\r\n DELETETICKETRESPONSE: 'TicketResponse',\r\n GETTICKETRESPONSEBYID: 'TicketResponse/GetByTicketId',\r\n\r\n GETALLORGANISATIONS: 'Organisation/GetAll',\r\n GETORGANISATIONS: 'Organisation',\r\n CREATEORGANISATION: 'Organisation',\r\n UPDATEORGANISATION: 'Organisation',\r\n DELETEORGANISATION: 'Organisation',\r\n GETORGANISATIONBYID: 'Organisation',\r\n\r\n GETALLAPARTMENTS: 'Apartment',\r\n CREATEAPARTMENT: 'Apartment',\r\n UPDATEAPARTMENT: 'Apartment',\r\n DELETEAPARTMENT: 'Apartment',\r\n GETAPARTMENTBYID: 'Apartment',\r\n\r\n GETALLBLOCKS: 'Block',\r\n CREATEBLOCK: 'Block',\r\n UPDATEBLOCK: 'Block',\r\n DELETEBLOCK: 'Block',\r\n GETBLOCKBYID: 'Block',\r\n GETBLOCKBYORGANISATION: 'Block/GetByOrganisationId',\r\n\r\n GETALLFLOORS: 'Floor',\r\n CREATEFLOOR: 'Floor',\r\n UPDATEFLOOR: 'Floor',\r\n DELETEFLOOR: 'Floor',\r\n GETFLOORBYID: 'Floor',\r\n GETFlOORBYBLOCK: 'Floor/GetByBlockId',\r\n\r\n GETALLUNITS: 'Unit',\r\n CREATEUNIT: 'Unit',\r\n UPDATEUNIT: 'Unit',\r\n DELETEUNIT: 'Unit',\r\n GETUNITBYID: 'Unit',\r\n\r\n GETALLMESSAGES: 'Message',\r\n CREATEMESSAGE: 'Message',\r\n UPDATEMESSAGE: 'Message',\r\n DELETEMESSAGE: 'Message',\r\n GETMESSAGEBYID: 'Message/GetById',\r\n GETDISPLAYMESSAGE: 'Message/GetDisplayMessage',\r\n\r\n GETALLUSERDEVICES: 'UserDevice/GetAll',\r\n GETUSERDEVICES: 'UserDevice',\r\n CREATEUSERDEVICE: 'UserDevice',\r\n UPDATEUSERDEVICE: 'UserDevice',\r\n DELETEUSERDEVICE: 'UserDevice',\r\n GETUSERDEVICEBYUSER: 'UserDevice/GetUserDevicesById',\r\n GETALLACTIVEUSERDEVICES: 'UserDevice/GetAllActive',\r\n GETUSERDEVICESBYID: 'UserDevice/GetById',\r\n\r\n GETALLNOTIFICATIONS: 'Notification',\r\n CREATENOTIFICATION: 'Notification',\r\n UPDATENOTIFICATION: 'Notification',\r\n DELETENOTIFICATION: 'Notification',\r\n GETNOTIFICATIONBYID: 'Notification',\r\n GETNOTIFICATIONUNREAD: 'Notification/unread',\r\n GETNOTIFICATIONREAD: 'Notification/read',\r\n GETNOTIFICATIONBYUSER: 'Notification/GetByUser',\r\n\r\n GETALLPAYMENTREQUESTS: 'Payment',\r\n CREATEPAYMENTREQUEST: 'Payment',\r\n UPDATEPAYMENTREQUEST: 'Payment',\r\n CANCELPAYMENTREQUEST: 'Payment/CancelPayment',\r\n GETNPAYMENTREQUESTBYID: 'Payment/GetById',\r\n GETPAYMENTREQUESTBYUSER: 'Payment/GetByUser',\r\n PROCESSPAYMENTORDER: 'Payment/ProcessRequestOrder',\r\n\r\n GETWATERUSAGECOUNT: 'WaterUsage/GetWaterUsageCount',\r\n GETUSERWATERUSAGECOUNT: 'WaterUsage/GetUserWaterUsageCount',\r\n GETBARGRAPHDATA: 'WaterUsage/GetBarGraphData',\r\n GETUSERBARGRAPHDATA: 'WaterUsage/GetUserBarGraphData',\r\n GETLEAKDATA: 'WaterUsage/GetLeakInformation',\r\n GETBARGRAPHDATEWISE: 'WaterUsage/GetBarGraphDateWise',\r\n GETUSERBARGRAPHDATEWISE: 'WaterUsage/GetUserBarGraphDateWise',\r\n GETMETERDATABYUSER: 'WaterUsage/GetMeterReadingByuser',\r\n\r\n GETDEVICEDATABYDEVICE: 'WaterUsage/GetBarGraphByDevice',\r\n GETMETERDATABYDEVICE: 'WaterUsage/GetMeterReadingListByDevice',\r\n}","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _TransitionGroup = require('./TransitionGroup');\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nvar _CSSTransitionGroupChild = require('./CSSTransitionGroupChild');\n\nvar _CSSTransitionGroupChild2 = _interopRequireDefault(_CSSTransitionGroupChild);\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n transitionName: _PropTypes.nameShape.isRequired,\n\n transitionAppear: _propTypes2.default.bool,\n transitionEnter: _propTypes2.default.bool,\n transitionLeave: _propTypes2.default.bool,\n transitionAppearTimeout: (0, _PropTypes.transitionTimeout)('Appear'),\n transitionEnterTimeout: (0, _PropTypes.transitionTimeout)('Enter'),\n transitionLeaveTimeout: (0, _PropTypes.transitionTimeout)('Leave')\n};\n\nvar defaultProps = {\n transitionAppear: false,\n transitionEnter: true,\n transitionLeave: true\n};\n\nvar CSSTransitionGroup = function (_React$Component) {\n _inherits(CSSTransitionGroup, _React$Component);\n\n function CSSTransitionGroup() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, CSSTransitionGroup);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._wrapChild = function (child) {\n return _react2.default.createElement(_CSSTransitionGroupChild2.default, {\n name: _this.props.transitionName,\n appear: _this.props.transitionAppear,\n enter: _this.props.transitionEnter,\n leave: _this.props.transitionLeave,\n appearTimeout: _this.props.transitionAppearTimeout,\n enterTimeout: _this.props.transitionEnterTimeout,\n leaveTimeout: _this.props.transitionLeaveTimeout\n }, child);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n // We need to provide this childFactory so that\n // ReactCSSTransitionGroupChild can receive updates to name, enter, and\n // leave while it is leaving.\n\n\n CSSTransitionGroup.prototype.render = function render() {\n return _react2.default.createElement(_TransitionGroup2.default, _extends({}, this.props, { childFactory: this._wrapChild }));\n };\n\n return CSSTransitionGroup;\n}(_react2.default.Component);\n\nCSSTransitionGroup.displayName = 'CSSTransitionGroup';\n\n\nCSSTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nCSSTransitionGroup.defaultProps = defaultProps;\n\nexports.default = CSSTransitionGroup;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _addClass = require('dom-helpers/class/addClass');\n\nvar _addClass2 = _interopRequireDefault(_addClass);\n\nvar _removeClass = require('dom-helpers/class/removeClass');\n\nvar _removeClass2 = _interopRequireDefault(_removeClass);\n\nvar _requestAnimationFrame = require('dom-helpers/util/requestAnimationFrame');\n\nvar _requestAnimationFrame2 = _interopRequireDefault(_requestAnimationFrame);\n\nvar _properties = require('dom-helpers/transition/properties');\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _reactDom = require('react-dom');\n\nvar _PropTypes = require('./utils/PropTypes');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar events = [];\nif (_properties.transitionEnd) events.push(_properties.transitionEnd);\nif (_properties.animationEnd) events.push(_properties.animationEnd);\n\nfunction addEndListener(node, listener) {\n if (events.length) {\n events.forEach(function (e) {\n return node.addEventListener(e, listener, false);\n });\n } else {\n setTimeout(listener, 0);\n }\n\n return function () {\n if (!events.length) return;\n events.forEach(function (e) {\n return node.removeEventListener(e, listener, false);\n });\n };\n}\n\nvar propTypes = {\n children: _propTypes2.default.node,\n name: _PropTypes.nameShape.isRequired,\n\n // Once we require timeouts to be specified, we can remove the\n // boolean flags (appear etc.) and just accept a number\n // or a bool for the timeout flags (appearTimeout etc.)\n appear: _propTypes2.default.bool,\n enter: _propTypes2.default.bool,\n leave: _propTypes2.default.bool,\n appearTimeout: _propTypes2.default.number,\n enterTimeout: _propTypes2.default.number,\n leaveTimeout: _propTypes2.default.number\n};\n\nvar CSSTransitionGroupChild = function (_React$Component) {\n _inherits(CSSTransitionGroupChild, _React$Component);\n\n function CSSTransitionGroupChild(props, context) {\n _classCallCheck(this, CSSTransitionGroupChild);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.componentWillAppear = function (done) {\n if (_this.props.appear) {\n _this.transition('appear', done, _this.props.appearTimeout);\n } else {\n done();\n }\n };\n\n _this.componentWillEnter = function (done) {\n if (_this.props.enter) {\n _this.transition('enter', done, _this.props.enterTimeout);\n } else {\n done();\n }\n };\n\n _this.componentWillLeave = function (done) {\n if (_this.props.leave) {\n _this.transition('leave', done, _this.props.leaveTimeout);\n } else {\n done();\n }\n };\n\n _this.classNameAndNodeQueue = [];\n _this.transitionTimeouts = [];\n return _this;\n }\n\n CSSTransitionGroupChild.prototype.componentWillUnmount = function componentWillUnmount() {\n this.unmounted = true;\n\n if (this.timeout) {\n clearTimeout(this.timeout);\n }\n this.transitionTimeouts.forEach(function (timeout) {\n clearTimeout(timeout);\n });\n\n this.classNameAndNodeQueue.length = 0;\n };\n\n CSSTransitionGroupChild.prototype.transition = function transition(animationType, finishCallback, timeout) {\n var node = (0, _reactDom.findDOMNode)(this);\n\n if (!node) {\n if (finishCallback) {\n finishCallback();\n }\n return;\n }\n\n var className = this.props.name[animationType] || this.props.name + '-' + animationType;\n var activeClassName = this.props.name[animationType + 'Active'] || className + '-active';\n var timer = null;\n var removeListeners = void 0;\n\n (0, _addClass2.default)(node, className);\n\n // Need to do this to actually trigger a transition.\n this.queueClassAndNode(activeClassName, node);\n\n // Clean-up the animation after the specified delay\n var finish = function finish(e) {\n if (e && e.target !== node) {\n return;\n }\n\n clearTimeout(timer);\n if (removeListeners) removeListeners();\n\n (0, _removeClass2.default)(node, className);\n (0, _removeClass2.default)(node, activeClassName);\n\n if (removeListeners) removeListeners();\n\n // Usually this optional callback is used for informing an owner of\n // a leave animation and telling it to remove the child.\n if (finishCallback) {\n finishCallback();\n }\n };\n\n if (timeout) {\n timer = setTimeout(finish, timeout);\n this.transitionTimeouts.push(timer);\n } else if (_properties.transitionEnd) {\n removeListeners = addEndListener(node, finish);\n }\n };\n\n CSSTransitionGroupChild.prototype.queueClassAndNode = function queueClassAndNode(className, node) {\n var _this2 = this;\n\n this.classNameAndNodeQueue.push({\n className: className,\n node: node\n });\n\n if (!this.rafHandle) {\n this.rafHandle = (0, _requestAnimationFrame2.default)(function () {\n return _this2.flushClassNameAndNodeQueue();\n });\n }\n };\n\n CSSTransitionGroupChild.prototype.flushClassNameAndNodeQueue = function flushClassNameAndNodeQueue() {\n if (!this.unmounted) {\n this.classNameAndNodeQueue.forEach(function (obj) {\n // This is for to force a repaint,\n // which is necessary in order to transition styles when adding a class name.\n /* eslint-disable no-unused-expressions */\n obj.node.scrollTop;\n /* eslint-enable no-unused-expressions */\n (0, _addClass2.default)(obj.node, obj.className);\n });\n }\n this.classNameAndNodeQueue.length = 0;\n this.rafHandle = null;\n };\n\n CSSTransitionGroupChild.prototype.render = function render() {\n var props = _extends({}, this.props);\n delete props.name;\n delete props.appear;\n delete props.enter;\n delete props.leave;\n delete props.appearTimeout;\n delete props.enterTimeout;\n delete props.leaveTimeout;\n delete props.children;\n return _react2.default.cloneElement(_react2.default.Children.only(this.props.children), props);\n };\n\n return CSSTransitionGroupChild;\n}(_react2.default.Component);\n\nCSSTransitionGroupChild.displayName = 'CSSTransitionGroupChild';\n\n\nCSSTransitionGroupChild.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\n\nexports.default = CSSTransitionGroupChild;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _chainFunction = require('chain-function');\n\nvar _chainFunction2 = _interopRequireDefault(_chainFunction);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _reactLifecyclesCompat = require('react-lifecycles-compat');\n\nvar _ChildMapping = require('./utils/ChildMapping');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n component: _propTypes2.default.any,\n childFactory: _propTypes2.default.func,\n children: _propTypes2.default.node\n};\n\nvar defaultProps = {\n component: 'span',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n\nvar TransitionGroup = function (_React$Component) {\n _inherits(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n _classCallCheck(this, TransitionGroup);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.performAppear = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillAppear) {\n component.componentWillAppear(_this._handleDoneAppearing.bind(_this, key, component));\n } else {\n _this._handleDoneAppearing(key, component);\n }\n };\n\n _this._handleDoneAppearing = function (key, component) {\n if (component && component.componentDidAppear) {\n component.componentDidAppear();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully appeared. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performEnter = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component.componentWillEnter) {\n component.componentWillEnter(_this._handleDoneEntering.bind(_this, key, component));\n } else {\n _this._handleDoneEntering(key, component);\n }\n };\n\n _this._handleDoneEntering = function (key, component) {\n if (component && component.componentDidEnter) {\n component.componentDidEnter();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (!currentChildMapping || !currentChildMapping.hasOwnProperty(key)) {\n // This was removed before it had fully entered. Remove it.\n _this.performLeave(key, component);\n }\n };\n\n _this.performLeave = function (key, component) {\n _this.currentlyTransitioningKeys[key] = true;\n\n if (component && component.componentWillLeave) {\n component.componentWillLeave(_this._handleDoneLeaving.bind(_this, key, component));\n } else {\n // Note that this is somewhat dangerous b/c it calls setState()\n // again, effectively mutating the component before all the work\n // is done.\n _this._handleDoneLeaving(key, component);\n }\n };\n\n _this._handleDoneLeaving = function (key, component) {\n if (component && component.componentDidLeave) {\n component.componentDidLeave();\n }\n\n delete _this.currentlyTransitioningKeys[key];\n\n var currentChildMapping = (0, _ChildMapping.getChildMapping)(_this.props.children);\n\n if (currentChildMapping && currentChildMapping.hasOwnProperty(key)) {\n // This entered again before it fully left. Add it again.\n _this.keysToEnter.push(key);\n } else {\n _this.setState(function (state) {\n var newChildren = _extends({}, state.children);\n delete newChildren[key];\n return { children: newChildren };\n });\n }\n };\n\n _this.childRefs = Object.create(null);\n _this.currentlyTransitioningKeys = {};\n _this.keysToEnter = [];\n _this.keysToLeave = [];\n\n _this.state = {\n children: (0, _ChildMapping.getChildMapping)(props.children)\n };\n return _this;\n }\n\n TransitionGroup.prototype.componentDidMount = function componentDidMount() {\n var initialChildMapping = this.state.children;\n for (var key in initialChildMapping) {\n if (initialChildMapping[key]) {\n this.performAppear(key, this.childRefs[key]);\n }\n }\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var nextChildMapping = (0, _ChildMapping.getChildMapping)(props.children);\n var prevChildMapping = state.children;\n\n return {\n children: (0, _ChildMapping.mergeChildMappings)(prevChildMapping, nextChildMapping)\n };\n };\n\n TransitionGroup.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n var _this2 = this;\n\n var nextChildMapping = (0, _ChildMapping.getChildMapping)(this.props.children);\n var prevChildMapping = prevState.children;\n\n for (var key in nextChildMapping) {\n var hasPrev = prevChildMapping && prevChildMapping.hasOwnProperty(key);\n if (nextChildMapping[key] && !hasPrev && !this.currentlyTransitioningKeys[key]) {\n this.keysToEnter.push(key);\n }\n }\n\n for (var _key in prevChildMapping) {\n var hasNext = nextChildMapping && nextChildMapping.hasOwnProperty(_key);\n if (prevChildMapping[_key] && !hasNext && !this.currentlyTransitioningKeys[_key]) {\n this.keysToLeave.push(_key);\n }\n }\n\n // If we want to someday check for reordering, we could do it here.\n\n var keysToEnter = this.keysToEnter;\n this.keysToEnter = [];\n keysToEnter.forEach(function (key) {\n return _this2.performEnter(key, _this2.childRefs[key]);\n });\n\n var keysToLeave = this.keysToLeave;\n this.keysToLeave = [];\n keysToLeave.forEach(function (key) {\n return _this2.performLeave(key, _this2.childRefs[key]);\n });\n };\n\n TransitionGroup.prototype.render = function render() {\n var _this3 = this;\n\n // TODO: we could get rid of the need for the wrapper node\n // by cloning a single child\n var childrenToRender = [];\n\n var _loop = function _loop(key) {\n var child = _this3.state.children[key];\n if (child) {\n var isCallbackRef = typeof child.ref !== 'string';\n var factoryChild = _this3.props.childFactory(child);\n var ref = function ref(r) {\n _this3.childRefs[key] = r;\n };\n\n process.env.NODE_ENV !== 'production' ? (0, _warning2.default)(isCallbackRef, 'string refs are not supported on children of TransitionGroup and will be ignored. ' + 'Please use a callback ref instead: https://facebook.github.io/react/docs/refs-and-the-dom.html#the-ref-callback-attribute') : void 0;\n\n // Always chaining the refs leads to problems when the childFactory\n // wraps the child. The child ref callback gets called twice with the\n // wrapper and the child. So we only need to chain the ref if the\n // factoryChild is not different from child.\n if (factoryChild === child && isCallbackRef) {\n ref = (0, _chainFunction2.default)(child.ref, ref);\n }\n\n // You may need to apply reactive updates to a child as it is leaving.\n // The normal React way to do it won't work since the child will have\n // already been removed. In case you need this behavior you can provide\n // a childFactory function to wrap every child, even the ones that are\n // leaving.\n childrenToRender.push(_react2.default.cloneElement(factoryChild, {\n key: key,\n ref: ref\n }));\n }\n };\n\n for (var key in this.state.children) {\n _loop(key);\n }\n\n // Do not forward TransitionGroup props to primitive DOM nodes\n var props = _extends({}, this.props);\n delete props.transitionLeave;\n delete props.transitionName;\n delete props.transitionAppear;\n delete props.transitionEnter;\n delete props.childFactory;\n delete props.transitionLeaveTimeout;\n delete props.transitionEnterTimeout;\n delete props.transitionAppearTimeout;\n delete props.component;\n\n return _react2.default.createElement(this.props.component, props, childrenToRender);\n };\n\n return TransitionGroup;\n}(_react2.default.Component);\n\nTransitionGroup.displayName = 'TransitionGroup';\n\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? propTypes : {};\nTransitionGroup.defaultProps = defaultProps;\n\nexports.default = (0, _reactLifecyclesCompat.polyfill)(TransitionGroup);\nmodule.exports = exports['default'];","'use strict';\n\nvar _CSSTransitionGroup = require('./CSSTransitionGroup');\n\nvar _CSSTransitionGroup2 = _interopRequireDefault(_CSSTransitionGroup);\n\nvar _TransitionGroup = require('./TransitionGroup');\n\nvar _TransitionGroup2 = _interopRequireDefault(_TransitionGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n TransitionGroup: _TransitionGroup2.default,\n CSSTransitionGroup: _CSSTransitionGroup2.default\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar vendors = ['', 'webkit', 'moz', 'o', 'ms'];\nvar cancel = 'clearTimeout';\nvar raf = fallback;\nvar compatRaf;\n\nvar getKey = function getKey(vendor, k) {\n return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + 'AnimationFrame';\n};\n\nif (_inDOM.default) {\n vendors.some(function (vendor) {\n var rafKey = getKey(vendor, 'request');\n\n if (rafKey in window) {\n cancel = getKey(vendor, 'cancel');\n return raf = function raf(cb) {\n return window[rafKey](cb);\n };\n }\n });\n}\n/* https://github.com/component/raf */\n\n\nvar prev = new Date().getTime();\n\nfunction fallback(fn) {\n var curr = new Date().getTime(),\n ms = Math.max(0, 16 - (curr - prev)),\n req = setTimeout(fn, ms);\n prev = curr;\n return req;\n}\n\ncompatRaf = function compatRaf(cb) {\n return raf(cb);\n};\n\ncompatRaf.cancel = function (id) {\n window[cancel] && typeof window[cancel] === 'function' && window[cancel](id);\n};\n\nvar _default = compatRaf;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\nexports.getChildMapping = getChildMapping;\nexports.mergeChildMappings = mergeChildMappings;\n\nvar _react = require('react');\n\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\nfunction getChildMapping(children) {\n if (!children) {\n return children;\n }\n var result = {};\n _react.Children.map(children, function (child) {\n return child;\n }).forEach(function (child) {\n result[child.key] = child;\n });\n return result;\n}\n\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\nfunction mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n if (next.hasOwnProperty(key)) {\n return next[key];\n }\n\n return prev[key];\n }\n\n // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n var nextKeysPending = {};\n\n var pendingKeys = [];\n for (var prevKey in prev) {\n if (next.hasOwnProperty(prevKey)) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i = void 0;\n var childMapping = {};\n for (var nextKey in next) {\n if (nextKeysPending.hasOwnProperty(nextKey)) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n childMapping[nextKey] = getValueForKey(nextKey);\n }\n\n // Finally, add the keys which didn't appear before any key in `next`\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}","'use strict';\n\nexports.__esModule = true;\nexports.nameShape = undefined;\nexports.transitionTimeout = transitionTimeout;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction transitionTimeout(transitionType) {\n var timeoutPropName = 'transition' + transitionType + 'Timeout';\n var enabledPropName = 'transition' + transitionType;\n\n return function (props) {\n // If the transition is enabled\n if (props[enabledPropName]) {\n // If no timeout duration is provided\n if (props[timeoutPropName] == null) {\n return new Error(timeoutPropName + ' wasn\\'t supplied to CSSTransitionGroup: ' + 'this can cause unreliable animations and won\\'t be supported in ' + 'a future version of React. See ' + 'https://fb.me/react-animation-transition-group-timeout for more ' + 'information.');\n\n // If the duration isn't a number\n } else if (typeof props[timeoutPropName] !== 'number') {\n return new Error(timeoutPropName + ' must be a number (in milliseconds)');\n }\n }\n\n return null;\n };\n}\n\nvar nameShape = exports.nameShape = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n active: _propTypes2.default.string\n}), _propTypes2.default.shape({\n enter: _propTypes2.default.string,\n enterActive: _propTypes2.default.string,\n leave: _propTypes2.default.string,\n leaveActive: _propTypes2.default.string,\n appear: _propTypes2.default.string,\n appearActive: _propTypes2.default.string\n})]);","/**\r\n * alertifyjs 1.13.1 http://alertifyjs.com\r\n * AlertifyJS is a javascript framework for developing pretty browser dialogs and notifications.\r\n * Copyright 2019 Mohammad Younes (http://alertifyjs.com) \r\n * Licensed under GPL 3 */\r\n( function ( window ) {\r\n 'use strict';\r\n var NOT_DISABLED_NOT_RESET = ':not(:disabled):not(.ajs-reset)';\r\n /**\r\n * Keys enum\r\n * @type {Object}\r\n */\r\n var keys = {\r\n ENTER: 13,\r\n ESC: 27,\r\n F1: 112,\r\n F12: 123,\r\n LEFT: 37,\r\n RIGHT: 39,\r\n TAB: 9\r\n };\r\n /**\r\n * Default options \r\n * @type {Object}\r\n */\r\n var defaults = {\r\n autoReset:true,\r\n basic:false,\r\n closable:true,\r\n closableByDimmer:true,\r\n invokeOnCloseOff:false,\r\n frameless:false,\r\n defaultFocusOff:false,\r\n maintainFocus:true, //global default not per instance, applies to all dialogs\r\n maximizable:true,\r\n modal:true,\r\n movable:true,\r\n moveBounded:false,\r\n overflow:true,\r\n padding: true,\r\n pinnable:true,\r\n pinned:true,\r\n preventBodyShift:false, //global default not per instance, applies to all dialogs\r\n resizable:true,\r\n startMaximized:false,\r\n transition:'pulse',\r\n transitionOff:false,\r\n tabbable:['button', '[href]', 'input', 'select', 'textarea', '[tabindex]:not([tabindex^=\"-\"])'+NOT_DISABLED_NOT_RESET].join(NOT_DISABLED_NOT_RESET+','),//global\r\n notifier:{\r\n delay:5,\r\n position:'bottom-right',\r\n closeButton:false,\r\n classes: {\r\n base: 'alertify-notifier',\r\n prefix:'ajs-',\r\n message: 'ajs-message',\r\n top: 'ajs-top',\r\n right: 'ajs-right',\r\n bottom: 'ajs-bottom',\r\n left: 'ajs-left',\r\n center: 'ajs-center',\r\n visible: 'ajs-visible',\r\n hidden: 'ajs-hidden',\r\n close: 'ajs-close'\r\n }\r\n },\r\n glossary:{\r\n title:'AlertifyJS',\r\n ok: 'OK',\r\n cancel: 'Cancel',\r\n acccpt: 'Accept',\r\n deny: 'Deny',\r\n confirm: 'Confirm',\r\n decline: 'Decline',\r\n close: 'Close',\r\n maximize: 'Maximize',\r\n restore: 'Restore',\r\n },\r\n theme:{\r\n input:'ajs-input',\r\n ok:'ajs-ok',\r\n cancel:'ajs-cancel',\r\n },\r\n hooks:{\r\n preinit:function(){},\r\n postinit:function(){}\r\n }\r\n };\r\n \r\n //holds open dialogs instances\r\n var openDialogs = [];\r\n\r\n /**\r\n * [Helper] Adds the specified class(es) to the element.\r\n *\r\n * @element {node} The element\r\n * @className {string} One or more space-separated classes to be added to the class attribute of the element.\r\n * \r\n * @return {undefined}\r\n */\r\n function addClass(element,classNames){\r\n element.className += ' ' + classNames;\r\n }\r\n \r\n /**\r\n * [Helper] Removes the specified class(es) from the element.\r\n *\r\n * @element {node} The element\r\n * @className {string} One or more space-separated classes to be removed from the class attribute of the element.\r\n * \r\n * @return {undefined}\r\n */\r\n function removeClass(element, classNames) {\r\n var original = element.className.split(' ');\r\n var toBeRemoved = classNames.split(' ');\r\n for (var x = 0; x < toBeRemoved.length; x += 1) {\r\n var index = original.indexOf(toBeRemoved[x]);\r\n if (index > -1){\r\n original.splice(index,1);\r\n }\r\n }\r\n element.className = original.join(' ');\r\n }\r\n\r\n /**\r\n * [Helper] Checks if the document is RTL\r\n *\r\n * @return {Boolean} True if the document is RTL, false otherwise.\r\n */\r\n function isRightToLeft(){\r\n return window.getComputedStyle(document.body).direction === 'rtl';\r\n }\r\n /**\r\n * [Helper] Get the document current scrollTop\r\n *\r\n * @return {Number} current document scrollTop value\r\n */\r\n function getScrollTop(){\r\n return ((document.documentElement && document.documentElement.scrollTop) || document.body.scrollTop);\r\n }\r\n\r\n /**\r\n * [Helper] Get the document current scrollLeft\r\n *\r\n * @return {Number} current document scrollLeft value\r\n */\r\n function getScrollLeft(){\r\n return ((document.documentElement && document.documentElement.scrollLeft) || document.body.scrollLeft);\r\n }\r\n\r\n /**\r\n * Helper: clear contents\r\n *\r\n */\r\n function clearContents(element){\r\n while (element.lastChild) {\r\n element.removeChild(element.lastChild);\r\n }\r\n }\r\n /**\r\n * Extends a given prototype by merging properties from base into sub.\r\n *\r\n * @sub {Object} sub The prototype being overwritten.\r\n * @base {Object} base The prototype being written.\r\n *\r\n * @return {Object} The extended prototype.\r\n */\r\n function copy(src) {\r\n if(null === src){\r\n return src;\r\n }\r\n var cpy;\r\n if(Array.isArray(src)){\r\n cpy = [];\r\n for(var x=0;x 0) {\r\n var args = [];\r\n for (var x = 0; x < arguments.length; x += 1) {\r\n args.push(arguments[x]);\r\n }\r\n args.push(context);\r\n return method.apply(context, args);\r\n }\r\n return method.apply(context, [null, context]);\r\n };\r\n }\r\n /**\r\n * Helper for creating a dialog close event.\r\n * \r\n * @return {object}\r\n */\r\n function createCloseEvent(index, button) {\r\n return {\r\n index: index,\r\n button: button,\r\n cancel: false\r\n };\r\n }\r\n /**\r\n * Helper for dispatching events.\r\n *\r\n * @param {string} evenType The type of the event to disptach.\r\n * @param {object} instance The dialog instance disptaching the event.\r\n *\r\n * @return {any} The result of the invoked function.\r\n */\r\n function dispatchEvent(eventType, instance) {\r\n if ( typeof instance.get(eventType) === 'function' ) {\r\n return instance.get(eventType).call(instance);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Super class for all dialogs\r\n *\r\n * @return {Object}\t\tbase dialog prototype\r\n */\r\n var dialog = (function () {\r\n var //holds the list of used keys.\r\n usedKeys = [],\r\n //dummy variable, used to trigger dom reflow.\r\n reflow = null,\r\n //holds body tab index in case it has any.\r\n tabindex = false,\r\n //condition for detecting safari\r\n isSafari = window.navigator.userAgent.indexOf('Safari') > -1 && window.navigator.userAgent.indexOf('Chrome') < 0,\r\n //dialog building blocks\r\n templates = {\r\n dimmer:'
',\r\n /*tab index required to fire click event before body focus*/\r\n modal: '
',\r\n dialog: '
',\r\n reset: '',\r\n commands: '
',\r\n header: '
',\r\n body: '
',\r\n content: '
',\r\n footer: '
',\r\n buttons: { primary: '
', auxiliary: '
' },\r\n button: '',\r\n resizeHandle: '
',\r\n },\r\n //common class names\r\n classes = {\r\n animationIn: 'ajs-in',\r\n animationOut: 'ajs-out',\r\n base: 'alertify',\r\n basic:'ajs-basic',\r\n capture: 'ajs-capture',\r\n closable:'ajs-closable',\r\n fixed: 'ajs-fixed',\r\n frameless:'ajs-frameless',\r\n hidden: 'ajs-hidden',\r\n maximize: 'ajs-maximize',\r\n maximized: 'ajs-maximized',\r\n maximizable:'ajs-maximizable',\r\n modeless: 'ajs-modeless',\r\n movable: 'ajs-movable',\r\n noSelection: 'ajs-no-selection',\r\n noOverflow: 'ajs-no-overflow',\r\n noPadding:'ajs-no-padding',\r\n pin:'ajs-pin',\r\n pinnable:'ajs-pinnable',\r\n prefix: 'ajs-',\r\n resizable: 'ajs-resizable',\r\n restore: 'ajs-restore',\r\n shake:'ajs-shake',\r\n unpinned:'ajs-unpinned',\r\n noTransition:'ajs-no-transition'\r\n };\r\n\r\n /**\r\n * Helper: initializes the dialog instance\r\n * \r\n * @return\t{Number}\tThe total count of currently open modals.\r\n */\r\n function initialize(instance){\r\n \r\n if(!instance.__internal){\r\n //invoke preinit global hook\r\n alertify.defaults.hooks.preinit(instance);\r\n //no need to expose init after this.\r\n delete instance.__init;\r\n \r\n //keep a copy of initial dialog settings\r\n if(!instance.__settings){\r\n instance.__settings = copy(instance.settings);\r\n }\r\n \r\n //get dialog buttons/focus setup\r\n var setup;\r\n if(typeof instance.setup === 'function'){\r\n setup = instance.setup();\r\n setup.options = setup.options || {};\r\n setup.focus = setup.focus || {};\r\n }else{\r\n setup = {\r\n buttons:[],\r\n focus:{\r\n element:null,\r\n select:false\r\n },\r\n options:{\r\n }\r\n };\r\n }\r\n \r\n //initialize hooks object.\r\n if(typeof instance.hooks !== 'object'){\r\n instance.hooks = {};\r\n }\r\n\r\n //copy buttons defintion\r\n var buttonsDefinition = [];\r\n if(Array.isArray(setup.buttons)){\r\n for(var b=0;b= 0){\r\n //last open modal or last maximized one\r\n removeClass(document.body, classes.noOverflow);\r\n preventBodyShift(false);\r\n }else if(requiresNoOverflow > 0 && document.body.className.indexOf(classes.noOverflow) < 0){\r\n //first open modal or first maximized one\r\n preventBodyShift(true);\r\n addClass(document.body, classes.noOverflow);\r\n }\r\n }\r\n var top = '', topScroll = 0;\r\n /**\r\n * Helper: prevents body shift.\r\n *\r\n */\r\n function preventBodyShift(add){\r\n if(alertify.defaults.preventBodyShift){\r\n if(add && document.documentElement.scrollHeight > document.documentElement.clientHeight ){//&& openDialogs[openDialogs.length-1].elements.dialog.clientHeight <= document.documentElement.clientHeight){\r\n topScroll = scrollY;\r\n top = window.getComputedStyle(document.body).top;\r\n addClass(document.body, classes.fixed);\r\n document.body.style.top = -scrollY + 'px';\r\n } else if(!add) {\r\n scrollY = topScroll;\r\n document.body.style.top = top;\r\n removeClass(document.body, classes.fixed);\r\n restoreScrollPosition();\r\n }\r\n }\r\n }\r\n\t\t\r\n /**\r\n * Sets the name of the transition used to show/hide the dialog\r\n * \r\n * @param {Object} instance The dilog instance.\r\n *\r\n */\r\n function updateTransition(instance, value, oldValue){\r\n if(typeof oldValue === 'string'){\r\n removeClass(instance.elements.root,classes.prefix + oldValue);\r\n }\r\n addClass(instance.elements.root, classes.prefix + value);\r\n reflow = instance.elements.root.offsetWidth;\r\n }\r\n\r\n /**\r\n * Toggles the dialog no transition \r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateTransitionOff(instance){\r\n if (instance.get('transitionOff')) {\r\n // add class\r\n addClass(instance.elements.root, classes.noTransition);\r\n } else {\r\n // remove class\r\n removeClass(instance.elements.root, classes.noTransition);\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the dialog display mode\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateDisplayMode(instance){\r\n if(instance.get('modal')){\r\n\r\n //make modal\r\n removeClass(instance.elements.root, classes.modeless);\r\n\r\n //only if open\r\n if(instance.isOpen()){\r\n unbindModelessEvents(instance);\r\n\r\n //in case a pinned modless dialog was made modal while open.\r\n updateAbsPositionFix(instance);\r\n\r\n ensureNoOverflow();\r\n }\r\n }else{\r\n //make modelss\r\n addClass(instance.elements.root, classes.modeless);\r\n\r\n //only if open\r\n if(instance.isOpen()){\r\n bindModelessEvents(instance);\r\n\r\n //in case pin/unpin was called while a modal is open\r\n updateAbsPositionFix(instance);\r\n\r\n ensureNoOverflow();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the dialog basic view mode \r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateBasicMode(instance){\r\n if (instance.get('basic')) {\r\n // add class\r\n addClass(instance.elements.root, classes.basic);\r\n } else {\r\n // remove class\r\n removeClass(instance.elements.root, classes.basic);\r\n }\r\n }\r\n\r\n /**\r\n * Toggles the dialog frameless view mode \r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateFramelessMode(instance){\r\n if (instance.get('frameless')) {\r\n // add class\r\n addClass(instance.elements.root, classes.frameless);\r\n } else {\r\n // remove class\r\n removeClass(instance.elements.root, classes.frameless);\r\n }\r\n }\r\n\t\t\r\n /**\r\n * Helper: Brings the modeless dialog to front, attached to modeless dialogs.\r\n *\r\n * @param {Event} event Focus event\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bringToFront(event, instance){\r\n \r\n // Do not bring to front if preceeded by an open modal\r\n var index = openDialogs.indexOf(instance);\r\n for(var x=index+1;x 200 && (modalClickHandlerTS = event.timeStamp) && !cancelClick){\r\n var target = event.srcElement || event.target;\r\n if (instance.get('closableByDimmer') === true && target === instance.elements.modal) {\r\n triggerClose(instance);\r\n }\r\n }\r\n cancelClick = false;\r\n }\r\n\r\n // stores last call timestamp to prevent triggering the callback twice.\r\n var callbackTS = 0;\r\n // flag to cancel keyup event if already handled by click event (pressing Enter on a focusted button).\r\n var cancelKeyup = false;\r\n /** \r\n * Helper: triggers a button callback\r\n *\r\n * @param {Object}\t\tThe dilog instance.\r\n * @param {Function}\tCallback to check which button triggered the event.\r\n *\r\n * @return {undefined}\r\n */\r\n function triggerCallback(instance, check) {\r\n if(Date.now() - callbackTS > 200 && (callbackTS = Date.now())){\r\n for (var idx = 0; idx < instance.__internal.buttons.length; idx += 1) {\r\n var button = instance.__internal.buttons[idx];\r\n if (!button.element.disabled && check(button)) {\r\n var closeEvent = createCloseEvent(idx, button);\r\n if (typeof instance.callback === 'function') {\r\n instance.callback.apply(instance, [closeEvent]);\r\n }\r\n //close the dialog only if not canceled.\r\n if (closeEvent.cancel === false) {\r\n instance.close();\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Clicks event handler, attached to the dialog footer.\r\n *\r\n * @param {Event}\t\tDOM event object.\r\n * @param {Object}\t\tThe dilog instance.\r\n * \r\n * @return {undefined}\r\n */\r\n function buttonsClickHandler(event, instance) {\r\n var target = event.srcElement || event.target;\r\n triggerCallback(instance, function (button) {\r\n // if this button caused the click, cancel keyup event\r\n return button.element === target && (cancelKeyup = true);\r\n });\r\n }\r\n\r\n /**\r\n * Keyup event handler, attached to the document.body\r\n *\r\n * @param {Event}\t\tDOM event object.\r\n * @param {Object}\t\tThe dilog instance.\r\n * \r\n * @return {undefined}\r\n */\r\n function keyupHandler(event) {\r\n //hitting enter while button has focus will trigger keyup too.\r\n //ignore if handled by clickHandler\r\n if (cancelKeyup) {\r\n cancelKeyup = false;\r\n return;\r\n }\r\n var instance = openDialogs[openDialogs.length - 1];\r\n var keyCode = event.keyCode;\r\n if (instance.__internal.buttons.length === 0 && keyCode === keys.ESC && instance.get('closable') === true) {\r\n triggerClose(instance);\r\n return false;\r\n }else if (usedKeys.indexOf(keyCode) > -1) {\r\n triggerCallback(instance, function (button) {\r\n return button.key === keyCode;\r\n });\r\n return false;\r\n }\r\n }\r\n /**\r\n * Keydown event handler, attached to the document.body\r\n *\r\n * @param {Event}\t\tDOM event object.\r\n * @param {Object}\t\tThe dilog instance.\r\n * \r\n * @return {undefined}\r\n */\r\n function keydownHandler(event) {\r\n var instance = openDialogs[openDialogs.length - 1];\r\n var keyCode = event.keyCode;\r\n if (keyCode === keys.LEFT || keyCode === keys.RIGHT) {\r\n var buttons = instance.__internal.buttons;\r\n for (var x = 0; x < buttons.length; x += 1) {\r\n if (document.activeElement === buttons[x].element) {\r\n switch (keyCode) {\r\n case keys.LEFT:\r\n buttons[(x || buttons.length) - 1].element.focus();\r\n return;\r\n case keys.RIGHT:\r\n buttons[(x + 1) % buttons.length].element.focus();\r\n return;\r\n }\r\n }\r\n }\r\n }else if (keyCode < keys.F12 + 1 && keyCode > keys.F1 - 1 && usedKeys.indexOf(keyCode) > -1) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n triggerCallback(instance, function (button) {\r\n return button.key === keyCode;\r\n });\r\n return false;\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Sets focus to proper dialog element\r\n *\r\n * @param {Object} instance The dilog instance.\r\n * @param {Node} [resetTarget=undefined] DOM element to reset focus to.\r\n *\r\n * @return {undefined}\r\n */\r\n function setFocus(instance, resetTarget) {\r\n // reset target has already been determined.\r\n if (resetTarget) {\r\n resetTarget.focus();\r\n } else {\r\n // current instance focus settings\r\n var focus = instance.__internal.focus;\r\n // the focus element.\r\n var element = focus.element;\r\n\r\n switch (typeof focus.element) {\r\n // a number means a button index\r\n case 'number':\r\n if (instance.__internal.buttons.length > focus.element) {\r\n //in basic view, skip focusing the buttons.\r\n if (instance.get('basic') === true) {\r\n element = instance.elements.reset[0];\r\n } else {\r\n element = instance.__internal.buttons[focus.element].element;\r\n }\r\n }\r\n break;\r\n // a string means querySelector to select from dialog body contents.\r\n case 'string':\r\n element = instance.elements.body.querySelector(focus.element);\r\n break;\r\n // a function should return the focus element.\r\n case 'function':\r\n element = focus.element.call(instance);\r\n break;\r\n }\r\n\r\n // if no focus element, default to first reset element.\r\n if (instance.get('defaultFocusOff') === true || ((typeof element === 'undefined' || element === null) && instance.__internal.buttons.length === 0)) {\r\n element = instance.elements.reset[0];\r\n }\r\n // focus\r\n if (element && element.focus) {\r\n element.focus();\r\n // if selectable\r\n if (focus.select && element.select) {\r\n element.select();\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Focus event handler, attached to document.body and dialogs own reset links.\r\n * handles the focus for modal dialogs only.\r\n *\r\n * @param {Event} event DOM focus event object.\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function onReset(event, instance) {\r\n\r\n // should work on last modal if triggered from document.body \r\n if (!instance) {\r\n for (var x = openDialogs.length - 1; x > -1; x -= 1) {\r\n if (openDialogs[x].isModal()) {\r\n instance = openDialogs[x];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if(instance) {\r\n // if modal\r\n if (instance.isModal()) {\r\n // determine reset target to enable forward/backward tab cycle.\r\n var firstReset = instance.elements.reset[0],\r\n lastReset = instance.elements.reset[1],\r\n lastFocusedElement = event.relatedTarget,\r\n within = instance.elements.root.contains(lastFocusedElement),\r\n target = event.srcElement || event.target,\r\n resetTarget;\r\n\r\n //if the previous focused element element was outside the modal do nthing\r\n if( /*first show */\r\n (target === firstReset && !within) ||\r\n /*focus cycle */\r\n (target === lastReset && lastFocusedElement === firstReset)){\r\n return;\r\n }else if(target === lastReset || target === document.body){\r\n resetTarget = firstReset;\r\n }else if(target === firstReset && lastFocusedElement === lastReset){\r\n resetTarget = findTabbable(instance);\r\n }else if(target === firstReset && within){\r\n resetTarget = findTabbable(instance, true);\r\n }\r\n // focus\r\n setFocus(instance, resetTarget);\r\n }\r\n }\r\n }\r\n function findTabbable(instance, last){\r\n var tabbables = [].slice.call(instance.elements.dialog.querySelectorAll(defaults.tabbable));\r\n if(last){\r\n tabbables.reverse();\r\n }\r\n for(var x=0;x startingWidth) {\r\n //growing\r\n element.style.left = (startingLeft + diff) + 'px';\r\n } else if (element.offsetWidth >= minWidth) {\r\n //shrinking\r\n element.style.left = (startingLeft - diff) + 'px';\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Triggers the start of a resize event, attached to the resize handle element mouse down event.\r\n * Adds no-selection class to the body, disabling selection while moving.\r\n *\r\n * @param {Event} event\tDOM event object.\r\n * @param {Object} instance The dilog instance.\r\n * \r\n * @return {Boolean} false\r\n */\r\n function beginResize(event, instance) {\r\n if (!instance.isMaximized()) {\r\n var eventSrc;\r\n if (event.type === 'touchstart') {\r\n event.preventDefault();\r\n eventSrc = event.targetTouches[0];\r\n } else if (event.button === 0) {\r\n eventSrc = event;\r\n }\r\n if (eventSrc) {\r\n // allow custom `onresize` method\r\n dispatchEvent('onresize', instance);\r\n \r\n resizable = instance;\r\n handleOffset = instance.elements.resizeHandle.offsetHeight / 2;\r\n var element = instance.elements.dialog;\r\n addClass(element, classes.capture);\r\n startingLeft = parseInt(element.style.left, 10);\r\n element.style.height = element.offsetHeight + 'px';\r\n element.style.minHeight = instance.elements.header.offsetHeight + instance.elements.footer.offsetHeight + 'px';\r\n element.style.width = (startingWidth = element.offsetWidth) + 'px';\r\n\r\n if (element.style.maxWidth !== 'none') {\r\n element.style.minWidth = (minWidth = element.offsetWidth) + 'px';\r\n }\r\n element.style.maxWidth = 'none';\r\n addClass(document.body, classes.noSelection);\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * The actual resize handler, attached to document.body mousemove event.\r\n *\r\n * @param {Event} event\tDOM event object.\r\n * \r\n * @return {undefined}\r\n */\r\n function resize(event) {\r\n if (resizable) {\r\n var eventSrc;\r\n if (event.type === 'touchmove') {\r\n event.preventDefault();\r\n eventSrc = event.targetTouches[0];\r\n } else if (event.button === 0) {\r\n eventSrc = event;\r\n }\r\n if (eventSrc) {\r\n resizeElement(eventSrc, resizable.elements.dialog, !resizable.get('modal') && !resizable.get('pinned'));\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Triggers the end of a resize event, attached to document.body mouseup event.\r\n * Removes no-selection class from document.body, allowing selection.\r\n *\r\n * @return {undefined}\r\n */\r\n function endResize() {\r\n if (resizable) {\r\n var instance = resizable;\r\n resizable = null;\r\n removeClass(document.body, classes.noSelection);\r\n removeClass(instance.elements.dialog, classes.capture);\r\n cancelClick = true;\r\n // allow custom `onresized` method\r\n dispatchEvent('onresized', instance);\r\n }\r\n }\r\n\r\n /**\r\n * Resets any changes made by resizing the element to its original state.\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function resetResize(instance) {\r\n resizable = null;\r\n var element = instance.elements.dialog;\r\n if (element.style.maxWidth === 'none') {\r\n //clear inline styles.\r\n element.style.maxWidth = element.style.minWidth = element.style.width = element.style.height = element.style.minHeight = element.style.left = '';\r\n //reset variables.\r\n startingLeft = Number.Nan;\r\n startingWidth = minWidth = handleOffset = 0;\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Updates the dialog move behavior.\r\n *\r\n * @param {Object} instance The dilog instance.\r\n * @param {Boolean} on True to add the behavior, removes it otherwise.\r\n *\r\n * @return {undefined}\r\n */\r\n function updateResizable(instance) {\r\n if (instance.get('resizable')) {\r\n // add class\r\n addClass(instance.elements.root, classes.resizable);\r\n if (instance.isOpen()) {\r\n bindResizableEvents(instance);\r\n }\r\n } else {\r\n //reset\r\n resetResize(instance);\r\n // remove class\r\n removeClass(instance.elements.root, classes.resizable);\r\n if (instance.isOpen()) {\r\n unbindResizableEvents(instance);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Reset move/resize on window resize.\r\n *\r\n * @param {Event} event\twindow resize event object.\r\n *\r\n * @return {undefined}\r\n */\r\n function windowResize(/*event*/) {\r\n for (var x = 0; x < openDialogs.length; x += 1) {\r\n var instance = openDialogs[x];\r\n if (instance.get('autoReset')) {\r\n resetMove(instance);\r\n resetResize(instance);\r\n }\r\n }\r\n }\r\n /**\r\n * Bind dialogs events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindEvents(instance) {\r\n // if first dialog, hook global handlers\r\n if (openDialogs.length === 1) {\r\n //global\r\n on(window, 'resize', windowResize);\r\n on(document.body, 'keyup', keyupHandler);\r\n on(document.body, 'keydown', keydownHandler);\r\n on(document.body, 'focus', onReset);\r\n\r\n //move\r\n on(document.documentElement, 'mousemove', move);\r\n on(document.documentElement, 'touchmove', move, false, false);\r\n on(document.documentElement, 'mouseup', endMove);\r\n on(document.documentElement, 'touchend', endMove);\r\n //resize\r\n on(document.documentElement, 'mousemove', resize);\r\n on(document.documentElement, 'touchmove', resize, false, false);\r\n on(document.documentElement, 'mouseup', endResize);\r\n on(document.documentElement, 'touchend', endResize);\r\n }\r\n\r\n // common events\r\n on(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler);\r\n on(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler);\r\n on(instance.elements.reset[0], 'focusin', instance.__internal.resetHandler);\r\n on(instance.elements.reset[0], 'keydown', recycleTab);\r\n on(instance.elements.reset[1], 'focusin', instance.__internal.resetHandler);\r\n\r\n //prevent handling key up when dialog is being opened by a key stroke.\r\n cancelKeyup = true;\r\n // hook in transition handler\r\n on(instance.elements.dialog, transition.type, instance.__internal.transitionInHandler);\r\n\r\n // modelss only events\r\n if (!instance.get('modal')) {\r\n bindModelessEvents(instance);\r\n }\r\n\r\n // resizable\r\n if (instance.get('resizable')) {\r\n bindResizableEvents(instance);\r\n }\r\n\r\n // movable\r\n if (instance.get('movable')) {\r\n bindMovableEvents(instance);\r\n }\r\n }\r\n\r\n /**\r\n * Unbind dialogs events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindEvents(instance) {\r\n // if last dialog, remove global handlers\r\n if (openDialogs.length === 1) {\r\n //global\r\n off(window, 'resize', windowResize);\r\n off(document.body, 'keyup', keyupHandler);\r\n off(document.body, 'keydown', keydownHandler);\r\n off(document.body, 'focus', onReset);\r\n //move\r\n off(document.documentElement, 'mousemove', move);\r\n off(document.documentElement, 'mouseup', endMove);\r\n //resize\r\n off(document.documentElement, 'mousemove', resize);\r\n off(document.documentElement, 'mouseup', endResize);\r\n }\r\n\r\n // common events\r\n off(instance.elements.commands.container, 'click', instance.__internal.commandsClickHandler);\r\n off(instance.elements.footer, 'click', instance.__internal.buttonsClickHandler);\r\n off(instance.elements.reset[0], 'focusin', instance.__internal.resetHandler);\r\n off(instance.elements.reset[0], 'keydown', recycleTab);\r\n off(instance.elements.reset[1], 'focusin', instance.__internal.resetHandler);\r\n\r\n // hook out transition handler\r\n on(instance.elements.dialog, transition.type, instance.__internal.transitionOutHandler);\r\n\r\n // modelss only events\r\n if (!instance.get('modal')) {\r\n unbindModelessEvents(instance);\r\n }\r\n\r\n // movable\r\n if (instance.get('movable')) {\r\n unbindMovableEvents(instance);\r\n }\r\n\r\n // resizable\r\n if (instance.get('resizable')) {\r\n unbindResizableEvents(instance);\r\n }\r\n\r\n }\r\n\r\n /**\r\n * Bind modeless specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindModelessEvents(instance) {\r\n on(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true);\r\n }\r\n\r\n /**\r\n * Unbind modeless specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindModelessEvents(instance) {\r\n off(instance.elements.dialog, 'focus', instance.__internal.bringToFrontHandler, true);\r\n }\r\n\r\n\r\n\r\n /**\r\n * Bind movable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindMovableEvents(instance) {\r\n on(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler);\r\n on(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler, false, false);\r\n }\r\n\r\n /**\r\n * Unbind movable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindMovableEvents(instance) {\r\n off(instance.elements.header, 'mousedown', instance.__internal.beginMoveHandler);\r\n off(instance.elements.header, 'touchstart', instance.__internal.beginMoveHandler, false, false);\r\n }\r\n\r\n\r\n\r\n /**\r\n * Bind resizable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindResizableEvents(instance) {\r\n on(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler);\r\n on(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler, false, false);\r\n }\r\n\r\n /**\r\n * Unbind resizable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindResizableEvents(instance) {\r\n off(instance.elements.resizeHandle, 'mousedown', instance.__internal.beginResizeHandler);\r\n off(instance.elements.resizeHandle, 'touchstart', instance.__internal.beginResizeHandler, false, false);\r\n }\r\n\r\n /**\r\n * Bind closable events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function bindClosableEvents(instance) {\r\n on(instance.elements.modal, 'click', instance.__internal.modalClickHandler);\r\n }\r\n\r\n /**\r\n * Unbind closable specific events\r\n *\r\n * @param {Object} instance The dilog instance.\r\n *\r\n * @return {undefined}\r\n */\r\n function unbindClosableEvents(instance) {\r\n off(instance.elements.modal, 'click', instance.__internal.modalClickHandler);\r\n }\r\n // dialog API\r\n return {\r\n __init:initialize,\r\n /**\r\n * Check if dialog is currently open\r\n *\r\n * @return {Boolean}\r\n */\r\n isOpen: function () {\r\n return this.__internal.isOpen;\r\n },\r\n isModal: function (){\r\n return this.elements.root.className.indexOf(classes.modeless) < 0;\r\n },\r\n isMaximized:function(){\r\n return this.elements.root.className.indexOf(classes.maximized) > -1;\r\n },\r\n isPinned:function(){\r\n return this.elements.root.className.indexOf(classes.unpinned) < 0;\r\n },\r\n maximize:function(){\r\n if(!this.isMaximized()){\r\n maximize(this);\r\n }\r\n return this;\r\n },\r\n restore:function(){\r\n if(this.isMaximized()){\r\n restore(this);\r\n }\r\n return this;\r\n },\r\n pin:function(){\r\n if(!this.isPinned()){\r\n pin(this);\r\n }\r\n return this;\r\n },\r\n unpin:function(){\r\n if(this.isPinned()){\r\n unpin(this);\r\n }\r\n return this;\r\n },\r\n bringToFront:function(){\r\n bringToFront(null, this);\r\n return this;\r\n },\r\n /**\r\n * Move the dialog to a specific x/y coordinates\r\n *\r\n * @param {Number} x The new dialog x coordinate in pixels.\r\n * @param {Number} y The new dialog y coordinate in pixels.\r\n *\r\n * @return {Object} The dialog instance.\r\n */\r\n moveTo:function(x,y){\r\n if(!isNaN(x) && !isNaN(y)){\r\n // allow custom `onmove` method\r\n dispatchEvent('onmove', this);\r\n \r\n var element = this.elements.dialog,\r\n current = element,\r\n offsetLeft = 0,\r\n offsetTop = 0;\r\n \r\n //subtract existing left,top\r\n if (element.style.left) {\r\n offsetLeft -= parseInt(element.style.left, 10);\r\n }\r\n if (element.style.top) {\r\n offsetTop -= parseInt(element.style.top, 10);\r\n }\r\n //calc offset\r\n do {\r\n offsetLeft += current.offsetLeft;\r\n offsetTop += current.offsetTop;\r\n } while (current = current.offsetParent);\r\n\r\n //calc left, top\r\n var left = (x - offsetLeft);\r\n var top = (y - offsetTop);\r\n\r\n //// rtl handling\r\n if (isRightToLeft()) {\r\n left *= -1;\r\n }\r\n\r\n element.style.left = left + 'px';\r\n element.style.top = top + 'px';\r\n \r\n // allow custom `onmoved` method\r\n dispatchEvent('onmoved', this);\r\n }\r\n return this;\r\n },\r\n /**\r\n * Resize the dialog to a specific width/height (the dialog must be 'resizable').\r\n * The dialog can be resized to:\r\n * A minimum width equal to the initial display width\r\n * A minimum height equal to the sum of header/footer heights.\r\n *\r\n *\r\n * @param {Number or String} width The new dialog width in pixels or in percent.\r\n * @param {Number or String} height The new dialog height in pixels or in percent.\r\n *\r\n * @return {Object} The dialog instance.\r\n */\r\n resizeTo:function(width,height){\r\n var w = parseFloat(width),\r\n h = parseFloat(height),\r\n regex = /(\\d*\\.\\d+|\\d+)%/\r\n ;\r\n\r\n if(!isNaN(w) && !isNaN(h) && this.get('resizable') === true){\r\n \r\n // allow custom `onresize` method\r\n dispatchEvent('onresize', this);\r\n \r\n if(('' + width).match(regex)){\r\n w = w / 100 * document.documentElement.clientWidth ;\r\n }\r\n\r\n if(('' + height).match(regex)){\r\n h = h / 100 * document.documentElement.clientHeight;\r\n }\r\n\r\n var element = this.elements.dialog;\r\n if (element.style.maxWidth !== 'none') {\r\n element.style.minWidth = (minWidth = element.offsetWidth) + 'px';\r\n }\r\n element.style.maxWidth = 'none';\r\n element.style.minHeight = this.elements.header.offsetHeight + this.elements.footer.offsetHeight + 'px';\r\n element.style.width = w + 'px';\r\n element.style.height = h + 'px';\r\n \r\n // allow custom `onresized` method\r\n dispatchEvent('onresized', this);\r\n }\r\n return this;\r\n },\r\n /**\r\n * Gets or Sets dialog settings/options \r\n *\r\n * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs.\r\n * @param {Object} value Optional, the value associated with the key (in case it was a string).\r\n *\r\n * @return {undefined}\r\n */\r\n setting : function (key, value) {\r\n var self = this;\r\n var result = update(this, this.__internal.options, function(k,o,n){ optionUpdated(self,k,o,n); }, key, value);\r\n if(result.op === 'get'){\r\n if(result.found){\r\n return result.value;\r\n }else if(typeof this.settings !== 'undefined'){\r\n return update(this, this.settings, this.settingUpdated || function(){}, key, value).value;\r\n }else{\r\n return undefined;\r\n }\r\n }else if(result.op === 'set'){\r\n if(result.items.length > 0){\r\n var callback = this.settingUpdated || function(){};\r\n for(var x=0;x 0) {\r\n var self = this;\r\n this.__internal.timer = setTimeout(function () { self.dismiss(); }, this.__internal.delay * 1000);\r\n }\r\n return this;\r\n },\r\n /*\r\n * Sets the notification message contents\r\n * @param {string or DOMElement} content The notification message content\r\n *\r\n */\r\n setContent: function (content) {\r\n if (typeof content === 'string') {\r\n clearContents(this.element);\r\n this.element.innerHTML = content;\r\n } else if (content instanceof window.HTMLElement && this.element.firstChild !== content) {\r\n clearContents(this.element);\r\n this.element.appendChild(content);\r\n }\r\n if(this.__internal.closeButton){\r\n var close = document.createElement('span');\r\n addClass(close, classes.close);\r\n close.setAttribute('data-close', true);\r\n this.element.appendChild(close);\r\n }\r\n return this;\r\n },\r\n /*\r\n * Dismisses all open notifications except this.\r\n *\r\n */\r\n dismissOthers: function () {\r\n notifier.dismissAll(this);\r\n return this;\r\n }\r\n });\r\n }\r\n\r\n //notifier api\r\n return {\r\n /**\r\n * Gets or Sets notifier settings.\r\n *\r\n * @param {string} key The setting name\r\n * @param {Variant} value The setting value.\r\n *\r\n * @return {Object}\tif the called as a setter, return the notifier instance.\r\n */\r\n setting: function (key, value) {\r\n //ensure init\r\n initialize(this);\r\n\r\n if (typeof value === 'undefined') {\r\n //get\r\n return this.__internal[key];\r\n } else {\r\n //set\r\n switch (key) {\r\n case 'position':\r\n this.__internal.position = value;\r\n updatePosition(this);\r\n break;\r\n case 'delay':\r\n this.__internal.delay = value;\r\n break;\r\n }\r\n }\r\n return this;\r\n },\r\n /**\r\n * [Alias] Sets dialog settings/options\r\n */\r\n set:function(key,value){\r\n this.setting(key,value);\r\n return this;\r\n },\r\n /**\r\n * [Alias] Gets dialog settings/options\r\n */\r\n get:function(key){\r\n return this.setting(key);\r\n },\r\n /**\r\n * Creates a new notification message\r\n *\r\n * @param {string} type The type of notification message (simply a CSS class name 'ajs-{type}' to be added).\r\n * @param {Function} callback A callback function to be invoked when the message is dismissed.\r\n *\r\n * @return {undefined}\r\n */\r\n create: function (type, callback) {\r\n //ensure notifier init\r\n initialize(this);\r\n //create new notification message\r\n var div = document.createElement('div');\r\n div.className = classes.message + ((typeof type === 'string' && type !== '') ? ' ' + classes.prefix + type : '');\r\n return create(div, callback);\r\n },\r\n /**\r\n * Dismisses all open notifications.\r\n *\r\n * @param {Object} excpet [optional] The notification object to exclude from dismissal.\r\n *\r\n */\r\n dismissAll: function (except) {\r\n var clone = openInstances.slice(0);\r\n for (var x = 0; x < clone.length; x += 1) {\r\n var instance = clone[x];\r\n if (except === undefined || except !== instance) {\r\n instance.dismiss();\r\n }\r\n }\r\n }\r\n };\r\n })();\r\n\r\n /**\r\n * Alertify public API\r\n * This contains everything that is exposed through the alertify object.\r\n *\r\n * @return {Object}\r\n */\r\n function Alertify() {\r\n\r\n // holds a references of created dialogs\r\n var dialogs = {};\r\n\r\n /**\r\n * Extends a given prototype by merging properties from base into sub.\r\n *\r\n * @sub {Object} sub The prototype being overwritten.\r\n * @base {Object} base The prototype being written.\r\n *\r\n * @return {Object} The extended prototype.\r\n */\r\n function extend(sub, base) {\r\n // copy dialog pototype over definition.\r\n for (var prop in base) {\r\n if (base.hasOwnProperty(prop)) {\r\n sub[prop] = base[prop];\r\n }\r\n }\r\n return sub;\r\n }\r\n\r\n\r\n /**\r\n * Helper: returns a dialog instance from saved dialogs.\r\n * and initializes the dialog if its not already initialized.\r\n *\r\n * @name {String} name The dialog name.\r\n *\r\n * @return {Object} The dialog instance.\r\n */\r\n function get_dialog(name) {\r\n var dialog = dialogs[name].dialog;\r\n //initialize the dialog if its not already initialized.\r\n if (dialog && typeof dialog.__init === 'function') {\r\n dialog.__init(dialog);\r\n }\r\n return dialog;\r\n }\r\n\r\n /**\r\n * Helper: registers a new dialog definition.\r\n *\r\n * @name {String} name The dialog name.\r\n * @Factory {Function} Factory a function resposible for creating dialog prototype.\r\n * @transient {Boolean} transient True to create a new dialog instance each time the dialog is invoked, false otherwise.\r\n * @base {String} base the name of another dialog to inherit from.\r\n *\r\n * @return {Object} The dialog definition.\r\n */\r\n function register(name, Factory, transient, base) {\r\n var definition = {\r\n dialog: null,\r\n factory: Factory\r\n };\r\n\r\n //if this is based on an existing dialog, create a new definition\r\n //by applying the new protoype over the existing one.\r\n if (base !== undefined) {\r\n definition.factory = function () {\r\n return extend(new dialogs[base].factory(), new Factory());\r\n };\r\n }\r\n\r\n if (!transient) {\r\n //create a new definition based on dialog\r\n definition.dialog = extend(new definition.factory(), dialog);\r\n }\r\n return dialogs[name] = definition;\r\n }\r\n\r\n return {\r\n /**\r\n * Alertify defaults\r\n * \r\n * @type {Object}\r\n */\r\n defaults: defaults,\r\n /**\r\n * Dialogs factory \r\n *\r\n * @param {string} Dialog name.\r\n * @param {Function} A Dialog factory function.\r\n * @param {Boolean} Indicates whether to create a singleton or transient dialog.\r\n * @param {String} The name of the base type to inherit from.\r\n */\r\n dialog: function (name, Factory, transient, base) {\r\n\r\n // get request, create a new instance and return it.\r\n if (typeof Factory !== 'function') {\r\n return get_dialog(name);\r\n }\r\n\r\n if (this.hasOwnProperty(name)) {\r\n throw new Error('alertify.dialog: name already exists');\r\n }\r\n\r\n // register the dialog\r\n var definition = register(name, Factory, transient, base);\r\n\r\n if (transient) {\r\n\r\n // make it public\r\n this[name] = function () {\r\n //if passed with no params, consider it a get request\r\n if (arguments.length === 0) {\r\n return definition.dialog;\r\n } else {\r\n var instance = extend(new definition.factory(), dialog);\r\n //ensure init\r\n if (instance && typeof instance.__init === 'function') {\r\n instance.__init(instance);\r\n }\r\n instance['main'].apply(instance, arguments);\r\n return instance['show'].apply(instance);\r\n }\r\n };\r\n } else {\r\n // make it public\r\n this[name] = function () {\r\n //ensure init\r\n if (definition.dialog && typeof definition.dialog.__init === 'function') {\r\n definition.dialog.__init(definition.dialog);\r\n }\r\n //if passed with no params, consider it a get request\r\n if (arguments.length === 0) {\r\n return definition.dialog;\r\n } else {\r\n var dialog = definition.dialog;\r\n dialog['main'].apply(definition.dialog, arguments);\r\n return dialog['show'].apply(definition.dialog);\r\n }\r\n };\r\n }\r\n },\r\n /**\r\n * Close all open dialogs.\r\n *\r\n * @param {Object} excpet [optional] The dialog object to exclude from closing.\r\n *\r\n * @return {undefined}\r\n */\r\n closeAll: function (except) {\r\n var clone = openDialogs.slice(0);\r\n for (var x = 0; x < clone.length; x += 1) {\r\n var instance = clone[x];\r\n if (except === undefined || except !== instance) {\r\n instance.close();\r\n }\r\n }\r\n },\r\n /**\r\n * Gets or Sets dialog settings/options. if the dialog is transient, this call does nothing.\r\n *\r\n * @param {string} name The dialog name.\r\n * @param {String|Object} key A string specifying a propery name or a collection of key/value pairs.\r\n * @param {Variant} value Optional, the value associated with the key (in case it was a string).\r\n *\r\n * @return {undefined}\r\n */\r\n setting: function (name, key, value) {\r\n\r\n if (name === 'notifier') {\r\n return notifier.setting(key, value);\r\n }\r\n\r\n var dialog = get_dialog(name);\r\n if (dialog) {\r\n return dialog.setting(key, value);\r\n }\r\n },\r\n /**\r\n * [Alias] Sets dialog settings/options \r\n */\r\n set: function(name,key,value){\r\n return this.setting(name, key,value);\r\n },\r\n /**\r\n * [Alias] Gets dialog settings/options \r\n */\r\n get: function(name, key){\r\n return this.setting(name, key);\r\n },\r\n /**\r\n * Creates a new notification message.\r\n * If a type is passed, a class name \"ajs-{type}\" will be added.\r\n * This allows for custom look and feel for various types of notifications.\r\n *\r\n * @param {String | DOMElement} [message=undefined]\t\tMessage text\r\n * @param {String} [type='']\t\t\t\tType of log message\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function} [callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n notify: function (message, type, wait, callback) {\r\n return notifier.create(type, callback).push(message, wait);\r\n },\r\n /**\r\n * Creates a new notification message.\r\n *\r\n * @param {String}\t\t[message=undefined]\t\tMessage text\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function}\t[callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n message: function (message, wait, callback) {\r\n return notifier.create(null, callback).push(message, wait);\r\n },\r\n /**\r\n * Creates a new notification message of type 'success'.\r\n *\r\n * @param {String}\t\t[message=undefined]\t\tMessage text\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function}\t[callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n success: function (message, wait, callback) {\r\n return notifier.create('success', callback).push(message, wait);\r\n },\r\n /**\r\n * Creates a new notification message of type 'error'.\r\n *\r\n * @param {String}\t\t[message=undefined]\t\tMessage text\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function}\t[callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n error: function (message, wait, callback) {\r\n return notifier.create('error', callback).push(message, wait);\r\n },\r\n /**\r\n * Creates a new notification message of type 'warning'.\r\n *\r\n * @param {String}\t\t[message=undefined]\t\tMessage text\r\n * @param {String} [wait='']\t\t\t\tTime (in seconds) to wait before auto-close\r\n * @param {Function}\t[callback=undefined]\tA callback function to be invoked when the log is closed.\r\n *\r\n * @return {Object} Notification object.\r\n */\r\n warning: function (message, wait, callback) {\r\n return notifier.create('warning', callback).push(message, wait);\r\n },\r\n /**\r\n * Dismisses all open notifications\r\n *\r\n * @return {undefined}\r\n */\r\n dismissAll: function () {\r\n notifier.dismissAll();\r\n }\r\n };\r\n }\r\n var alertify = new Alertify();\r\n\r\n /**\r\n * Alert dialog definition\r\n *\r\n * invoked by:\r\n *\talertify.alert(message);\r\n *\talertify.alert(title, message);\r\n *\talertify.alert(message, onok);\r\n *\talertify.alert(title, message, onok);\r\n */\r\n alertify.dialog('alert', function () {\r\n return {\r\n main: function (_title, _message, _onok) {\r\n var title, message, onok;\r\n switch (arguments.length) {\r\n case 1:\r\n message = _title;\r\n break;\r\n case 2:\r\n if (typeof _message === 'function') {\r\n message = _title;\r\n onok = _message;\r\n } else {\r\n title = _title;\r\n message = _message;\r\n }\r\n break;\r\n case 3:\r\n title = _title;\r\n message = _message;\r\n onok = _onok;\r\n break;\r\n }\r\n this.set('title', title);\r\n this.set('message', message);\r\n this.set('onok', onok);\r\n return this;\r\n },\r\n setup: function () {\r\n return {\r\n buttons: [\r\n {\r\n text: alertify.defaults.glossary.ok,\r\n key: keys.ESC,\r\n invokeOnClose: true,\r\n className: alertify.defaults.theme.ok,\r\n }\r\n ],\r\n focus: {\r\n element: 0,\r\n select: false\r\n },\r\n options: {\r\n maximizable: false,\r\n resizable: false\r\n }\r\n };\r\n },\r\n build: function () {\r\n // nothing\r\n },\r\n prepare: function () {\r\n //nothing\r\n },\r\n setMessage: function (message) {\r\n this.setContent(message);\r\n },\r\n settings: {\r\n message: undefined,\r\n onok: undefined,\r\n label: undefined,\r\n },\r\n settingUpdated: function (key, oldValue, newValue) {\r\n switch (key) {\r\n case 'message':\r\n this.setMessage(newValue);\r\n break;\r\n case 'label':\r\n if (this.__internal.buttons[0].element) {\r\n this.__internal.buttons[0].element.innerHTML = newValue;\r\n }\r\n break;\r\n }\r\n },\r\n callback: function (closeEvent) {\r\n if (typeof this.get('onok') === 'function') {\r\n var returnValue = this.get('onok').call(this, closeEvent);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n }\r\n };\r\n });\r\n /**\r\n * Confirm dialog object\r\n *\r\n *\talertify.confirm(message);\r\n *\talertify.confirm(message, onok);\r\n *\talertify.confirm(message, onok, oncancel);\r\n *\talertify.confirm(title, message, onok, oncancel);\r\n */\r\n alertify.dialog('confirm', function () {\r\n\r\n var autoConfirm = {\r\n timer: null,\r\n index: null,\r\n text: null,\r\n duration: null,\r\n task: function (event, self) {\r\n if (self.isOpen()) {\r\n self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text + ' (‏' + autoConfirm.duration + '‏) ';\r\n autoConfirm.duration -= 1;\r\n if (autoConfirm.duration === -1) {\r\n clearAutoConfirm(self);\r\n var button = self.__internal.buttons[autoConfirm.index];\r\n var closeEvent = createCloseEvent(autoConfirm.index, button);\r\n\r\n if (typeof self.callback === 'function') {\r\n self.callback.apply(self, [closeEvent]);\r\n }\r\n //close the dialog.\r\n if (closeEvent.close !== false) {\r\n self.close();\r\n }\r\n }\r\n } else {\r\n clearAutoConfirm(self);\r\n }\r\n }\r\n };\r\n\r\n function clearAutoConfirm(self) {\r\n if (autoConfirm.timer !== null) {\r\n clearInterval(autoConfirm.timer);\r\n autoConfirm.timer = null;\r\n self.__internal.buttons[autoConfirm.index].element.innerHTML = autoConfirm.text;\r\n }\r\n }\r\n\r\n function startAutoConfirm(self, index, duration) {\r\n clearAutoConfirm(self);\r\n autoConfirm.duration = duration;\r\n autoConfirm.index = index;\r\n autoConfirm.text = self.__internal.buttons[index].element.innerHTML;\r\n autoConfirm.timer = setInterval(delegate(self, autoConfirm.task), 1000);\r\n autoConfirm.task(null, self);\r\n }\r\n\r\n\r\n return {\r\n main: function (_title, _message, _onok, _oncancel) {\r\n var title, message, onok, oncancel;\r\n switch (arguments.length) {\r\n case 1:\r\n message = _title;\r\n break;\r\n case 2:\r\n message = _title;\r\n onok = _message;\r\n break;\r\n case 3:\r\n message = _title;\r\n onok = _message;\r\n oncancel = _onok;\r\n break;\r\n case 4:\r\n title = _title;\r\n message = _message;\r\n onok = _onok;\r\n oncancel = _oncancel;\r\n break;\r\n }\r\n this.set('title', title);\r\n this.set('message', message);\r\n this.set('onok', onok);\r\n this.set('oncancel', oncancel);\r\n return this;\r\n },\r\n setup: function () {\r\n return {\r\n buttons: [\r\n {\r\n text: alertify.defaults.glossary.ok,\r\n key: keys.ENTER,\r\n className: alertify.defaults.theme.ok,\r\n },\r\n {\r\n text: alertify.defaults.glossary.cancel,\r\n key: keys.ESC,\r\n invokeOnClose: true,\r\n className: alertify.defaults.theme.cancel,\r\n }\r\n ],\r\n focus: {\r\n element: 0,\r\n select: false\r\n },\r\n options: {\r\n maximizable: false,\r\n resizable: false\r\n }\r\n };\r\n },\r\n build: function () {\r\n //nothing\r\n },\r\n prepare: function () {\r\n //nothing\r\n },\r\n setMessage: function (message) {\r\n this.setContent(message);\r\n },\r\n settings: {\r\n message: null,\r\n labels: null,\r\n onok: null,\r\n oncancel: null,\r\n defaultFocus: null,\r\n reverseButtons: null,\r\n },\r\n settingUpdated: function (key, oldValue, newValue) {\r\n switch (key) {\r\n case 'message':\r\n this.setMessage(newValue);\r\n break;\r\n case 'labels':\r\n if ('ok' in newValue && this.__internal.buttons[0].element) {\r\n this.__internal.buttons[0].text = newValue.ok;\r\n this.__internal.buttons[0].element.innerHTML = newValue.ok;\r\n }\r\n if ('cancel' in newValue && this.__internal.buttons[1].element) {\r\n this.__internal.buttons[1].text = newValue.cancel;\r\n this.__internal.buttons[1].element.innerHTML = newValue.cancel;\r\n }\r\n break;\r\n case 'reverseButtons':\r\n if (newValue === true) {\r\n this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element);\r\n } else {\r\n this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element);\r\n }\r\n break;\r\n case 'defaultFocus':\r\n this.__internal.focus.element = newValue === 'ok' ? 0 : 1;\r\n break;\r\n }\r\n },\r\n callback: function (closeEvent) {\r\n clearAutoConfirm(this);\r\n var returnValue;\r\n switch (closeEvent.index) {\r\n case 0:\r\n if (typeof this.get('onok') === 'function') {\r\n returnValue = this.get('onok').call(this, closeEvent);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n break;\r\n case 1:\r\n if (typeof this.get('oncancel') === 'function') {\r\n returnValue = this.get('oncancel').call(this, closeEvent);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n break;\r\n }\r\n },\r\n autoOk: function (duration) {\r\n startAutoConfirm(this, 0, duration);\r\n return this;\r\n },\r\n autoCancel: function (duration) {\r\n startAutoConfirm(this, 1, duration);\r\n return this;\r\n }\r\n };\r\n });\r\n /**\r\n * Prompt dialog object\r\n *\r\n * invoked by:\r\n *\talertify.prompt(message);\r\n *\talertify.prompt(message, value);\r\n *\talertify.prompt(message, value, onok);\r\n *\talertify.prompt(message, value, onok, oncancel);\r\n *\talertify.prompt(title, message, value, onok, oncancel);\r\n */\r\n alertify.dialog('prompt', function () {\r\n var input = document.createElement('INPUT');\r\n var p = document.createElement('P');\r\n return {\r\n main: function (_title, _message, _value, _onok, _oncancel) {\r\n var title, message, value, onok, oncancel;\r\n switch (arguments.length) {\r\n case 1:\r\n message = _title;\r\n break;\r\n case 2:\r\n message = _title;\r\n value = _message;\r\n break;\r\n case 3:\r\n message = _title;\r\n value = _message;\r\n onok = _value;\r\n break;\r\n case 4:\r\n message = _title;\r\n value = _message;\r\n onok = _value;\r\n oncancel = _onok;\r\n break;\r\n case 5:\r\n title = _title;\r\n message = _message;\r\n value = _value;\r\n onok = _onok;\r\n oncancel = _oncancel;\r\n break;\r\n }\r\n this.set('title', title);\r\n this.set('message', message);\r\n this.set('value', value);\r\n this.set('onok', onok);\r\n this.set('oncancel', oncancel);\r\n return this;\r\n },\r\n setup: function () {\r\n return {\r\n buttons: [\r\n {\r\n text: alertify.defaults.glossary.ok,\r\n key: keys.ENTER,\r\n className: alertify.defaults.theme.ok,\r\n },\r\n {\r\n text: alertify.defaults.glossary.cancel,\r\n key: keys.ESC,\r\n invokeOnClose: true,\r\n className: alertify.defaults.theme.cancel,\r\n }\r\n ],\r\n focus: {\r\n element: input,\r\n select: true\r\n },\r\n options: {\r\n maximizable: false,\r\n resizable: false\r\n }\r\n };\r\n },\r\n build: function () {\r\n input.className = alertify.defaults.theme.input;\r\n input.setAttribute('type', 'text');\r\n input.value = this.get('value');\r\n this.elements.content.appendChild(p);\r\n this.elements.content.appendChild(input);\r\n },\r\n prepare: function () {\r\n //nothing\r\n },\r\n setMessage: function (message) {\r\n if (typeof message === 'string') {\r\n clearContents(p);\r\n p.innerHTML = message;\r\n } else if (message instanceof window.HTMLElement && p.firstChild !== message) {\r\n clearContents(p);\r\n p.appendChild(message);\r\n }\r\n },\r\n settings: {\r\n message: undefined,\r\n labels: undefined,\r\n onok: undefined,\r\n oncancel: undefined,\r\n value: '',\r\n type:'text',\r\n reverseButtons: undefined,\r\n },\r\n settingUpdated: function (key, oldValue, newValue) {\r\n switch (key) {\r\n case 'message':\r\n this.setMessage(newValue);\r\n break;\r\n case 'value':\r\n input.value = newValue;\r\n break;\r\n case 'type':\r\n switch (newValue) {\r\n case 'text':\r\n case 'color':\r\n case 'date':\r\n case 'datetime-local':\r\n case 'email':\r\n case 'month':\r\n case 'number':\r\n case 'password':\r\n case 'search':\r\n case 'tel':\r\n case 'time':\r\n case 'week':\r\n input.type = newValue;\r\n break;\r\n default:\r\n input.type = 'text';\r\n break;\r\n }\r\n break;\r\n case 'labels':\r\n if (newValue.ok && this.__internal.buttons[0].element) {\r\n this.__internal.buttons[0].element.innerHTML = newValue.ok;\r\n }\r\n if (newValue.cancel && this.__internal.buttons[1].element) {\r\n this.__internal.buttons[1].element.innerHTML = newValue.cancel;\r\n }\r\n break;\r\n case 'reverseButtons':\r\n if (newValue === true) {\r\n this.elements.buttons.primary.appendChild(this.__internal.buttons[0].element);\r\n } else {\r\n this.elements.buttons.primary.appendChild(this.__internal.buttons[1].element);\r\n }\r\n break;\r\n }\r\n },\r\n callback: function (closeEvent) {\r\n var returnValue;\r\n switch (closeEvent.index) {\r\n case 0:\r\n this.settings.value = input.value;\r\n if (typeof this.get('onok') === 'function') {\r\n returnValue = this.get('onok').call(this, closeEvent, this.settings.value);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n break;\r\n case 1:\r\n if (typeof this.get('oncancel') === 'function') {\r\n returnValue = this.get('oncancel').call(this, closeEvent);\r\n if (typeof returnValue !== 'undefined') {\r\n closeEvent.cancel = !returnValue;\r\n }\r\n }\r\n if(!closeEvent.cancel){\r\n input.value = this.settings.value;\r\n }\r\n break;\r\n }\r\n }\r\n };\r\n });\r\n\r\n // CommonJS\r\n if ( typeof module === 'object' && typeof module.exports === 'object' ) {\r\n module.exports = alertify;\r\n // AMD\r\n } else if ( typeof define === 'function' && define.amd) {\r\n define( [], function () {\r\n return alertify;\r\n } );\r\n // window\r\n } else if ( !window.alertify ) {\r\n window.alertify = alertify;\r\n }\r\n\r\n} ( typeof window !== 'undefined' ? window : this ) );\r\n","/*!\n * ApexCharts v3.36.2\n * (c) 2018-2022 ApexCharts\n * Released under the MIT License.\n */\n\"use strict\";function t(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(t);e&&(a=a.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.push.apply(i,a)}return i}function e(e){for(var i=1;it.length)&&(e=t.length);for(var i=0,a=new Array(e);i>16,o=i>>8&255,n=255&i;return\"#\"+(16777216+65536*(Math.round((a-r)*s)+r)+256*(Math.round((a-o)*s)+o)+(Math.round((a-n)*s)+n)).toString(16).slice(1)}},{key:\"shadeColor\",value:function(e,i){return t.isColorHex(i)?this.shadeHexColor(e,i):this.shadeRGBColor(e,i)}}],[{key:\"bind\",value:function(t,e){return function(){return t.apply(e,arguments)}}},{key:\"isObject\",value:function(t){return t&&\"object\"===i(t)&&!Array.isArray(t)&&null!=t}},{key:\"is\",value:function(t,e){return Object.prototype.toString.call(e)===\"[object \"+t+\"]\"}},{key:\"listToArray\",value:function(t){var e,i=[];for(e=0;ee.length?t:e}))),t.length>e.length?t:e}),0)}},{key:\"hexToRgba\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"#999999\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.6;\"#\"!==t.substring(0,1)&&(t=\"#999999\");var i=t.replace(\"#\",\"\");i=i.match(new RegExp(\"(.{\"+i.length/3+\"})\",\"g\"));for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:\"x\",i=t.toString().slice();return i=i.replace(/[` ~!@#$%^&*()|+\\=?;:'\",.<>{}[\\]\\\\/]/gi,e)}},{key:\"negToZero\",value:function(t){return t<0?0:t}},{key:\"moveIndexInArray\",value:function(t,e,i){if(i>=t.length)for(var a=i-t.length+1;a--;)t.push(void 0);return t.splice(i,0,t.splice(e,1)[0]),t}},{key:\"extractNumber\",value:function(t){return parseFloat(t.replace(/[^\\d.]*/g,\"\"))}},{key:\"findAncestor\",value:function(t,e){for(;(t=t.parentElement)&&!t.classList.contains(e););return t}},{key:\"setELstyles\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t.style.key=e[i])}},{key:\"isNumber\",value:function(t){return!isNaN(t)&&parseFloat(Number(t))===t&&!isNaN(parseInt(t,10))}},{key:\"isFloat\",value:function(t){return Number(t)===t&&t%1!=0}},{key:\"isSafari\",value:function(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}},{key:\"isFirefox\",value:function(){return navigator.userAgent.toLowerCase().indexOf(\"firefox\")>-1}},{key:\"isIE11\",value:function(){if(-1!==window.navigator.userAgent.indexOf(\"MSIE\")||window.navigator.appVersion.indexOf(\"Trident/\")>-1)return!0}},{key:\"isIE\",value:function(){var t=window.navigator.userAgent,e=t.indexOf(\"MSIE \");if(e>0)return parseInt(t.substring(e+5,t.indexOf(\".\",e)),10);if(t.indexOf(\"Trident/\")>0){var i=t.indexOf(\"rv:\");return parseInt(t.substring(i+3,t.indexOf(\".\",i)),10)}var a=t.indexOf(\"Edge/\");return a>0&&parseInt(t.substring(a+5,t.indexOf(\".\",a)),10)}}]),t}(),b=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.setEasingFunctions()}return r(t,[{key:\"setEasingFunctions\",value:function(){var t;if(!this.w.globals.easing){switch(this.w.config.chart.animations.easing){case\"linear\":t=\"-\";break;case\"easein\":t=\"<\";break;case\"easeout\":t=\">\";break;case\"easeinout\":default:t=\"<>\";break;case\"swing\":t=function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1};break;case\"bounce\":t=function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375};break;case\"elastic\":t=function(t){return t===!!t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*(2*Math.PI)/.3)+1}}this.w.globals.easing=t}}},{key:\"animateLine\",value:function(t,e,i,a){t.attr(e).animate(a).attr(i)}},{key:\"animateMarker\",value:function(t,e,i,a,s,r){e||(e=0),t.attr({r:e,width:e,height:e}).animate(a,s).attr({r:i,width:i.width,height:i.height}).afterAll((function(){r()}))}},{key:\"animateCircle\",value:function(t,e,i,a,s){t.attr({r:e.r,cx:e.cx,cy:e.cy}).animate(a,s).attr({r:i.r,cx:i.cx,cy:i.cy})}},{key:\"animateRect\",value:function(t,e,i,a,s){t.attr(e).animate(a).attr(i).afterAll((function(){return s()}))}},{key:\"animatePathsGradually\",value:function(t){var e=t.el,i=t.realIndex,a=t.j,s=t.fill,r=t.pathFrom,o=t.pathTo,n=t.speed,l=t.delay,h=this.w,c=0;h.config.chart.animations.animateGradually.enabled&&(c=h.config.chart.animations.animateGradually.delay),h.config.chart.animations.dynamicAnimation.enabled&&h.globals.dataChanged&&\"bar\"!==h.config.chart.type&&(c=0),this.morphSVG(e,i,a,\"line\"!==h.config.chart.type||h.globals.comboCharts?s:\"stroke\",r,o,n,l*c)}},{key:\"showDelayedElements\",value:function(){this.w.globals.delayedElements.forEach((function(t){t.el.classList.remove(\"apexcharts-element-hidden\")}))}},{key:\"animationCompleted\",value:function(t){var e=this.w;e.globals.animationEnded||(e.globals.animationEnded=!0,this.showDelayedElements(),\"function\"==typeof e.config.chart.events.animationEnd&&e.config.chart.events.animationEnd(this.ctx,{el:t,w:e}))}},{key:\"morphSVG\",value:function(t,e,i,a,s,r,o,n){var l=this,h=this.w;s||(s=t.attr(\"pathFrom\")),r||(r=t.attr(\"pathTo\"));var c=function(t){return\"radar\"===h.config.chart.type&&(o=1),\"M 0 \".concat(h.globals.gridHeight)};(!s||s.indexOf(\"undefined\")>-1||s.indexOf(\"NaN\")>-1)&&(s=c()),(!r||r.indexOf(\"undefined\")>-1||r.indexOf(\"NaN\")>-1)&&(r=c()),h.globals.shouldAnimate||(o=1),t.plot(s).animate(1,h.globals.easing,n).plot(s).animate(o,h.globals.easing,n).plot(r).afterAll((function(){x.isNumber(i)?i===h.globals.series[h.globals.maxValsInArrayIndex].length-2&&h.globals.shouldAnimate&&l.animationCompleted(t):\"none\"!==a&&h.globals.shouldAnimate&&(!h.globals.comboCharts&&e===h.globals.series.length-1||h.globals.comboCharts)&&l.animationCompleted(t),l.showDelayedElements()}))}}]),t}(),v=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getDefaultFilter\",value:function(t,e){var i=this.w;t.unfilter(!0),(new window.SVG.Filter).size(\"120%\",\"180%\",\"-5%\",\"-40%\"),\"none\"!==i.config.states.normal.filter?this.applyFilter(t,e,i.config.states.normal.filter.type,i.config.states.normal.filter.value):i.config.chart.dropShadow.enabled&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addNormalFilter\",value:function(t,e){var i=this.w;i.config.chart.dropShadow.enabled&&!t.node.classList.contains(\"apexcharts-marker\")&&this.dropShadow(t,i.config.chart.dropShadow,e)}},{key:\"addLightenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:1.5,intercept:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"addDarkenFilter\",value:function(t,e,i){var a=this,s=this.w,r=i.intensity;t.unfilter(!0);new window.SVG.Filter;t.filter((function(t){var i=s.config.chart.dropShadow;(i.enabled?a.addShadow(t,e,i):t).componentTransfer({rgb:{type:\"linear\",slope:r}})})),t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)}},{key:\"applyFilter\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:.5;switch(i){case\"none\":this.addNormalFilter(t,e);break;case\"lighten\":this.addLightenFilter(t,e,{intensity:a});break;case\"darken\":this.addDarkenFilter(t,e,{intensity:a})}}},{key:\"addShadow\",value:function(t,e,i){var a=i.blur,s=i.top,r=i.left,o=i.color,n=i.opacity,l=t.flood(Array.isArray(o)?o[e]:o,n).composite(t.sourceAlpha,\"in\").offset(r,s).gaussianBlur(a).merge(t.source);return t.blend(t.source,l)}},{key:\"dropShadow\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=e.top,s=e.left,r=e.blur,o=e.color,n=e.opacity,l=e.noUserSpaceOnUse,h=this.w;return t.unfilter(!0),x.isIE()&&\"radialBar\"===h.config.chart.type||(o=Array.isArray(o)?o[i]:o,t.filter((function(t){var e=null;e=x.isSafari()||x.isFirefox()||x.isIE()?t.flood(o,n).composite(t.sourceAlpha,\"in\").offset(s,a).gaussianBlur(r):t.flood(o,n).composite(t.sourceAlpha,\"in\").offset(s,a).gaussianBlur(r).merge(t.source),t.blend(t.source,e)})),l||t.filterer.node.setAttribute(\"filterUnits\",\"userSpaceOnUse\"),this._scaleFilterSize(t.filterer.node)),t}},{key:\"setSelectionFilter\",value:function(t,e,i){var a=this.w;if(void 0!==a.globals.selectedDataPoints[e]&&a.globals.selectedDataPoints[e].indexOf(i)>-1){t.node.setAttribute(\"selected\",!0);var s=a.config.states.active.filter;\"none\"!==s&&this.applyFilter(t,e,s.type,s.value)}}},{key:\"_scaleFilterSize\",value:function(t){!function(e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}({width:\"200%\",height:\"200%\",x:\"-50%\",y:\"-50%\"})}}]),t}(),m=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"roundPathCorners\",value:function(t,e){function i(t,e,i){var s=e.x-t.x,r=e.y-t.y,o=Math.sqrt(s*s+r*r);return a(t,e,Math.min(1,i/o))}function a(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}}function s(t,e){t.length>2&&(t[t.length-2]=e.x,t[t.length-1]=e.y)}function r(t){return{x:parseFloat(t[t.length-2]),y:parseFloat(t[t.length-1])}}var o=t.split(/[,\\s]/).reduce((function(t,e){var i=e.match(\"([a-zA-Z])(.+)\");return i?(t.push(i[1]),t.push(i[2])):t.push(e),t}),[]).reduce((function(t,e){return parseFloat(e)==e&&t.length?t[t.length-1].push(e):t.push([e]),t}),[]),n=[];if(o.length>1){var l=r(o[0]),h=null;\"Z\"==o[o.length-1][0]&&o[0].length>2&&(h=[\"L\",l.x,l.y],o[o.length-1]=h),n.push(o[0]);for(var c=1;c2&&\"L\"==g[0]&&u.length>2&&\"L\"==u[0]){var f,p,x=r(d),b=r(g),v=r(u);f=i(b,x,e),p=i(b,v,e),s(g,f),g.origPoint=b,n.push(g);var m=a(f,b,.5),y=a(b,p,.5),w=[\"C\",m.x,m.y,y.x,y.y,p.x,p.y];w.origPoint=b,n.push(w)}else n.push(g)}if(h){var k=r(n[n.length-1]);n.push([\"Z\"]),s(n[0],k)}}else n=o;return n.reduce((function(t,e){return t+e.join(\" \")+\" \"}),\"\")}},{key:\"drawLine\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:\"#a8a8a8\",r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0,o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:\"butt\",l=this.w,h=l.globals.dom.Paper.line().attr({x1:t,y1:e,x2:i,y2:a,stroke:s,\"stroke-dasharray\":r,\"stroke-width\":o,\"stroke-linecap\":n});return h}},{key:\"drawRect\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"#fefefe\",o=arguments.length>6&&void 0!==arguments[6]?arguments[6]:1,n=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,l=arguments.length>8&&void 0!==arguments[8]?arguments[8]:null,h=arguments.length>9&&void 0!==arguments[9]?arguments[9]:0,c=this.w,d=c.globals.dom.Paper.rect();return d.attr({x:t,y:e,width:i>0?i:0,height:a>0?a:0,rx:s,ry:s,opacity:o,\"stroke-width\":null!==n?n:0,stroke:null!==l?l:\"none\",\"stroke-dasharray\":h}),d.node.setAttribute(\"fill\",r),d}},{key:\"drawPolygon\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"#e1e1e1\",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"none\",s=this.w,r=s.globals.dom.Paper.polygon(t).attr({fill:a,stroke:e,\"stroke-width\":i});return r}},{key:\"drawCircle\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;t<0&&(t=0);var a=i.globals.dom.Paper.circle(2*t);return null!==e&&a.attr(e),a}},{key:\"drawPath\",value:function(t){var e=t.d,i=void 0===e?\"\":e,a=t.stroke,s=void 0===a?\"#a8a8a8\":a,r=t.strokeWidth,o=void 0===r?1:r,n=t.fill,l=t.fillOpacity,h=void 0===l?1:l,c=t.strokeOpacity,d=void 0===c?1:c,g=t.classes,u=t.strokeLinecap,f=void 0===u?null:u,p=t.strokeDashArray,x=void 0===p?0:p,b=this.w;return null===f&&(f=b.config.stroke.lineCap),(i.indexOf(\"undefined\")>-1||i.indexOf(\"NaN\")>-1)&&(i=\"M 0 \".concat(b.globals.gridHeight)),b.globals.dom.Paper.path(i).attr({fill:n,\"fill-opacity\":h,stroke:s,\"stroke-opacity\":d,\"stroke-linecap\":f,\"stroke-width\":o,\"stroke-dasharray\":x,class:g})}},{key:\"group\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=e.globals.dom.Paper.group();return null!==t&&i.attr(t),i}},{key:\"move\",value:function(t,e){var i=[\"M\",t,e].join(\" \");return i}},{key:\"line\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=null;return null===i?a=[\" L\",t,e].join(\" \"):\"H\"===i?a=[\" H\",t].join(\" \"):\"V\"===i&&(a=[\" V\",e].join(\" \")),a}},{key:\"curve\",value:function(t,e,i,a,s,r){var o=[\"C\",t,e,i,a,s,r].join(\" \");return o}},{key:\"quadraticCurve\",value:function(t,e,i,a){return[\"Q\",t,e,i,a].join(\" \")}},{key:\"arc\",value:function(t,e,i,a,s,r,o){var n=arguments.length>7&&void 0!==arguments[7]&&arguments[7],l=\"A\";n&&(l=\"a\");var h=[l,t,e,i,a,s,r,o].join(\" \");return h}},{key:\"renderPaths\",value:function(t){var i,a=t.j,s=t.realIndex,r=t.pathFrom,o=t.pathTo,n=t.stroke,l=t.strokeWidth,h=t.strokeLinecap,c=t.fill,d=t.animationDelay,g=t.initialSpeed,u=t.dataChangeSpeed,f=t.className,p=t.shouldClipToGrid,x=void 0===p||p,m=t.bindEventsOnPaths,y=void 0===m||m,w=t.drawShadow,k=void 0===w||w,A=this.w,S=new v(this.ctx),C=new b(this.ctx),L=this.w.config.chart.animations.enabled,P=L&&this.w.config.chart.animations.dynamicAnimation.enabled,T=!!(L&&!A.globals.resized||P&&A.globals.dataChanged&&A.globals.shouldAnimate);T?i=r:(i=o,A.globals.animationEnded=!0);var M=A.config.stroke.dashArray,I=0;I=Array.isArray(M)?M[s]:A.config.stroke.dashArray;var z=this.drawPath({d:i,stroke:n,strokeWidth:l,fill:c,fillOpacity:1,classes:f,strokeLinecap:h,strokeDashArray:I});if(z.attr(\"index\",s),x&&z.attr({\"clip-path\":\"url(#gridRectMask\".concat(A.globals.cuid,\")\")}),\"none\"!==A.config.states.normal.filter.type)S.getDefaultFilter(z,s);else if(A.config.chart.dropShadow.enabled&&k&&(!A.config.chart.dropShadow.enabledOnSeries||A.config.chart.dropShadow.enabledOnSeries&&-1!==A.config.chart.dropShadow.enabledOnSeries.indexOf(s))){var X=A.config.chart.dropShadow;S.dropShadow(z,X,s)}y&&(z.node.addEventListener(\"mouseenter\",this.pathMouseEnter.bind(this,z)),z.node.addEventListener(\"mouseleave\",this.pathMouseLeave.bind(this,z)),z.node.addEventListener(\"mousedown\",this.pathMouseDown.bind(this,z))),z.attr({pathTo:o,pathFrom:r});var E={el:z,j:a,realIndex:s,pathFrom:r,pathTo:o,fill:c,strokeWidth:l,delay:d};return!L||A.globals.resized||A.globals.dataChanged?!A.globals.resized&&A.globals.dataChanged||C.showDelayedElements():C.animatePathsGradually(e(e({},E),{},{speed:g})),A.globals.dataChanged&&P&&T&&C.animatePathsGradually(e(e({},E),{},{speed:u})),z}},{key:\"drawPattern\",value:function(t,e,i){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"#a8a8a8\",s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=this.w,o=r.globals.dom.Paper.pattern(e,i,(function(r){\"horizontalLines\"===t?r.line(0,0,i,0).stroke({color:a,width:s+1}):\"verticalLines\"===t?r.line(0,0,0,e).stroke({color:a,width:s+1}):\"slantedLines\"===t?r.line(0,0,e,i).stroke({color:a,width:s}):\"squares\"===t?r.rect(e,i).fill(\"none\").stroke({color:a,width:s}):\"circles\"===t&&r.circle(e).fill(\"none\").stroke({color:a,width:s})}));return o}},{key:\"drawGradient\",value:function(t,e,i,a,s){var r,o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,n=arguments.length>6&&void 0!==arguments[6]?arguments[6]:null,l=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,h=arguments.length>8&&void 0!==arguments[8]?arguments[8]:0,c=this.w;e.length<9&&0===e.indexOf(\"#\")&&(e=x.hexToRgba(e,a)),i.length<9&&0===i.indexOf(\"#\")&&(i=x.hexToRgba(i,s));var d=0,g=1,u=1,f=null;null!==n&&(d=void 0!==n[0]?n[0]/100:0,g=void 0!==n[1]?n[1]/100:1,u=void 0!==n[2]?n[2]/100:1,f=void 0!==n[3]?n[3]/100:null);var p=!(\"donut\"!==c.config.chart.type&&\"pie\"!==c.config.chart.type&&\"polarArea\"!==c.config.chart.type&&\"bubble\"!==c.config.chart.type);if(r=null===l||0===l.length?c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){t.at(d,e,a),t.at(g,i,s),t.at(u,i,s),null!==f&&t.at(f,e,a)})):c.globals.dom.Paper.gradient(p?\"radial\":\"linear\",(function(t){(Array.isArray(l[h])?l[h]:l).forEach((function(e){t.at(e.offset/100,e.color,e.opacity)}))})),p){var b=c.globals.gridWidth/2,v=c.globals.gridHeight/2;\"bubble\"!==c.config.chart.type?r.attr({gradientUnits:\"userSpaceOnUse\",cx:b,cy:v,r:o}):r.attr({cx:.5,cy:.5,r:.8,fx:.2,fy:.2})}else\"vertical\"===t?r.from(0,0).to(0,1):\"diagonal\"===t?r.from(0,0).to(1,1):\"horizontal\"===t?r.from(0,1).to(1,1):\"diagonal2\"===t&&r.from(1,0).to(0,1);return r}},{key:\"getTextBasedOnMaxWidth\",value:function(t){var e=t.text,i=t.maxWidth,a=t.fontSize,s=t.fontFamily,r=this.getTextRects(e,a,s),o=r.width/e.length,n=Math.floor(i/o);return i-1){var n=i.globals.selectedDataPoints[s].indexOf(r);i.globals.selectedDataPoints[s].splice(n,1)}}else{if(!i.config.states.active.allowMultipleDataPointsSelection&&i.globals.selectedDataPoints.length>0){i.globals.selectedDataPoints=[];var l=i.globals.dom.Paper.select(\".apexcharts-series path\").members,h=i.globals.dom.Paper.select(\".apexcharts-series circle, .apexcharts-series rect\").members,c=function(t){Array.prototype.forEach.call(t,(function(t){t.node.setAttribute(\"selected\",\"false\"),a.getDefaultFilter(t,s)}))};c(l),c(h)}t.node.setAttribute(\"selected\",\"true\"),o=\"true\",void 0===i.globals.selectedDataPoints[s]&&(i.globals.selectedDataPoints[s]=[]),i.globals.selectedDataPoints[s].push(r)}if(\"true\"===o){var d=i.config.states.active.filter;if(\"none\"!==d)a.applyFilter(t,s,d.type,d.value);else if(\"none\"!==i.config.states.hover.filter&&!i.globals.isTouchDevice){var g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}}else if(\"none\"!==i.config.states.active.filter.type)if(\"none\"===i.config.states.hover.filter.type||i.globals.isTouchDevice)a.getDefaultFilter(t,s);else{g=i.config.states.hover.filter;a.applyFilter(t,s,g.type,g.value)}\"function\"==typeof i.config.chart.events.dataPointSelection&&i.config.chart.events.dataPointSelection(e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}),e&&this.ctx.events.fireEvent(\"dataPointSelection\",[e,this.ctx,{selectedDataPoints:i.globals.selectedDataPoints,seriesIndex:s,dataPointIndex:r,w:i}])}},{key:\"rotateAroundCenter\",value:function(t){var e={};return t&&\"function\"==typeof t.getBBox&&(e=t.getBBox()),{x:e.x+e.width/2,y:e.y+e.height/2}}},{key:\"getTextRects\",value:function(t,e,i,a){var s=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=this.w,o=this.drawText({x:-200,y:-200,text:t,textAnchor:\"start\",fontSize:e,fontFamily:i,foreColor:\"#fff\",opacity:0});a&&o.attr(\"transform\",a),r.globals.dom.Paper.add(o);var n=o.bbox();return s||(n=o.node.getBoundingClientRect()),o.remove(),{width:n.width,height:n.height}}},{key:\"placeTextWithEllipsis\",value:function(t,e,i){if(\"function\"==typeof t.getComputedTextLength&&(t.textContent=e,e.length>0&&t.getComputedTextLength()>=i/1.1)){for(var a=e.length-3;a>0;a-=3)if(t.getSubStringLength(0,a)<=i/1.1)return void(t.textContent=e.substring(0,a)+\"...\");t.textContent=\".\"}}}],[{key:\"setAttrs\",value:function(t,e){for(var i in e)e.hasOwnProperty(i)&&t.setAttribute(i,e[i])}}]),t}(),y=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getStackedSeriesTotals\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=this.w,i=[];if(0===e.globals.series.length)return i;for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:null;return null===t?this.w.config.series.reduce((function(t,e){return t+e}),0):this.w.globals.series[t].reduce((function(t,e){return t+e}),0)}},{key:\"isSeriesNull\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return 0===(null===t?this.w.config.series.filter((function(t){return null!==t})):this.w.config.series[t].data.filter((function(t){return null!==t}))).length}},{key:\"seriesHaveSameValues\",value:function(t){return this.w.globals.series[t].every((function(t,e,i){return t===i[0]}))}},{key:\"getCategoryLabels\",value:function(t){var e=this.w,i=t.slice();return e.config.xaxis.convertedCatToNumeric&&(i=t.map((function(t,i){return e.config.xaxis.labels.formatter(t-e.globals.minX+1)}))),i}},{key:\"getLargestSeries\",value:function(){var t=this.w;t.globals.maxValsInArrayIndex=t.globals.series.map((function(t){return t.length})).indexOf(Math.max.apply(Math,t.globals.series.map((function(t){return t.length}))))}},{key:\"getLargestMarkerSize\",value:function(){var t=this.w,e=0;return t.globals.markers.size.forEach((function(t){e=Math.max(e,t)})),t.config.markers.discrete&&t.config.markers.discrete.length&&t.config.markers.discrete.forEach((function(t){e=Math.max(e,t.size)})),e>0&&(e+=t.config.markers.hover.sizeOffset+1),t.globals.markers.largestSize=e,e}},{key:\"getSeriesTotals\",value:function(){var t=this.w;t.globals.seriesTotals=t.globals.series.map((function(t,e){var i=0;if(Array.isArray(t))for(var a=0;at&&i.globals.seriesX[s][o]0&&(e=!0),{comboBarCount:i,comboCharts:e}}},{key:\"extendArrayProps\",value:function(t,e,i){return e.yaxis&&(e=t.extendYAxis(e,i)),e.annotations&&(e.annotations.yaxis&&(e=t.extendYAxisAnnotations(e)),e.annotations.xaxis&&(e=t.extendXAxisAnnotations(e)),e.annotations.points&&(e=t.extendPointAnnotations(e))),e}}]),t}(),w=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e}return r(t,[{key:\"setOrientations\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.w;if(\"vertical\"===t.label.orientation){var a=null!==e?e:0,s=i.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-annotations .apexcharts-xaxis-annotation-label[rel='\".concat(a,\"']\"));if(null!==s){var r=s.getBoundingClientRect();s.setAttribute(\"x\",parseFloat(s.getAttribute(\"x\"))-r.height+4),\"top\"===t.label.position?s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))+r.width):s.setAttribute(\"y\",parseFloat(s.getAttribute(\"y\"))-r.width);var o=this.annoCtx.graphics.rotateAroundCenter(s),n=o.x,l=o.y;s.setAttribute(\"transform\",\"rotate(-90 \".concat(n,\" \").concat(l,\")\"))}}}},{key:\"addBackgroundToAnno\",value:function(t,e){var i=this.w;if(!t||void 0===e.label.text||void 0!==e.label.text&&!String(e.label.text).trim())return null;var a=i.globals.dom.baseEl.querySelector(\".apexcharts-grid\").getBoundingClientRect(),s=t.getBoundingClientRect(),r=e.label.style.padding.left,o=e.label.style.padding.right,n=e.label.style.padding.top,l=e.label.style.padding.bottom;\"vertical\"===e.label.orientation&&(n=e.label.style.padding.left,l=e.label.style.padding.right,r=e.label.style.padding.top,o=e.label.style.padding.bottom);var h=s.left-a.left-r,c=s.top-a.top-n,d=this.annoCtx.graphics.drawRect(h-i.globals.barPadForNumericAxis,c,s.width+r+o,s.height+n+l,e.label.borderRadius,e.label.style.background,1,e.label.borderWidth,e.label.borderColor,0);return e.id&&d.node.classList.add(e.id),d}},{key:\"annotationsBackground\",value:function(){var t=this,e=this.w,i=function(i,a,s){var r=e.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(a,\"']\"));if(r){var o=r.parentNode,n=t.addBackgroundToAnno(r,i);n&&(o.insertBefore(n.node,r),i.label.mouseEnter&&n.node.addEventListener(\"mouseenter\",i.label.mouseEnter.bind(t,i)),i.label.mouseLeave&&n.node.addEventListener(\"mouseleave\",i.label.mouseLeave.bind(t,i)),i.label.click&&n.node.addEventListener(\"click\",i.label.click.bind(t,i)))}};e.config.annotations.xaxis.map((function(t,e){i(t,e,\"xaxis\")})),e.config.annotations.yaxis.map((function(t,e){i(t,e,\"yaxis\")})),e.config.annotations.points.map((function(t,e){i(t,e,\"point\")}))}},{key:\"getY1Y2\",value:function(t,e){var i,a=\"y1\"===t?e.y:e.y2,s=this.w;if(this.annoCtx.invertAxis){var r=s.globals.labels.indexOf(a);s.config.xaxis.convertedCatToNumeric&&(r=s.globals.categoryLabels.indexOf(a));var o=s.globals.dom.baseEl.querySelector(\".apexcharts-yaxis-texts-g text:nth-child(\"+(r+1)+\")\");o&&(i=parseFloat(o.getAttribute(\"y\")))}else{var n;if(s.config.yaxis[e.yAxisIndex].logarithmic)n=(a=new y(this.annoCtx.ctx).getLogVal(a,e.yAxisIndex))/s.globals.yLogRatio[e.yAxisIndex];else n=(a-s.globals.minYArr[e.yAxisIndex])/(s.globals.yRange[e.yAxisIndex]/s.globals.gridHeight);i=s.globals.gridHeight-n,!e.marker||void 0!==e.y&&null!==e.y||(i=0),s.config.yaxis[e.yAxisIndex]&&s.config.yaxis[e.yAxisIndex].reversed&&(i=n)}return\"string\"==typeof a&&a.indexOf(\"px\")>-1&&(i=parseFloat(a)),i}},{key:\"getX1X2\",value:function(t,e){var i=this.w,a=this.annoCtx.invertAxis?i.globals.minY:i.globals.minX,s=this.annoCtx.invertAxis?i.globals.maxY:i.globals.maxX,r=this.annoCtx.invertAxis?i.globals.yRange[0]:i.globals.xRange,o=(e.x-a)/(r/i.globals.gridWidth);this.annoCtx.inversedReversedAxis&&(o=(s-e.x)/(r/i.globals.gridWidth)),\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(o=this.getStringX(e.x));var n=(e.x2-a)/(r/i.globals.gridWidth);return this.annoCtx.inversedReversedAxis&&(n=(s-e.x2)/(r/i.globals.gridWidth)),\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric||this.annoCtx.invertAxis||i.globals.dataFormatXNumeric||(n=this.getStringX(e.x2)),void 0!==e.x&&null!==e.x||!e.marker||(o=i.globals.gridWidth),\"x1\"===t&&\"string\"==typeof e.x&&e.x.indexOf(\"px\")>-1&&(o=parseFloat(e.x)),\"x2\"===t&&\"string\"==typeof e.x2&&e.x2.indexOf(\"px\")>-1&&(n=parseFloat(e.x2)),\"x1\"===t?o:n}},{key:\"getStringX\",value:function(t){var e=this.w,i=t;e.config.xaxis.convertedCatToNumeric&&e.globals.categoryLabels.length&&(t=e.globals.categoryLabels.indexOf(t)+1);var a=e.globals.labels.indexOf(t),s=e.globals.dom.baseEl.querySelector(\".apexcharts-xaxis-texts-g text:nth-child(\"+(a+1)+\")\");return s&&(i=parseFloat(s.getAttribute(\"x\"))),i}}]),t}(),k=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.invertAxis=this.annoCtx.invertAxis,this.helpers=new w(this.annoCtx)}return r(t,[{key:\"addXaxisAnnotation\",value:function(t,e,i){var a,s=this.w,r=this.helpers.getX1X2(\"x1\",t),o=t.label.text,n=t.strokeDashArray;if(x.isNumber(r)){if(null===t.x2||void 0===t.x2){var l=this.annoCtx.graphics.drawLine(r+t.offsetX,0+t.offsetY,r+t.offsetX,s.globals.gridHeight+t.offsetY,t.borderColor,n,t.borderWidth);e.appendChild(l.node),t.id&&l.node.classList.add(t.id)}else{if((a=this.helpers.getX1X2(\"x2\",t))o){var h=o;o=a,a=h}var c=this.annoCtx.graphics.drawRect(0+t.offsetX,a+t.offsetY,this._getYAxisAnnotationWidth(t),o-a,0,t.fillColor,t.opacity,1,t.borderColor,r);c.node.classList.add(\"apexcharts-annotation-rect\"),c.attr(\"clip-path\",\"url(#gridRectMask\".concat(s.globals.cuid,\")\")),e.appendChild(c.node),t.id&&c.node.classList.add(t.id)}var d=\"right\"===t.label.position?s.globals.gridWidth:\"center\"===t.label.position?s.globals.gridWidth/2:0,g=this.annoCtx.graphics.drawText({x:d+t.label.offsetX,y:(null!=a?a:o)+t.label.offsetY-3,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-yaxis-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});g.attr({rel:i}),e.appendChild(g.node)}},{key:\"_getYAxisAnnotationWidth\",value:function(t){var e=this.w;e.globals.gridWidth;return(t.width.indexOf(\"%\")>-1?e.globals.gridWidth*parseInt(t.width,10)/100:parseInt(t.width,10))+t.offsetX}},{key:\"drawYAxisAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-yaxis-annotations\"});return e.config.annotations.yaxis.map((function(e,a){t.addYaxisAnnotation(e,i.node,a)})),i}}]),t}(),S=function(){function t(e){a(this,t),this.w=e.w,this.annoCtx=e,this.helpers=new w(this.annoCtx)}return r(t,[{key:\"addPointAnnotation\",value:function(t,e,i){this.w;var a=this.helpers.getX1X2(\"x1\",t),s=this.helpers.getY1Y2(\"y1\",t);if(x.isNumber(a)){var r={pSize:t.marker.size,pointStrokeWidth:t.marker.strokeWidth,pointFillColor:t.marker.fillColor,pointStrokeColor:t.marker.strokeColor,shape:t.marker.shape,pRadius:t.marker.radius,class:\"apexcharts-point-annotation-marker \".concat(t.marker.cssClass,\" \").concat(t.id?t.id:\"\")},o=this.annoCtx.graphics.drawMarker(a+t.marker.offsetX,s+t.marker.offsetY,r);e.appendChild(o.node);var n=t.label.text?t.label.text:\"\",l=this.annoCtx.graphics.drawText({x:a+t.label.offsetX,y:s+t.label.offsetY-t.marker.size-parseFloat(t.label.style.fontSize)/1.6,text:n,textAnchor:t.label.textAnchor,fontSize:t.label.style.fontSize,fontFamily:t.label.style.fontFamily,fontWeight:t.label.style.fontWeight,foreColor:t.label.style.color,cssClass:\"apexcharts-point-annotation-label \".concat(t.label.style.cssClass,\" \").concat(t.id?t.id:\"\")});if(l.attr({rel:i}),e.appendChild(l.node),t.customSVG.SVG){var h=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations-custom-svg \"+t.customSVG.cssClass});h.attr({transform:\"translate(\".concat(a+t.customSVG.offsetX,\", \").concat(s+t.customSVG.offsetY,\")\")}),h.node.innerHTML=t.customSVG.SVG,e.appendChild(h.node)}if(t.image.path){var c=t.image.width?t.image.width:20,d=t.image.height?t.image.height:20;o=this.annoCtx.addImage({x:a+t.image.offsetX-c/2,y:s+t.image.offsetY-d/2,width:c,height:d,path:t.image.path,appendTo:\".apexcharts-point-annotations\"})}t.mouseEnter&&o.node.addEventListener(\"mouseenter\",t.mouseEnter.bind(this,t)),t.mouseLeave&&o.node.addEventListener(\"mouseleave\",t.mouseLeave.bind(this,t)),t.click&&o.node.addEventListener(\"click\",t.click.bind(this,t))}}},{key:\"drawPointAnnotations\",value:function(){var t=this,e=this.w,i=this.annoCtx.graphics.group({class:\"apexcharts-point-annotations\"});return e.config.annotations.points.map((function(e,a){t.addPointAnnotation(e,i.node,a)})),i}}]),t}();var C={name:\"en\",options:{months:[\"January\",\"February\",\"March\",\"April\",\"May\",\"June\",\"July\",\"August\",\"September\",\"October\",\"November\",\"December\"],shortMonths:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],days:[\"Sunday\",\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],shortDays:[\"Sun\",\"Mon\",\"Tue\",\"Wed\",\"Thu\",\"Fri\",\"Sat\"],toolbar:{exportToSVG:\"Download SVG\",exportToPNG:\"Download PNG\",exportToCSV:\"Download CSV\",menu:\"Menu\",selection:\"Selection\",selectionZoom:\"Selection Zoom\",zoomIn:\"Zoom In\",zoomOut:\"Zoom Out\",pan:\"Panning\",reset:\"Reset Zoom\"}}},L=function(){function t(){a(this,t),this.yAxis={show:!0,showAlways:!1,showForNullSeries:!0,seriesName:void 0,opposite:!1,reversed:!1,logarithmic:!1,logBase:10,tickAmount:void 0,forceNiceScale:!1,max:void 0,min:void 0,floating:!1,decimalsInFloat:void 0,labels:{show:!0,minWidth:0,maxWidth:160,offsetX:0,offsetY:0,align:void 0,rotate:0,padding:20,style:{colors:[],fontSize:\"11px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},formatter:void 0},axisBorder:{show:!1,color:\"#e0e0e0\",width:1,offsetX:0,offsetY:0},axisTicks:{show:!1,color:\"#e0e0e0\",width:6,offsetX:0,offsetY:0},title:{text:void 0,rotate:-90,offsetY:0,offsetX:0,style:{color:void 0,fontSize:\"11px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},tooltip:{enabled:!1,offsetX:0},crosshairs:{show:!0,position:\"front\",stroke:{color:\"#b6b6b6\",width:1,dashArray:0}}},this.pointAnnotation={id:void 0,x:0,y:null,yAxisIndex:0,seriesIndex:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,marker:{size:4,fillColor:\"#fff\",strokeWidth:2,strokeColor:\"#333\",shape:\"circle\",offsetX:0,offsetY:0,radius:2,cssClass:\"\"},label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}},customSVG:{SVG:void 0,cssClass:void 0,offsetX:0,offsetY:0},image:{path:void 0,width:20,height:20,offsetX:0,offsetY:0}},this.yAxisAnnotation={id:void 0,y:0,y2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,width:\"100%\",yAxisIndex:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"end\",position:\"right\",offsetX:0,offsetY:-3,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.xAxisAnnotation={id:void 0,x:0,x2:null,strokeDashArray:1,fillColor:\"#c2c2c2\",borderColor:\"#c2c2c2\",borderWidth:1,opacity:.3,offsetX:0,offsetY:0,label:{borderColor:\"#c2c2c2\",borderWidth:1,borderRadius:2,text:void 0,textAnchor:\"middle\",orientation:\"vertical\",position:\"top\",offsetX:0,offsetY:0,mouseEnter:void 0,mouseLeave:void 0,click:void 0,style:{background:\"#fff\",color:void 0,fontSize:\"11px\",fontFamily:void 0,fontWeight:400,cssClass:\"\",padding:{left:5,right:5,top:2,bottom:2}}}},this.text={x:0,y:0,text:\"\",textAnchor:\"start\",foreColor:void 0,fontSize:\"13px\",fontFamily:void 0,fontWeight:400,appendTo:\".apexcharts-annotations\",backgroundColor:\"transparent\",borderColor:\"#c2c2c2\",borderRadius:0,borderWidth:0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2}}return r(t,[{key:\"init\",value:function(){return{annotations:{position:\"front\",yaxis:[this.yAxisAnnotation],xaxis:[this.xAxisAnnotation],points:[this.pointAnnotation],texts:[],images:[],shapes:[]},chart:{animations:{enabled:!0,easing:\"easeinout\",speed:800,animateGradually:{delay:150,enabled:!0},dynamicAnimation:{enabled:!0,speed:350}},background:\"transparent\",locales:[C],defaultLocale:\"en\",dropShadow:{enabled:!1,enabledOnSeries:void 0,top:2,left:2,blur:4,color:\"#000\",opacity:.35},events:{animationEnd:void 0,beforeMount:void 0,mounted:void 0,updated:void 0,click:void 0,mouseMove:void 0,mouseLeave:void 0,xAxisLabelClick:void 0,legendClick:void 0,markerClick:void 0,selection:void 0,dataPointSelection:void 0,dataPointMouseEnter:void 0,dataPointMouseLeave:void 0,beforeZoom:void 0,beforeResetZoom:void 0,zoomed:void 0,scrolled:void 0,brushScrolled:void 0},foreColor:\"#373d3f\",fontFamily:\"Helvetica, Arial, sans-serif\",height:\"auto\",parentHeightOffset:15,redrawOnParentResize:!0,redrawOnWindowResize:!0,id:void 0,group:void 0,offsetX:0,offsetY:0,selection:{enabled:!1,type:\"x\",fill:{color:\"#24292e\",opacity:.1},stroke:{width:1,color:\"#24292e\",opacity:.4,dashArray:3},xaxis:{min:void 0,max:void 0},yaxis:{min:void 0,max:void 0}},sparkline:{enabled:!1},brush:{enabled:!1,autoScaleYaxis:!0,target:void 0},stacked:!1,stackType:\"normal\",toolbar:{show:!0,offsetX:0,offsetY:0,tools:{download:!0,selection:!0,zoom:!0,zoomin:!0,zoomout:!0,pan:!0,reset:!0,customIcons:[]},export:{csv:{filename:void 0,columnDelimiter:\",\",headerCategory:\"category\",headerValue:\"value\",dateFormatter:function(t){return new Date(t).toDateString()}},png:{filename:void 0},svg:{filename:void 0}},autoSelected:\"zoom\"},type:\"line\",width:\"100%\",zoom:{enabled:!0,type:\"x\",autoScaleYaxis:!1,zoomedArea:{fill:{color:\"#90CAF9\",opacity:.4},stroke:{color:\"#0D47A1\",opacity:.4,width:1}}}},plotOptions:{area:{fillTo:\"origin\"},bar:{horizontal:!1,columnWidth:\"70%\",barHeight:\"70%\",distributed:!1,borderRadius:0,borderRadiusApplication:\"around\",borderRadiusWhenStacked:\"last\",rangeBarOverlap:!0,rangeBarGroupRows:!1,colors:{ranges:[],backgroundBarColors:[],backgroundBarOpacity:1,backgroundBarRadius:0},dataLabels:{position:\"top\",maxItems:100,hideOverflowingLabels:!0,orientation:\"horizontal\",total:{enabled:!1,formatter:void 0,offsetX:0,offsetY:0,style:{color:\"#373d3f\",fontSize:\"12px\",fontFamily:void 0,fontWeight:600}}}},bubble:{zScaling:!0,minBubbleRadius:void 0,maxBubbleRadius:void 0},candlestick:{colors:{upward:\"#00B746\",downward:\"#EF403C\"},wick:{useFillColor:!0}},boxPlot:{colors:{upper:\"#00E396\",lower:\"#008FFB\"}},heatmap:{radius:2,enableShades:!0,shadeIntensity:.5,reverseNegativeShade:!1,distributed:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},treemap:{enableShades:!0,shadeIntensity:.5,distributed:!1,reverseNegativeShade:!1,useFillColorAsStroke:!1,colorScale:{inverse:!1,ranges:[],min:void 0,max:void 0}},radialBar:{inverseOrder:!1,startAngle:0,endAngle:360,offsetX:0,offsetY:0,hollow:{margin:5,size:\"50%\",background:\"transparent\",image:void 0,imageWidth:150,imageHeight:150,imageOffsetX:0,imageOffsetY:0,imageClipped:!0,position:\"front\",dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},track:{show:!0,startAngle:void 0,endAngle:void 0,background:\"#f2f2f2\",strokeWidth:\"97%\",opacity:1,margin:5,dropShadow:{enabled:!1,top:0,left:0,blur:3,color:\"#000\",opacity:.5}},dataLabels:{show:!0,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:0,formatter:function(t){return t}},value:{show:!0,fontSize:\"14px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:16,formatter:function(t){return t+\"%\"}},total:{show:!1,label:\"Total\",fontSize:\"16px\",fontWeight:600,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)/t.globals.series.length+\"%\"}}}},pie:{customScale:1,offsetX:0,offsetY:0,startAngle:0,endAngle:360,expandOnClick:!0,dataLabels:{offset:0,minAngleToShowLabel:10},donut:{size:\"65%\",background:\"transparent\",labels:{show:!1,name:{show:!0,fontSize:\"16px\",fontFamily:void 0,fontWeight:600,color:void 0,offsetY:-10,formatter:function(t){return t}},value:{show:!0,fontSize:\"20px\",fontFamily:void 0,fontWeight:400,color:void 0,offsetY:10,formatter:function(t){return t}},total:{show:!1,showAlways:!1,label:\"Total\",fontSize:\"16px\",fontWeight:400,fontFamily:void 0,color:void 0,formatter:function(t){return t.globals.seriesTotals.reduce((function(t,e){return t+e}),0)}}}}},polarArea:{rings:{strokeWidth:1,strokeColor:\"#e8e8e8\"},spokes:{strokeWidth:1,connectorColors:\"#e8e8e8\"}},radar:{size:void 0,offsetX:0,offsetY:0,polygons:{strokeWidth:1,strokeColors:\"#e8e8e8\",connectorColors:\"#e8e8e8\",fill:{colors:void 0}}}},colors:void 0,dataLabels:{enabled:!0,enabledOnSeries:void 0,formatter:function(t){return null!==t?t:\"\"},textAnchor:\"middle\",distributed:!1,offsetX:0,offsetY:0,style:{fontSize:\"12px\",fontFamily:void 0,fontWeight:600,colors:void 0},background:{enabled:!0,foreColor:\"#fff\",borderRadius:2,padding:4,opacity:.9,borderWidth:1,borderColor:\"#fff\",dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},dropShadow:{enabled:!1,top:1,left:1,blur:1,color:\"#000\",opacity:.45}},fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]},image:{src:[],width:void 0,height:void 0},pattern:{style:\"squares\",width:6,height:6,strokeWidth:2}},forecastDataPoints:{count:0,fillOpacity:.5,strokeWidth:void 0,dashArray:4},grid:{show:!0,borderColor:\"#e0e0e0\",strokeDashArray:0,position:\"back\",xaxis:{lines:{show:!1}},yaxis:{lines:{show:!0}},row:{colors:void 0,opacity:.5},column:{colors:void 0,opacity:.5},padding:{top:0,right:10,bottom:0,left:12}},labels:[],legend:{show:!0,showForSingleSeries:!1,showForNullSeries:!0,showForZeroSeries:!0,floating:!1,position:\"bottom\",horizontalAlign:\"center\",inverseOrder:!1,fontSize:\"12px\",fontFamily:void 0,fontWeight:400,width:void 0,height:void 0,formatter:void 0,tooltipHoverFormatter:void 0,offsetX:-20,offsetY:4,customLegendItems:[],labels:{colors:void 0,useSeriesColors:!1},markers:{width:12,height:12,strokeWidth:0,fillColors:void 0,strokeColor:\"#fff\",radius:12,customHTML:void 0,offsetX:0,offsetY:0,onClick:void 0},itemMargin:{horizontal:5,vertical:2},onItemClick:{toggleDataSeries:!0},onItemHover:{highlightDataSeries:!0}},markers:{discrete:[],size:0,colors:void 0,strokeColors:\"#fff\",strokeWidth:2,strokeOpacity:.9,strokeDashArray:0,fillOpacity:1,shape:\"circle\",width:8,height:8,radius:2,offsetX:0,offsetY:0,onClick:void 0,onDblClick:void 0,showNullDataPoints:!0,hover:{size:void 0,sizeOffset:3}},noData:{text:void 0,align:\"center\",verticalAlign:\"middle\",offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"14px\",fontFamily:void 0}},responsive:[],series:void 0,states:{normal:{filter:{type:\"none\",value:0}},hover:{filter:{type:\"lighten\",value:.1}},active:{allowMultipleDataPointsSelection:!1,filter:{type:\"darken\",value:.5}}},title:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:0,floating:!1,style:{fontSize:\"14px\",fontWeight:900,fontFamily:void 0,color:void 0}},subtitle:{text:void 0,align:\"left\",margin:5,offsetX:0,offsetY:30,floating:!1,style:{fontSize:\"12px\",fontWeight:400,fontFamily:void 0,color:void 0}},stroke:{show:!0,curve:\"smooth\",lineCap:\"butt\",width:2,colors:void 0,dashArray:0,fill:{type:\"solid\",colors:void 0,opacity:.85,gradient:{shade:\"dark\",type:\"horizontal\",shadeIntensity:.5,gradientToColors:void 0,inverseColors:!0,opacityFrom:1,opacityTo:1,stops:[0,50,100],colorStops:[]}}},tooltip:{enabled:!0,enabledOnSeries:void 0,shared:!0,followCursor:!1,intersect:!1,inverseOrder:!1,custom:void 0,fillSeriesColor:!1,theme:\"light\",cssClass:\"\",style:{fontSize:\"12px\",fontFamily:void 0},onDatasetHover:{highlightDataSeries:!1},x:{show:!0,format:\"dd MMM\",formatter:void 0},y:{formatter:void 0,title:{formatter:function(t){return t?t+\": \":\"\"}}},z:{formatter:void 0,title:\"Size: \"},marker:{show:!0,fillColors:void 0},items:{display:\"flex\"},fixed:{enabled:!1,position:\"topRight\",offsetX:0,offsetY:0}},xaxis:{type:\"category\",categories:[],convertedCatToNumeric:!1,offsetX:0,offsetY:0,overwriteCategories:void 0,labels:{show:!0,rotate:-45,rotateAlways:!1,hideOverlappingLabels:!0,trim:!1,minHeight:void 0,maxHeight:120,showDuplicates:!0,style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"},offsetX:0,offsetY:0,format:void 0,formatter:void 0,datetimeUTC:!0,datetimeFormatter:{year:\"yyyy\",month:\"MMM 'yy\",day:\"dd MMM\",hour:\"HH:mm\",minute:\"HH:mm:ss\",second:\"HH:mm:ss\"}},group:{groups:[],style:{colors:[],fontSize:\"12px\",fontWeight:400,fontFamily:void 0,cssClass:\"\"}},axisBorder:{show:!0,color:\"#e0e0e0\",width:\"100%\",height:1,offsetX:0,offsetY:0},axisTicks:{show:!0,color:\"#e0e0e0\",height:6,offsetX:0,offsetY:0},tickAmount:void 0,tickPlacement:\"on\",min:void 0,max:void 0,range:void 0,floating:!1,decimalsInFloat:void 0,position:\"bottom\",title:{text:void 0,offsetX:0,offsetY:0,style:{color:void 0,fontSize:\"12px\",fontWeight:900,fontFamily:void 0,cssClass:\"\"}},crosshairs:{show:!0,width:1,position:\"back\",opacity:.9,stroke:{color:\"#b6b6b6\",width:1,dashArray:3},fill:{type:\"solid\",color:\"#B1B9C4\",gradient:{colorFrom:\"#D8E3F0\",colorTo:\"#BED1E6\",stops:[0,100],opacityFrom:.4,opacityTo:.5}},dropShadow:{enabled:!1,left:0,top:0,blur:1,opacity:.4}},tooltip:{enabled:!0,offsetY:0,formatter:void 0,style:{fontSize:\"12px\",fontFamily:void 0}}},yaxis:this.yAxis,theme:{mode:\"light\",palette:\"palette1\",monochrome:{enabled:!1,color:\"#008FFB\",shadeTo:\"light\",shadeIntensity:.65}}}}}]),t}(),P=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.graphics=new m(this.ctx),this.w.globals.isBarHorizontal&&(this.invertAxis=!0),this.helpers=new w(this),this.xAxisAnnotations=new k(this),this.yAxisAnnotations=new A(this),this.pointsAnnotations=new S(this),this.w.globals.isBarHorizontal&&this.w.config.yaxis[0].reversed&&(this.inversedReversedAxis=!0),this.xDivision=this.w.globals.gridWidth/this.w.globals.dataPoints}return r(t,[{key:\"drawAxesAnnotations\",value:function(){var t=this.w;if(t.globals.axisCharts){for(var e=this.yAxisAnnotations.drawYAxisAnnotations(),i=this.xAxisAnnotations.drawXAxisAnnotations(),a=this.pointsAnnotations.drawPointAnnotations(),s=t.config.chart.animations.enabled,r=[e,i,a],o=[i.node,e.node,a.node],n=0;n<3;n++)t.globals.dom.elGraphical.add(r[n]),!s||t.globals.resized||t.globals.dataChanged||\"scatter\"!==t.config.chart.type&&\"bubble\"!==t.config.chart.type&&t.globals.dataPoints>1&&o[n].classList.add(\"apexcharts-element-hidden\"),t.globals.delayedElements.push({el:o[n],index:0});this.helpers.annotationsBackground()}}},{key:\"drawImageAnnos\",value:function(){var t=this;this.w.config.annotations.images.map((function(e,i){t.addImage(e,i)}))}},{key:\"drawTextAnnos\",value:function(){var t=this;this.w.config.annotations.texts.map((function(e,i){t.addText(e,i)}))}},{key:\"addXaxisAnnotation\",value:function(t,e,i){this.xAxisAnnotations.addXaxisAnnotation(t,e,i)}},{key:\"addYaxisAnnotation\",value:function(t,e,i){this.yAxisAnnotations.addYaxisAnnotation(t,e,i)}},{key:\"addPointAnnotation\",value:function(t,e,i){this.pointsAnnotations.addPointAnnotation(t,e,i)}},{key:\"addText\",value:function(t,e){var i=t.x,a=t.y,s=t.text,r=t.textAnchor,o=t.foreColor,n=t.fontSize,l=t.fontFamily,h=t.fontWeight,c=t.cssClass,d=t.backgroundColor,g=t.borderWidth,u=t.strokeDashArray,f=t.borderRadius,p=t.borderColor,x=t.appendTo,b=void 0===x?\".apexcharts-annotations\":x,v=t.paddingLeft,m=void 0===v?4:v,y=t.paddingRight,w=void 0===y?4:y,k=t.paddingBottom,A=void 0===k?2:k,S=t.paddingTop,C=void 0===S?2:S,L=this.w,P=this.graphics.drawText({x:i,y:a,text:s,textAnchor:r||\"start\",fontSize:n||\"12px\",fontWeight:h||\"regular\",fontFamily:l||L.config.chart.fontFamily,foreColor:o||L.config.chart.foreColor,cssClass:c}),T=L.globals.dom.baseEl.querySelector(b);T&&T.appendChild(P.node);var M=P.bbox();if(s){var I=this.graphics.drawRect(M.x-m,M.y-C,M.width+m+w,M.height+A+C,f,d||\"transparent\",1,g,p,u);T.insertBefore(I.node,P.node)}}},{key:\"addImage\",value:function(t,e){var i=this.w,a=t.path,s=t.x,r=void 0===s?0:s,o=t.y,n=void 0===o?0:o,l=t.width,h=void 0===l?20:l,c=t.height,d=void 0===c?20:c,g=t.appendTo,u=void 0===g?\".apexcharts-annotations\":g,f=i.globals.dom.Paper.image(a);f.size(h,d).move(r,n);var p=i.globals.dom.baseEl.querySelector(u);return p&&p.appendChild(f.node),f}},{key:\"addXaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"xaxis\",contextMethod:i.addXaxisAnnotation}),i}},{key:\"addYaxisAnnotationExternal\",value:function(t,e,i){return this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"yaxis\",contextMethod:i.addYaxisAnnotation}),i}},{key:\"addPointAnnotationExternal\",value:function(t,e,i){return void 0===this.invertAxis&&(this.invertAxis=i.w.globals.isBarHorizontal),this.addAnnotationExternal({params:t,pushToMemory:e,context:i,type:\"point\",contextMethod:i.addPointAnnotation}),i}},{key:\"addAnnotationExternal\",value:function(t){var e=t.params,i=t.pushToMemory,a=t.context,s=t.type,r=t.contextMethod,o=a,n=o.w,l=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations\")),h=l.childNodes.length+1,c=new L,d=Object.assign({},\"xaxis\"===s?c.xAxisAnnotation:\"yaxis\"===s?c.yAxisAnnotation:c.pointAnnotation),g=x.extend(d,e);switch(s){case\"xaxis\":this.addXaxisAnnotation(g,l,h);break;case\"yaxis\":this.addYaxisAnnotation(g,l,h);break;case\"point\":this.addPointAnnotation(g,l,h)}var u=n.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(s,\"-annotations .apexcharts-\").concat(s,\"-annotation-label[rel='\").concat(h,\"']\")),f=this.helpers.addBackgroundToAnno(u,g);return f&&l.insertBefore(f.node,u),i&&n.globals.memory.methodsToExec.push({context:o,id:g.id?g.id:x.randomId(),method:r,label:\"addAnnotation\",params:e}),a}},{key:\"clearAnnotations\",value:function(t){var e=t.w,i=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis-annotations, .apexcharts-xaxis-annotations, .apexcharts-point-annotations\");e.globals.memory.methodsToExec.map((function(t,i){\"addText\"!==t.label&&\"addAnnotation\"!==t.label||e.globals.memory.methodsToExec.splice(i,1)})),i=x.listToArray(i),Array.prototype.forEach.call(i,(function(t){for(;t.firstChild;)t.removeChild(t.firstChild)}))}},{key:\"removeAnnotation\",value:function(t,e){var i=t.w,a=i.globals.dom.baseEl.querySelectorAll(\".\".concat(e));a&&(i.globals.memory.methodsToExec.map((function(t,a){t.id===e&&i.globals.memory.methodsToExec.splice(a,1)})),Array.prototype.forEach.call(a,(function(t){t.parentElement.removeChild(t)})))}}]),t}(),T=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.months31=[1,3,5,7,8,10,12],this.months30=[2,4,6,9,11],this.daysCntOfYear=[0,31,59,90,120,151,181,212,243,273,304,334]}return r(t,[{key:\"isValidDate\",value:function(t){return!isNaN(this.parseDate(t))}},{key:\"getTimeStamp\",value:function(t){return Date.parse(t)?this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toISOString().substr(0,25)).getTime():new Date(t).getTime():t}},{key:\"getDate\",value:function(t){return this.w.config.xaxis.labels.datetimeUTC?new Date(new Date(t).toUTCString()):new Date(t)}},{key:\"parseDate\",value:function(t){var e=Date.parse(t);if(!isNaN(e))return this.getTimeStamp(t);var i=Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"));return i=this.getTimeStamp(i)}},{key:\"parseDateWithTimezone\",value:function(t){return Date.parse(t.replace(/-/g,\"/\").replace(/[a-z]+/gi,\" \"))}},{key:\"formatDate\",value:function(t,e){var i=this.w.globals.locale,a=this.w.config.xaxis.labels.datetimeUTC,s=[\"\\0\"].concat(u(i.months)),r=[\"\\x01\"].concat(u(i.shortMonths)),o=[\"\\x02\"].concat(u(i.days)),n=[\"\\x03\"].concat(u(i.shortDays));function l(t,e){var i=t+\"\";for(e=e||2;i.length12?g-12:0===g?12:g;e=(e=(e=(e=e.replace(/(^|[^\\\\])HH+/g,\"$1\"+l(g))).replace(/(^|[^\\\\])H/g,\"$1\"+g)).replace(/(^|[^\\\\])hh+/g,\"$1\"+l(f))).replace(/(^|[^\\\\])h/g,\"$1\"+f);var p=a?t.getUTCMinutes():t.getMinutes();e=(e=e.replace(/(^|[^\\\\])mm+/g,\"$1\"+l(p))).replace(/(^|[^\\\\])m/g,\"$1\"+p);var x=a?t.getUTCSeconds():t.getSeconds();e=(e=e.replace(/(^|[^\\\\])ss+/g,\"$1\"+l(x))).replace(/(^|[^\\\\])s/g,\"$1\"+x);var b=a?t.getUTCMilliseconds():t.getMilliseconds();e=e.replace(/(^|[^\\\\])fff+/g,\"$1\"+l(b,3)),b=Math.round(b/10),e=e.replace(/(^|[^\\\\])ff/g,\"$1\"+l(b)),b=Math.round(b/10);var v=g<12?\"AM\":\"PM\";e=(e=(e=e.replace(/(^|[^\\\\])f/g,\"$1\"+b)).replace(/(^|[^\\\\])TT+/g,\"$1\"+v)).replace(/(^|[^\\\\])T/g,\"$1\"+v.charAt(0));var m=v.toLowerCase();e=(e=e.replace(/(^|[^\\\\])tt+/g,\"$1\"+m)).replace(/(^|[^\\\\])t/g,\"$1\"+m.charAt(0));var y=-t.getTimezoneOffset(),w=a||!y?\"Z\":y>0?\"+\":\"-\";if(!a){var k=(y=Math.abs(y))%60;w+=l(Math.floor(y/60))+\":\"+l(k)}e=e.replace(/(^|[^\\\\])K/g,\"$1\"+w);var A=(a?t.getUTCDay():t.getDay())+1;return e=(e=(e=(e=(e=e.replace(new RegExp(o[0],\"g\"),o[A])).replace(new RegExp(n[0],\"g\"),n[A])).replace(new RegExp(s[0],\"g\"),s[c])).replace(new RegExp(r[0],\"g\"),r[c])).replace(/\\\\(.)/g,\"$1\")}},{key:\"getTimeUnitsfromTimestamp\",value:function(t,e,i){var a=this.w;void 0!==a.config.xaxis.min&&(t=a.config.xaxis.min),void 0!==a.config.xaxis.max&&(e=a.config.xaxis.max);var s=this.getDate(t),r=this.getDate(e),o=this.formatDate(s,\"yyyy MM dd HH mm ss fff\").split(\" \"),n=this.formatDate(r,\"yyyy MM dd HH mm ss fff\").split(\" \");return{minMillisecond:parseInt(o[6],10),maxMillisecond:parseInt(n[6],10),minSecond:parseInt(o[5],10),maxSecond:parseInt(n[5],10),minMinute:parseInt(o[4],10),maxMinute:parseInt(n[4],10),minHour:parseInt(o[3],10),maxHour:parseInt(n[3],10),minDate:parseInt(o[2],10),maxDate:parseInt(n[2],10),minMonth:parseInt(o[1],10)-1,maxMonth:parseInt(n[1],10)-1,minYear:parseInt(o[0],10),maxYear:parseInt(n[0],10)}}},{key:\"isLeapYear\",value:function(t){return t%4==0&&t%100!=0||t%400==0}},{key:\"calculcateLastDaysOfMonth\",value:function(t,e,i){return this.determineDaysOfMonths(t,e)-i}},{key:\"determineDaysOfYear\",value:function(t){var e=365;return this.isLeapYear(t)&&(e=366),e}},{key:\"determineRemainingDaysOfYear\",value:function(t,e,i){var a=this.daysCntOfYear[e]+i;return e>1&&this.isLeapYear()&&a++,a}},{key:\"determineDaysOfMonths\",value:function(t,e){var i=30;switch(t=x.monthMod(t),!0){case this.months30.indexOf(t)>-1:2===t&&(i=this.isLeapYear(e)?29:28);break;case this.months31.indexOf(t)>-1:default:i=31}return i}}]),t}(),M=function(t){var e,i=t.ctx,a=t.seriesIndex,s=t.dataPointIndex,r=t.y1,o=t.y2,n=t.w,l=n.globals.seriesRangeStart[a][s],h=n.globals.seriesRangeEnd[a][s],c=n.globals.labels[s],d=n.config.series[a].name?n.config.series[a].name:\"\",g=n.config.tooltip.y.formatter,u=n.config.tooltip.y.title.formatter,f={w:n,seriesIndex:a,dataPointIndex:s,start:l,end:h};\"function\"==typeof u&&(d=u(d,f)),null!==(e=n.config.series[a].data[s])&&void 0!==e&&e.x&&(c=n.config.series[a].data[s].x+\":\"),\"function\"==typeof g&&(c=g(c,f)),Number.isFinite(r)&&Number.isFinite(o)&&(l=r,h=o);var p=\"\",x=\"\",b=n.globals.colors[a];if(void 0===n.config.tooltip.x.formatter)if(\"datetime\"===n.config.xaxis.type){var v=new T(i);p=v.formatDate(v.getDate(l),n.config.tooltip.x.format),x=v.formatDate(v.getDate(h),n.config.tooltip.x.format)}else p=l,x=h;else p=n.config.tooltip.x.formatter(l),x=n.config.tooltip.x.formatter(h);return{start:l,end:h,startVal:p,endVal:x,ylabel:c,color:b,seriesName:d}},I=function(t){var e=t.color,i=t.seriesName,a=t.ylabel,s=t.start,r=t.end,o=t.seriesIndex,n=t.dataPointIndex,l=t.ctx.tooltip.tooltipLabels.getFormatters(o);s=l.yLbFormatter(s),r=l.yLbFormatter(r);var h=l.yLbFormatter(t.w.globals.series[o][n]),c='\\n '.concat(s,'\\n - \\n ').concat(r,\"\\n \");return'
'+(i||\"\")+'
'+a+\" \"+(t.w.globals.comboCharts?\"rangeArea\"===t.w.config.series[o].type||\"rangeBar\"===t.w.config.series[o].type?c:\"\".concat(h,\"\"):c)+\"
\"},z=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"line\",value:function(){return{chart:{animations:{easing:\"swing\"}},dataLabels:{enabled:!1},stroke:{width:5,curve:\"straight\"},markers:{size:0,hover:{sizeOffset:6}},xaxis:{crosshairs:{width:1}}}}},{key:\"sparkline\",value:function(t){this.opts.yaxis[0].show=!1,this.opts.yaxis[0].title.text=\"\",this.opts.yaxis[0].axisBorder.show=!1,this.opts.yaxis[0].axisTicks.show=!1,this.opts.yaxis[0].floating=!0;return x.extend(t,{grid:{show:!1,padding:{left:0,right:0,top:0,bottom:0}},legend:{show:!1},xaxis:{labels:{show:!1},tooltip:{enabled:!1},axisBorder:{show:!1},axisTicks:{show:!1}},chart:{toolbar:{show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1}})}},{key:\"bar\",value:function(){return{chart:{stacked:!1,animations:{easing:\"swing\"}},plotOptions:{bar:{dataLabels:{position:\"center\"}}},dataLabels:{style:{colors:[\"#fff\"]},background:{enabled:!1}},stroke:{width:0,lineCap:\"round\"},fill:{opacity:.85},legend:{markers:{shape:\"square\",radius:2,size:8}},tooltip:{shared:!1,intersect:!0},xaxis:{tooltip:{enabled:!1},tickPlacement:\"between\",crosshairs:{width:\"barWidth\",position:\"back\",fill:{type:\"gradient\"},dropShadow:{enabled:!1},stroke:{width:0}}}}}},{key:\"candlestick\",value:function(){var t=this;return{stroke:{width:1,colors:[\"#333\"]},fill:{opacity:1},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Open\",\"High\",\"\",\"Low\",\"Close\"],\"candlestick\")}},states:{active:{filter:{type:\"none\"}}},xaxis:{crosshairs:{width:1}}}}},{key:\"boxPlot\",value:function(){var t=this;return{chart:{animations:{dynamicAnimation:{enabled:!1}}},stroke:{width:1,colors:[\"#24292e\"]},dataLabels:{enabled:!1},tooltip:{shared:!0,custom:function(e){var i=e.seriesIndex,a=e.dataPointIndex,s=e.w;return t._getBoxTooltip(s,i,a,[\"Minimum\",\"Q1\",\"Median\",\"Q3\",\"Maximum\"],\"boxPlot\")}},markers:{size:5,strokeWidth:1,strokeColors:\"#111\"},xaxis:{crosshairs:{width:1}}}}},{key:\"rangeBar\",value:function(){return{stroke:{width:0,lineCap:\"square\"},plotOptions:{bar:{borderRadius:0,dataLabels:{position:\"center\"}}},dataLabels:{enabled:!1,formatter:function(t,e){e.ctx;var i=e.seriesIndex,a=e.dataPointIndex,s=e.w,r=function(){var t=s.globals.seriesRangeStart[i][a];return s.globals.seriesRangeEnd[i][a]-t};return s.globals.comboCharts?\"rangeBar\"===s.config.series[i].type||\"rangeArea\"===s.config.series[i].type?r():t:r()},background:{enabled:!1},style:{colors:[\"#fff\"]}},tooltip:{shared:!1,followCursor:!0,custom:function(t){return t.w.config.plotOptions&&t.w.config.plotOptions.bar&&t.w.config.plotOptions.bar.horizontal?function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.startVal,n=i.endVal;return I(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t):function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return I(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}},xaxis:{tickPlacement:\"between\",tooltip:{enabled:!1},crosshairs:{stroke:{width:0}}}}}},{key:\"area\",value:function(){return{stroke:{width:4,fill:{type:\"solid\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}}},fill:{type:\"gradient\",gradient:{inverseColors:!1,shade:\"light\",type:\"vertical\",opacityFrom:.65,opacityTo:.5,stops:[0,100,100]}},markers:{size:0,hover:{sizeOffset:6}},tooltip:{followCursor:!1}}}},{key:\"rangeArea\",value:function(){return{stroke:{curve:\"straight\",width:0},fill:{type:\"solid\",opacity:.6},markers:{size:0},states:{hover:{filter:{type:\"none\"}},active:{filter:{type:\"none\"}}},tooltip:{intersect:!1,shared:!0,followCursor:!0,custom:function(t){return function(t){var i=M(t),a=i.color,s=i.seriesName,r=i.ylabel,o=i.start,n=i.end;return I(e(e({},t),{},{color:a,seriesName:s,ylabel:r,start:o,end:n}))}(t)}}}}},{key:\"brush\",value:function(t){return x.extend(t,{chart:{toolbar:{autoSelected:\"selection\",show:!1},zoom:{enabled:!1}},dataLabels:{enabled:!1},stroke:{width:1},tooltip:{enabled:!1},xaxis:{tooltip:{enabled:!1}}})}},{key:\"stacked100\",value:function(t){t.dataLabels=t.dataLabels||{},t.dataLabels.formatter=t.dataLabels.formatter||void 0;var e=t.dataLabels.formatter;return t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})),\"bar\"===t.chart.type&&(t.dataLabels.formatter=e||function(t){return\"number\"==typeof t&&t?t.toFixed(0)+\"%\":t}),t}},{key:\"convertCatToNumeric\",value:function(t){return t.xaxis.convertedCatToNumeric=!0,t}},{key:\"convertCatToNumericXaxis\",value:function(t,e,i){t.xaxis.type=\"numeric\",t.xaxis.labels=t.xaxis.labels||{},t.xaxis.labels.formatter=t.xaxis.labels.formatter||function(t){return x.isNumber(t)?Math.floor(t):t};var a=t.xaxis.labels.formatter,s=t.xaxis.categories&&t.xaxis.categories.length?t.xaxis.categories:t.labels;return i&&i.length&&(s=i.map((function(t){return Array.isArray(t)?t:String(t)}))),s&&s.length&&(t.xaxis.labels.formatter=function(t){return x.isNumber(t)?a(s[Math.floor(t)-1]):a(t)}),t.xaxis.categories=[],t.labels=[],t.xaxis.tickAmount=t.xaxis.tickAmount||\"dataPoints\",t}},{key:\"bubble\",value:function(){return{dataLabels:{style:{colors:[\"#fff\"]}},tooltip:{shared:!1,intersect:!0},xaxis:{crosshairs:{width:0}},fill:{type:\"solid\",gradient:{shade:\"light\",inverse:!0,shadeIntensity:.55,opacityFrom:.4,opacityTo:.8}}}}},{key:\"scatter\",value:function(){return{dataLabels:{enabled:!1},tooltip:{shared:!1,intersect:!0},markers:{size:6,strokeWidth:1,hover:{sizeOffset:2}}}}},{key:\"heatmap\",value:function(){return{chart:{stacked:!1},fill:{opacity:1},dataLabels:{style:{colors:[\"#fff\"]}},stroke:{colors:[\"#fff\"]},tooltip:{followCursor:!0,marker:{show:!1},x:{show:!1}},legend:{position:\"top\",markers:{shape:\"square\",size:10,offsetY:2}},grid:{padding:{right:20}}}}},{key:\"treemap\",value:function(){return{chart:{zoom:{enabled:!1}},dataLabels:{style:{fontSize:14,fontWeight:600,colors:[\"#fff\"]}},stroke:{show:!0,width:2,colors:[\"#fff\"]},legend:{show:!1},fill:{gradient:{stops:[0,100]}},tooltip:{followCursor:!0,x:{show:!1}},grid:{padding:{left:0,right:0}},xaxis:{crosshairs:{show:!1},tooltip:{enabled:!1}}}}},{key:\"pie\",value:function(){return{chart:{toolbar:{show:!1}},plotOptions:{pie:{donut:{labels:{show:!1}}}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",stops:[0,100]}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"donut\",value:function(){return{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},style:{colors:[\"#fff\"]},background:{enabled:!1},dropShadow:{enabled:!0}},stroke:{colors:[\"#fff\"]},fill:{opacity:1,gradient:{shade:\"light\",shadeIntensity:.35,stops:[80,100],opacityFrom:1,opacityTo:1}},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"polarArea\",value:function(){return this.opts.yaxis[0].tickAmount=this.opts.yaxis[0].tickAmount?this.opts.yaxis[0].tickAmount:6,{chart:{toolbar:{show:!1}},dataLabels:{formatter:function(t){return t.toFixed(1)+\"%\"},enabled:!1},stroke:{show:!0,width:2},fill:{opacity:.7},tooltip:{theme:\"dark\",fillSeriesColor:!0},legend:{position:\"right\"}}}},{key:\"radar\",value:function(){return this.opts.yaxis[0].labels.offsetY=this.opts.yaxis[0].labels.offsetY?this.opts.yaxis[0].labels.offsetY:6,{dataLabels:{enabled:!1,style:{fontSize:\"11px\"}},stroke:{width:2},markers:{size:3,strokeWidth:1,strokeOpacity:1},fill:{opacity:.2},tooltip:{shared:!1,intersect:!0,followCursor:!0},grid:{show:!1},xaxis:{labels:{formatter:function(t){return t},style:{colors:[\"#a8a8a8\"],fontSize:\"11px\"}},tooltip:{enabled:!1},crosshairs:{show:!1}}}}},{key:\"radialBar\",value:function(){return{chart:{animations:{dynamicAnimation:{enabled:!0,speed:800}},toolbar:{show:!1}},fill:{gradient:{shade:\"dark\",shadeIntensity:.4,inverseColors:!1,type:\"diagonal2\",opacityFrom:1,opacityTo:1,stops:[70,98,100]}},legend:{show:!1,position:\"right\"},tooltip:{enabled:!1,fillSeriesColor:!0}}}},{key:\"_getBoxTooltip\",value:function(t,e,i,a,s){var r=t.globals.seriesCandleO[e][i],o=t.globals.seriesCandleH[e][i],n=t.globals.seriesCandleM[e][i],l=t.globals.seriesCandleL[e][i],h=t.globals.seriesCandleC[e][i];return t.config.series[e].type&&t.config.series[e].type!==s?'
\\n '.concat(t.config.series[e].name?t.config.series[e].name:\"series-\"+(e+1),\": \").concat(t.globals.series[e][i],\"\\n
\"):'
')+\"
\".concat(a[0],': ')+r+\"
\"+\"
\".concat(a[1],': ')+o+\"
\"+(n?\"
\".concat(a[2],': ')+n+\"
\":\"\")+\"
\".concat(a[3],': ')+l+\"
\"+\"
\".concat(a[4],': ')+h+\"
\"}}]),t}(),X=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(t){var e=t.responsiveOverride,a=this.opts,s=new L,r=new z(a);this.chartType=a.chart.type,\"histogram\"===this.chartType&&(a.chart.type=\"bar\",a=x.extend({plotOptions:{bar:{columnWidth:\"99.99%\"}}},a)),a=this.extendYAxis(a),a=this.extendAnnotations(a);var o=s.init(),n={};if(a&&\"object\"===i(a)){var l={};l=-1!==[\"line\",\"area\",\"bar\",\"candlestick\",\"boxPlot\",\"rangeBar\",\"rangeArea\",\"histogram\",\"bubble\",\"scatter\",\"heatmap\",\"treemap\",\"pie\",\"polarArea\",\"donut\",\"radar\",\"radialBar\"].indexOf(a.chart.type)?r[a.chart.type]():r.line(),a.chart.brush&&a.chart.brush.enabled&&(l=r.brush(l)),a.chart.stacked&&\"100%\"===a.chart.stackType&&(a=r.stacked100(a)),this.checkForDarkTheme(window.Apex),this.checkForDarkTheme(a),a.xaxis=a.xaxis||window.Apex.xaxis||{},e||(a.xaxis.convertedCatToNumeric=!1),((a=this.checkForCatToNumericXAxis(this.chartType,l,a)).chart.sparkline&&a.chart.sparkline.enabled||window.Apex.chart&&window.Apex.chart.sparkline&&window.Apex.chart.sparkline.enabled)&&(l=r.sparkline(l)),n=x.extend(o,l)}var h=x.extend(n,window.Apex);return o=x.extend(h,a),o=this.handleUserInputErrors(o)}},{key:\"checkForCatToNumericXAxis\",value:function(t,e,i){var a=new z(i),s=(\"bar\"===t||\"boxPlot\"===t)&&i.plotOptions&&i.plotOptions.bar&&i.plotOptions.bar.horizontal,r=\"pie\"===t||\"polarArea\"===t||\"donut\"===t||\"radar\"===t||\"radialBar\"===t||\"heatmap\"===t,o=\"datetime\"!==i.xaxis.type&&\"numeric\"!==i.xaxis.type,n=i.xaxis.tickPlacement?i.xaxis.tickPlacement:e.xaxis&&e.xaxis.tickPlacement;return s||r||!o||\"between\"===n||(i=a.convertCatToNumeric(i)),i}},{key:\"extendYAxis\",value:function(t,e){var i=new L;(void 0===t.yaxis||!t.yaxis||Array.isArray(t.yaxis)&&0===t.yaxis.length)&&(t.yaxis={}),t.yaxis.constructor!==Array&&window.Apex.yaxis&&window.Apex.yaxis.constructor!==Array&&(t.yaxis=x.extend(t.yaxis,window.Apex.yaxis)),t.yaxis.constructor!==Array?t.yaxis=[x.extend(i.yAxis,t.yaxis)]:t.yaxis=x.extendArray(t.yaxis,i.yAxis);var a=!1;t.yaxis.forEach((function(t){t.logarithmic&&(a=!0)}));var s=t.series;return e&&!s&&(s=e.config.series),a&&s.length!==t.yaxis.length&&s.length&&(t.yaxis=s.map((function(e,a){if(e.name||(s[a].name=\"series-\".concat(a+1)),t.yaxis[a])return t.yaxis[a].seriesName=s[a].name,t.yaxis[a];var r=x.extend(i.yAxis,t.yaxis[0]);return r.show=!1,r}))),a&&s.length>1&&s.length!==t.yaxis.length&&console.warn(\"A multi-series logarithmic chart should have equal number of series and y-axes. Please make sure to equalize both.\"),t}},{key:\"extendAnnotations\",value:function(t){return void 0===t.annotations&&(t.annotations={},t.annotations.yaxis=[],t.annotations.xaxis=[],t.annotations.points=[]),t=this.extendYAxisAnnotations(t),t=this.extendXAxisAnnotations(t),t=this.extendPointAnnotations(t)}},{key:\"extendYAxisAnnotations\",value:function(t){var e=new L;return t.annotations.yaxis=x.extendArray(void 0!==t.annotations.yaxis?t.annotations.yaxis:[],e.yAxisAnnotation),t}},{key:\"extendXAxisAnnotations\",value:function(t){var e=new L;return t.annotations.xaxis=x.extendArray(void 0!==t.annotations.xaxis?t.annotations.xaxis:[],e.xAxisAnnotation),t}},{key:\"extendPointAnnotations\",value:function(t){var e=new L;return t.annotations.points=x.extendArray(void 0!==t.annotations.points?t.annotations.points:[],e.pointAnnotation),t}},{key:\"checkForDarkTheme\",value:function(t){t.theme&&\"dark\"===t.theme.mode&&(t.tooltip||(t.tooltip={}),\"light\"!==t.tooltip.theme&&(t.tooltip.theme=\"dark\"),t.chart.foreColor||(t.chart.foreColor=\"#f6f7f8\"),t.chart.background||(t.chart.background=\"#424242\"),t.theme.palette||(t.theme.palette=\"palette4\"))}},{key:\"handleUserInputErrors\",value:function(t){var e=t;if(e.tooltip.shared&&e.tooltip.intersect)throw new Error(\"tooltip.shared cannot be enabled when tooltip.intersect is true. Turn off any other option by setting it to false.\");if(\"bar\"===e.chart.type&&e.plotOptions.bar.horizontal){if(e.yaxis.length>1)throw new Error(\"Multiple Y Axis for bars are not supported. Switch to column chart by setting plotOptions.bar.horizontal=false\");e.yaxis[0].reversed&&(e.yaxis[0].opposite=!0),e.xaxis.tooltip.enabled=!1,e.yaxis[0].tooltip.enabled=!1,e.chart.zoom.enabled=!1}return\"bar\"!==e.chart.type&&\"rangeBar\"!==e.chart.type||e.tooltip.shared&&\"barWidth\"===e.xaxis.crosshairs.width&&e.series.length>1&&(e.xaxis.crosshairs.width=\"tickWidth\"),\"candlestick\"!==e.chart.type&&\"boxPlot\"!==e.chart.type||e.yaxis[0].reversed&&(console.warn(\"Reversed y-axis in \".concat(e.chart.type,\" chart is not supported.\")),e.yaxis[0].reversed=!1),e}}]),t}(),E=function(){function t(){a(this,t)}return r(t,[{key:\"initGlobalVars\",value:function(t){t.series=[],t.seriesCandleO=[],t.seriesCandleH=[],t.seriesCandleM=[],t.seriesCandleL=[],t.seriesCandleC=[],t.seriesRangeStart=[],t.seriesRangeEnd=[],t.seriesRange=[],t.seriesPercent=[],t.seriesGoals=[],t.seriesX=[],t.seriesZ=[],t.seriesNames=[],t.seriesTotals=[],t.seriesLog=[],t.seriesColors=[],t.stackedSeriesTotals=[],t.seriesXvalues=[],t.seriesYvalues=[],t.labels=[],t.hasGroups=!1,t.groups=[],t.categoryLabels=[],t.timescaleLabels=[],t.noLabelsProvided=!1,t.resizeTimer=null,t.selectionResizeTimer=null,t.delayedElements=[],t.pointsArray=[],t.dataLabelsRects=[],t.isXNumeric=!1,t.xaxisLabelsCount=0,t.skipLastTimelinelabel=!1,t.skipFirstTimelinelabel=!1,t.isDataXYZ=!1,t.isMultiLineX=!1,t.isMultipleYAxis=!1,t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE,t.minYArr=[],t.maxYArr=[],t.maxX=-Number.MAX_VALUE,t.minX=Number.MAX_VALUE,t.initialMaxX=-Number.MAX_VALUE,t.initialMinX=Number.MAX_VALUE,t.maxDate=0,t.minDate=Number.MAX_VALUE,t.minZ=Number.MAX_VALUE,t.maxZ=-Number.MAX_VALUE,t.minXDiff=Number.MAX_VALUE,t.yAxisScale=[],t.xAxisScale=null,t.xAxisTicksPositions=[],t.yLabelsCoords=[],t.yTitleCoords=[],t.barPadForNumericAxis=0,t.padHorizontal=0,t.xRange=0,t.yRange=[],t.zRange=0,t.dataPoints=0,t.xTickAmount=0}},{key:\"globalVars\",value:function(t){return{chartID:null,cuid:null,events:{beforeMount:[],mounted:[],updated:[],clicked:[],selection:[],dataPointSelection:[],zoomed:[],scrolled:[]},colors:[],clientX:null,clientY:null,fill:{colors:[]},stroke:{colors:[]},dataLabels:{style:{colors:[]}},radarPolygons:{fill:{colors:[]}},markers:{colors:[],size:t.markers.size,largestSize:0},animationEnded:!1,isTouchDevice:\"ontouchstart\"in window||navigator.msMaxTouchPoints,isDirty:!1,isExecCalled:!1,initialConfig:null,initialSeries:[],lastXAxis:[],lastYAxis:[],columnSeries:null,labels:[],timescaleLabels:[],noLabelsProvided:!1,allSeriesCollapsed:!1,collapsedSeries:[],collapsedSeriesIndices:[],ancillaryCollapsedSeries:[],ancillaryCollapsedSeriesIndices:[],risingSeries:[],dataFormatXNumeric:!1,capturedSeriesIndex:-1,capturedDataPointIndex:-1,selectedDataPoints:[],goldenPadding:35,invalidLogScale:!1,ignoreYAxisIndexes:[],yAxisSameScaleIndices:[],maxValsInArrayIndex:0,radialSize:0,selection:void 0,zoomEnabled:\"zoom\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.zoom&&t.chart.zoom.enabled,panEnabled:\"pan\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.pan,selectionEnabled:\"selection\"===t.chart.toolbar.autoSelected&&t.chart.toolbar.tools.selection,yaxis:null,mousedown:!1,lastClientPosition:{},visibleXRange:void 0,yValueDecimal:0,total:0,SVGNS:\"http://www.w3.org/2000/svg\",svgWidth:0,svgHeight:0,noData:!1,locale:{},dom:{},memory:{methodsToExec:[]},shouldAnimate:!0,skipLastTimelinelabel:!1,skipFirstTimelinelabel:!1,delayedElements:[],axisCharts:!0,isDataXYZ:!1,resized:!1,resizeTimer:null,comboCharts:!1,dataChanged:!1,previousPaths:[],allSeriesHasEqualX:!0,pointsArray:[],dataLabelsRects:[],lastDrawnDataLabelsIndexes:[],hasNullValues:!1,easing:null,zoomed:!1,gridWidth:0,gridHeight:0,rotateXLabels:!1,defaultLabels:!1,xLabelFormatter:void 0,yLabelFormatters:[],xaxisTooltipFormatter:void 0,ttKeyFormatter:void 0,ttVal:void 0,ttZFormatter:void 0,LINE_HEIGHT_RATIO:1.618,xAxisLabelsHeight:0,xAxisGroupLabelsHeight:0,xAxisLabelsWidth:0,yAxisLabelsWidth:0,scaleX:1,scaleY:1,translateX:0,translateY:0,translateYAxisX:[],yAxisWidths:[],translateXAxisY:0,translateXAxisX:0,tooltip:null}}},{key:\"init\",value:function(t){var e=this.globalVars(t);return this.initGlobalVars(e),e.initialConfig=x.extend({},t),e.initialSeries=x.clone(t.series),e.lastXAxis=x.clone(e.initialConfig.xaxis),e.lastYAxis=x.clone(e.initialConfig.yaxis),e}}]),t}(),Y=function(){function t(e){a(this,t),this.opts=e}return r(t,[{key:\"init\",value:function(){var t=new X(this.opts).init({responsiveOverride:!1});return{config:t,globals:(new E).init(t)}}}]),t}(),F=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.opts=null,this.seriesIndex=0}return r(t,[{key:\"clippedImgArea\",value:function(t){var e=this.w,i=e.config,a=parseInt(e.globals.gridWidth,10),s=parseInt(e.globals.gridHeight,10),r=a>s?a:s,o=t.image,n=0,l=0;void 0===t.width&&void 0===t.height?void 0!==i.fill.image.width&&void 0!==i.fill.image.height?(n=i.fill.image.width+1,l=i.fill.image.height):(n=r+1,l=r):(n=t.width,l=t.height);var h=document.createElementNS(e.globals.SVGNS,\"pattern\");m.setAttrs(h,{id:t.patternID,patternUnits:t.patternUnits?t.patternUnits:\"userSpaceOnUse\",width:n+\"px\",height:l+\"px\"});var c=document.createElementNS(e.globals.SVGNS,\"image\");h.appendChild(c),c.setAttributeNS(window.SVG.xlink,\"href\",o),m.setAttrs(c,{x:0,y:0,preserveAspectRatio:\"none\",width:n+\"px\",height:l+\"px\"}),c.style.opacity=t.opacity,e.globals.dom.elDefs.node.appendChild(h)}},{key:\"getSeriesIndex\",value:function(t){var e=this.w;return(\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||\"heatmap\"===e.config.chart.type||\"treemap\"===e.config.chart.type?this.seriesIndex=t.seriesNumber:this.seriesIndex=t.seriesNumber%e.globals.series.length,this.seriesIndex}},{key:\"fillPath\",value:function(t){var e=this.w;this.opts=t;var i,a,s,r=this.w.config;this.seriesIndex=this.getSeriesIndex(t);var o=this.getFillColors()[this.seriesIndex];void 0!==e.globals.seriesColors[this.seriesIndex]&&(o=e.globals.seriesColors[this.seriesIndex]),\"function\"==typeof o&&(o=o({seriesIndex:this.seriesIndex,dataPointIndex:t.dataPointIndex,value:t.value,w:e}));var n=t.fillType?t.fillType:this.getFillType(this.seriesIndex),l=Array.isArray(r.fill.opacity)?r.fill.opacity[this.seriesIndex]:r.fill.opacity;t.color&&(o=t.color);var h=o;if(-1===o.indexOf(\"rgb\")?o.length<9&&(h=x.hexToRgba(o,l)):o.indexOf(\"rgba\")>-1&&(l=x.getOpacityFromRGBA(o)),t.opacity&&(l=t.opacity),\"pattern\"===n&&(a=this.handlePatternFill({fillConfig:t.fillConfig,patternFill:a,fillColor:o,fillOpacity:l,defaultColor:h})),\"gradient\"===n&&(s=this.handleGradientFill({fillConfig:t.fillConfig,fillColor:o,fillOpacity:l,i:this.seriesIndex})),\"image\"===n){var c=r.fill.image.src,d=t.patternID?t.patternID:\"\";this.clippedImgArea({opacity:l,image:Array.isArray(c)?t.seriesNumber-1&&(u=x.getOpacityFromRGBA(g));var f=void 0===o.gradient.opacityTo?a:Array.isArray(o.gradient.opacityTo)?o.gradient.opacityTo[r]:o.gradient.opacityTo;if(void 0===o.gradient.gradientToColors||0===o.gradient.gradientToColors.length)n=\"dark\"===o.gradient.shade?c.shadeColor(-1*parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?x.rgb2hex(i):i):c.shadeColor(parseFloat(o.gradient.shadeIntensity),i.indexOf(\"rgb\")>-1?x.rgb2hex(i):i);else if(o.gradient.gradientToColors[l.seriesNumber]){var p=o.gradient.gradientToColors[l.seriesNumber];n=p,p.indexOf(\"rgba\")>-1&&(f=x.getOpacityFromRGBA(p))}else n=i;if(o.gradient.gradientFrom&&(g=o.gradient.gradientFrom),o.gradient.gradientTo&&(n=o.gradient.gradientTo),o.gradient.inverseColors){var b=g;g=n,n=b}return g.indexOf(\"rgb\")>-1&&(g=x.rgb2hex(g)),n.indexOf(\"rgb\")>-1&&(n=x.rgb2hex(n)),h.drawGradient(d,g,n,u,f,l.size,o.gradient.stops,o.gradient.colorStops,r)}}]),t}(),R=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"setGlobalMarkerSize\",value:function(){var t=this.w;if(t.globals.markers.size=Array.isArray(t.config.markers.size)?t.config.markers.size:[t.config.markers.size],t.globals.markers.size.length>0){if(t.globals.markers.size.length4&&void 0!==arguments[4]&&arguments[4],o=this.w,n=e,l=t,h=null,c=new m(this.ctx),d=o.config.markers.discrete&&o.config.markers.discrete.length;if((o.globals.markers.size[e]>0||r||d)&&(h=c.group({class:r||d?\"\":\"apexcharts-series-markers\"})).attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(o.globals.cuid,\")\")),Array.isArray(l.x))for(var g=0;g0:o.config.markers.size>0;if(p||r||d){x.isNumber(l.y[g])?f+=\" w\".concat(x.randomId()):f=\"apexcharts-nullpoint\";var b=this.getMarkerConfig({cssClass:f,seriesIndex:e,dataPointIndex:u});o.config.series[n].data[u]&&(o.config.series[n].data[u].fillColor&&(b.pointFillColor=o.config.series[n].data[u].fillColor),o.config.series[n].data[u].strokeColor&&(b.pointStrokeColor=o.config.series[n].data[u].strokeColor)),a&&(b.pSize=a),(s=c.drawMarker(l.x[g],l.y[g],b)).attr(\"rel\",u),s.attr(\"j\",u),s.attr(\"index\",e),s.node.setAttribute(\"default-marker-size\",b.pSize);var y=new v(this.ctx);y.setSelectionFilter(s,e,u),this.addEvents(s),h&&h.add(s)}else void 0===o.globals.pointsArray[e]&&(o.globals.pointsArray[e]=[]),o.globals.pointsArray[e].push([l.x[g],l.y[g]])}return h}},{key:\"getMarkerConfig\",value:function(t){var e=t.cssClass,i=t.seriesIndex,a=t.dataPointIndex,s=void 0===a?null:a,r=t.finishRadius,o=void 0===r?null:r,n=this.w,l=this.getMarkerStyle(i),h=n.globals.markers.size[i],c=n.config.markers;return null!==s&&c.discrete.length&&c.discrete.map((function(t){t.seriesIndex===i&&t.dataPointIndex===s&&(l.pointStrokeColor=t.strokeColor,l.pointFillColor=t.fillColor,h=t.size,l.pointShape=t.shape)})),{pSize:null===o?h:o,pRadius:c.radius,width:Array.isArray(c.width)?c.width[i]:c.width,height:Array.isArray(c.height)?c.height[i]:c.height,pointStrokeWidth:Array.isArray(c.strokeWidth)?c.strokeWidth[i]:c.strokeWidth,pointStrokeColor:l.pointStrokeColor,pointFillColor:l.pointFillColor,shape:l.pointShape||(Array.isArray(c.shape)?c.shape[i]:c.shape),class:e,pointStrokeOpacity:Array.isArray(c.strokeOpacity)?c.strokeOpacity[i]:c.strokeOpacity,pointStrokeDashArray:Array.isArray(c.strokeDashArray)?c.strokeDashArray[i]:c.strokeDashArray,pointFillOpacity:Array.isArray(c.fillOpacity)?c.fillOpacity[i]:c.fillOpacity,seriesIndex:i}}},{key:\"addEvents\",value:function(t){var e=this.w,i=new m(this.ctx);t.node.addEventListener(\"mouseenter\",i.pathMouseEnter.bind(this.ctx,t)),t.node.addEventListener(\"mouseleave\",i.pathMouseLeave.bind(this.ctx,t)),t.node.addEventListener(\"mousedown\",i.pathMouseDown.bind(this.ctx,t)),t.node.addEventListener(\"click\",e.config.markers.onClick),t.node.addEventListener(\"dblclick\",e.config.markers.onDblClick),t.node.addEventListener(\"touchstart\",i.pathMouseDown.bind(this.ctx,t),{passive:!0})}},{key:\"getMarkerStyle\",value:function(t){var e=this.w,i=e.globals.markers.colors,a=e.config.markers.strokeColor||e.config.markers.strokeColors;return{pointStrokeColor:Array.isArray(a)?a[t]:a,pointFillColor:Array.isArray(i)?i[t]:i}}}]),t}(),D=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled}return r(t,[{key:\"draw\",value:function(t,e,i){var a=this.w,s=new m(this.ctx),r=i.realIndex,o=i.pointsPos,n=i.zRatio,l=i.elParent,h=s.group({class:\"apexcharts-series-markers apexcharts-series-\".concat(a.config.chart.type)});if(h.attr(\"clip-path\",\"url(#gridRectMarkerMask\".concat(a.globals.cuid,\")\")),Array.isArray(o.x))for(var c=0;cp.maxBubbleRadius&&(f=p.maxBubbleRadius)}a.config.chart.animations.enabled||(u=f);var x=o.x[c],b=o.y[c];if(u=u||0,null!==b&&void 0!==a.globals.series[r][d]||(g=!1),g){var v=this.drawPoint(x,b,u,f,r,d,e);h.add(v)}l.add(h)}}},{key:\"drawPoint\",value:function(t,e,i,a,s,r,o){var n=this.w,l=s,h=new b(this.ctx),c=new v(this.ctx),d=new F(this.ctx),g=new R(this.ctx),u=new m(this.ctx),f=g.getMarkerConfig({cssClass:\"apexcharts-marker\",seriesIndex:l,dataPointIndex:r,finishRadius:\"bubble\"===n.config.chart.type||n.globals.comboCharts&&n.config.series[s]&&\"bubble\"===n.config.series[s].type?a:null});a=f.pSize;var p,x=d.fillPath({seriesNumber:s,dataPointIndex:r,color:f.pointFillColor,patternUnits:\"objectBoundingBox\",value:n.globals.series[s][o]});if(\"circle\"===f.shape?p=u.drawCircle(i):\"square\"!==f.shape&&\"rect\"!==f.shape||(p=u.drawRect(0,0,f.width-f.pointStrokeWidth/2,f.height-f.pointStrokeWidth/2,f.pRadius)),n.config.series[l].data[r]&&n.config.series[l].data[r].fillColor&&(x=n.config.series[l].data[r].fillColor),p.attr({x:t-f.width/2-f.pointStrokeWidth/2,y:e-f.height/2-f.pointStrokeWidth/2,cx:t,cy:e,fill:x,\"fill-opacity\":f.pointFillOpacity,stroke:f.pointStrokeColor,r:a,\"stroke-width\":f.pointStrokeWidth,\"stroke-dasharray\":f.pointStrokeDashArray,\"stroke-opacity\":f.pointStrokeOpacity}),n.config.chart.dropShadow.enabled){var y=n.config.chart.dropShadow;c.dropShadow(p,y,s)}if(!this.initialAnim||n.globals.dataChanged||n.globals.resized)n.globals.animationEnded=!0;else{var w=n.config.chart.animations.speed;h.animateMarker(p,0,\"circle\"===f.shape?a:{width:f.width,height:f.height},w,n.globals.easing,(function(){window.setTimeout((function(){h.animationCompleted(p)}),100)}))}if(n.globals.dataChanged&&\"circle\"===f.shape)if(this.dynamicAnim){var k,A,S,C,L=n.config.chart.animations.dynamicAnimation.speed;null!=(C=n.globals.previousPaths[s]&&n.globals.previousPaths[s][o])&&(k=C.x,A=C.y,S=void 0!==C.r?C.r:a);for(var P=0;Pn.globals.gridHeight+d&&(e=n.globals.gridHeight+d/2),void 0===n.globals.dataLabelsRects[a]&&(n.globals.dataLabelsRects[a]=[]),n.globals.dataLabelsRects[a].push({x:t,y:e,width:c,height:d});var g=n.globals.dataLabelsRects[a].length-2,u=void 0!==n.globals.lastDrawnDataLabelsIndexes[a]?n.globals.lastDrawnDataLabelsIndexes[a][n.globals.lastDrawnDataLabelsIndexes[a].length-1]:0;if(void 0!==n.globals.dataLabelsRects[a][g]){var f=n.globals.dataLabelsRects[a][u];(t>f.x+f.width+2||e>f.y+f.height+2||t+ce.globals.gridWidth+p.textRects.width+10)&&(n=\"\");var x=e.globals.dataLabels.style.colors[r];((\"bar\"===e.config.chart.type||\"rangeBar\"===e.config.chart.type)&&e.config.plotOptions.bar.distributed||e.config.dataLabels.distributed)&&(x=e.globals.dataLabels.style.colors[o]),\"function\"==typeof x&&(x=x({series:e.globals.series,seriesIndex:r,dataPointIndex:o,w:e})),g&&(x=g);var b=d.offsetX,y=d.offsetY;if(\"bar\"!==e.config.chart.type&&\"rangeBar\"!==e.config.chart.type||(b=0,y=0),p.drawnextLabel){var w=i.drawText({width:100,height:parseInt(d.style.fontSize,10),x:a+b,y:s+y,foreColor:x,textAnchor:l||d.textAnchor,text:n,fontSize:h||d.style.fontSize,fontFamily:d.style.fontFamily,fontWeight:d.style.fontWeight||\"normal\"});if(w.attr({class:\"apexcharts-datalabel\",cx:a,cy:s}),d.dropShadow.enabled){var k=d.dropShadow;new v(this.ctx).dropShadow(w,k)}c.add(w),void 0===e.globals.lastDrawnDataLabelsIndexes[r]&&(e.globals.lastDrawnDataLabelsIndexes[r]=[]),e.globals.lastDrawnDataLabelsIndexes[r].push(o)}}}},{key:\"addBackgroundToDataLabel\",value:function(t,e){var i=this.w,a=i.config.dataLabels.background,s=a.padding,r=a.padding/2,o=e.width,n=e.height,l=new m(this.ctx).drawRect(e.x-s,e.y-r/2,o+2*s,n+r,a.borderRadius,\"transparent\"===i.config.chart.background?\"#fff\":i.config.chart.background,a.opacity,a.borderWidth,a.borderColor);a.dropShadow.enabled&&new v(this.ctx).dropShadow(l,a.dropShadow);return l}},{key:\"dataLabelsBackground\",value:function(){var t=this.w;if(\"bubble\"!==t.config.chart.type)for(var e=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-datalabels text\"),i=0;i0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w,s=x.clone(a.globals.initialSeries);a.globals.previousPaths=[],i?(a.globals.collapsedSeries=[],a.globals.ancillaryCollapsedSeries=[],a.globals.collapsedSeriesIndices=[],a.globals.ancillaryCollapsedSeriesIndices=[]):s=this.emptyCollapsedSeries(s),a.config.series=s,t&&(e&&(a.globals.zoomed=!1,this.ctx.updateHelpers.revertDefaultAxisMinMax()),this.ctx.updateHelpers._updateSeries(s,a.config.chart.animations.dynamicAnimation.enabled))}},{key:\"emptyCollapsedSeries\",value:function(t){for(var e=this.w,i=0;i-1&&(t[i].data=[]);return t}},{key:\"toggleSeriesOnHover\",value:function(t,e){var i=this.w;e||(e=t.target);var a=i.globals.dom.baseEl.querySelectorAll(\".apexcharts-series, .apexcharts-datalabels\");if(\"mousemove\"===t.type){var s=parseInt(e.getAttribute(\"rel\"),10)-1,r=null,o=null;i.globals.axisCharts||\"radialBar\"===i.config.chart.type?i.globals.axisCharts?(r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(s,\"']\")),o=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels[data\\\\:realIndex='\".concat(s,\"']\"))):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"']\")):r=i.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(s+1,\"'] path\"));for(var n=0;n=t.from&&a<=t.to&&s[e].classList.remove(i.legendInactiveClass)}}(a.config.plotOptions.heatmap.colorScale.ranges[o])}else\"mouseout\"===t.type&&r(\"remove\")}},{key:\"getActiveConfigSeriesIndex\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"asc\",e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=this.w,a=0;if(i.config.series.length>1)for(var s=i.config.series.map((function(t,a){return t.data&&t.data.length>0&&-1===i.globals.collapsedSeriesIndices.indexOf(a)&&(!i.globals.comboCharts||0===e.length||e.length&&e.indexOf(i.config.series[a].type)>-1)?a:-1})),r=\"asc\"===t?0:s.length-1;\"asc\"===t?r=0;\"asc\"===t?r++:r--)if(-1!==s[r]){a=s[r];break}return a}},{key:\"getBarSeriesIndices\",value:function(){return this.w.globals.comboCharts?this.w.config.series.map((function(t,e){return\"bar\"===t.type||\"column\"===t.type?e:-1})).filter((function(t){return-1!==t})):this.w.config.series.map((function(t,e){return e}))}},{key:\"getPreviousPaths\",value:function(){var t=this.w;function e(e,i,a){for(var s=e[i].childNodes,r={type:a,paths:[],realIndex:e[i].getAttribute(\"data:realIndex\")},o=0;o0)for(var a=function(e){for(var i=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-\".concat(t.config.chart.type,\" .apexcharts-series[data\\\\:realIndex='\").concat(e,\"'] rect\")),a=[],s=function(t){var e=function(e){return i[t].getAttribute(e)},s={x:parseFloat(e(\"x\")),y:parseFloat(e(\"y\")),width:parseFloat(e(\"width\")),height:parseFloat(e(\"height\"))};a.push({rect:s,color:i[t].getAttribute(\"color\")})},r=0;r0)for(var a=0;a0?t:[]}));return t}}]),t}(),N=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.twoDSeries=[],this.threeDSeries=[],this.twoDSeriesX=[],this.seriesGoals=[],this.coreUtils=new y(this.ctx)}return r(t,[{key:\"isMultiFormat\",value:function(){return this.isFormatXY()||this.isFormat2DArray()}},{key:\"isFormatXY\",value:function(){var t=this.w.config.series.slice(),e=new O(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&null!==t[this.activeSeriesIndex].data[0]&&void 0!==t[this.activeSeriesIndex].data[0].x&&null!==t[this.activeSeriesIndex].data[0])return!0}},{key:\"isFormat2DArray\",value:function(){var t=this.w.config.series.slice(),e=new O(this.ctx);if(this.activeSeriesIndex=e.getActiveConfigSeriesIndex(),void 0!==t[this.activeSeriesIndex].data&&t[this.activeSeriesIndex].data.length>0&&void 0!==t[this.activeSeriesIndex].data[0]&&null!==t[this.activeSeriesIndex].data[0]&&t[this.activeSeriesIndex].data[0].constructor===Array)return!0}},{key:\"handleFormat2DArray\",value:function(t,e){for(var i=this.w.config,a=this.w.globals,s=\"boxPlot\"===i.chart.type||\"boxPlot\"===i.series[e].type,r=0;r=5?this.twoDSeries.push(x.parseNumber(t[e].data[r][4])):this.twoDSeries.push(x.parseNumber(t[e].data[r][1])),a.dataFormatXNumeric=!0),\"datetime\"===i.xaxis.type){var o=new Date(t[e].data[r][0]);o=new Date(o).getTime(),this.twoDSeriesX.push(o)}else this.twoDSeriesX.push(t[e].data[r][0]);for(var n=0;n-1&&(r=this.activeSeriesIndex);for(var o=0;o1&&void 0!==arguments[1]?arguments[1]:this.ctx,a=this.w.config,s=this.w.globals,r=new T(i),o=a.labels.length>0?a.labels.slice():a.xaxis.categories.slice();s.isRangeBar=\"rangeBar\"===a.chart.type&&s.isBarHorizontal,s.hasGroups=\"category\"===a.xaxis.type&&a.xaxis.group.groups.length>0,s.hasGroups&&(s.groups=a.xaxis.group.groups);for(var n=function(){for(var t=0;t0&&(this.twoDSeriesX=o,s.seriesX.push(this.twoDSeriesX))),s.labels.push(this.twoDSeriesX);var h=t[l].data.map((function(t){return x.parseNumber(t)}));s.series.push(h)}s.seriesZ.push(this.threeDSeries),void 0!==t[l].name?s.seriesNames.push(t[l].name):s.seriesNames.push(\"series-\"+parseInt(l+1,10)),void 0!==t[l].color?s.seriesColors.push(t[l].color):s.seriesColors.push(void 0)}return this.w}},{key:\"parseDataNonAxisCharts\",value:function(t){var e=this.w.globals,i=this.w.config;e.series=t.slice(),e.seriesNames=i.labels.slice();for(var a=0;a0)i.labels=e.xaxis.categories;else if(e.labels.length>0)i.labels=e.labels.slice();else if(this.fallbackToCategory){if(i.labels=i.labels[0],i.seriesRange.length&&(i.seriesRange.map((function(t){t.forEach((function(t){i.labels.indexOf(t.x)<0&&t.x&&i.labels.push(t.x)}))})),i.labels=i.labels.filter((function(t,e,i){return i.indexOf(t)===e}))),e.xaxis.convertedCatToNumeric)new z(e).convertCatToNumericXaxis(e,this.ctx,i.seriesX[0]),this._generateExternalLabels(t)}else this._generateExternalLabels(t)}},{key:\"_generateExternalLabels\",value:function(t){var e=this.w.globals,i=this.w.config,a=[];if(e.axisCharts){if(e.series.length>0)if(this.isFormatXY())for(var s=i.series.map((function(t,e){return t.data.filter((function(t,e,i){return i.findIndex((function(e){return e.x===t.x}))===e}))})),r=s.reduce((function(t,e,i,a){return a[t].length>e.length?t:i}),0),o=0;o0&&i<100?t.toFixed(1):t.toFixed(0)}if(e.globals.isBarHorizontal)if(e.globals.maxY-e.globals.minYArr<4)return t.toFixed(1);return t.toFixed(0)}return t},\"function\"==typeof e.config.tooltip.x.formatter?e.globals.ttKeyFormatter=e.config.tooltip.x.formatter:e.globals.ttKeyFormatter=e.globals.xLabelFormatter,\"function\"==typeof e.config.xaxis.tooltip.formatter&&(e.globals.xaxisTooltipFormatter=e.config.xaxis.tooltip.formatter),(Array.isArray(e.config.tooltip.y)||void 0!==e.config.tooltip.y.formatter)&&(e.globals.ttVal=e.config.tooltip.y),void 0!==e.config.tooltip.z.formatter&&(e.globals.ttZFormatter=e.config.tooltip.z.formatter),void 0!==e.config.legend.formatter&&(e.globals.legendFormatter=e.config.legend.formatter),e.config.yaxis.forEach((function(i,a){void 0!==i.labels.formatter?e.globals.yLabelFormatters[a]=i.labels.formatter:e.globals.yLabelFormatters[a]=function(s){return e.globals.xyCharts?Array.isArray(s)?s.map((function(e){return t.defaultYFormatter(e,i,a)})):t.defaultYFormatter(s,i,a):s}})),e.globals}},{key:\"heatmapLabelFormatters\",value:function(){var t=this.w;if(\"heatmap\"===t.config.chart.type){t.globals.yAxisScale[0].result=t.globals.seriesNames.slice();var e=t.globals.seriesNames.reduce((function(t,e){return t.length>e.length?t:e}),0);t.globals.yAxisScale[0].niceMax=e,t.globals.yAxisScale[0].niceMin=e}}}]),t}(),B=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"getLabel\",value:function(t,e,i,a){var s=arguments.length>4&&void 0!==arguments[4]?arguments[4]:[],r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"12px\",o=!(arguments.length>6&&void 0!==arguments[6])||arguments[6],n=this.w,l=void 0===t[a]?\"\":t[a],h=l,c=n.globals.xLabelFormatter,d=n.config.xaxis.labels.formatter,g=!1,u=new W(this.ctx),f=l;o&&(h=u.xLabelFormat(c,l,f,{i:a,dateFormatter:new T(this.ctx).formatDate,w:n}),void 0!==d&&(h=d(l,t[a],{i:a,dateFormatter:new T(this.ctx).formatDate,w:n})));var p=function(t){var i=null;return e.forEach((function(t){\"month\"===t.unit?i=\"year\":\"day\"===t.unit?i=\"month\":\"hour\"===t.unit?i=\"day\":\"minute\"===t.unit&&(i=\"hour\")})),i===t};e.length>0?(g=p(e[a].unit),i=e[a].position,h=e[a].value):\"datetime\"===n.config.xaxis.type&&void 0===d&&(h=\"\"),void 0===h&&(h=\"\"),h=Array.isArray(h)?h:h.toString();var x=new m(this.ctx),b={};b=n.globals.rotateXLabels&&o?x.getTextRects(h,parseInt(r,10),null,\"rotate(\".concat(n.config.xaxis.labels.rotate,\" 0 0)\"),!1):x.getTextRects(h,parseInt(r,10));var v=!n.config.xaxis.labels.showDuplicates&&this.ctx.timeScale;return!Array.isArray(h)&&(0===h.indexOf(\"NaN\")||0===h.toLowerCase().indexOf(\"invalid\")||h.toLowerCase().indexOf(\"infinity\")>=0||s.indexOf(h)>=0&&v)&&(h=\"\"),{x:i,text:h,textRect:b,isBold:g}}},{key:\"checkLabelBasedOnTickamount\",value:function(t,e,i){var a=this.w,s=a.config.xaxis.tickAmount;return\"dataPoints\"===s&&(s=Math.round(a.globals.gridWidth/120)),s>i||t%Math.round(i/(s+1))==0||(e.text=\"\"),e}},{key:\"checkForOverflowingLabels\",value:function(t,e,i,a,s){var r=this.w;if(0===t&&r.globals.skipFirstTimelinelabel&&(e.text=\"\"),t===i-1&&r.globals.skipLastTimelinelabel&&(e.text=\"\"),r.config.xaxis.labels.hideOverlappingLabels&&a.length>0){var o=s[s.length-1];e.x0){!0===n.config.yaxis[s].opposite&&(t+=a.width);for(var c=e;c>=0;c--){var d=h+e/10+n.config.yaxis[s].labels.offsetY-1;n.globals.isBarHorizontal&&(d=r*c),\"heatmap\"===n.config.chart.type&&(d+=r/2);var g=l.drawLine(t+i.offsetX-a.width+a.offsetX,d+a.offsetY,t+i.offsetX+a.offsetX,d+a.offsetY,a.color);o.add(g),h+=r}}}}]),t}(),G=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"scaleSvgNode\",value:function(t,e){var i=parseFloat(t.getAttributeNS(null,\"width\")),a=parseFloat(t.getAttributeNS(null,\"height\"));t.setAttributeNS(null,\"width\",i*e),t.setAttributeNS(null,\"height\",a*e),t.setAttributeNS(null,\"viewBox\",\"0 0 \"+i+\" \"+a)}},{key:\"fixSvgStringForIe11\",value:function(t){if(!x.isIE11())return t.replace(/ /g,\" \");var e=0,i=t.replace(/xmlns=\"http:\\/\\/www.w3.org\\/2000\\/svg\"/g,(function(t){return 2===++e?'xmlns:xlink=\"http://www.w3.org/1999/xlink\" xmlns:svgjs=\"http://svgjs.dev\"':t}));return i=(i=i.replace(/xmlns:NS\\d+=\"\"/g,\"\")).replace(/NS\\d+:(\\w+:\\w+=\")/g,\"$1\")}},{key:\"getSvgString\",value:function(t){null==t&&(t=1);var e=this.w.globals.dom.Paper.svg();if(1!==t){var i=this.w.globals.dom.Paper.node.cloneNode(!0);this.scaleSvgNode(i,t),e=(new XMLSerializer).serializeToString(i)}return this.fixSvgStringForIe11(e)}},{key:\"cleanup\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-xcrosshairs\"),i=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-ycrosshairs\"),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-zoom-rect, .apexcharts-selection-rect\");Array.prototype.forEach.call(a,(function(t){t.setAttribute(\"width\",0)})),e&&e[0]&&(e[0].setAttribute(\"x\",-500),e[0].setAttribute(\"x1\",-500),e[0].setAttribute(\"x2\",-500)),i&&i[0]&&(i[0].setAttribute(\"y\",-100),i[0].setAttribute(\"y1\",-100),i[0].setAttribute(\"y2\",-100))}},{key:\"svgUrl\",value:function(){this.cleanup();var t=this.getSvgString(),e=new Blob([t],{type:\"image/svg+xml;charset=utf-8\"});return URL.createObjectURL(e)}},{key:\"dataURI\",value:function(t){var e=this;return new Promise((function(i){var a=e.w,s=t?t.scale||t.width/a.globals.svgWidth:1;e.cleanup();var r=document.createElement(\"canvas\");r.width=a.globals.svgWidth*s,r.height=parseInt(a.globals.dom.elWrap.style.height,10)*s;var o=\"transparent\"===a.config.chart.background?\"#fff\":a.config.chart.background,n=r.getContext(\"2d\");n.fillStyle=o,n.fillRect(0,0,r.width*s,r.height*s);var l=e.getSvgString(s);if(window.canvg&&x.isIE11()){var h=window.canvg.Canvg.fromString(n,l,{ignoreClear:!0,ignoreDimensions:!0});h.start();var c=r.msToBlob();h.stop(),i({blob:c})}else{var d=\"data:image/svg+xml,\"+encodeURIComponent(l),g=new Image;g.crossOrigin=\"anonymous\",g.onload=function(){if(n.drawImage(g,0,0),r.msToBlob){var t=r.msToBlob();i({blob:t})}else{var e=r.toDataURL(\"image/png\");i({imgURI:e})}},g.src=d}}))}},{key:\"exportToSVG\",value:function(){this.triggerDownload(this.svgUrl(),this.w.config.chart.toolbar.export.svg.filename,\".svg\")}},{key:\"exportToPng\",value:function(){var t=this;this.dataURI().then((function(e){var i=e.imgURI,a=e.blob;a?navigator.msSaveOrOpenBlob(a,t.w.globals.chartID+\".png\"):t.triggerDownload(i,t.w.config.chart.toolbar.export.png.filename,\".png\")}))}},{key:\"exportToCSV\",value:function(t){var e=this,i=t.series,a=t.fileName,s=t.columnDelimiter,r=void 0===s?\",\":s,o=t.lineDelimiter,n=void 0===o?\"\\n\":o,l=this.w;i||(i=l.config.series);var h=[],c=[],d=\"\",g=l.globals.series.map((function(t,e){return-1===l.globals.collapsedSeriesIndices.indexOf(e)?t:[]})),f=Math.max.apply(Math,u(i.map((function(t){return t.data?t.data.length:0})))),p=new N(this.ctx),b=new B(this.ctx),v=function(t){var i=\"\";if(l.globals.axisCharts){if(\"category\"===l.config.xaxis.type||l.config.xaxis.convertedCatToNumeric)if(l.globals.isBarHorizontal){var a=l.globals.yLabelFormatters[0],s=new O(e.ctx).getActiveConfigSeriesIndex();i=a(l.globals.labels[t],{seriesIndex:s,dataPointIndex:t,w:l})}else i=b.getLabel(l.globals.labels,l.globals.timescaleLabels,0,t).text;\"datetime\"===l.config.xaxis.type&&(l.config.xaxis.categories.length?i=l.config.xaxis.categories[t]:l.config.labels.length&&(i=l.config.labels[t]))}else i=l.config.labels[t];return Array.isArray(i)&&(i=i.join(\" \")),x.isNumber(i)?i:i.split(r).join(\"\")},m=function(t,e){if(h.length&&0===e&&c.push(h.join(r)),t.data){t.data=t.data.length&&t.data||u(Array(f)).map((function(){return\"\"}));for(var a=0;a=10?l.config.chart.toolbar.export.csv.dateFormatter(s):x.isNumber(s)?s:s.split(r).join(\"\")));for(var o=0;o0&&!s.globals.isBarHorizontal&&(this.xaxisLabels=s.globals.timescaleLabels.slice()),s.config.xaxis.overwriteCategories&&(this.xaxisLabels=s.config.xaxis.overwriteCategories),this.drawnLabels=[],this.drawnLabelsRects=[],\"top\"===s.config.xaxis.position?this.offY=0:this.offY=s.globals.gridHeight+1,this.offY=this.offY+s.config.xaxis.axisBorder.offsetY,this.isCategoryBarHorizontal=\"bar\"===s.config.chart.type&&s.config.plotOptions.bar.horizontal,this.xaxisFontSize=s.config.xaxis.labels.style.fontSize,this.xaxisFontFamily=s.config.xaxis.labels.style.fontFamily,this.xaxisForeColors=s.config.xaxis.labels.style.colors,this.xaxisBorderWidth=s.config.xaxis.axisBorder.width,this.isCategoryBarHorizontal&&(this.xaxisBorderWidth=s.config.yaxis[0].axisBorder.width.toString()),this.xaxisBorderWidth.indexOf(\"%\")>-1?this.xaxisBorderWidth=s.globals.gridWidth*parseInt(this.xaxisBorderWidth,10)/100:this.xaxisBorderWidth=parseInt(this.xaxisBorderWidth,10),this.xaxisBorderHeight=s.config.xaxis.axisBorder.height,this.yaxis=s.config.yaxis[0]}return r(t,[{key:\"drawXaxis\",value:function(){var t=this.w,e=new m(this.ctx),i=e.group({class:\"apexcharts-xaxis\",transform:\"translate(\".concat(t.config.xaxis.offsetX,\", \").concat(t.config.xaxis.offsetY,\")\")}),a=e.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(t.globals.translateXAxisX,\", \").concat(t.globals.translateXAxisY,\")\")});i.add(a);for(var s=[],r=0;r6&&void 0!==arguments[6]?arguments[6]:{},h=[],c=[],d=this.w,g=l.xaxisFontSize||this.xaxisFontSize,u=l.xaxisFontFamily||this.xaxisFontFamily,f=l.xaxisForeColors||this.xaxisForeColors,p=l.fontWeight||d.config.xaxis.labels.style.fontWeight,x=l.cssClass||d.config.xaxis.labels.style.cssClass,b=d.globals.padHorizontal,v=a.length,m=\"category\"===d.config.xaxis.type?d.globals.dataPoints:v;if(0===m&&v>m&&(m=v),s){var y=m>1?m-1:m;o=d.globals.gridWidth/y,b=b+r(0,o)/2+d.config.xaxis.labels.offsetX}else o=d.globals.gridWidth/m,b=b+r(0,o)+d.config.xaxis.labels.offsetX;for(var w=function(s){var l=b-r(s,o)/2+d.config.xaxis.labels.offsetX;0===s&&1===v&&o/2===b&&1===m&&(l=d.globals.gridWidth/2);var y=n.axesUtils.getLabel(a,d.globals.timescaleLabels,l,s,h,g,t),w=28;d.globals.rotateXLabels&&t&&(w=22),d.config.xaxis.title.text&&\"top\"===d.config.xaxis.position&&(w+=parseFloat(d.config.xaxis.title.style.fontSize)+2),t||(w=w+parseFloat(g)+(d.globals.xAxisLabelsHeight-d.globals.xAxisGroupLabelsHeight)+(d.globals.rotateXLabels?10:0)),y=void 0!==d.config.xaxis.tickAmount&&\"dataPoints\"!==d.config.xaxis.tickAmount&&\"datetime\"!==d.config.xaxis.type?n.axesUtils.checkLabelBasedOnTickamount(s,y,v):n.axesUtils.checkForOverflowingLabels(s,y,v,h,c);if(t&&y.text&&d.globals.xaxisLabelsCount++,d.config.xaxis.labels.show){var k=e.drawText({x:y.x,y:n.offY+d.config.xaxis.labels.offsetY+w-(\"top\"===d.config.xaxis.position?d.globals.xAxisHeight+d.config.xaxis.axisTicks.height-2:0),text:y.text,textAnchor:\"middle\",fontWeight:y.isBold?600:p,fontSize:g,fontFamily:u,foreColor:Array.isArray(f)?t&&d.config.xaxis.convertedCatToNumeric?f[d.globals.minX+s-1]:f[s]:f,isPlainText:!1,cssClass:(t?\"apexcharts-xaxis-label \":\"apexcharts-xaxis-group-label \")+x});if(i.add(k),k.on(\"click\",(function(t){if(\"function\"==typeof d.config.chart.events.xAxisLabelClick){var e=Object.assign({},d,{labelIndex:s});d.config.chart.events.xAxisLabelClick(t,n.ctx,e)}})),t){var A=document.createElementNS(d.globals.SVGNS,\"title\");A.textContent=Array.isArray(y.text)?y.text.join(\" \"):y.text,k.node.appendChild(A),\"\"!==y.text&&(h.push(y.text),c.push(y))}}sa.globals.gridWidth)){var r=this.offY+a.config.xaxis.axisTicks.offsetY;if(e=e+r+a.config.xaxis.axisTicks.height,\"top\"===a.config.xaxis.position&&(e=r-a.config.xaxis.axisTicks.height),a.config.xaxis.axisTicks.show){var o=new m(this.ctx).drawLine(t+a.config.xaxis.axisTicks.offsetX,r+a.config.xaxis.offsetY,s+a.config.xaxis.axisTicks.offsetX,e+a.config.xaxis.offsetY,a.config.xaxis.axisTicks.color);i.add(o),o.node.classList.add(\"apexcharts-xaxis-tick\")}}}},{key:\"getXAxisTicksPositions\",value:function(){var t=this.w,e=[],i=this.xaxisLabels.length,a=t.globals.padHorizontal;if(t.globals.timescaleLabels.length>0)for(var s=0;s0){var h=s[s.length-1].getBBox(),c=s[0].getBBox();h.x<-20&&s[s.length-1].parentNode.removeChild(s[s.length-1]),c.x+c.width>t.globals.gridWidth&&!t.globals.isBarHorizontal&&s[0].parentNode.removeChild(s[0]);for(var d=0;d0&&(this.xaxisLabels=i.globals.timescaleLabels.slice())}return r(t,[{key:\"drawGridArea\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,e=this.w,i=new m(this.ctx);null===t&&(t=i.group({class:\"apexcharts-grid\"}));var a=i.drawLine(e.globals.padHorizontal,1,e.globals.padHorizontal,e.globals.gridHeight,\"transparent\"),s=i.drawLine(e.globals.padHorizontal,e.globals.gridHeight,e.globals.gridWidth,e.globals.gridHeight,\"transparent\");return t.add(s),t.add(a),t}},{key:\"drawGrid\",value:function(){var t=null;return this.w.globals.axisCharts&&(t=this.renderGrid(),this.drawGridArea(t.el)),t}},{key:\"createGridMask\",value:function(){var t=this.w,e=t.globals,i=new m(this.ctx),a=Array.isArray(t.config.stroke.width)?0:t.config.stroke.width;if(Array.isArray(t.config.stroke.width)){var s=0;t.config.stroke.width.forEach((function(t){s=Math.max(s,t)})),a=s}e.dom.elGridRectMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMask.setAttribute(\"id\",\"gridRectMask\".concat(e.cuid)),e.dom.elGridRectMarkerMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elGridRectMarkerMask.setAttribute(\"id\",\"gridRectMarkerMask\".concat(e.cuid)),e.dom.elForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elForecastMask.setAttribute(\"id\",\"forecastMask\".concat(e.cuid)),e.dom.elNonForecastMask=document.createElementNS(e.SVGNS,\"clipPath\"),e.dom.elNonForecastMask.setAttribute(\"id\",\"nonForecastMask\".concat(e.cuid));var r=t.config.chart.type,o=0,n=0;(\"bar\"===r||\"rangeBar\"===r||\"candlestick\"===r||\"boxPlot\"===r||t.globals.comboBarCount>0)&&t.globals.isXNumeric&&!t.globals.isBarHorizontal&&(o=t.config.grid.padding.left,n=t.config.grid.padding.right,e.barPadForNumericAxis>o&&(o=e.barPadForNumericAxis,n=e.barPadForNumericAxis)),e.dom.elGridRect=i.drawRect(-a/2-o-2,-a/2,e.gridWidth+a+n+o+4,e.gridHeight+a,0,\"#fff\");var l=t.globals.markers.largestSize+1;e.dom.elGridRectMarker=i.drawRect(2*-l,2*-l,e.gridWidth+4*l,e.gridHeight+4*l,0,\"#fff\"),e.dom.elGridRectMask.appendChild(e.dom.elGridRect.node),e.dom.elGridRectMarkerMask.appendChild(e.dom.elGridRectMarker.node);var h=e.dom.baseEl.querySelector(\"defs\");h.appendChild(e.dom.elGridRectMask),h.appendChild(e.dom.elForecastMask),h.appendChild(e.dom.elNonForecastMask),h.appendChild(e.dom.elGridRectMarkerMask)}},{key:\"_drawGridLines\",value:function(t){var e=t.i,i=t.x1,a=t.y1,s=t.x2,r=t.y2,o=t.xCount,n=t.parent,l=this.w;if(!(0===e&&l.globals.skipFirstTimelinelabel||e===o-1&&l.globals.skipLastTimelinelabel&&!l.config.xaxis.labels.formatter||\"radar\"===l.config.chart.type)){l.config.grid.xaxis.lines.show&&this._drawGridLine({i:e,x1:i,y1:a,x2:s,y2:r,xCount:o,parent:n});var h=0;if(l.globals.hasGroups&&\"between\"===l.config.xaxis.tickPlacement){var c=l.globals.groups;if(c){for(var d=0,g=0;d2));s++);return!t.globals.isBarHorizontal||this.isRangeBar?(i=this.xaxisLabels.length,this.isRangeBar&&(a=t.globals.labels.length,t.config.xaxis.tickAmount&&t.config.xaxis.labels.formatter&&(i=t.config.xaxis.tickAmount)),this._drawXYLines({xCount:i,tickAmount:a})):(i=a,a=t.globals.xTickAmount,this._drawInvertedXYLines({xCount:i,tickAmount:a})),this.drawGridBands(i,a),{el:this.elg,elGridBorders:this.elGridBorders,xAxisTickWidth:t.globals.gridWidth/i}}},{key:\"drawGridBands\",value:function(t,e){var i=this.w;if(void 0!==i.config.grid.row.colors&&i.config.grid.row.colors.length>0)for(var a=0,s=i.globals.gridHeight/e,r=i.globals.gridWidth,o=0,n=0;o=i.config.grid.row.colors.length&&(n=0),this._drawGridBandRect({c:n,x1:0,y1:a,x2:r,y2:s,type:\"row\"}),a+=i.globals.gridHeight/e;if(void 0!==i.config.grid.column.colors&&i.config.grid.column.colors.length>0)for(var l=i.globals.isBarHorizontal||\"category\"!==i.config.xaxis.type&&!i.config.xaxis.convertedCatToNumeric?t:t-1,h=i.globals.padHorizontal,c=i.globals.padHorizontal+i.globals.gridWidth/l,d=i.globals.gridHeight,g=0,u=0;g=i.config.grid.column.colors.length&&(u=0),this._drawGridBandRect({c:u,x1:h,y1:0,x2:c,y2:d,type:\"column\"}),h+=i.globals.gridWidth/l}}]),t}(),_=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"niceScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,s=arguments.length>4?arguments[4]:void 0,r=this.w,o=Math.abs(e-t);if(\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,o))&&(i=r.globals.dataPoints-1),t===Number.MIN_VALUE&&0===e||!x.isNumber(t)&&!x.isNumber(e)||t===Number.MIN_VALUE&&e===-Number.MAX_VALUE){t=0,e=i;var n=this.linearScale(t,e,i);return n}t>e?(console.warn(\"axis.min cannot be greater than axis.max\"),e=t+.1):t===e&&(t=0===t?0:t-.5,e=0===e?2:e+.5);var l=[];o<1&&s&&(\"candlestick\"===r.config.chart.type||\"candlestick\"===r.config.series[a].type||\"boxPlot\"===r.config.chart.type||\"boxPlot\"===r.config.series[a].type||r.globals.isRangeData)&&(e*=1.01);var h=i+1;h<2?h=2:h>2&&(h-=2);var c=o/h,d=Math.floor(x.log10(c)),g=Math.pow(10,d),u=Math.round(c/g);u<1&&(u=1);var f=u*g,p=f*Math.floor(t/f),b=f*Math.ceil(e/f),v=p;if(s&&o>2){for(;l.push(v),!((v+=f)>b););return{result:l,niceMin:l[0],niceMax:l[l.length-1]}}var m=t;(l=[]).push(m);for(var y=Math.abs(e-t)/i,w=0;w<=i;w++)m+=y,l.push(m);return l[l.length-2]>=e&&l.pop(),{result:l,niceMin:l[0],niceMax:l[l.length-1]}}},{key:\"linearScale\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:10,a=arguments.length>3?arguments[3]:void 0,s=Math.abs(e-t);\"dataPoints\"===(i=this._adjustTicksForSmallRange(i,a,s))&&(i=this.w.globals.dataPoints-1);var r=s/i;i===Number.MAX_VALUE&&(i=10,r=1);for(var o=[],n=t;i>=0;)o.push(n),n+=r,i-=1;return{result:o,niceMin:o[0],niceMax:o[o.length-1]}}},{key:\"logarithmicScaleNice\",value:function(t,e,i){e<=0&&(e=Math.max(t,i)),t<=0&&(t=Math.min(e,i));for(var a=[],s=Math.ceil(Math.log(e)/Math.log(i)+1),r=Math.floor(Math.log(t)/Math.log(i));r5)a.allSeriesCollapsed=!1,a.yAxisScale[t]=this.logarithmicScale(e,i,r.logBase),a.yAxisScale[t]=r.forceNiceScale?this.logarithmicScaleNice(e,i,r.logBase):this.logarithmicScale(e,i,r.logBase);else if(i!==-Number.MAX_VALUE&&x.isNumber(i))if(a.allSeriesCollapsed=!1,void 0===r.min&&void 0===r.max||r.forceNiceScale){var n=void 0===s.yaxis[t].max&&void 0===s.yaxis[t].min||s.yaxis[t].forceNiceScale;a.yAxisScale[t]=this.niceScale(e,i,r.tickAmount?r.tickAmount:o<5&&o>1?o+1:5,t,n)}else a.yAxisScale[t]=this.linearScale(e,i,r.tickAmount,t);else a.yAxisScale[t]=this.linearScale(0,5,5)}},{key:\"setXScale\",value:function(t,e){var i=this.w,a=i.globals,s=i.config.xaxis,r=Math.abs(e-t);return e!==-Number.MAX_VALUE&&x.isNumber(e)?a.xAxisScale=this.linearScale(t,e,s.tickAmount?s.tickAmount:r<5&&r>1?r+1:5,0):a.xAxisScale=this.linearScale(0,5,5),a.xAxisScale}},{key:\"setMultipleYScales\",value:function(){var t=this,e=this.w.globals,i=this.w.config,a=e.minYArr.concat([]),s=e.maxYArr.concat([]),r=[];i.yaxis.forEach((function(e,o){var n=o;i.series.forEach((function(t,i){t.name===e.seriesName&&(n=i,o!==i?r.push({index:i,similarIndex:o,alreadyExists:!0}):r.push({index:i}))}));var l=a[n],h=s[n];t.setYScaleForIndex(o,l,h)})),this.sameScaleInMultipleAxes(a,s,r)}},{key:\"sameScaleInMultipleAxes\",value:function(t,e,i){var a=this,s=this.w.config,r=this.w.globals,o=[];i.forEach((function(t){t.alreadyExists&&(void 0===o[t.index]&&(o[t.index]=[]),o[t.index].push(t.index),o[t.index].push(t.similarIndex))})),r.yAxisSameScaleIndices=o,o.forEach((function(t,e){o.forEach((function(i,a){var s,r;e!==a&&(s=t,r=i,s.filter((function(t){return-1!==r.indexOf(t)}))).length>0&&(o[e]=o[e].concat(o[a]))}))}));var n=o.map((function(t){return t.filter((function(e,i){return t.indexOf(e)===i}))})).map((function(t){return t.sort()}));o=o.filter((function(t){return!!t}));var l=n.slice(),h=l.map((function(t){return JSON.stringify(t)}));l=l.filter((function(t,e){return h.indexOf(JSON.stringify(t))===e}));var c=[],d=[];t.forEach((function(t,i){l.forEach((function(a,s){a.indexOf(i)>-1&&(void 0===c[s]&&(c[s]=[],d[s]=[]),c[s].push({key:i,value:t}),d[s].push({key:i,value:e[i]}))}))}));var g=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,Number.MIN_VALUE),u=Array.apply(null,Array(l.length)).map(Number.prototype.valueOf,-Number.MAX_VALUE);c.forEach((function(t,e){t.forEach((function(t,i){g[e]=Math.min(t.value,g[e])}))})),d.forEach((function(t,e){t.forEach((function(t,i){u[e]=Math.max(t.value,u[e])}))})),t.forEach((function(t,e){d.forEach((function(t,i){var o=g[i],n=u[i];s.chart.stacked&&(n=0,t.forEach((function(t,e){t.value!==-Number.MAX_VALUE&&(n+=t.value),o!==Number.MIN_VALUE&&(o+=c[i][e].value)}))),t.forEach((function(i,l){t[l].key===e&&(void 0!==s.yaxis[e].min&&(o=\"function\"==typeof s.yaxis[e].min?s.yaxis[e].min(r.minY):s.yaxis[e].min),void 0!==s.yaxis[e].max&&(n=\"function\"==typeof s.yaxis[e].max?s.yaxis[e].max(r.maxY):s.yaxis[e].max),a.setYScaleForIndex(e,o,n))}))}))}))}},{key:\"autoScaleY\",value:function(t,e,i){t||(t=this);var a=t.w;if(a.globals.isMultipleYAxis||a.globals.collapsedSeries.length)return console.warn(\"autoScaleYaxis is not supported in a multi-yaxis chart.\"),e;var s=a.globals.seriesX[0],r=a.config.chart.stacked;return e.forEach((function(t,o){for(var n=0,l=0;l=i.xaxis.min){n=l;break}var h,c,d=a.globals.minYArr[o],g=a.globals.maxYArr[o],u=a.globals.stackedSeriesTotals;a.globals.series.forEach((function(o,l){var f=o[n];r?(f=u[n],h=c=f,u.forEach((function(t,e){s[e]<=i.xaxis.max&&s[e]>=i.xaxis.min&&(t>c&&null!==t&&(c=t),o[e]=i.xaxis.min){var r=t,o=t;a.globals.series.forEach((function(i,a){null!==t&&(r=Math.min(i[e],r),o=Math.max(i[e],o))})),o>c&&null!==o&&(c=o),rd&&(h=d),e.length>1?(e[l].min=void 0===t.min?h:t.min,e[l].max=void 0===t.max?c:t.max):(e[0].min=void 0===t.min?h:t.min,e[0].max=void 0===t.max?c:t.max)}))})),e}}]),t}(),U=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.scales=new _(e)}return r(t,[{key:\"init\",value:function(){this.setYRange(),this.setXRange(),this.setZRange()}},{key:\"getMinYMaxY\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Number.MAX_VALUE,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:-Number.MAX_VALUE,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w.config,r=this.w.globals,o=-Number.MAX_VALUE,n=Number.MIN_VALUE;null===a&&(a=t+1);var l=r.series,h=l,c=l;\"candlestick\"===s.chart.type?(h=r.seriesCandleL,c=r.seriesCandleH):\"boxPlot\"===s.chart.type?(h=r.seriesCandleO,c=r.seriesCandleC):r.isRangeData&&(h=r.seriesRangeStart,c=r.seriesRangeEnd);for(var d=t;dh[d][g]&&h[d][g]<0&&(n=h[d][g])):r.hasNullValues=!0}}return\"rangeBar\"===s.chart.type&&r.seriesRangeStart.length&&r.isBarHorizontal&&(n=e),\"bar\"===s.chart.type&&(n<0&&o<0&&(o=0),n===Number.MIN_VALUE&&(n=0)),{minY:n,maxY:o,lowestY:e,highestY:i}}},{key:\"setYRange\",value:function(){var t=this.w.globals,e=this.w.config;t.maxY=-Number.MAX_VALUE,t.minY=Number.MIN_VALUE;var i=Number.MAX_VALUE;if(t.isMultipleYAxis)for(var a=0;a=0&&i<=10||void 0!==e.yaxis[0].min||void 0!==e.yaxis[0].max)&&(o=0),t.minY=i-5*o/100,i>0&&t.minY<0&&(t.minY=0),t.maxY=t.maxY+5*o/100}if(e.yaxis.forEach((function(e,i){void 0!==e.max&&(\"number\"==typeof e.max?t.maxYArr[i]=e.max:\"function\"==typeof e.max&&(t.maxYArr[i]=e.max(t.isMultipleYAxis?t.maxYArr[i]:t.maxY)),t.maxY=t.maxYArr[i]),void 0!==e.min&&(\"number\"==typeof e.min?t.minYArr[i]=e.min:\"function\"==typeof e.min&&(t.minYArr[i]=e.min(t.isMultipleYAxis?t.minYArr[i]===Number.MIN_VALUE?0:t.minYArr[i]:t.minY)),t.minY=t.minYArr[i])})),t.isBarHorizontal){[\"min\",\"max\"].forEach((function(i){void 0!==e.xaxis[i]&&\"number\"==typeof e.xaxis[i]&&(\"min\"===i?t.minY=e.xaxis[i]:t.maxY=e.xaxis[i])}))}return t.isMultipleYAxis?(this.scales.setMultipleYScales(),t.minY=i,t.yAxisScale.forEach((function(e,i){t.minYArr[i]=e.niceMin,t.maxYArr[i]=e.niceMax}))):(this.scales.setYScaleForIndex(0,t.minY,t.maxY),t.minY=t.yAxisScale[0].niceMin,t.maxY=t.yAxisScale[0].niceMax,t.minYArr[0]=t.yAxisScale[0].niceMin,t.maxYArr[0]=t.yAxisScale[0].niceMax),{minY:t.minY,maxY:t.maxY,minYArr:t.minYArr,maxYArr:t.maxYArr,yAxisScale:t.yAxisScale}}},{key:\"setXRange\",value:function(){var t=this.w.globals,e=this.w.config,i=\"numeric\"===e.xaxis.type||\"datetime\"===e.xaxis.type||\"category\"===e.xaxis.type&&!t.noLabelsProvided||t.noLabelsProvided||t.isXNumeric;if(t.isXNumeric&&function(){for(var e=0;et.dataPoints&&0!==t.dataPoints&&(a=t.dataPoints-1)):\"dataPoints\"===e.xaxis.tickAmount?(t.series.length>1&&(a=t.series[t.maxValsInArrayIndex].length-1),t.isXNumeric&&(a=t.maxX-t.minX-1)):a=e.xaxis.tickAmount,t.xTickAmount=a,void 0!==e.xaxis.max&&\"number\"==typeof e.xaxis.max&&(t.maxX=e.xaxis.max),void 0!==e.xaxis.min&&\"number\"==typeof e.xaxis.min&&(t.minX=e.xaxis.min),void 0!==e.xaxis.range&&(t.minX=t.maxX-e.xaxis.range),t.minX!==Number.MAX_VALUE&&t.maxX!==-Number.MAX_VALUE)if(e.xaxis.convertedCatToNumeric&&!t.dataFormatXNumeric){for(var s=[],r=t.minX-1;r0&&(t.xAxisScale=this.scales.linearScale(1,t.labels.length,a-1),t.seriesX=t.labels.slice());i&&(t.labels=t.xAxisScale.result.slice())}return t.isBarHorizontal&&t.labels.length&&(t.xTickAmount=t.labels.length),this._handleSingleDataPoint(),this._getMinXDiff(),{minX:t.minX,maxX:t.maxX}}},{key:\"setZRange\",value:function(){var t=this.w.globals;if(t.isDataXYZ)for(var e=0;e0){var s=e-a[i-1];s>0&&(t.minXDiff=Math.min(s,t.minXDiff))}})),1!==t.dataPoints&&t.minXDiff!==Number.MAX_VALUE||(t.minXDiff=.5)}))}},{key:\"_setStackedMinMax\",value:function(){var t=this.w.globals,e=[],i=[];if(t.series.length)for(var a=0;a0?s=s+parseFloat(t.series[o][a])+1e-4:r+=parseFloat(t.series[o][a])),o===t.series.length-1&&(e.push(s),i.push(r));for(var n=0;n=0;b--)x(b);if(void 0!==i.config.yaxis[t].title.text){var v=a.group({class:\"apexcharts-yaxis-title\"}),y=0;i.config.yaxis[t].opposite&&(y=i.globals.translateYAxisX[t]);var w=a.drawText({x:y,y:i.globals.gridHeight/2+i.globals.translateY+i.config.yaxis[t].title.offsetY,text:i.config.yaxis[t].title.text,textAnchor:\"end\",foreColor:i.config.yaxis[t].title.style.color,fontSize:i.config.yaxis[t].title.style.fontSize,fontWeight:i.config.yaxis[t].title.style.fontWeight,fontFamily:i.config.yaxis[t].title.style.fontFamily,cssClass:\"apexcharts-yaxis-title-text \"+i.config.yaxis[t].title.style.cssClass});v.add(w),l.add(v)}var k=i.config.yaxis[t].axisBorder,A=31+k.offsetX;if(i.config.yaxis[t].opposite&&(A=-31-k.offsetX),k.show){var S=a.drawLine(A,i.globals.translateY+k.offsetY-2,A,i.globals.gridHeight+i.globals.translateY+k.offsetY+2,k.color,0,k.width);l.add(S)}return i.config.yaxis[t].axisTicks.show&&this.axesUtils.drawYAxisTicks(A,c,k,i.config.yaxis[t].axisTicks,t,d,l),l}},{key:\"drawYaxisInversed\",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:\"apexcharts-xaxis apexcharts-yaxis-inversed\"}),s=i.group({class:\"apexcharts-xaxis-texts-g\",transform:\"translate(\".concat(e.globals.translateXAxisX,\", \").concat(e.globals.translateXAxisY,\")\")});a.add(s);var r=e.globals.yAxisScale[t].result.length-1,o=e.globals.gridWidth/r+.1,n=o+e.config.xaxis.labels.offsetX,l=e.globals.xLabelFormatter,h=e.globals.yAxisScale[t].result.slice(),c=e.globals.timescaleLabels;c.length>0&&(this.xaxisLabels=c.slice(),r=(h=c.slice()).length),h=this.axesUtils.checkForReversedLabels(t,h);var d=c.length;if(e.config.xaxis.labels.show)for(var g=d?0:r;d?g=0;d?g++:g--){var u=h[g];u=l(u,g,e);var f=e.globals.gridWidth+e.globals.padHorizontal-(n-o+e.config.xaxis.labels.offsetX);if(c.length){var p=this.axesUtils.getLabel(h,c,f,g,this.drawnLabels,this.xaxisFontSize);f=p.x,u=p.text,this.drawnLabels.push(p.text),0===g&&e.globals.skipFirstTimelinelabel&&(u=\"\"),g===h.length-1&&e.globals.skipLastTimelinelabel&&(u=\"\")}var x=i.drawText({x:f,y:this.xAxisoffX+e.config.xaxis.labels.offsetY+30-(\"top\"===e.config.xaxis.position?e.globals.xAxisHeight+e.config.xaxis.axisTicks.height-2:0),text:u,textAnchor:\"middle\",foreColor:Array.isArray(this.xaxisForeColors)?this.xaxisForeColors[t]:this.xaxisForeColors,fontSize:this.xaxisFontSize,fontFamily:this.xaxisFontFamily,fontWeight:e.config.xaxis.labels.style.fontWeight,isPlainText:!1,cssClass:\"apexcharts-xaxis-label \"+e.config.xaxis.labels.style.cssClass});s.add(x),x.tspan(u);var b=document.createElementNS(e.globals.SVGNS,\"title\");b.textContent=u,x.node.appendChild(b),n+=o}return this.inversedYAxisTitleText(a),this.inversedYAxisBorder(a),a}},{key:\"inversedYAxisBorder\",value:function(t){var e=this.w,i=new m(this.ctx),a=e.config.xaxis.axisBorder;if(a.show){var s=0;\"bar\"===e.config.chart.type&&e.globals.isXNumeric&&(s-=15);var r=i.drawLine(e.globals.padHorizontal+s+a.offsetX,this.xAxisoffX,e.globals.gridWidth,this.xAxisoffX,a.color,0,a.height);this.elgrid&&this.elgrid.elGridBorders?this.elgrid.elGridBorders.add(r):t.add(r)}}},{key:\"inversedYAxisTitleText\",value:function(t){var e=this.w,i=new m(this.ctx);if(void 0!==e.config.xaxis.title.text){var a=i.group({class:\"apexcharts-xaxis-title apexcharts-yaxis-title-inversed\"}),s=i.drawText({x:e.globals.gridWidth/2+e.config.xaxis.title.offsetX,y:this.xAxisoffX+parseFloat(this.xaxisFontSize)+parseFloat(e.config.xaxis.title.style.fontSize)+e.config.xaxis.title.offsetY+20,text:e.config.xaxis.title.text,textAnchor:\"middle\",fontSize:e.config.xaxis.title.style.fontSize,fontFamily:e.config.xaxis.title.style.fontFamily,fontWeight:e.config.xaxis.title.style.fontWeight,foreColor:e.config.xaxis.title.style.color,cssClass:\"apexcharts-xaxis-title-text \"+e.config.xaxis.title.style.cssClass});a.add(s),t.add(a)}}},{key:\"yAxisTitleRotate\",value:function(t,e){var i=this.w,a=new m(this.ctx),s={width:0,height:0},r={width:0,height:0},o=i.globals.dom.baseEl.querySelector(\" .apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-texts-g\"));null!==o&&(s=o.getBoundingClientRect());var n=i.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(t,\"'] .apexcharts-yaxis-title text\"));if(null!==n&&(r=n.getBoundingClientRect()),null!==n){var l=this.xPaddingForYAxisTitle(t,s,r,e);n.setAttribute(\"x\",l.xPos-(e?10:0))}if(null!==n){var h=a.rotateAroundCenter(n);n.setAttribute(\"transform\",\"rotate(\".concat(e?-1*i.config.yaxis[t].title.rotate:i.config.yaxis[t].title.rotate,\" \").concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"xPaddingForYAxisTitle\",value:function(t,e,i,a){var s=this.w,r=0,o=0,n=10;return void 0===s.config.yaxis[t].title.text||t<0?{xPos:o,padd:0}:(a?(o=e.width+s.config.yaxis[t].title.offsetX+i.width/2+n/2,0===(r+=1)&&(o-=n/2)):(o=-1*e.width+s.config.yaxis[t].title.offsetX+n/2+i.width/2,s.globals.isBarHorizontal&&(n=25,o=-1*e.width-s.config.yaxis[t].title.offsetX-n)),{xPos:o,padd:n})}},{key:\"setYAxisXPosition\",value:function(t,e){var i=this.w,a=0,s=0,r=18,o=1;i.config.yaxis.length>1&&(this.multipleYs=!0),i.config.yaxis.map((function(n,l){var h=i.globals.ignoreYAxisIndexes.indexOf(l)>-1||!n.show||n.floating||0===t[l].width,c=t[l].width+e[l].width;n.opposite?i.globals.isBarHorizontal?(s=i.globals.gridWidth+i.globals.translateX-1,i.globals.translateYAxisX[l]=s-n.labels.offsetX):(s=i.globals.gridWidth+i.globals.translateX+o,h||(o=o+c+20),i.globals.translateYAxisX[l]=s-n.labels.offsetX+20):(a=i.globals.translateX-r,h||(r=r+c+20),i.globals.translateYAxisX[l]=a+n.labels.offsetX)}))}},{key:\"setYAxisTextAlignments\",value:function(){var t=this.w,e=t.globals.dom.baseEl.getElementsByClassName(\"apexcharts-yaxis\");(e=x.listToArray(e)).forEach((function(e,i){var a=t.config.yaxis[i];if(a&&void 0!==a.labels.align){var s=t.globals.dom.baseEl.querySelector(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-texts-g\")),r=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxis[rel='\".concat(i,\"'] .apexcharts-yaxis-label\"));r=x.listToArray(r);var o=s.getBoundingClientRect();\"left\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"start\")})),a.opposite||s.setAttribute(\"transform\",\"translate(-\".concat(o.width,\", 0)\"))):\"center\"===a.labels.align?(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"middle\")})),s.setAttribute(\"transform\",\"translate(\".concat(o.width/2*(a.opposite?1:-1),\", 0)\"))):\"right\"===a.labels.align&&(r.forEach((function(t,e){t.setAttribute(\"text-anchor\",\"end\")})),a.opposite&&s.setAttribute(\"transform\",\"translate(\".concat(o.width,\", 0)\")))}}))}}]),t}(),Z=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.documentEvent=x.bind(this.documentEvent,this)}return r(t,[{key:\"addEventListener\",value:function(t,e){var i=this.w;i.globals.events.hasOwnProperty(t)?i.globals.events[t].push(e):i.globals.events[t]=[e]}},{key:\"removeEventListener\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){var a=i.globals.events[t].indexOf(e);-1!==a&&i.globals.events[t].splice(a,1)}}},{key:\"fireEvent\",value:function(t,e){var i=this.w;if(i.globals.events.hasOwnProperty(t)){e&&e.length||(e=[]);for(var a=i.globals.events[t],s=a.length,r=0;r0&&(e=this.w.config.chart.locales.concat(window.Apex.chart.locales));var i=e.filter((function(e){return e.name===t}))[0];if(!i)throw new Error(\"Wrong locale name provided. Please make sure you set the correct locale name in options\");var a=x.extend(C,i);this.w.globals.locale=a.options}}]),t}(),J=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawAxis\",value:function(t,e){var i,a,s=this.w.globals,r=this.w.config,o=new V(this.ctx,e),n=new q(this.ctx,e);s.axisCharts&&\"radar\"!==t&&(s.isBarHorizontal?(a=n.drawYaxisInversed(0),i=o.drawXaxisInversed(0),s.dom.elGraphical.add(i),s.dom.elGraphical.add(a)):(i=o.drawXaxis(),s.dom.elGraphical.add(i),r.yaxis.map((function(t,e){-1===s.ignoreYAxisIndexes.indexOf(e)&&(a=n.drawYaxis(e),s.dom.Paper.add(a))}))))}}]),t}(),Q=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"drawXCrosshairs\",value:function(){var t=this.w,e=new m(this.ctx),i=new v(this.ctx),a=t.config.xaxis.crosshairs.fill.gradient,s=t.config.xaxis.crosshairs.dropShadow,r=t.config.xaxis.crosshairs.fill.type,o=a.colorFrom,n=a.colorTo,l=a.opacityFrom,h=a.opacityTo,c=a.stops,d=s.enabled,g=s.left,u=s.top,f=s.blur,p=s.color,b=s.opacity,y=t.config.xaxis.crosshairs.fill.color;if(t.config.xaxis.crosshairs.show){\"gradient\"===r&&(y=e.drawGradient(\"vertical\",o,n,l,h,null,c,null));var w=e.drawRect();1===t.config.xaxis.crosshairs.width&&(w=e.drawLine());var k=t.globals.gridHeight;(!x.isNumber(k)||k<0)&&(k=0);var A=t.config.xaxis.crosshairs.width;(!x.isNumber(A)||A<0)&&(A=0),w.attr({class:\"apexcharts-xcrosshairs\",x:0,y:0,y2:k,width:A,height:k,fill:y,filter:\"none\",\"fill-opacity\":t.config.xaxis.crosshairs.opacity,stroke:t.config.xaxis.crosshairs.stroke.color,\"stroke-width\":t.config.xaxis.crosshairs.stroke.width,\"stroke-dasharray\":t.config.xaxis.crosshairs.stroke.dashArray}),d&&(w=i.dropShadow(w,{left:g,top:u,blur:f,color:p,opacity:b})),t.globals.dom.elGraphical.add(w)}}},{key:\"drawYCrosshairs\",value:function(){var t=this.w,e=new m(this.ctx),i=t.config.yaxis[0].crosshairs,a=t.globals.barPadForNumericAxis;if(t.config.yaxis[0].crosshairs.show){var s=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,i.stroke.dashArray,i.stroke.width);s.attr({class:\"apexcharts-ycrosshairs\"}),t.globals.dom.elGraphical.add(s)}var r=e.drawLine(-a,0,t.globals.gridWidth+a,0,i.stroke.color,0,0);r.attr({class:\"apexcharts-ycrosshairs-hidden\"}),t.globals.dom.elGraphical.add(r)}}]),t}(),K=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkResponsiveConfig\",value:function(t){var e=this,i=this.w,a=i.config;if(0!==a.responsive.length){var s=a.responsive.slice();s.sort((function(t,e){return t.breakpoint>e.breakpoint?1:e.breakpoint>t.breakpoint?-1:0})).reverse();var r=new X({}),o=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=s[0].breakpoint,o=window.innerWidth>0?window.innerWidth:screen.width;if(o>a){var n=y.extendArrayProps(r,i.globals.initialConfig,i);t=x.extend(n,t),t=x.extend(i.config,t),e.overrideResponsiveOptions(t)}else for(var l=0;l0&&\"function\"==typeof e.config.colors[0]&&(e.globals.colors=e.config.series.map((function(i,a){var s=e.config.colors[a];return s||(s=e.config.colors[0]),\"function\"==typeof s?(t.isColorFn=!0,s({value:e.globals.axisCharts?e.globals.series[a][0]?e.globals.series[a][0]:0:e.globals.series[a],seriesIndex:a,dataPointIndex:a,w:e})):s})))),e.globals.seriesColors.map((function(t,i){t&&(e.globals.colors[i]=t)})),e.config.theme.monochrome.enabled){var a=[],s=e.globals.series.length;(this.isBarDistributed||this.isHeatmapDistributed)&&(s=e.globals.series[0].length*e.globals.series.length);for(var r=e.config.theme.monochrome.color,o=1/(s/e.config.theme.monochrome.shadeIntensity),n=e.config.theme.monochrome.shadeTo,l=0,h=0;h2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=e||a.globals.series.length;if(null===i&&(i=this.isBarDistributed||this.isHeatmapDistributed||\"heatmap\"===a.config.chart.type&&a.config.plotOptions.heatmap.colorScale.inverse),i&&a.globals.series.length&&(s=a.globals.series[a.globals.maxValsInArrayIndex].length*a.globals.series.length),t.lengtht.globals.svgWidth&&(this.dCtx.lgRect.width=t.globals.svgWidth/1.5),this.dCtx.lgRect}},{key:\"getLargestStringFromMultiArr\",value:function(t,e){var i=t;if(this.w.globals.isMultiLineX){var a=e.map((function(t,e){return Array.isArray(t)?t.length:1})),s=Math.max.apply(Math,u(a));i=e[a.indexOf(s)]}return i}}]),t}(),at=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"getxAxisLabelsCoords\",value:function(){var t,e=this.w,i=e.globals.labels.slice();if(e.config.xaxis.convertedCatToNumeric&&0===i.length&&(i=e.globals.categoryLabels),e.globals.timescaleLabels.length>0){var a=this.getxAxisTimeScaleLabelsCoords();t={width:a.width,height:a.height},e.globals.rotateXLabels=!1}else{this.dCtx.lgWidthForSideLegends=\"left\"!==e.config.legend.position&&\"right\"!==e.config.legend.position||e.config.legend.floating?0:this.dCtx.lgRect.width;var s=e.globals.xLabelFormatter,r=x.getLargestStringFromArr(i),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,i);e.globals.isBarHorizontal&&(o=r=e.globals.yAxisScale[0].result.reduce((function(t,e){return t.length>e.length?t:e}),0));var n=new W(this.dCtx.ctx),l=r;r=n.xLabelFormat(s,r,l,{i:void 0,dateFormatter:new T(this.dCtx.ctx).formatDate,w:e}),o=n.xLabelFormat(s,o,l,{i:void 0,dateFormatter:new T(this.dCtx.ctx).formatDate,w:e}),(e.config.xaxis.convertedCatToNumeric&&void 0===r||\"\"===String(r).trim())&&(o=r=\"1\");var h=new m(this.dCtx.ctx),c=h.getTextRects(r,e.config.xaxis.labels.style.fontSize),d=c;if(r!==o&&(d=h.getTextRects(o,e.config.xaxis.labels.style.fontSize)),(t={width:c.width>=d.width?c.width:d.width,height:c.height>=d.height?c.height:d.height}).width*i.length>e.globals.svgWidth-this.dCtx.lgWidthForSideLegends-this.dCtx.yAxisWidth-this.dCtx.gridPad.left-this.dCtx.gridPad.right&&0!==e.config.xaxis.labels.rotate||e.config.xaxis.labels.rotateAlways){if(!e.globals.isBarHorizontal){e.globals.rotateXLabels=!0;var g=function(t){return h.getTextRects(t,e.config.xaxis.labels.style.fontSize,e.config.xaxis.labels.style.fontFamily,\"rotate(\".concat(e.config.xaxis.labels.rotate,\" 0 0)\"),!1)};c=g(r),r!==o&&(d=g(o)),t.height=(c.height>d.height?c.height:d.height)/1.5,t.width=c.width>d.width?c.width:d.width}}else e.globals.rotateXLabels=!1}return e.config.xaxis.labels.show||(t={width:0,height:0}),{width:t.width,height:t.height}}},{key:\"getxAxisGroupLabelsCoords\",value:function(){var t,e=this.w;if(!e.globals.hasGroups)return{width:0,height:0};var i,a=(null===(t=e.config.xaxis.group.style)||void 0===t?void 0:t.fontSize)||e.config.xaxis.labels.style.fontSize,s=e.globals.groups.map((function(t){return t.title})),r=x.getLargestStringFromArr(s),o=this.dCtx.dimHelpers.getLargestStringFromMultiArr(r,s),n=new m(this.dCtx.ctx),l=n.getTextRects(r,a),h=l;return r!==o&&(h=n.getTextRects(o,a)),i={width:l.width>=h.width?l.width:h.width,height:l.height>=h.height?l.height:h.height},e.config.xaxis.labels.show||(i={width:0,height:0}),{width:i.width,height:i.height}}},{key:\"getxAxisTitleCoords\",value:function(){var t=this.w,e=0,i=0;if(void 0!==t.config.xaxis.title.text){var a=new m(this.dCtx.ctx).getTextRects(t.config.xaxis.title.text,t.config.xaxis.title.style.fontSize);e=a.width,i=a.height}return{width:e,height:i}}},{key:\"getxAxisTimeScaleLabelsCoords\",value:function(){var t,e=this.w;this.dCtx.timescaleLabels=e.globals.timescaleLabels.slice();var i=this.dCtx.timescaleLabels.map((function(t){return t.value})),a=i.reduce((function(t,e){return void 0===t?(console.error(\"You have possibly supplied invalid Date format. Please supply a valid JavaScript Date\"),0):t.length>e.length?t:e}),0);return 1.05*(t=new m(this.dCtx.ctx).getTextRects(a,e.config.xaxis.labels.style.fontSize)).width*i.length>e.globals.gridWidth&&0!==e.config.xaxis.labels.rotate&&(e.globals.overlappingXLabels=!0),t}},{key:\"additionalPaddingXLabels\",value:function(t){var e=this,i=this.w,a=i.globals,s=i.config,r=s.xaxis.type,o=t.width;a.skipLastTimelinelabel=!1,a.skipFirstTimelinelabel=!1;var n=i.config.yaxis[0].opposite&&i.globals.isBarHorizontal,l=function(t,n){(function(t){return-1!==a.collapsedSeriesIndices.indexOf(t)})(n)||function(t){if(e.dCtx.timescaleLabels&&e.dCtx.timescaleLabels.length){var n=e.dCtx.timescaleLabels[0],l=e.dCtx.timescaleLabels[e.dCtx.timescaleLabels.length-1].position+o/1.75-e.dCtx.yAxisWidthRight,h=n.position-o/1.75+e.dCtx.yAxisWidthLeft,c=\"right\"===i.config.legend.position&&e.dCtx.lgRect.width>0?e.dCtx.lgRect.width:0;l>a.svgWidth-a.translateX-c&&(a.skipLastTimelinelabel=!0),h<-(t.show&&!t.floating||\"bar\"!==s.chart.type&&\"candlestick\"!==s.chart.type&&\"rangeBar\"!==s.chart.type&&\"boxPlot\"!==s.chart.type?10:o/1.75)&&(a.skipFirstTimelinelabel=!0)}else\"datetime\"===r?e.dCtx.gridPad.rightString(n.niceMax).length?c:n.niceMax,g=h(d,{seriesIndex:o,dataPointIndex:-1,w:e}),u=g;if(void 0!==g&&0!==g.length||(g=d),e.globals.isBarHorizontal){a=0;var f=e.globals.labels.slice();g=h(g=x.getLargestStringFromArr(f),{seriesIndex:o,dataPointIndex:-1,w:e}),u=t.dCtx.dimHelpers.getLargestStringFromMultiArr(g,f)}var p=new m(t.dCtx.ctx),b=\"rotate(\".concat(r.labels.rotate,\" 0 0)\"),v=p.getTextRects(g,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1),y=v;g!==u&&(y=p.getTextRects(u,r.labels.style.fontSize,r.labels.style.fontFamily,b,!1)),i.push({width:(l>y.width||l>v.width?l:y.width>v.width?y.width:v.width)+a,height:y.height>v.height?y.height:v.height})}else i.push({width:0,height:0})})),i}},{key:\"getyAxisTitleCoords\",value:function(){var t=this,e=this.w,i=[];return e.config.yaxis.map((function(e,a){if(e.show&&void 0!==e.title.text){var s=new m(t.dCtx.ctx),r=\"rotate(\".concat(e.title.rotate,\" 0 0)\"),o=s.getTextRects(e.title.text,e.title.style.fontSize,e.title.style.fontFamily,r,!1);i.push({width:o.width,height:o.height})}else i.push({width:0,height:0})})),i}},{key:\"getTotalYAxisWidth\",value:function(){var t=this.w,e=0,i=0,a=0,s=t.globals.yAxisScale.length>1?10:0,r=new B(this.dCtx.ctx),o=function(o,n){var l=t.config.yaxis[n].floating,h=0;o.width>0&&!l?(h=o.width+s,function(e){return t.globals.ignoreYAxisIndexes.indexOf(e)>-1}(n)&&(h=h-o.width-s)):h=l||r.isYAxisHidden(n)?0:5,t.config.yaxis[n].opposite?a+=h:i+=h,e+=h};return t.globals.yLabelsCoords.map((function(t,e){o(t,e)})),t.globals.yTitleCoords.map((function(t,e){o(t,e)})),t.globals.isBarHorizontal&&!t.config.yaxis[0].floating&&(e=t.globals.yLabelsCoords[0].width+t.globals.yTitleCoords[0].width+15),this.dCtx.yAxisWidthLeft=i,this.dCtx.yAxisWidthRight=a,e}}]),t}(),rt=function(){function t(e){a(this,t),this.w=e.w,this.dCtx=e}return r(t,[{key:\"gridPadForColumnsInNumericAxis\",value:function(t){var e=this.w;if(e.globals.noData||e.globals.allSeriesCollapsed)return 0;var i=function(t){return\"bar\"===t||\"rangeBar\"===t||\"candlestick\"===t||\"boxPlot\"===t},a=e.config.chart.type,s=0,r=i(a)?e.config.series.length:1;if(e.globals.comboBarCount>0&&(r=e.globals.comboBarCount),e.globals.collapsedSeries.forEach((function(t){i(t.type)&&(r-=1)})),e.config.chart.stacked&&(r=1),(i(a)||e.globals.comboBarCount>0)&&e.globals.isXNumeric&&!e.globals.isBarHorizontal&&r>0){var o,n,l=Math.abs(e.globals.initialMaxX-e.globals.initialMinX);l<=3&&(l=e.globals.dataPoints),o=l/t,e.globals.minXDiff&&e.globals.minXDiff/o>0&&(n=e.globals.minXDiff/o),n>t/2&&(n/=2),(s=n/r*parseInt(e.config.plotOptions.bar.columnWidth,10)/100)<1&&(s=1),s=s/(r>1?1:1.5)+5,e.globals.barPadForNumericAxis=s}return s}},{key:\"gridPadFortitleSubtitle\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dCtx.isSparkline||!e.globals.axisCharts?0:10;[\"title\",\"subtitle\"].forEach((function(i){void 0!==e.config[i].text?a+=e.config[i].margin:a+=t.dCtx.isSparkline||!e.globals.axisCharts?0:5})),!e.config.legend.show||\"bottom\"!==e.config.legend.position||e.config.legend.floating||e.globals.axisCharts||(a+=10);var s=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"title\"),r=this.dCtx.dimHelpers.getTitleSubtitleCoords(\"subtitle\");i.gridHeight=i.gridHeight-s.height-r.height-a,i.translateY=i.translateY+s.height+r.height+a}},{key:\"setGridXPosForDualYAxis\",value:function(t,e){var i=this.w,a=new B(this.dCtx.ctx);i.config.yaxis.map((function(s,r){-1!==i.globals.ignoreYAxisIndexes.indexOf(r)||s.floating||a.isYAxisHidden(r)||(s.opposite&&(i.globals.translateX=i.globals.translateX-(e[r].width+t[r].width)-parseInt(i.config.yaxis[r].labels.style.fontSize,10)/1.2-12),i.globals.translateX<2&&(i.globals.translateX=2))}))}}]),t}(),ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.lgRect={},this.yAxisWidth=0,this.yAxisWidthLeft=0,this.yAxisWidthRight=0,this.xAxisHeight=0,this.isSparkline=this.w.config.chart.sparkline.enabled,this.dimHelpers=new it(this),this.dimYAxis=new st(this),this.dimXAxis=new at(this),this.dimGrid=new rt(this),this.lgWidthForSideLegends=0,this.gridPad=this.w.config.grid.padding,this.xPadRight=0,this.xPadLeft=0}return r(t,[{key:\"plotCoords\",value:function(){var t=this,e=this.w,i=e.globals;this.lgRect=this.dimHelpers.getLegendsRect(),this.isSparkline&&(e.config.markers.discrete.length>0||e.config.markers.size>0)&&Object.entries(this.gridPad).forEach((function(e){var i=g(e,2),a=i[0],s=i[1];t.gridPad[a]=Math.max(s,t.w.globals.markers.largestSize/1.5)})),i.axisCharts?this.setDimensionsForAxisCharts():this.setDimensionsForNonAxisCharts(),this.dimGrid.gridPadFortitleSubtitle(),i.gridHeight=i.gridHeight-this.gridPad.top-this.gridPad.bottom,i.gridWidth=i.gridWidth-this.gridPad.left-this.gridPad.right-this.xPadRight-this.xPadLeft;var a=this.dimGrid.gridPadForColumnsInNumericAxis(i.gridWidth);i.gridWidth=i.gridWidth-2*a,i.translateX=i.translateX+this.gridPad.left+this.xPadLeft+(a>0?a+4:0),i.translateY=i.translateY+this.gridPad.top}},{key:\"setDimensionsForAxisCharts\",value:function(){var t=this,e=this.w,i=e.globals,a=this.dimYAxis.getyAxisLabelsCoords(),s=this.dimYAxis.getyAxisTitleCoords();e.globals.yLabelsCoords=[],e.globals.yTitleCoords=[],e.config.yaxis.map((function(t,i){e.globals.yLabelsCoords.push({width:a[i].width,index:i}),e.globals.yTitleCoords.push({width:s[i].width,index:i})})),this.yAxisWidth=this.dimYAxis.getTotalYAxisWidth();var r=this.dimXAxis.getxAxisLabelsCoords(),o=this.dimXAxis.getxAxisGroupLabelsCoords(),n=this.dimXAxis.getxAxisTitleCoords();this.conditionalChecksForAxisCoords(r,n,o),i.translateXAxisY=e.globals.rotateXLabels?this.xAxisHeight/8:-4,i.translateXAxisX=e.globals.rotateXLabels&&e.globals.isXNumeric&&e.config.xaxis.labels.rotate<=-45?-this.xAxisWidth/4:0,e.globals.isBarHorizontal&&(i.rotateXLabels=!1,i.translateXAxisY=parseInt(e.config.xaxis.labels.style.fontSize,10)/1.5*-1),i.translateXAxisY=i.translateXAxisY+e.config.xaxis.labels.offsetY,i.translateXAxisX=i.translateXAxisX+e.config.xaxis.labels.offsetX;var l=this.yAxisWidth,h=this.xAxisHeight;i.xAxisLabelsHeight=this.xAxisHeight-n.height,i.xAxisGroupLabelsHeight=i.xAxisLabelsHeight-r.height,i.xAxisLabelsWidth=this.xAxisWidth,i.xAxisHeight=this.xAxisHeight;var c=10;(\"radar\"===e.config.chart.type||this.isSparkline)&&(l=0,h=i.goldenPadding),this.isSparkline&&(this.lgRect={height:0,width:0}),(this.isSparkline||\"treemap\"===e.config.chart.type)&&(l=0,h=0,c=0),this.isSparkline||this.dimXAxis.additionalPaddingXLabels(r);var d=function(){i.translateX=l,i.gridHeight=i.svgHeight-t.lgRect.height-h-(t.isSparkline||\"treemap\"===e.config.chart.type?0:e.globals.rotateXLabels?10:15),i.gridWidth=i.svgWidth-l};switch(\"top\"===e.config.xaxis.position&&(c=i.xAxisHeight-e.config.xaxis.axisTicks.height-5),e.config.legend.position){case\"bottom\":i.translateY=c,d();break;case\"top\":i.translateY=this.lgRect.height+c,d();break;case\"left\":i.translateY=c,i.translateX=this.lgRect.width+l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l;break;case\"right\":i.translateY=c,i.translateX=l,i.gridHeight=i.svgHeight-h-12,i.gridWidth=i.svgWidth-this.lgRect.width-l-5;break;default:throw new Error(\"Legend position not supported\")}this.dimGrid.setGridXPosForDualYAxis(s,a),new q(this.ctx).setYAxisXPosition(a,s)}},{key:\"setDimensionsForNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=t.config,a=0;t.config.legend.show&&!t.config.legend.floating&&(a=20);var s=\"pie\"===i.chart.type||\"polarArea\"===i.chart.type||\"donut\"===i.chart.type?\"pie\":\"radialBar\",r=i.plotOptions[s].offsetY,o=i.plotOptions[s].offsetX;if(!i.legend.show||i.legend.floating)return e.gridHeight=e.svgHeight-i.grid.padding.left+i.grid.padding.right,e.gridWidth=e.gridHeight,e.translateY=r,void(e.translateX=o+(e.svgWidth-e.gridWidth)/2);switch(i.legend.position){case\"bottom\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=r-10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"top\":e.gridHeight=e.svgHeight-this.lgRect.height-e.goldenPadding,e.gridWidth=e.svgWidth,e.translateY=this.lgRect.height+r+10,e.translateX=o+(e.svgWidth-e.gridWidth)/2;break;case\"left\":e.gridWidth=e.svgWidth-this.lgRect.width-a,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+this.lgRect.width+a;break;case\"right\":e.gridWidth=e.svgWidth-this.lgRect.width-a-5,e.gridHeight=\"auto\"!==i.chart.height?e.svgHeight:e.gridWidth,e.translateY=r,e.translateX=o+10;break;default:throw new Error(\"Legend position not supported\")}}},{key:\"conditionalChecksForAxisCoords\",value:function(t,e,i){var a=this.w,s=a.globals.hasGroups?2:1,r=i.height+t.height+e.height,o=a.globals.isMultiLineX?1.2:a.globals.LINE_HEIGHT_RATIO,n=a.globals.rotateXLabels?22:10,l=a.globals.rotateXLabels&&\"bottom\"===a.config.legend.position?10:0;this.xAxisHeight=r*o+s*n+l,this.xAxisWidth=t.width,this.xAxisHeight-e.height>a.config.xaxis.labels.maxHeight&&(this.xAxisHeight=a.config.xaxis.labels.maxHeight),a.config.xaxis.labels.minHeight&&this.xAxisHeightc&&(this.yAxisWidth=c)}}]),t}(),nt=function(){function t(e){a(this,t),this.w=e.w,this.lgCtx=e}return r(t,[{key:\"getLegendStyles\",value:function(){var t=document.createElement(\"style\");t.setAttribute(\"type\",\"text/css\");var e=document.createTextNode(\"\\t\\n \\t\\n .apexcharts-legend {\\t\\n display: flex;\\t\\n overflow: auto;\\t\\n padding: 0 10px;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom, .apexcharts-legend.apx-legend-position-top {\\t\\n flex-wrap: wrap\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\t\\n flex-direction: column;\\t\\n bottom: 0;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-left, .apexcharts-legend.apx-legend-position-top.apexcharts-align-left, .apexcharts-legend.apx-legend-position-right, .apexcharts-legend.apx-legend-position-left {\\t\\n justify-content: flex-start;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-center, .apexcharts-legend.apx-legend-position-top.apexcharts-align-center {\\t\\n justify-content: center; \\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom.apexcharts-align-right, .apexcharts-legend.apx-legend-position-top.apexcharts-align-right {\\t\\n justify-content: flex-end;\\t\\n }\\t\\n .apexcharts-legend-series {\\t\\n cursor: pointer;\\t\\n line-height: normal;\\t\\n }\\t\\n .apexcharts-legend.apx-legend-position-bottom .apexcharts-legend-series, .apexcharts-legend.apx-legend-position-top .apexcharts-legend-series{\\t\\n display: flex;\\t\\n align-items: center;\\t\\n }\\t\\n .apexcharts-legend-text {\\t\\n position: relative;\\t\\n font-size: 14px;\\t\\n }\\t\\n .apexcharts-legend-text *, .apexcharts-legend-marker * {\\t\\n pointer-events: none;\\t\\n }\\t\\n .apexcharts-legend-marker {\\t\\n position: relative;\\t\\n display: inline-block;\\t\\n cursor: pointer;\\t\\n margin-right: 3px;\\t\\n border-style: solid;\\n }\\t\\n \\t\\n .apexcharts-legend.apexcharts-align-right .apexcharts-legend-series, .apexcharts-legend.apexcharts-align-left .apexcharts-legend-series{\\t\\n display: inline-block;\\t\\n }\\t\\n .apexcharts-legend-series.apexcharts-no-click {\\t\\n cursor: auto;\\t\\n }\\t\\n .apexcharts-legend .apexcharts-hidden-zero-series, .apexcharts-legend .apexcharts-hidden-null-series {\\t\\n display: none !important;\\t\\n }\\t\\n .apexcharts-inactive-legend {\\t\\n opacity: 0.45;\\t\\n }\");return t.appendChild(e),t}},{key:\"getLegendBBox\",value:function(){var t=this.w.globals.dom.baseEl.querySelector(\".apexcharts-legend\").getBoundingClientRect(),e=t.width;return{clwh:t.height,clww:e}}},{key:\"appendToForeignObject\",value:function(){var t=this.w.globals;t.dom.elLegendForeign=document.createElementNS(t.SVGNS,\"foreignObject\");var e=t.dom.elLegendForeign;e.setAttribute(\"x\",0),e.setAttribute(\"y\",0),e.setAttribute(\"width\",t.svgWidth),e.setAttribute(\"height\",t.svgHeight),t.dom.elLegendWrap.setAttribute(\"xmlns\",\"http://www.w3.org/1999/xhtml\"),e.appendChild(t.dom.elLegendWrap),e.appendChild(this.getLegendStyles()),t.dom.Paper.node.insertBefore(e,t.dom.elGraphical.node)}},{key:\"toggleDataSeries\",value:function(t,e){var i=this,a=this.w;if(a.globals.axisCharts||\"radialBar\"===a.config.chart.type){a.globals.resized=!0;var s=null,r=null;if(a.globals.risingSeries=[],a.globals.axisCharts?(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\")),r=parseInt(s.getAttribute(\"data:realIndex\"),10)):(s=a.globals.dom.baseEl.querySelector(\".apexcharts-series[rel='\".concat(t+1,\"']\")),r=parseInt(s.getAttribute(\"rel\"),10)-1),e)[{cs:a.globals.collapsedSeries,csi:a.globals.collapsedSeriesIndices},{cs:a.globals.ancillaryCollapsedSeries,csi:a.globals.ancillaryCollapsedSeriesIndices}].forEach((function(t){i.riseCollapsedSeries(t.cs,t.csi,r)}));else this.hideSeries({seriesEl:s,realIndex:r})}else{var o=a.globals.dom.Paper.select(\" .apexcharts-series[rel='\".concat(t+1,\"'] path\")),n=a.config.chart.type;if(\"pie\"===n||\"polarArea\"===n||\"donut\"===n){var l=a.config.plotOptions.pie.donut.labels;new m(this.lgCtx.ctx).pathMouseDown(o.members[0],null),this.lgCtx.ctx.pie.printDataLabelsInner(o.members[0].node,l)}o.fire(\"click\")}}},{key:\"hideSeries\",value:function(t){var e=t.seriesEl,i=t.realIndex,a=this.w,s=x.clone(a.config.series);if(a.globals.axisCharts){var r=!1;if(a.config.yaxis[i]&&a.config.yaxis[i].show&&a.config.yaxis[i].showAlways&&(r=!0,a.globals.ancillaryCollapsedSeriesIndices.indexOf(i)<0&&(a.globals.ancillaryCollapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.ancillaryCollapsedSeriesIndices.push(i))),!r){a.globals.collapsedSeries.push({index:i,data:s[i].data.slice(),type:e.parentNode.className.baseVal.split(\"-\")[1]}),a.globals.collapsedSeriesIndices.push(i);var o=a.globals.risingSeries.indexOf(i);a.globals.risingSeries.splice(o,1)}}else a.globals.collapsedSeries.push({index:i,data:s[i]}),a.globals.collapsedSeriesIndices.push(i);for(var n=e.childNodes,l=0;l0){for(var r=0;r-1&&(t[a].data=[])})):t.forEach((function(i,a){e.globals.collapsedSeriesIndices.indexOf(a)>-1&&(t[a]=0)})),t}}]),t}(),lt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.onLegendClick=this.onLegendClick.bind(this),this.onLegendHovered=this.onLegendHovered.bind(this),this.isBarsDistributed=\"bar\"===this.w.config.chart.type&&this.w.config.plotOptions.bar.distributed&&1===this.w.config.series.length,this.legendHelpers=new nt(this)}return r(t,[{key:\"init\",value:function(){var t=this.w,e=t.globals,i=t.config;if((i.legend.showForSingleSeries&&1===e.series.length||this.isBarsDistributed||e.series.length>1||!e.axisCharts)&&i.legend.show){for(;e.dom.elLegendWrap.firstChild;)e.dom.elLegendWrap.removeChild(e.dom.elLegendWrap.firstChild);this.drawLegends(),x.isIE11()?document.getElementsByTagName(\"head\")[0].appendChild(this.legendHelpers.getLegendStyles()):this.legendHelpers.appendToForeignObject(),\"bottom\"===i.legend.position||\"top\"===i.legend.position?this.legendAlignHorizontal():\"right\"!==i.legend.position&&\"left\"!==i.legend.position||this.legendAlignVertical()}}},{key:\"drawLegends\",value:function(){var t=this,e=this.w,i=e.config.legend.fontFamily,a=e.globals.seriesNames,s=e.globals.colors.slice();if(\"heatmap\"===e.config.chart.type){var r=e.config.plotOptions.heatmap.colorScale.ranges;a=r.map((function(t){return t.name?t.name:t.from+\" - \"+t.to})),s=r.map((function(t){return t.color}))}else this.isBarsDistributed&&(a=e.globals.labels.slice());e.config.legend.customLegendItems.length&&(a=e.config.legend.customLegendItems);for(var o=e.globals.legendFormatter,n=e.config.legend.inverseOrder,l=n?a.length-1:0;n?l>=0:l<=a.length-1;n?l--:l++){var h=o(a[l],{seriesIndex:l,w:e}),c=!1,d=!1;if(e.globals.collapsedSeries.length>0)for(var g=0;g0)for(var u=0;u0?l-10:0)+(h>0?h-10:0)}a.style.position=\"absolute\",r=r+t+i.config.legend.offsetX,o=o+e+i.config.legend.offsetY,a.style.left=r+\"px\",a.style.top=o+\"px\",\"bottom\"===i.config.legend.position?(a.style.top=\"auto\",a.style.bottom=5-i.config.legend.offsetY+\"px\"):\"right\"===i.config.legend.position&&(a.style.left=\"auto\",a.style.right=25+i.config.legend.offsetX+\"px\");[\"width\",\"height\"].forEach((function(t){a.style[t]&&(a.style[t]=parseInt(i.config.legend[t],10)+\"px\")}))}},{key:\"legendAlignHorizontal\",value:function(){var t=this.w;t.globals.dom.baseEl.querySelector(\".apexcharts-legend\").style.right=0;var e=this.legendHelpers.getLegendBBox(),i=new ot(this.ctx),a=i.dimHelpers.getTitleSubtitleCoords(\"title\"),s=i.dimHelpers.getTitleSubtitleCoords(\"subtitle\"),r=0;\"bottom\"===t.config.legend.position?r=-e.clwh/1.8:\"top\"===t.config.legend.position&&(r=a.height+s.height+t.config.title.margin+t.config.subtitle.margin-10),this.setLegendWrapXY(20,r)}},{key:\"legendAlignVertical\",value:function(){var t=this.w,e=this.legendHelpers.getLegendBBox(),i=0;\"left\"===t.config.legend.position&&(i=20),\"right\"===t.config.legend.position&&(i=t.globals.svgWidth-e.clww-10),this.setLegendWrapXY(i,20)}},{key:\"onLegendHovered\",value:function(t){var e=this.w,i=t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\");if(\"heatmap\"===e.config.chart.type||this.isBarsDistributed){if(i){var a=parseInt(t.target.getAttribute(\"rel\"),10)-1;this.ctx.events.fireEvent(\"legendHover\",[this.ctx,a,this.w]),new O(this.ctx).highlightRangeInSeries(t,t.target)}}else!t.target.classList.contains(\"apexcharts-inactive-legend\")&&i&&new O(this.ctx).toggleSeriesOnHover(t,t.target)}},{key:\"onLegendClick\",value:function(t){var e=this.w;if(!e.config.legend.customLegendItems.length&&(t.target.classList.contains(\"apexcharts-legend-text\")||t.target.classList.contains(\"apexcharts-legend-marker\"))){var i=parseInt(t.target.getAttribute(\"rel\"),10)-1,a=\"true\"===t.target.getAttribute(\"data:collapsed\"),s=this.w.config.chart.events.legendClick;\"function\"==typeof s&&s(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendClick\",[this.ctx,i,this.w]);var r=this.w.config.legend.markers.onClick;\"function\"==typeof r&&t.target.classList.contains(\"apexcharts-legend-marker\")&&(r(this.ctx,i,this.w),this.ctx.events.fireEvent(\"legendMarkerClick\",[this.ctx,i,this.w])),\"treemap\"!==e.config.chart.type&&\"heatmap\"!==e.config.chart.type&&!this.isBarsDistributed&&e.config.legend.onItemClick.toggleDataSeries&&this.legendHelpers.toggleDataSeries(i,a)}}}]),t}(),ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.ev=this.w.config.chart.events,this.selectedClass=\"apexcharts-selected\",this.localeValues=this.w.globals.locale.toolbar,this.minX=i.globals.minX,this.maxX=i.globals.maxX}return r(t,[{key:\"createToolbar\",value:function(){var t=this,e=this.w,i=function(){return document.createElement(\"div\")},a=i();if(a.setAttribute(\"class\",\"apexcharts-toolbar\"),a.style.top=e.config.chart.toolbar.offsetY+\"px\",a.style.right=3-e.config.chart.toolbar.offsetX+\"px\",e.globals.dom.elWrap.appendChild(a),this.elZoom=i(),this.elZoomIn=i(),this.elZoomOut=i(),this.elPan=i(),this.elSelection=i(),this.elZoomReset=i(),this.elMenuIcon=i(),this.elMenu=i(),this.elCustomIcons=[],this.t=e.config.chart.toolbar.tools,Array.isArray(this.t.customIcons))for(var s=0;s\\n \\n \\n\\n'),o(\"zoomOut\",this.elZoomOut,'\\n \\n \\n\\n');var n=function(i){t.t[i]&&e.config.chart[i].enabled&&r.push({el:\"zoom\"===i?t.elZoom:t.elSelection,icon:\"string\"==typeof t.t[i]?t.t[i]:\"zoom\"===i?'\\n \\n \\n \\n':'\\n \\n \\n',title:t.localeValues[\"zoom\"===i?\"selectionZoom\":\"selection\"],class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-\".concat(i,\"-icon\")})};n(\"zoom\"),n(\"selection\"),this.t.pan&&e.config.chart.zoom.enabled&&r.push({el:this.elPan,icon:\"string\"==typeof this.t.pan?this.t.pan:'\\n \\n \\n \\n \\n \\n \\n \\n',title:this.localeValues.pan,class:e.globals.isTouchDevice?\"apexcharts-element-hidden\":\"apexcharts-pan-icon\"}),o(\"reset\",this.elZoomReset,'\\n \\n \\n'),this.t.download&&r.push({el:this.elMenuIcon,icon:\"string\"==typeof this.t.download?this.t.download:'',title:this.localeValues.menu,class:\"apexcharts-menu-icon\"});for(var l=0;l0&&e.height>0&&this.slDraggableRect.selectize({points:\"l, r\",pointSize:8,pointType:\"rect\"}).resize({constraint:{minX:0,minY:0,maxX:t.globals.gridWidth,maxY:t.globals.gridHeight}}).on(\"resizing\",this.selectionDragging.bind(this,\"resizing\"))}}},{key:\"preselectedSelection\",value:function(){var t=this.w,e=this.xyRatios;if(!t.globals.zoomEnabled)if(void 0!==t.globals.selection&&null!==t.globals.selection)this.drawSelectionRect(t.globals.selection);else if(void 0!==t.config.chart.selection.xaxis.min&&void 0!==t.config.chart.selection.xaxis.max){var i=(t.config.chart.selection.xaxis.min-t.globals.minX)/e.xRatio,a={x:i,y:0,width:t.globals.gridWidth-(t.globals.maxX-t.config.chart.selection.xaxis.max)/e.xRatio-i,height:t.globals.gridHeight,translateX:0,translateY:0,selectionEnabled:!0};this.drawSelectionRect(a),this.makeSelectionRectDraggable(),\"function\"==typeof t.config.chart.events.selection&&t.config.chart.events.selection(this.ctx,{xaxis:{min:t.config.chart.selection.xaxis.min,max:t.config.chart.selection.xaxis.max},yaxis:{}})}}},{key:\"drawSelectionRect\",value:function(t){var e=t.x,i=t.y,a=t.width,s=t.height,r=t.translateX,o=void 0===r?0:r,n=t.translateY,l=void 0===n?0:n,h=this.w,c=this.zoomRect,d=this.selectionRect;if(this.dragged||null!==h.globals.selection){var g={transform:\"translate(\"+o+\", \"+l+\")\"};h.globals.zoomEnabled&&this.dragged&&(a<0&&(a=1),c.attr({x:e,y:i,width:a,height:s,fill:h.config.chart.zoom.zoomedArea.fill.color,\"fill-opacity\":h.config.chart.zoom.zoomedArea.fill.opacity,stroke:h.config.chart.zoom.zoomedArea.stroke.color,\"stroke-width\":h.config.chart.zoom.zoomedArea.stroke.width,\"stroke-opacity\":h.config.chart.zoom.zoomedArea.stroke.opacity}),m.setAttrs(c.node,g)),h.globals.selectionEnabled&&(d.attr({x:e,y:i,width:a>0?a:0,height:s>0?s:0,fill:h.config.chart.selection.fill.color,\"fill-opacity\":h.config.chart.selection.fill.opacity,stroke:h.config.chart.selection.stroke.color,\"stroke-width\":h.config.chart.selection.stroke.width,\"stroke-dasharray\":h.config.chart.selection.stroke.dashArray,\"stroke-opacity\":h.config.chart.selection.stroke.opacity}),m.setAttrs(d.node,g))}}},{key:\"hideSelectionRect\",value:function(t){t&&t.attr({x:0,y:0,width:0,height:0})}},{key:\"selectionDrawing\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.gridRect.getBoundingClientRect(),o=s.startX-1,n=s.startY,l=!1,h=!1,c=s.clientX-r.left-o,d=s.clientY-r.top-n,g={};return Math.abs(c+o)>a.globals.gridWidth?c=a.globals.gridWidth-o:s.clientX-r.left<0&&(c=o),o>s.clientX-r.left&&(l=!0,c=Math.abs(c)),n>s.clientY-r.top&&(h=!0,d=Math.abs(d)),g=\"x\"===i?{x:l?o-c:o,y:0,width:c,height:a.globals.gridHeight}:\"y\"===i?{x:0,y:h?n-d:n,width:a.globals.gridWidth,height:d}:{x:l?o-c:o,y:h?n-d:n,width:c,height:d},s.drawSelectionRect(g),s.selectionDragging(\"resizing\"),g}},{key:\"selectionDragging\",value:function(t,e){var i=this,a=this.w,s=this.xyRatios,r=this.selectionRect,o=0;\"resizing\"===t&&(o=30);var n=function(t){return parseFloat(r.node.getAttribute(t))},l={x:n(\"x\"),y:n(\"y\"),width:n(\"width\"),height:n(\"height\")};a.globals.selection=l,\"function\"==typeof a.config.chart.events.selection&&a.globals.selectionEnabled&&(clearTimeout(this.w.globals.selectionResizeTimer),this.w.globals.selectionResizeTimer=window.setTimeout((function(){var t=i.gridRect.getBoundingClientRect(),e=r.node.getBoundingClientRect(),o={xaxis:{min:a.globals.xAxisScale.niceMin+(e.left-t.left)*s.xRatio,max:a.globals.xAxisScale.niceMin+(e.right-t.left)*s.xRatio},yaxis:{min:a.globals.yAxisScale[0].niceMin+(t.bottom-e.bottom)*s.yRatio[0],max:a.globals.yAxisScale[0].niceMax-(e.top-t.top)*s.yRatio[0]}};a.config.chart.events.selection(i.ctx,o),a.config.chart.brush.enabled&&void 0!==a.config.chart.events.brushScrolled&&a.config.chart.events.brushScrolled(i.ctx,o)}),o))}},{key:\"selectionDrawn\",value:function(t){var e=t.context,i=t.zoomtype,a=this.w,s=e,r=this.xyRatios,o=this.ctx.toolbar;if(s.startX>s.endX){var n=s.startX;s.startX=s.endX,s.endX=n}if(s.startY>s.endY){var l=s.startY;s.startY=s.endY,s.endY=l}var h=void 0,c=void 0;a.globals.isRangeBar?(h=a.globals.yAxisScale[0].niceMin+s.startX*r.invertedYRatio,c=a.globals.yAxisScale[0].niceMin+s.endX*r.invertedYRatio):(h=a.globals.xAxisScale.niceMin+s.startX*r.xRatio,c=a.globals.xAxisScale.niceMin+s.endX*r.xRatio);var d=[],g=[];if(a.config.yaxis.forEach((function(t,e){d.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.startY),g.push(a.globals.yAxisScale[e].niceMax-r.yRatio[e]*s.endY)})),s.dragged&&(s.dragX>10||s.dragY>10)&&h!==c)if(a.globals.zoomEnabled){var u=x.clone(a.globals.initialConfig.yaxis),f=x.clone(a.globals.initialConfig.xaxis);if(a.globals.zoomed=!0,a.config.xaxis.convertedCatToNumeric&&(h=Math.floor(h),c=Math.floor(c),h<1&&(h=1,c=a.globals.dataPoints),c-h<2&&(c=h+1)),\"xy\"!==i&&\"x\"!==i||(f={min:h,max:c}),\"xy\"!==i&&\"y\"!==i||u.forEach((function(t,e){u[e].min=g[e],u[e].max=d[e]})),a.config.chart.zoom.autoScaleYaxis){var p=new _(s.ctx);u=p.autoScaleY(s.ctx,u,{xaxis:f})}if(o){var b=o.getBeforeZoomRange(f,u);b&&(f=b.xaxis?b.xaxis:f,u=b.yaxis?b.yaxis:u)}var v={xaxis:f};a.config.chart.group||(v.yaxis=u),s.ctx.updateHelpers._updateOptions(v,!1,s.w.config.chart.animations.dynamicAnimation.enabled),\"function\"==typeof a.config.chart.events.zoomed&&o.zoomCallback(f,u)}else if(a.globals.selectionEnabled){var m,y=null;m={min:h,max:c},\"xy\"!==i&&\"y\"!==i||(y=x.clone(a.config.yaxis)).forEach((function(t,e){y[e].min=g[e],y[e].max=d[e]})),a.globals.selection=s.selection,\"function\"==typeof a.config.chart.events.selection&&a.config.chart.events.selection(s.ctx,{xaxis:m,yaxis:y})}}},{key:\"panDragging\",value:function(t){var e=t.context,i=this.w,a=e;if(void 0!==i.globals.lastClientPosition.x){var s=i.globals.lastClientPosition.x-a.clientX,r=i.globals.lastClientPosition.y-a.clientY;Math.abs(s)>Math.abs(r)&&s>0?this.moveDirection=\"left\":Math.abs(s)>Math.abs(r)&&s<0?this.moveDirection=\"right\":Math.abs(r)>Math.abs(s)&&r>0?this.moveDirection=\"up\":Math.abs(r)>Math.abs(s)&&r<0&&(this.moveDirection=\"down\")}i.globals.lastClientPosition={x:a.clientX,y:a.clientY};var o=i.globals.isRangeBar?i.globals.minY:i.globals.minX,n=i.globals.isRangeBar?i.globals.maxY:i.globals.maxX;i.config.xaxis.convertedCatToNumeric||a.panScrolled(o,n)}},{key:\"delayedPanScrolled\",value:function(){var t=this.w,e=t.globals.minX,i=t.globals.maxX,a=(t.globals.maxX-t.globals.minX)/2;\"left\"===this.moveDirection?(e=t.globals.minX+a,i=t.globals.maxX+a):\"right\"===this.moveDirection&&(e=t.globals.minX-a,i=t.globals.maxX-a),e=Math.floor(e),i=Math.floor(i),this.updateScrolledChart({xaxis:{min:e,max:i}},e,i)}},{key:\"panScrolled\",value:function(t,e){var i=this.w,a=this.xyRatios,s=x.clone(i.globals.initialConfig.yaxis),r=a.xRatio,o=i.globals.minX,n=i.globals.maxX;i.globals.isRangeBar&&(r=a.invertedYRatio,o=i.globals.minY,n=i.globals.maxY),\"left\"===this.moveDirection?(t=o+i.globals.gridWidth/15*r,e=n+i.globals.gridWidth/15*r):\"right\"===this.moveDirection&&(t=o-i.globals.gridWidth/15*r,e=n-i.globals.gridWidth/15*r),i.globals.isRangeBar||(ti.globals.initialMaxX)&&(t=o,e=n);var l={min:t,max:e};i.config.chart.zoom.autoScaleYaxis&&(s=new _(this.ctx).autoScaleY(this.ctx,s,{xaxis:l}));var h={xaxis:{min:t,max:e}};i.config.chart.group||(h.yaxis=s),this.updateScrolledChart(h,t,e)}},{key:\"updateScrolledChart\",value:function(t,e,i){var a=this.w;this.ctx.updateHelpers._updateOptions(t,!1,!1),\"function\"==typeof a.config.chart.events.scrolled&&a.config.chart.events.scrolled(this.ctx,{xaxis:{min:e,max:i}})}}]),i}(),dt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx}return r(t,[{key:\"getNearestValues\",value:function(t){var e=t.hoverArea,i=t.elGrid,a=t.clientX,s=t.clientY,r=this.w,o=i.getBoundingClientRect(),n=o.width,l=o.height,h=n/(r.globals.dataPoints-1),c=l/r.globals.dataPoints,d=this.hasBars();!r.globals.comboCharts&&!d||r.config.xaxis.convertedCatToNumeric||(h=n/r.globals.dataPoints);var g=a-o.left-r.globals.barPadForNumericAxis,u=s-o.top;g<0||u<0||g>n||u>l?(e.classList.remove(\"hovering-zoom\"),e.classList.remove(\"hovering-pan\")):r.globals.zoomEnabled?(e.classList.remove(\"hovering-pan\"),e.classList.add(\"hovering-zoom\")):r.globals.panEnabled&&(e.classList.remove(\"hovering-zoom\"),e.classList.add(\"hovering-pan\"));var f=Math.round(g/h),p=Math.floor(u/c);d&&!r.config.xaxis.convertedCatToNumeric&&(f=Math.ceil(g/h),f-=1);var b=null,v=null,m=[],y=[];if(r.globals.seriesXvalues.forEach((function(t){m.push([t[0]+1e-6].concat(t))})),r.globals.seriesYvalues.forEach((function(t){y.push([t[0]+1e-6].concat(t))})),m=m.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),y=y.map((function(t){return t.filter((function(t){return x.isNumber(t)}))})),r.globals.isXNumeric){var w=this.ttCtx.getElGrid().getBoundingClientRect(),k=g*(w.width/n),A=u*(w.height/l);b=(v=this.closestInMultiArray(k,A,m,y)).index,f=v.j,null!==b&&(m=r.globals.seriesXvalues[b],f=(v=this.closestInArray(k,m)).index)}return r.globals.capturedSeriesIndex=null===b?-1:b,(!f||f<1)&&(f=0),r.globals.isBarHorizontal?r.globals.capturedDataPointIndex=p:r.globals.capturedDataPointIndex=f,{capturedSeries:b,j:r.globals.isBarHorizontal?p:f,hoverX:g,hoverY:u}}},{key:\"closestInMultiArray\",value:function(t,e,i,a){var s=this.w,r=0,o=null,n=-1;s.globals.series.length>1?r=this.getFirstActiveXArray(i):o=0;var l=i[r][0],h=Math.abs(t-l);if(i.forEach((function(e){e.forEach((function(e,i){var a=Math.abs(t-e);a0?e:-1})),s=0;s0)for(var a=0;ai?-1:0}));var e=[];return t.forEach((function(t){e.push(t.querySelector(\".apexcharts-marker\"))})),e}},{key:\"hasMarkers\",value:function(){return this.getElMarkers().length>0}},{key:\"getElBars\",value:function(){return this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-bar-series, .apexcharts-candlestick-series, .apexcharts-boxPlot-series, .apexcharts-rangebar-series\")}},{key:\"hasBars\",value:function(){return this.getElBars().length>0}},{key:\"getHoverMarkerSize\",value:function(t){var e=this.w,i=e.config.markers.hover.size;return void 0===i&&(i=e.globals.markers.size[t]+e.config.markers.hover.sizeOffset),i}},{key:\"toggleAllTooltipSeriesGroups\",value:function(t){var e=this.w,i=this.ttCtx;0===i.allTooltipSeriesGroups.length&&(i.allTooltipSeriesGroups=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-tooltip-series-group\"));for(var a=i.allTooltipSeriesGroups,s=0;s\",e=\"
\";d.forEach((function(i,a){t+='
').concat(i.attrs.name,\"
\"),e+=\"
\".concat(i.val,\"
\")})),v.innerHTML=t+\"
\",m.innerHTML=e+\"\"};o?l.globals.seriesGoals[e][i]&&Array.isArray(l.globals.seriesGoals[e][i])?y():(v.innerHTML=\"\",m.innerHTML=\"\"):y()}else v.innerHTML=\"\",m.innerHTML=\"\";null!==f&&(a[e].querySelector(\".apexcharts-tooltip-text-z-label\").innerHTML=l.config.tooltip.z.title,a[e].querySelector(\".apexcharts-tooltip-text-z-value\").innerHTML=void 0!==f?f:\"\");o&&p[0]&&(null==c||l.globals.ancillaryCollapsedSeriesIndices.indexOf(e)>-1||l.globals.collapsedSeriesIndices.indexOf(e)>-1?p[0].parentNode.style.display=\"none\":p[0].parentNode.style.display=l.config.tooltip.items.display)}},{key:\"toggleActiveInactiveSeries\",value:function(t){var e=this.w;if(t)this.tooltipUtil.toggleAllTooltipSeriesGroups(\"enable\");else{this.tooltipUtil.toggleAllTooltipSeriesGroups(\"disable\");var i=e.globals.dom.baseEl.querySelector(\".apexcharts-tooltip-series-group\");i&&(i.classList.add(\"apexcharts-active\"),i.style.display=e.config.tooltip.items.display)}}},{key:\"getValuesToPrint\",value:function(t){var e=t.i,i=t.j,a=this.w,s=this.ctx.series.filteredSeriesX(),r=\"\",o=\"\",n=null,l=null,h={series:a.globals.series,seriesIndex:e,dataPointIndex:i,w:a},c=a.globals.ttZFormatter;null===i?l=a.globals.series[e]:a.globals.isXNumeric&&\"treemap\"!==a.config.chart.type?(r=s[e][i],0===s[e].length&&(r=s[this.tooltipUtil.getFirstActiveXArray(s)][i])):r=void 0!==a.globals.labels[i]?a.globals.labels[i]:\"\";var d=r;a.globals.isXNumeric&&\"datetime\"===a.config.xaxis.type?r=new W(this.ctx).xLabelFormat(a.globals.ttKeyFormatter,d,d,{i:void 0,dateFormatter:new T(this.ctx).formatDate,w:this.w}):r=a.globals.isBarHorizontal?a.globals.yLabelFormatters[0](d,h):a.globals.xLabelFormatter(d,h);return void 0!==a.config.tooltip.x.formatter&&(r=a.globals.ttKeyFormatter(d,h)),a.globals.seriesZ.length>0&&a.globals.seriesZ[e].length>0&&(n=c(a.globals.seriesZ[e][i],a)),o=\"function\"==typeof a.config.xaxis.tooltip.formatter?a.globals.xaxisTooltipFormatter(d,h):r,{val:Array.isArray(l)?l.join(\" \"):l,xVal:Array.isArray(r)?r.join(\" \"):r,xAxisTTVal:Array.isArray(o)?o.join(\" \"):o,zVal:n}}},{key:\"handleCustomTooltip\",value:function(t){var e=t.i,i=t.j,a=t.y1,s=t.y2,r=t.w,o=this.ttCtx.getElTooltip(),n=r.config.tooltip.custom;Array.isArray(n)&&n[e]&&(n=n[e]),o.innerHTML=n({ctx:this.ctx,series:r.globals.series,seriesIndex:e,dataPointIndex:i,y1:a,y2:s,w:r})}}]),t}(),ut=function(){function t(e){a(this,t),this.ttCtx=e,this.ctx=e.ctx,this.w=e.w}return r(t,[{key:\"moveXCrosshairs\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,i=this.ttCtx,a=this.w,s=i.getElXCrosshairs(),r=t-i.xcrosshairsWidth/2,o=a.globals.labels.slice().length;if(null!==e&&(r=a.globals.gridWidth/o*e),null===s||a.globals.isBarHorizontal||(s.setAttribute(\"x\",r),s.setAttribute(\"x1\",r),s.setAttribute(\"x2\",r),s.setAttribute(\"y2\",a.globals.gridHeight),s.classList.add(\"apexcharts-active\")),r<0&&(r=0),r>a.globals.gridWidth&&(r=a.globals.gridWidth),i.isXAxisTooltipEnabled){var n=r;\"tickWidth\"!==a.config.xaxis.crosshairs.width&&\"barWidth\"!==a.config.xaxis.crosshairs.width||(n=r+i.xcrosshairsWidth/2),this.moveXAxisTooltip(n)}}},{key:\"moveYCrosshairs\",value:function(t){var e=this.ttCtx;null!==e.ycrosshairs&&m.setAttrs(e.ycrosshairs,{y1:t,y2:t}),null!==e.ycrosshairsHidden&&m.setAttrs(e.ycrosshairsHidden,{y1:t,y2:t})}},{key:\"moveXAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;if(null!==i.xaxisTooltip&&0!==i.xcrosshairsWidth){i.xaxisTooltip.classList.add(\"apexcharts-active\");var a=i.xaxisOffY+e.config.xaxis.tooltip.offsetY+e.globals.translateY+1+e.config.xaxis.offsetY;if(t-=i.xaxisTooltip.getBoundingClientRect().width/2,!isNaN(t)){t+=e.globals.translateX;var s;s=new m(this.ctx).getTextRects(i.xaxisTooltipText.innerHTML),i.xaxisTooltipText.style.minWidth=s.width+\"px\",i.xaxisTooltip.style.left=t+\"px\",i.xaxisTooltip.style.top=a+\"px\"}}}},{key:\"moveYAxisTooltip\",value:function(t){var e=this.w,i=this.ttCtx;null===i.yaxisTTEls&&(i.yaxisTTEls=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-yaxistooltip\"));var a=parseInt(i.ycrosshairsHidden.getAttribute(\"y1\"),10),s=e.globals.translateY+a,r=i.yaxisTTEls[t].getBoundingClientRect().height,o=e.globals.translateYAxisX[t]-2;e.config.yaxis[t].opposite&&(o-=26),s-=r/2,-1===e.globals.ignoreYAxisIndexes.indexOf(t)?(i.yaxisTTEls[t].classList.add(\"apexcharts-active\"),i.yaxisTTEls[t].style.top=s+\"px\",i.yaxisTTEls[t].style.left=o+e.config.yaxis[t].tooltip.offsetX+\"px\"):i.yaxisTTEls[t].classList.remove(\"apexcharts-active\")}},{key:\"moveTooltip\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=this.w,s=this.ttCtx,r=s.getElTooltip(),o=s.tooltipRect,n=null!==i?parseFloat(i):1,l=parseFloat(t)+n+5,h=parseFloat(e)+n/2;if(l>a.globals.gridWidth/2&&(l=l-o.ttWidth-n-10),l>a.globals.gridWidth-o.ttWidth-10&&(l=a.globals.gridWidth-o.ttWidth),l<-20&&(l=-20),a.config.tooltip.followCursor){var c=s.getElGrid(),d=c.getBoundingClientRect();h=s.e.clientY+a.globals.translateY-d.top-o.ttHeight/2}else a.globals.isBarHorizontal||(o.ttHeight/2+h>a.globals.gridHeight&&(h=a.globals.gridHeight-o.ttHeight+a.globals.translateY),h<0&&(h=0));isNaN(l)||(l+=a.globals.translateX,r.style.left=l+\"px\",r.style.top=h+\"px\")}},{key:\"moveMarkers\",value:function(t,e){var i=this.w,a=this.ttCtx;if(i.globals.markers.size[t]>0)for(var s=i.globals.dom.baseEl.querySelectorAll(\" .apexcharts-series[data\\\\:realIndex='\".concat(t,\"'] .apexcharts-marker\")),r=0;r0&&(h.setAttribute(\"r\",n),h.setAttribute(\"cx\",i),h.setAttribute(\"cy\",a)),this.moveXCrosshairs(i),r.fixedTooltip||this.moveTooltip(i,a,n)}}},{key:\"moveDynamicPointsOnHover\",value:function(t){var e,i=this.ttCtx,a=i.w,s=0,r=0,o=a.globals.pointsArray;e=new O(this.ctx).getActiveConfigSeriesIndex(\"asc\",[\"line\",\"area\",\"scatter\",\"bubble\"]);var n=i.tooltipUtil.getHoverMarkerSize(e);o[e]&&(s=o[e][t][0],r=o[e][t][1]);var l=i.tooltipUtil.getAllMarkers();if(null!==l)for(var h=0;h0?(l[h]&&l[h].setAttribute(\"r\",n),l[h]&&l[h].setAttribute(\"cy\",d)):l[h]&&l[h].setAttribute(\"r\",0)}}if(this.moveXCrosshairs(s),!i.fixedTooltip){var f=r||a.globals.gridHeight;this.moveTooltip(s,f,n)}}},{key:\"moveStickyTooltipOverBars\",value:function(t){var e=this.w,i=this.ttCtx,a=e.globals.columnSeries?e.globals.columnSeries.length:e.globals.series.length,s=a>=2&&a%2==0?Math.floor(a/2):Math.floor(a/2)+1;e.globals.isBarHorizontal&&(s=new O(this.ctx).getActiveConfigSeriesIndex(\"desc\")+1);var r=e.globals.dom.baseEl.querySelector(\".apexcharts-bar-series .apexcharts-series[rel='\".concat(s,\"'] path[j='\").concat(t,\"'], .apexcharts-candlestick-series .apexcharts-series[rel='\").concat(s,\"'] path[j='\").concat(t,\"'], .apexcharts-boxPlot-series .apexcharts-series[rel='\").concat(s,\"'] path[j='\").concat(t,\"'], .apexcharts-rangebar-series .apexcharts-series[rel='\").concat(s,\"'] path[j='\").concat(t,\"']\")),o=r?parseFloat(r.getAttribute(\"cx\")):0,n=r?parseFloat(r.getAttribute(\"cy\")):0,l=r?parseFloat(r.getAttribute(\"barWidth\")):0,h=r?parseFloat(r.getAttribute(\"barHeight\")):0,c=i.getElGrid().getBoundingClientRect(),d=r.classList.contains(\"apexcharts-candlestick-area\")||r.classList.contains(\"apexcharts-boxPlot-area\");if(e.globals.isXNumeric?(r&&!d&&(o-=a%2!=0?l/2:0),r&&d&&e.globals.comboCharts&&(o-=l/2)):e.globals.isBarHorizontal||(o=i.xAxisTicksPositions[t-1]+i.dataPointsDividedWidth/2,isNaN(o)&&(o=i.xAxisTicksPositions[t]-i.dataPointsDividedWidth/2)),e.globals.isBarHorizontal?(n>e.globals.gridHeight/2&&(n-=i.tooltipRect.ttHeight),(n=n+e.config.grid.padding.top+h/3)+h>e.globals.gridHeight&&(n=e.globals.gridHeight-h)):e.config.tooltip.followCursor?n=i.e.clientY-c.top-i.tooltipRect.ttHeight/2:n+i.tooltipRect.ttHeight+15>e.globals.gridHeight&&(n=e.globals.gridHeight),n<-10&&(n=-10),e.globals.isBarHorizontal||this.moveXCrosshairs(o),!i.fixedTooltip){var g=n||e.globals.gridHeight;this.moveTooltip(o,g)}}}]),t}(),ft=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e,this.ctx=e.ctx,this.tooltipPosition=new ut(e)}return r(t,[{key:\"drawDynamicPoints\",value:function(){var t=this.w,e=new m(this.ctx),i=new R(this.ctx),a=t.globals.dom.baseEl.querySelectorAll(\".apexcharts-series\");a=u(a),t.config.chart.stacked&&a.sort((function(t,e){return parseFloat(t.getAttribute(\"data:realIndex\"))-parseFloat(e.getAttribute(\"data:realIndex\"))}));for(var s=0;s2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=this.w;\"bubble\"!==s.config.chart.type&&this.newPointSize(t,e);var r=e.getAttribute(\"cx\"),o=e.getAttribute(\"cy\");if(null!==i&&null!==a&&(r=i,o=a),this.tooltipPosition.moveXCrosshairs(r),!this.fixedTooltip){if(\"radar\"===s.config.chart.type){var n=this.ttCtx.getElGrid(),l=n.getBoundingClientRect();r=this.ttCtx.e.clientX-l.left}this.tooltipPosition.moveTooltip(r,o,s.config.markers.hover.size)}}},{key:\"enlargePoints\",value:function(t){for(var e=this.w,i=this,a=this.ttCtx,s=t,r=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-series:not(.apexcharts-series-collapsed) .apexcharts-marker\"),o=e.config.markers.hover.size,n=0;n=0?t[e].setAttribute(\"r\",i):t[e].setAttribute(\"r\",0)}}}]),t}(),pt=function(){function t(e){a(this,t),this.w=e.w,this.ttCtx=e}return r(t,[{key:\"getAttr\",value:function(t,e){return parseFloat(t.target.getAttribute(e))}},{key:\"handleHeatTreeTooltip\",value:function(t){var e=t.e,i=t.opt,a=t.x,s=t.y,r=t.type,o=this.ttCtx,n=this.w;if(e.target.classList.contains(\"apexcharts-\".concat(r,\"-rect\"))){var l=this.getAttr(e,\"i\"),h=this.getAttr(e,\"j\"),c=this.getAttr(e,\"cx\"),d=this.getAttr(e,\"cy\"),g=this.getAttr(e,\"width\"),u=this.getAttr(e,\"height\");if(o.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:l,j:h,shared:!1,e:e}),n.globals.capturedSeriesIndex=l,n.globals.capturedDataPointIndex=h,a=c+o.tooltipRect.ttWidth/2+g,s=d+o.tooltipRect.ttHeight/2-u/2,o.tooltipPosition.moveXCrosshairs(c+g/2),a>n.globals.gridWidth/2&&(a=c-o.tooltipRect.ttWidth/2+g),o.w.config.tooltip.followCursor){var f=n.globals.dom.elWrap.getBoundingClientRect();a=n.globals.clientX-f.left-(a>n.globals.gridWidth/2?o.tooltipRect.ttWidth:0),s=n.globals.clientY-f.top-(s>n.globals.gridHeight/2?o.tooltipRect.ttHeight:0)}}return{x:a,y:s}}},{key:\"handleMarkerTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=t.x,o=t.y,n=this.w,l=this.ttCtx;if(a.target.classList.contains(\"apexcharts-marker\")){var h=parseInt(s.paths.getAttribute(\"cx\"),10),c=parseInt(s.paths.getAttribute(\"cy\"),10),d=parseFloat(s.paths.getAttribute(\"val\"));if(i=parseInt(s.paths.getAttribute(\"rel\"),10),e=parseInt(s.paths.parentNode.parentNode.parentNode.getAttribute(\"rel\"),10)-1,l.intersect){var g=x.findAncestor(s.paths,\"apexcharts-series\");g&&(e=parseInt(g.getAttribute(\"data:realIndex\"),10))}if(l.tooltipLabels.drawSeriesTexts({ttItems:s.ttItems,i:e,j:i,shared:!l.showOnIntersect&&n.config.tooltip.shared,e:a}),\"mouseup\"===a.type&&l.markerClick(a,e,i),n.globals.capturedSeriesIndex=e,n.globals.capturedDataPointIndex=i,r=h,o=c+n.globals.translateY-1.4*l.tooltipRect.ttHeight,l.w.config.tooltip.followCursor){var u=l.getElGrid().getBoundingClientRect();o=l.e.clientY+n.globals.translateY-u.top}d<0&&(o=c),l.marker.enlargeCurrentPoint(i,s.paths,r,o)}return{x:r,y:o}}},{key:\"handleBarTooltip\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=this.ttCtx,n=o.getElTooltip(),l=0,h=0,c=0,d=this.getBarTooltipXY({e:a,opt:s});e=d.i;var g=d.barHeight,u=d.j;r.globals.capturedSeriesIndex=e,r.globals.capturedDataPointIndex=u,r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||!r.config.tooltip.shared?(h=d.x,c=d.y,i=Array.isArray(r.config.stroke.width)?r.config.stroke.width[e]:r.config.stroke.width,l=h):r.globals.comboCharts||r.config.tooltip.shared||(l/=2),isNaN(c)?c=r.globals.svgHeight-o.tooltipRect.ttHeight:c<0&&(c=0);var f=parseInt(s.paths.parentNode.getAttribute(\"data:realIndex\"),10),p=r.globals.isMultipleYAxis?r.config.yaxis[f]&&r.config.yaxis[f].reversed:r.config.yaxis[0].reversed;if(h+o.tooltipRect.ttWidth>r.globals.gridWidth&&!p?h-=o.tooltipRect.ttWidth:h<0&&(h=0),o.w.config.tooltip.followCursor){var x=o.getElGrid().getBoundingClientRect();c=o.e.clientY-x.top}null===o.tooltip&&(o.tooltip=r.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\")),r.config.tooltip.shared||(r.globals.comboBarCount>0?o.tooltipPosition.moveXCrosshairs(l+i/2):o.tooltipPosition.moveXCrosshairs(l)),!o.fixedTooltip&&(!r.config.tooltip.shared||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars())&&(p&&(h-=o.tooltipRect.ttWidth)<0&&(h=0),!p||r.globals.isBarHorizontal&&o.tooltipUtil.hasBars()||(c=c+g-2*(r.globals.series[e][u]<0?g:0)),o.tooltipRect.ttHeight+c>r.globals.gridHeight?c=r.globals.gridHeight-o.tooltipRect.ttHeight+r.globals.translateY:(c=c+r.globals.translateY-o.tooltipRect.ttHeight/2)<0&&(c=0),n.style.left=h+r.globals.translateX+\"px\",n.style.top=c+\"px\")}},{key:\"getBarTooltipXY\",value:function(t){var e=t.e,i=t.opt,a=this.w,s=null,r=this.ttCtx,o=0,n=0,l=0,h=0,c=0,d=e.target.classList;if(d.contains(\"apexcharts-bar-area\")||d.contains(\"apexcharts-candlestick-area\")||d.contains(\"apexcharts-boxPlot-area\")||d.contains(\"apexcharts-rangebar-area\")){var g=e.target,u=g.getBoundingClientRect(),f=i.elGrid.getBoundingClientRect(),p=u.height;c=u.height;var x=u.width,b=parseInt(g.getAttribute(\"cx\"),10),v=parseInt(g.getAttribute(\"cy\"),10);h=parseFloat(g.getAttribute(\"barWidth\"));var m=\"touchmove\"===e.type?e.touches[0].clientX:e.clientX;s=parseInt(g.getAttribute(\"j\"),10),o=parseInt(g.parentNode.getAttribute(\"rel\"),10)-1;var y=g.getAttribute(\"data-range-y1\"),w=g.getAttribute(\"data-range-y2\");a.globals.comboCharts&&(o=parseInt(g.parentNode.getAttribute(\"data:realIndex\"),10)),r.tooltipLabels.drawSeriesTexts({ttItems:i.ttItems,i:o,j:s,y1:y?parseInt(y,10):null,y2:w?parseInt(w,10):null,shared:!r.showOnIntersect&&a.config.tooltip.shared,e:e}),a.config.tooltip.followCursor?a.globals.isBarHorizontal?(n=m-f.left+15,l=v-r.dataPointsDividedHeight+p/2-r.tooltipRect.ttHeight/2):(n=a.globals.isXNumeric?b-x/2:b-r.dataPointsDividedWidth+x/2,l=e.clientY-f.top-r.tooltipRect.ttHeight/2-15):a.globals.isBarHorizontal?((n=b)0&&i.setAttribute(\"width\",e.xcrosshairsWidth)}},{key:\"handleYCrosshair\",value:function(){var t=this.w,e=this.ttCtx;e.ycrosshairs=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs\"),e.ycrosshairsHidden=t.globals.dom.baseEl.querySelector(\".apexcharts-ycrosshairs-hidden\")}},{key:\"drawYaxisTooltipText\",value:function(t,e,i){var a=this.ttCtx,s=this.w,r=s.globals.yLabelFormatters[t];if(a.yaxisTooltips[t]){var o=a.getElGrid().getBoundingClientRect(),n=(e-o.top)*i.yRatio[t],l=s.globals.maxYArr[t]-s.globals.minYArr[t],h=s.globals.minYArr[t]+(l-n);a.tooltipPosition.moveYCrosshairs(e-o.top),a.yaxisTooltipText[t].innerHTML=r(h),a.tooltipPosition.moveYAxisTooltip(t)}}}]),t}(),bt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w;var i=this.w;this.tConfig=i.config.tooltip,this.tooltipUtil=new dt(this),this.tooltipLabels=new gt(this),this.tooltipPosition=new ut(this),this.marker=new ft(this),this.intersect=new pt(this),this.axesTooltip=new xt(this),this.showOnIntersect=this.tConfig.intersect,this.showTooltipTitle=this.tConfig.x.show,this.fixedTooltip=this.tConfig.fixed.enabled,this.xaxisTooltip=null,this.yaxisTTEls=null,this.isBarShared=!i.globals.isBarHorizontal&&this.tConfig.shared,this.lastHoverTime=Date.now()}return r(t,[{key:\"getElTooltip\",value:function(t){return t||(t=this),t.w.globals.dom.baseEl?t.w.globals.dom.baseEl.querySelector(\".apexcharts-tooltip\"):null}},{key:\"getElXCrosshairs\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-xcrosshairs\")}},{key:\"getElGrid\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-grid\")}},{key:\"drawTooltip\",value:function(t){var e=this.w;this.xyRatios=t,this.isXAxisTooltipEnabled=e.config.xaxis.tooltip.enabled&&e.globals.axisCharts,this.yaxisTooltips=e.config.yaxis.map((function(t,i){return!!(t.show&&t.tooltip.enabled&&e.globals.axisCharts)})),this.allTooltipSeriesGroups=[],e.globals.axisCharts||(this.showTooltipTitle=!1);var i=document.createElement(\"div\");if(i.classList.add(\"apexcharts-tooltip\"),e.config.tooltip.cssClass&&i.classList.add(e.config.tooltip.cssClass),i.classList.add(\"apexcharts-theme-\".concat(this.tConfig.theme)),e.globals.dom.elWrap.appendChild(i),e.globals.axisCharts){this.axesTooltip.drawXaxisTooltip(),this.axesTooltip.drawYaxisTooltip(),this.axesTooltip.setXCrosshairWidth(),this.axesTooltip.handleYCrosshair();var a=new V(this.ctx);this.xAxisTicksPositions=a.getXAxisTicksPositions()}if(!e.globals.comboCharts&&!this.tConfig.intersect&&\"rangeBar\"!==e.config.chart.type||this.tConfig.shared||(this.showOnIntersect=!0),0!==e.config.markers.size&&0!==e.globals.markers.largestSize||this.marker.drawDynamicPoints(this),e.globals.collapsedSeries.length!==e.globals.series.length){this.dataPointsDividedHeight=e.globals.gridHeight/e.globals.dataPoints,this.dataPointsDividedWidth=e.globals.gridWidth/e.globals.dataPoints,this.showTooltipTitle&&(this.tooltipTitle=document.createElement(\"div\"),this.tooltipTitle.classList.add(\"apexcharts-tooltip-title\"),this.tooltipTitle.style.fontFamily=this.tConfig.style.fontFamily||e.config.chart.fontFamily,this.tooltipTitle.style.fontSize=this.tConfig.style.fontSize,i.appendChild(this.tooltipTitle));var s=e.globals.series.length;(e.globals.xyCharts||e.globals.comboCharts)&&this.tConfig.shared&&(s=this.showOnIntersect?1:e.globals.series.length),this.legendLabels=e.globals.dom.baseEl.querySelectorAll(\".apexcharts-legend-text\"),this.ttItems=this.createTTElements(s),this.addSVGEvents()}}},{key:\"createTTElements\",value:function(t){for(var e=this,i=this.w,a=[],s=this.getElTooltip(),r=function(r){var o=document.createElement(\"div\");o.classList.add(\"apexcharts-tooltip-series-group\"),o.style.order=i.config.tooltip.inverseOrder?t-r:r+1,e.tConfig.shared&&e.tConfig.enabledOnSeries&&Array.isArray(e.tConfig.enabledOnSeries)&&e.tConfig.enabledOnSeries.indexOf(r)<0&&o.classList.add(\"apexcharts-tooltip-series-group-hidden\");var n=document.createElement(\"span\");n.classList.add(\"apexcharts-tooltip-marker\"),n.style.backgroundColor=i.globals.colors[r],o.appendChild(n);var l=document.createElement(\"div\");l.classList.add(\"apexcharts-tooltip-text\"),l.style.fontFamily=e.tConfig.style.fontFamily||i.config.chart.fontFamily,l.style.fontSize=e.tConfig.style.fontSize,[\"y\",\"goals\",\"z\"].forEach((function(t){var e=document.createElement(\"div\");e.classList.add(\"apexcharts-tooltip-\".concat(t,\"-group\"));var i=document.createElement(\"span\");i.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-label\")),e.appendChild(i);var a=document.createElement(\"span\");a.classList.add(\"apexcharts-tooltip-text-\".concat(t,\"-value\")),e.appendChild(a),l.appendChild(e)})),o.appendChild(l),s.appendChild(o),a.push(o)},o=0;o0&&this.addPathsEventListeners(u,c),this.tooltipUtil.hasBars()&&!this.tConfig.shared&&this.addDatapointEventsListeners(c)}}},{key:\"drawFixedTooltipRect\",value:function(){var t=this.w,e=this.getElTooltip(),i=e.getBoundingClientRect(),a=i.width+10,s=i.height+10,r=this.tConfig.fixed.offsetX,o=this.tConfig.fixed.offsetY,n=this.tConfig.fixed.position.toLowerCase();return n.indexOf(\"right\")>-1&&(r=r+t.globals.svgWidth-a+10),n.indexOf(\"bottom\")>-1&&(o=o+t.globals.svgHeight-s-10),e.style.left=r+\"px\",e.style.top=o+\"px\",{x:r,y:o,ttWidth:a,ttHeight:s}}},{key:\"addDatapointEventsListeners\",value:function(t){var e=this.w.globals.dom.baseEl.querySelectorAll(\".apexcharts-series-markers .apexcharts-marker, .apexcharts-bar-area, .apexcharts-candlestick-area, .apexcharts-boxPlot-area, .apexcharts-rangebar-area\");this.addPathsEventListeners(e,t)}},{key:\"addPathsEventListeners\",value:function(t,e){for(var i=this,a=function(a){var s={paths:t[a],tooltipEl:e.tooltipEl,tooltipY:e.tooltipY,tooltipX:e.tooltipX,elGrid:e.elGrid,hoverArea:e.hoverArea,ttItems:e.ttItems};[\"mousemove\",\"mouseup\",\"touchmove\",\"mouseout\",\"touchend\"].map((function(e){return t[a].addEventListener(e,i.onSeriesHover.bind(i,s),{capture:!1,passive:!0})}))},s=0;s=100?this.seriesHover(t,e):(clearTimeout(this.seriesHoverTimeout),this.seriesHoverTimeout=setTimeout((function(){i.seriesHover(t,e)}),100-a))}},{key:\"seriesHover\",value:function(t,e){var i=this;this.lastHoverTime=Date.now();var a=[],s=this.w;s.config.chart.group&&(a=this.ctx.getGroupedCharts()),s.globals.axisCharts&&(s.globals.minX===-1/0&&s.globals.maxX===1/0||0===s.globals.dataPoints)||(a.length?a.forEach((function(a){var s=i.getElTooltip(a),r={paths:t.paths,tooltipEl:s,tooltipY:t.tooltipY,tooltipX:t.tooltipX,elGrid:t.elGrid,hoverArea:t.hoverArea,ttItems:a.w.globals.tooltip.ttItems};a.w.globals.minX===i.w.globals.minX&&a.w.globals.maxX===i.w.globals.maxX&&a.w.globals.tooltip.seriesHoverByContext({chartCtx:a,ttCtx:a.w.globals.tooltip,opt:r,e:e})})):this.seriesHoverByContext({chartCtx:this.ctx,ttCtx:this.w.globals.tooltip,opt:t,e:e}))}},{key:\"seriesHoverByContext\",value:function(t){var e=t.chartCtx,i=t.ttCtx,a=t.opt,s=t.e,r=e.w,o=this.getElTooltip();if(o){if(i.tooltipRect={x:0,y:0,ttWidth:o.getBoundingClientRect().width,ttHeight:o.getBoundingClientRect().height},i.e=s,i.tooltipUtil.hasBars()&&!r.globals.comboCharts&&!i.isBarShared)if(this.tConfig.onDatasetHover.highlightDataSeries)new O(e).toggleSeriesOnHover(s,s.target.parentNode);i.fixedTooltip&&i.drawFixedTooltipRect(),r.globals.axisCharts?i.axisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect}):i.nonAxisChartsTooltips({e:s,opt:a,tooltipRect:i.tooltipRect})}}},{key:\"axisChartsTooltips\",value:function(t){var e,i,a=t.e,s=t.opt,r=this.w,o=s.elGrid.getBoundingClientRect(),n=\"touchmove\"===a.type?a.touches[0].clientX:a.clientX,l=\"touchmove\"===a.type?a.touches[0].clientY:a.clientY;if(this.clientY=l,this.clientX=n,r.globals.capturedSeriesIndex=-1,r.globals.capturedDataPointIndex=-1,lo.top+o.height)this.handleMouseOut(s);else{if(Array.isArray(this.tConfig.enabledOnSeries)&&!r.config.tooltip.shared){var h=parseInt(s.paths.getAttribute(\"index\"),10);if(this.tConfig.enabledOnSeries.indexOf(h)<0)return void this.handleMouseOut(s)}var c=this.getElTooltip(),d=this.getElXCrosshairs(),g=r.globals.xyCharts||\"bar\"===r.config.chart.type&&!r.globals.isBarHorizontal&&this.tooltipUtil.hasBars()&&this.tConfig.shared||r.globals.comboCharts&&this.tooltipUtil.hasBars();if(\"mousemove\"===a.type||\"touchmove\"===a.type||\"mouseup\"===a.type){if(r.globals.collapsedSeries.length+r.globals.ancillaryCollapsedSeries.length===r.globals.series.length)return;null!==d&&d.classList.add(\"apexcharts-active\");var u=this.yaxisTooltips.filter((function(t){return!0===t}));if(null!==this.ycrosshairs&&u.length&&this.ycrosshairs.classList.add(\"apexcharts-active\"),g&&!this.showOnIntersect)this.handleStickyTooltip(a,n,l,s);else if(\"heatmap\"===r.config.chart.type||\"treemap\"===r.config.chart.type){var f=this.intersect.handleHeatTreeTooltip({e:a,opt:s,x:e,y:i,type:r.config.chart.type});e=f.x,i=f.y,c.style.left=e+\"px\",c.style.top=i+\"px\"}else this.tooltipUtil.hasBars()&&this.intersect.handleBarTooltip({e:a,opt:s}),this.tooltipUtil.hasMarkers()&&this.intersect.handleMarkerTooltip({e:a,opt:s,x:e,y:i});if(this.yaxisTooltips.length)for(var p=0;pl.width?this.handleMouseOut(a):null!==n?this.handleStickyCapturedSeries(t,n,a,o):(this.tooltipUtil.isXoverlap(o)||s.globals.isBarHorizontal)&&this.create(t,this,0,o,a.ttItems)}},{key:\"handleStickyCapturedSeries\",value:function(t,e,i,a){var s=this.w;if(!this.tConfig.shared&&null===s.globals.series[e][a])return void this.handleMouseOut(i);void 0!==s.globals.series[e][a]?this.tConfig.shared&&this.tooltipUtil.isXoverlap(a)&&this.tooltipUtil.isInitialSeriesSameLen()?this.create(t,this,e,a,i.ttItems):this.create(t,this,e,a,i.ttItems,!1):this.tooltipUtil.isXoverlap(a)&&this.create(t,this,0,a,i.ttItems)}},{key:\"deactivateHoverFilter\",value:function(){for(var t=this.w,e=new m(this.ctx),i=t.globals.dom.Paper.select(\".apexcharts-bar-area\"),a=0;a5&&void 0!==arguments[5]?arguments[5]:null,o=this.w,n=e;\"mouseup\"===t.type&&this.markerClick(t,i,a),null===r&&(r=this.tConfig.shared);var l=this.tooltipUtil.hasMarkers(),h=this.tooltipUtil.getElBars();if(o.config.legend.tooltipHoverFormatter){var c=o.config.legend.tooltipHoverFormatter,d=Array.from(this.legendLabels);d.forEach((function(t){var e=t.getAttribute(\"data:default-text\");t.innerHTML=decodeURIComponent(e)}));for(var g=0;g0?n.marker.enlargePoints(a):n.tooltipPosition.moveDynamicPointsOnHover(a)),this.tooltipUtil.hasBars()&&(this.barSeriesHeight=this.tooltipUtil.getBarsHeight(h),this.barSeriesHeight>0)){var b=new m(this.ctx),v=o.globals.dom.Paper.select(\".apexcharts-bar-area[j='\".concat(a,\"']\"));this.deactivateHoverFilter(),this.tooltipPosition.moveStickyTooltipOverBars(a);for(var y=0;ys.globals.gridHeight&&(u=s.globals.gridHeight-b)),{bcx:h,bcy:l,dataLabelsX:e,dataLabelsY:u,totalDataLabelsX:a,totalDataLabelsY:i,totalDataLabelsAnchor:\"middle\"}}},{key:\"calculateBarsDataLabelsPosition\",value:function(t){var e=this.w,i=t.x,a=t.i,s=t.j,r=t.realIndex,o=t.bcy,n=t.barHeight,l=t.barWidth,h=t.textRects,c=t.dataLabelsX,d=t.strokeWidth,g=t.dataLabelsConfig,u=t.barDataLabelsConfig,f=t.barTotalDataLabelsConfig,p=t.offX,x=t.offY,b=e.globals.gridHeight/e.globals.dataPoints;l=Math.abs(l);var v,y,w=o-(this.barCtx.isRangeBar?0:b)+n/2+h.height/2+x-3,k=\"start\",A=this.barCtx.series[a][s]<0,S=i;switch(this.barCtx.isReversed&&(S=i+l-(A?2*l:0),i=e.globals.gridWidth-l),u.position){case\"center\":c=A?S+l/2-p:Math.max(h.width/2,S-l/2)+p;break;case\"bottom\":c=A?S+l-d-Math.round(h.width/2)-p:S-l+d+Math.round(h.width/2)+p;break;case\"top\":c=A?S-d+Math.round(h.width/2)-p:S-d-Math.round(h.width/2)+p}if(this.barCtx.lastActiveBarSerieIndex===r&&f.enabled){var C=new m(this.barCtx.ctx).getTextRects(this.getStackedTotalDataLabel({realIndex:r,j:s}),g.fontSize);A?(v=S-d+Math.round(C.width/2)-p-f.offsetX-15,k=\"end\"):v=S-d-Math.round(C.width/2)+p+f.offsetX+15,y=w+f.offsetY}return e.config.chart.stacked||(c<0?c=c+h.width+d:c+h.width/2>e.globals.gridWidth&&(c=e.globals.gridWidth-h.width-d)),{bcx:i,bcy:o,dataLabelsX:c,dataLabelsY:w,totalDataLabelsX:v,totalDataLabelsY:y,totalDataLabelsAnchor:k}}},{key:\"drawCalculatedDataLabels\",value:function(t){var i=t.x,a=t.y,s=t.val,r=t.i,o=t.j,n=t.textRects,l=t.barHeight,h=t.barWidth,c=t.dataLabelsConfig,d=this.w,g=\"rotate(0)\";\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(g=\"rotate(-90, \".concat(i,\", \").concat(a,\")\"));var u=new H(this.barCtx.ctx),f=new m(this.barCtx.ctx),p=c.formatter,x=null,b=d.globals.collapsedSeriesIndices.indexOf(r)>-1;if(c.enabled&&!b){x=f.group({class:\"apexcharts-data-labels\",transform:g});var v=\"\";void 0!==s&&(v=p(s,e(e({},d),{},{seriesIndex:r,dataPointIndex:o,w:d})));var y=d.globals.series[r][o]<0,w=d.config.plotOptions.bar.dataLabels.position;if(\"vertical\"===d.config.plotOptions.bar.dataLabels.orientation&&(\"top\"===w&&(c.textAnchor=y?\"end\":\"start\"),\"center\"===w&&(c.textAnchor=\"middle\"),\"bottom\"===w&&(c.textAnchor=y?\"end\":\"start\")),this.barCtx.isRangeBar&&this.barCtx.barOptions.dataLabels.hideOverflowingLabels)hMath.abs(h)&&(v=\"\"):n.height/1.6>Math.abs(l)&&(v=\"\"));var k=e({},c);this.barCtx.isHorizontal&&s<0&&(\"start\"===c.textAnchor?k.textAnchor=\"end\":\"end\"===c.textAnchor&&(k.textAnchor=\"start\")),u.plotDataLabelsText({x:i,y:a,text:v,i:r,j:o,parent:x,dataLabelsConfig:k,alwaysDrawDataLabel:!0,offsetCorrection:!0})}return x}},{key:\"drawTotalDataLabels\",value:function(t){var e,i=t.x,a=t.y,s=t.val,r=t.realIndex,o=t.textAnchor,n=t.barTotalDataLabelsConfig,l=new m(this.barCtx.ctx);return n.enabled&&void 0!==i&&void 0!==a&&this.barCtx.lastActiveBarSerieIndex===r&&(e=l.drawText({x:i,y:a,foreColor:n.style.color,text:s,textAnchor:o,fontFamily:n.style.fontFamily,fontSize:n.style.fontSize,fontWeight:n.style.fontWeight})),e}}]),t}(),mt=function(){function t(e){a(this,t),this.w=e.w,this.barCtx=e}return r(t,[{key:\"initVariables\",value:function(t){var e=this.w;this.barCtx.series=t,this.barCtx.totalItems=0,this.barCtx.seriesLen=0,this.barCtx.visibleI=-1,this.barCtx.visibleItems=1;for(var i=0;i0&&(this.barCtx.seriesLen=this.barCtx.seriesLen+1,this.barCtx.totalItems+=t[i].length),e.globals.isXNumeric)for(var a=0;ae.globals.minX&&e.globals.seriesX[i][a]0&&(a=l.globals.minXDiff/d),(r=a/this.barCtx.seriesLen*parseInt(this.barCtx.barOptions.columnWidth,10)/100)<1&&(r=1)}o=l.globals.gridHeight-this.barCtx.baseLineY[this.barCtx.yaxisIndex]-(this.barCtx.isReversed?l.globals.gridHeight:0)+(this.barCtx.isReversed?2*this.barCtx.baseLineY[this.barCtx.yaxisIndex]:0),t=l.globals.padHorizontal+(a-r*this.barCtx.seriesLen)/2}return{x:t,y:e,yDivision:i,xDivision:a,barHeight:s,barWidth:r,zeroH:o,zeroW:n}}},{key:\"getPathFillColor\",value:function(t,e,i,a){var s,r,o,n,l=this.w,h=new F(this.barCtx.ctx),c=null,d=this.barCtx.barOptions.distributed?i:e;this.barCtx.barOptions.colors.ranges.length>0&&this.barCtx.barOptions.colors.ranges.map((function(a){t[e][i]>=a.from&&t[e][i]<=a.to&&(c=a.color)}));return l.config.series[e].data[i]&&l.config.series[e].data[i].fillColor&&(c=l.config.series[e].data[i].fillColor),h.fillPath({seriesNumber:this.barCtx.barOptions.distributed?d:a,dataPointIndex:i,color:c,value:t[e][i],fillConfig:null===(s=l.config.series[e].data[i])||void 0===s?void 0:s.fill,fillType:null!==(r=l.config.series[e].data[i])&&void 0!==r&&null!==(o=r.fill)&&void 0!==o&&o.type?null===(n=l.config.series[e].data[i])||void 0===n?void 0:n.fill.type:l.config.fill.type})}},{key:\"getStrokeWidth\",value:function(t,e,i){var a=0,s=this.w;return void 0===this.barCtx.series[t][e]||null===this.barCtx.series[t][e]?this.barCtx.isNullValue=!0:this.barCtx.isNullValue=!1,s.config.stroke.show&&(this.barCtx.isNullValue||(a=Array.isArray(this.barCtx.strokeWidth)?this.barCtx.strokeWidth[i]:this.barCtx.strokeWidth)),a}},{key:\"shouldApplyRadius\",value:function(t){var e=this.w,i=!1;return e.config.plotOptions.bar.borderRadius>0&&(e.config.chart.stacked&&\"last\"===e.config.plotOptions.bar.borderRadiusWhenStacked?this.barCtx.lastActiveBarSerieIndex===t&&(i=!0):i=!0),i}},{key:\"barBackground\",value:function(t){var e=t.j,i=t.i,a=t.x1,s=t.x2,r=t.y1,o=t.y2,n=t.elSeries,l=this.w,h=new m(this.barCtx.ctx),c=new O(this.barCtx.ctx).getActiveConfigSeriesIndex();if(this.barCtx.barOptions.colors.backgroundBarColors.length>0&&c===i){e>=this.barCtx.barOptions.colors.backgroundBarColors.length&&(e%=this.barCtx.barOptions.colors.backgroundBarColors.length);var d=this.barCtx.barOptions.colors.backgroundBarColors[e],g=h.drawRect(void 0!==a?a:0,void 0!==r?r:0,void 0!==s?s:l.globals.gridWidth,void 0!==o?o:l.globals.gridHeight,this.barCtx.barOptions.colors.backgroundBarRadius,d,this.barCtx.barOptions.colors.backgroundBarOpacity);n.add(g),g.node.classList.add(\"apexcharts-backgroundBar\")}}},{key:\"getColumnPaths\",value:function(t){var e,i=t.barWidth,a=t.barXPosition,s=t.y1,r=t.y2,o=t.strokeWidth,n=t.realIndex,l=t.i,h=t.j,c=t.w,d=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[n]:o)||(o=0);var g=i,u=a;null!==(e=c.config.series[n].data[h])&&void 0!==e&&e.columnWidthOffset&&(u=a-c.config.series[n].data[h].columnWidthOffset/2,g=i+c.config.series[n].data[h].columnWidthOffset);var f=u,p=u+g;s+=.001,r+=.001;var x=d.move(f,s),b=d.move(f,s),v=d.line(p-o,s);return c.globals.previousPaths.length>0&&(b=this.barCtx.getPreviousPath(n,h,!1)),x=x+d.line(f,r)+d.line(p-o,r)+d.line(p-o,s)+(\"around\"===c.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),b=b+d.line(f,s)+v+v+v+v+v+d.line(f,s)+(\"around\"===c.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(n)&&(x=d.roundPathCorners(x,c.config.plotOptions.bar.borderRadius)),c.config.chart.stacked&&(this.barCtx.yArrj.push(r),this.barCtx.yArrjF.push(Math.abs(s-r)),this.barCtx.yArrjVal.push(this.barCtx.series[l][h])),{pathTo:x,pathFrom:b}}},{key:\"getBarpaths\",value:function(t){var e,i=t.barYPosition,a=t.barHeight,s=t.x1,r=t.x2,o=t.strokeWidth,n=t.realIndex,l=t.i,h=t.j,c=t.w,d=new m(this.barCtx.ctx);(o=Array.isArray(o)?o[n]:o)||(o=0);var g=i,u=a;null!==(e=c.config.series[n].data[h])&&void 0!==e&&e.barHeightOffset&&(g=i-c.config.series[n].data[h].barHeightOffset/2,u=a+c.config.series[n].data[h].barHeightOffset);var f=g,p=g+u;s+=.001,r+=.001;var x=d.move(s,f),b=d.move(s,f);c.globals.previousPaths.length>0&&(b=this.barCtx.getPreviousPath(n,h,!1));var v=d.line(s,p-o);return x=x+d.line(r,f)+d.line(r,p-o)+v+(\"around\"===c.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),b=b+d.line(s,f)+v+v+v+v+v+d.line(s,f)+(\"around\"===c.config.plotOptions.bar.borderRadiusApplication?\" Z\":\" z\"),this.shouldApplyRadius(n)&&(x=d.roundPathCorners(x,c.config.plotOptions.bar.borderRadius)),c.config.chart.stacked&&(this.barCtx.xArrj.push(r),this.barCtx.xArrjF.push(Math.abs(s-r)),this.barCtx.xArrjVal.push(this.barCtx.series[l][h])),{pathTo:x,pathFrom:b}}},{key:\"checkZeroSeries\",value:function(t){for(var e=t.series,i=this.w,a=0;a=0;o--)this.barCtx.zeroSerieses.indexOf(o)>-1&&o===this.radiusOnSeriesNumber&&(this.barCtx.radiusOnSeriesNumber-=1);for(var n=e.length-1;n>=0;n--)i.globals.collapsedSeriesIndices.indexOf(this.barCtx.radiusOnSeriesNumber)>-1&&(this.barCtx.radiusOnSeriesNumber-=1)}},{key:\"getXForValue\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e+t/this.barCtx.invertedYRatio-2*(this.barCtx.isReversed?t/this.barCtx.invertedYRatio:0)),a}},{key:\"getYForValue\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=i?e:null;return null!=t&&(a=e-t/this.barCtx.yRatio[this.barCtx.yaxisIndex]+2*(this.barCtx.isReversed?t/this.barCtx.yRatio[this.barCtx.yaxisIndex]:0)),a}},{key:\"getGoalValues\",value:function(t,e,i,a,s){var r=this,n=this.w,l=[];return n.globals.seriesGoals[a]&&n.globals.seriesGoals[a][s]&&Array.isArray(n.globals.seriesGoals[a][s])&&n.globals.seriesGoals[a][s].forEach((function(a){var s;l.push((o(s={},t,\"x\"===t?r.getXForValue(a.value,e,!1):r.getYForValue(a.value,i,!1)),o(s,\"attrs\",a),s))})),l}},{key:\"drawGoalLine\",value:function(t){var e=t.barXPosition,i=t.barYPosition,a=t.goalX,s=t.goalY,r=t.barWidth,o=t.barHeight,n=new m(this.barCtx.ctx),l=n.group({className:\"apexcharts-bar-goals-groups\"}),h=null;return this.barCtx.isHorizontal?Array.isArray(a)&&a.forEach((function(t){var e=void 0!==t.attrs.strokeHeight?t.attrs.strokeHeight:o/2,a=i+e+o/2;h=n.drawLine(t.x,a-2*e,t.x,a,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeWidth?t.attrs.strokeWidth:2,t.attrs.strokeLineCap),l.add(h)})):Array.isArray(s)&&s.forEach((function(t){var i=void 0!==t.attrs.strokeWidth?t.attrs.strokeWidth:r/2,a=e+i+r/2;h=n.drawLine(a-2*i,t.y,a,t.y,t.attrs.strokeColor?t.attrs.strokeColor:void 0,t.attrs.strokeDashArray,t.attrs.strokeHeight?t.attrs.strokeHeight:2,t.attrs.strokeLineCap),l.add(h)})),l}}]),t}(),yt=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w;var s=this.w;this.barOptions=s.config.plotOptions.bar,this.isHorizontal=this.barOptions.horizontal,this.strokeWidth=s.config.stroke.width,this.isNullValue=!1,this.isRangeBar=s.globals.seriesRange.length&&this.isHorizontal,this.xyRatios=i,null!==this.xyRatios&&(this.xRatio=i.xRatio,this.initialXRatio=i.initialXRatio,this.yRatio=i.yRatio,this.invertedXRatio=i.invertedXRatio,this.invertedYRatio=i.invertedYRatio,this.baseLineY=i.baseLineY,this.baseLineInvertedY=i.baseLineInvertedY),this.yaxisIndex=0,this.seriesLen=0;var r=new O(this.ctx);this.lastActiveBarSerieIndex=r.getActiveConfigSeriesIndex(\"desc\",[\"bar\",\"column\"]);var o=r.getBarSeriesIndices(),n=new y(this.ctx);this.stackedSeriesTotals=n.getStackedSeriesTotals(this.w.config.series.map((function(t,e){return-1===o.indexOf(e)?e:-1})).filter((function(t){return-1!==t}))),this.barHelpers=new mt(this)}return r(t,[{key:\"draw\",value:function(t,i){var a=this.w,s=new m(this.ctx),r=new y(this.ctx,a);t=r.getLogSeries(t),this.series=t,this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);var o=s.group({class:\"apexcharts-bar-series apexcharts-plot-series\"});a.config.dataLabels.enabled&&this.totalItems>this.barOptions.dataLabels.maxItems&&console.warn(\"WARNING: DataLabels are enabled but there are too many to display. This may cause performance issue when rendering.\");for(var n=0,l=0;n0&&(this.visibleI=this.visibleI+1);var k=0,A=0;this.yRatio.length>1&&(this.yaxisIndex=v),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed;var S=this.barHelpers.initialPositions();f=S.y,k=S.barHeight,c=S.yDivision,g=S.zeroW,u=S.x,A=S.barWidth,h=S.xDivision,d=S.zeroH,this.horizontal||b.push(u+A/2);for(var C=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v}),L=s.group({class:\"apexcharts-bar-goals-markers\",style:\"pointer-events: none\"}),P=0;P0&&b.push(u+A/2),p.push(f);var X=this.barHelpers.getPathFillColor(t,n,P,v);this.renderSeries({realIndex:v,pathFill:X,j:P,i:n,pathFrom:M.pathFrom,pathTo:M.pathTo,strokeWidth:T,elSeries:w,x:u,y:f,series:t,barHeight:k,barWidth:A,elDataLabelsWrap:C,elGoalsMarkers:L,visibleSeries:this.visibleI,type:\"bar\"})}a.globals.seriesXvalues[v]=b,a.globals.seriesYvalues[v]=p,o.add(w)}return o}},{key:\"renderSeries\",value:function(t){var e=t.realIndex,i=t.pathFill,a=t.lineFill,s=t.j,r=t.i,o=t.pathFrom,n=t.pathTo,l=t.strokeWidth,h=t.elSeries,c=t.x,d=t.y,g=t.y1,u=t.y2,f=t.series,p=t.barHeight,x=t.barWidth,b=t.barYPosition,y=t.elDataLabelsWrap,w=t.elGoalsMarkers,k=t.visibleSeries,A=t.type,S=this.w,C=new m(this.ctx);a||(a=this.barOptions.distributed?S.globals.stroke.colors[s]:S.globals.stroke.colors[e]),S.config.series[r].data[s]&&S.config.series[r].data[s].strokeColor&&(a=S.config.series[r].data[s].strokeColor),this.isNullValue&&(i=\"none\");var L=s/S.config.chart.animations.animateGradually.delay*(S.config.chart.animations.speed/S.globals.dataPoints)/2.4,P=C.renderPaths({i:r,j:s,realIndex:e,pathFrom:o,pathTo:n,stroke:a,strokeWidth:l,strokeLineCap:S.config.stroke.lineCap,fill:i,animationDelay:L,initialSpeed:S.config.chart.animations.speed,dataChangeSpeed:S.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(A,\"-area\")});P.attr(\"clip-path\",\"url(#gridRectMask\".concat(S.globals.cuid,\")\"));var T=S.config.forecastDataPoints;T.count>0&&s>=S.globals.dataPoints-T.count&&(P.node.setAttribute(\"stroke-dasharray\",T.dashArray),P.node.setAttribute(\"stroke-width\",T.strokeWidth),P.node.setAttribute(\"fill-opacity\",T.fillOpacity)),void 0!==g&&void 0!==u&&(P.attr(\"data-range-y1\",g),P.attr(\"data-range-y2\",u)),new v(this.ctx).setSelectionFilter(P,e,s),h.add(P);var M=new vt(this).handleBarDataLabels({x:c,y:d,y1:g,y2:u,i:r,j:s,series:f,realIndex:e,barHeight:p,barWidth:x,barYPosition:b,renderedPath:P,visibleSeries:k});return null!==M.dataLabels&&y.add(M.dataLabels),M.totalDataLabels&&y.add(M.totalDataLabels),h.add(y),w&&h.add(w),h}},{key:\"drawBarPaths\",value:function(t){var e=t.indexes,i=t.barHeight,a=t.strokeWidth,s=t.zeroW,r=t.x,o=t.y,n=t.yDivision,l=t.elSeries,h=this.w,c=e.i,d=e.j;h.globals.isXNumeric&&(o=(h.globals.seriesX[c][d]-h.globals.minX)/this.invertedXRatio-i);var g=o+i*this.visibleI;r=this.barHelpers.getXForValue(this.series[c][d],s);var u=this.barHelpers.getBarpaths({barYPosition:g,barHeight:i,x1:s,x2:r,strokeWidth:a,series:this.series,realIndex:e.realIndex,i:c,j:d,w:h});return h.globals.isXNumeric||(o+=n),this.barHelpers.barBackground({j:d,i:c,y1:g-i*this.visibleI,y2:i*this.seriesLen,elSeries:l}),{pathTo:u.pathTo,pathFrom:u.pathFrom,x:r,y:o,goalX:this.barHelpers.getGoalValues(\"x\",s,null,c,d),barYPosition:g}}},{key:\"drawColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH,n=t.strokeWidth,l=t.elSeries,h=this.w,c=e.realIndex,d=e.i,g=e.j,u=e.bc;if(h.globals.isXNumeric){var f=c;h.globals.seriesX[c].length||(f=h.globals.maxValsInArrayIndex),i=(h.globals.seriesX[f][g]-h.globals.minX)/this.xRatio-r*this.seriesLen/2}var p=i+r*this.visibleI;a=this.barHelpers.getYForValue(this.series[d][g],o);var x=this.barHelpers.getColumnPaths({barXPosition:p,barWidth:r,y1:o,y2:a,strokeWidth:n,series:this.series,realIndex:e.realIndex,i:d,j:g,w:h});return h.globals.isXNumeric||(i+=s),this.barHelpers.barBackground({bc:u,j:g,i:d,x1:p-n/2-r*this.visibleI,x2:r*this.seriesLen+n/2,elSeries:l}),{pathTo:x.pathTo,pathFrom:x.pathFrom,x:i,y:a,goalY:this.barHelpers.getGoalValues(\"y\",null,o,d,g),barXPosition:p}}},{key:\"getPreviousPath\",value:function(t,e){for(var i,a=this.w,s=0;s0&&parseInt(r.realIndex,10)===parseInt(t,10)&&void 0!==a.globals.previousPaths[s].paths[e]&&(i=a.globals.previousPaths[s].paths[e].d)}return i}}]),t}(),wt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this,s=this.w;this.graphics=new m(this.ctx),this.bar=new yt(this.ctx,this.xyRatios);var r=new y(this.ctx,s);t=r.getLogSeries(t),this.yRatio=r.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t),\"100%\"===s.config.chart.stackType&&(t=s.globals.seriesPercent.slice()),this.series=t,this.totalItems=0,this.prevY=[],this.prevX=[],this.prevYF=[],this.prevXF=[],this.prevYVal=[],this.prevXVal=[],this.xArrj=[],this.xArrjF=[],this.xArrjVal=[],this.yArrj=[],this.yArrjF=[],this.yArrjVal=[];for(var o=0;o0&&(this.totalItems+=t[o].length);for(var n=this.graphics.group({class:\"apexcharts-bar-series apexcharts-plot-series\"}),l=0,h=0,c=function(r,o){var c=void 0,d=void 0,g=void 0,u=void 0,f=[],p=[],b=s.globals.comboCharts?i[r]:r;a.yRatio.length>1&&(a.yaxisIndex=b),a.isReversed=s.config.yaxis[a.yaxisIndex]&&s.config.yaxis[a.yaxisIndex].reversed;var v=a.graphics.group({class:\"apexcharts-series\",seriesName:x.escapeString(s.globals.seriesNames[b]),rel:r+1,\"data:realIndex\":b});a.ctx.series.addCollapsedClassToSeries(v,b);var m=a.graphics.group({class:\"apexcharts-datalabels\",\"data:realIndex\":b}),y=a.graphics.group({class:\"apexcharts-bar-goals-markers\",style:\"pointer-events: none\"}),w=0,k=0,A=a.initialPositions(l,h,c,d,g,u);h=A.y,w=A.barHeight,d=A.yDivision,u=A.zeroW,l=A.x,k=A.barWidth,c=A.xDivision,g=A.zeroH,a.yArrj=[],a.yArrjF=[],a.yArrjVal=[],a.xArrj=[],a.xArrjF=[],a.xArrjVal=[],1===a.prevY.length&&a.prevY[0].every((function(t){return isNaN(t)}))&&(a.prevY[0]=a.prevY[0].map((function(t){return g})),a.prevYF[0]=a.prevYF[0].map((function(t){return 0})));for(var S=0;S1?(i=l.globals.minXDiff/this.xRatio)*parseInt(this.barOptions.columnWidth,10)/100:n*parseInt(l.config.plotOptions.bar.columnWidth,10)/100,s=l.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?l.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),t=l.globals.padHorizontal+(i-n)/2),{x:t,y:e,yDivision:a,xDivision:i,barHeight:o,barWidth:n,zeroH:s,zeroW:r}}},{key:\"drawStackedBarPaths\",value:function(t){for(var e,i=t.indexes,a=t.barHeight,s=t.strokeWidth,r=t.zeroW,o=t.x,n=t.y,l=t.yDivision,h=t.elSeries,c=this.w,d=n,g=i.i,u=i.j,f=0,p=0;p0){var x=r;this.prevXVal[g-1][u]<0?x=this.series[g][u]>=0?this.prevX[g-1][u]+f-2*(this.isReversed?f:0):this.prevX[g-1][u]:this.prevXVal[g-1][u]>=0&&(x=this.series[g][u]>=0?this.prevX[g-1][u]:this.prevX[g-1][u]-f+2*(this.isReversed?f:0)),e=x}else e=r;o=null===this.series[g][u]?e:e+this.series[g][u]/this.invertedYRatio-2*(this.isReversed?this.series[g][u]/this.invertedYRatio:0);var b=this.barHelpers.getBarpaths({barYPosition:d,barHeight:a,x1:e,x2:o,strokeWidth:s,series:this.series,realIndex:i.realIndex,i:g,j:u,w:c});return this.barHelpers.barBackground({j:u,i:g,y1:d,y2:a,elSeries:h}),n+=l,{pathTo:b.pathTo,pathFrom:b.pathFrom,goalX:this.barHelpers.getGoalValues(\"x\",r,null,g,u),barYPosition:d,x:o,y:n}}},{key:\"drawStackedColumnPaths\",value:function(t){var e=t.indexes,i=t.x,a=t.y,s=t.xDivision,r=t.barWidth,o=t.zeroH;t.strokeWidth;var n=t.elSeries,l=this.w,h=e.i,c=e.j,d=e.bc;if(l.globals.isXNumeric){var g=l.globals.seriesX[h][c];g||(g=0),i=(g-l.globals.minX)/this.xRatio-r/2}for(var u,f=i,p=0,x=0;x0&&!l.globals.isXNumeric||h>0&&l.globals.isXNumeric&&l.globals.seriesX[h-1][c]===l.globals.seriesX[h][c]){var b,v,m=Math.min(this.yRatio.length+1,h+1);if(void 0!==this.prevY[h-1])for(var y=1;y=0?v-p+2*(this.isReversed?p:0):v;break}if(this.prevYVal[h-w][c]>=0){b=this.series[h][c]>=0?v:v+p-2*(this.isReversed?p:0);break}}void 0===b&&(b=l.globals.gridHeight),u=this.prevYF[0].every((function(t){return 0===t}))&&this.prevYF.slice(1,h).every((function(t){return t.every((function(t){return isNaN(t)}))}))?o:b}else u=o;a=u-this.series[h][c]/this.yRatio[this.yaxisIndex]+2*(this.isReversed?this.series[h][c]/this.yRatio[this.yaxisIndex]:0);var k=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:r,y1:u,y2:a,yRatio:this.yRatio[this.yaxisIndex],strokeWidth:this.strokeWidth,series:this.series,realIndex:e.realIndex,i:h,j:c,w:l});return this.barHelpers.barBackground({bc:d,j:c,i:h,x1:f,x2:r,elSeries:n}),i+=s,{pathTo:k.pathTo,pathFrom:k.pathFrom,goalY:this.barHelpers.getGoalValues(\"y\",null,o,h,c),barXPosition:f,x:l.globals.isXNumeric?i-s:i,y:a}}}]),s}(),kt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this,s=this.w,r=new m(this.ctx),o=new F(this.ctx);this.candlestickOptions=this.w.config.plotOptions.candlestick,this.boxOptions=this.w.config.plotOptions.boxPlot,this.isHorizontal=s.config.plotOptions.bar.horizontal;var n=new y(this.ctx,s);t=n.getLogSeries(t),this.series=t,this.yRatio=n.getLogYRatios(this.yRatio),this.barHelpers.initVariables(t);for(var l=r.group({class:\"apexcharts-\".concat(s.config.chart.type,\"-series apexcharts-plot-series\")}),h=function(n){a.isBoxPlot=\"boxPlot\"===s.config.chart.type||\"boxPlot\"===s.config.series[n].type;var h,c,d,g,u=void 0,f=void 0,p=[],b=[],v=s.globals.comboCharts?i[n]:n,m=r.group({class:\"apexcharts-series\",seriesName:x.escapeString(s.globals.seriesNames[v]),rel:n+1,\"data:realIndex\":v});a.ctx.series.addCollapsedClassToSeries(m,v),t[n].length>0&&(a.visibleI=a.visibleI+1);var y,w;a.yRatio.length>1&&(a.yaxisIndex=v);var k=a.barHelpers.initialPositions();f=k.y,y=k.barHeight,c=k.yDivision,g=k.zeroW,u=k.x,w=k.barWidth,h=k.xDivision,d=k.zeroH,b.push(u+w/2);for(var A=r.group({class:\"apexcharts-datalabels\",\"data:realIndex\":v}),S=function(i){var r=a.barHelpers.getStrokeWidth(n,i,v),l=null,x={indexes:{i:n,j:i,realIndex:v},x:u,y:f,strokeWidth:r,elSeries:m};l=a.isHorizontal?a.drawHorizontalBoxPaths(e(e({},x),{},{yDivision:c,barHeight:y,zeroW:g})):a.drawVerticalBoxPaths(e(e({},x),{},{xDivision:h,barWidth:w,zeroH:d})),f=l.y,u=l.x,i>0&&b.push(u+w/2),p.push(f),l.pathTo.forEach((function(e,h){var c=!a.isBoxPlot&&a.candlestickOptions.wick.useFillColor?l.color[h]:s.globals.stroke.colors[n],d=o.fillPath({seriesNumber:v,dataPointIndex:i,color:l.color[h],value:t[n][i]});a.renderSeries({realIndex:v,pathFill:d,lineFill:c,j:i,i:n,pathFrom:l.pathFrom,pathTo:e,strokeWidth:r,elSeries:m,x:u,y:f,series:t,barHeight:y,barWidth:w,elDataLabelsWrap:A,visibleSeries:a.visibleI,type:s.config.chart.type})}))},C=0;Cb.c&&(d=!1);var w=Math.min(b.o,b.c),k=Math.max(b.o,b.c),A=b.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[x][c]-n.globals.minX)/this.xRatio-s/2);var S=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(w=r,k=r):(w=r-w/p,k=r-k/p,v=r-b.h/p,y=r-b.l/p,A=r-b.m/p);var C=l.move(S,r),L=l.move(S+s/2,w);return n.globals.previousPaths.length>0&&(L=this.getPreviousPath(x,c,!0)),C=this.isBoxPlot?[l.move(S,w)+l.line(S+s/2,w)+l.line(S+s/2,v)+l.line(S+s/4,v)+l.line(S+s-s/4,v)+l.line(S+s/2,v)+l.line(S+s/2,w)+l.line(S+s,w)+l.line(S+s,A)+l.line(S,A)+l.line(S,w+o/2),l.move(S,A)+l.line(S+s,A)+l.line(S+s,k)+l.line(S+s/2,k)+l.line(S+s/2,y)+l.line(S+s-s/4,y)+l.line(S+s/4,y)+l.line(S+s/2,y)+l.line(S+s/2,k)+l.line(S,k)+l.line(S,A)+\"z\"]:[l.move(S,k)+l.line(S+s/2,k)+l.line(S+s/2,v)+l.line(S+s/2,k)+l.line(S+s,k)+l.line(S+s,w)+l.line(S+s/2,w)+l.line(S+s/2,y)+l.line(S+s/2,w)+l.line(S,w)+l.line(S,k-o/2)],L+=l.move(S,w),n.globals.isXNumeric||(i+=a),{pathTo:C,pathFrom:L,x:i,y:k,barXPosition:S,color:this.isBoxPlot?f:d?[g]:[u]}}},{key:\"drawHorizontalBoxPaths\",value:function(t){var e=t.indexes;t.x;var i=t.y,a=t.yDivision,s=t.barHeight,r=t.zeroW,o=t.strokeWidth,n=this.w,l=new m(this.ctx),h=e.i,c=e.j,d=this.boxOptions.colors.lower;this.isBoxPlot&&(d=[this.boxOptions.colors.lower,this.boxOptions.colors.upper]);var g=this.invertedYRatio,u=e.realIndex,f=this.getOHLCValue(u,c),p=r,x=r,b=Math.min(f.o,f.c),v=Math.max(f.o,f.c),y=f.m;n.globals.isXNumeric&&(i=(n.globals.seriesX[u][c]-n.globals.minX)/this.invertedXRatio-s/2);var w=i+s*this.visibleI;void 0===this.series[h][c]||null===this.series[h][c]?(b=r,v=r):(b=r+b/g,v=r+v/g,p=r+f.h/g,x=r+f.l/g,y=r+f.m/g);var k=l.move(r,w),A=l.move(b,w+s/2);return n.globals.previousPaths.length>0&&(A=this.getPreviousPath(u,c,!0)),k=[l.move(b,w)+l.line(b,w+s/2)+l.line(p,w+s/2)+l.line(p,w+s/2-s/4)+l.line(p,w+s/2+s/4)+l.line(p,w+s/2)+l.line(b,w+s/2)+l.line(b,w+s)+l.line(y,w+s)+l.line(y,w)+l.line(b+o/2,w),l.move(y,w)+l.line(y,w+s)+l.line(v,w+s)+l.line(v,w+s/2)+l.line(x,w+s/2)+l.line(x,w+s-s/4)+l.line(x,w+s/4)+l.line(x,w+s/2)+l.line(v,w+s/2)+l.line(v,w)+l.line(y,w)+\"z\"],A+=l.move(b,w),n.globals.isXNumeric||(i+=a),{pathTo:k,pathFrom:A,x:v,y:i,barYPosition:w,color:d}}},{key:\"getOHLCValue\",value:function(t,e){var i=this.w;return{o:this.isBoxPlot?i.globals.seriesCandleH[t][e]:i.globals.seriesCandleO[t][e],h:this.isBoxPlot?i.globals.seriesCandleO[t][e]:i.globals.seriesCandleH[t][e],m:i.globals.seriesCandleM[t][e],l:this.isBoxPlot?i.globals.seriesCandleC[t][e]:i.globals.seriesCandleL[t][e],c:this.isBoxPlot?i.globals.seriesCandleL[t][e]:i.globals.seriesCandleC[t][e]}}}]),s}(),At=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"checkColorRange\",value:function(){var t=this.w,e=!1,i=t.config.plotOptions[t.config.chart.type];return i.colorScale.ranges.length>0&&i.colorScale.ranges.map((function(t,i){t.from<=0&&(e=!0)})),e}},{key:\"getShadeColor\",value:function(t,e,i,a){var s=this.w,r=1,o=s.config.plotOptions[t].shadeIntensity,n=this.determineColor(t,e,i);s.globals.hasNegs||a?r=s.config.plotOptions[t].reverseNegativeShade?n.percent<0?n.percent/100*(1.25*o):(1-n.percent/100)*(1.25*o):n.percent<=0?1-(1+n.percent/100)*o:(1-n.percent/100)*o:(r=1-n.percent/100,\"treemap\"===t&&(r=(1-n.percent/100)*(1.25*o)));var l=n.color,h=new x;return s.config.plotOptions[t].enableShades&&(l=\"dark\"===this.w.config.theme.mode?x.hexToRgba(h.shadeColor(-1*r,n.color),s.config.fill.opacity):x.hexToRgba(h.shadeColor(r,n.color),s.config.fill.opacity)),{color:l,colorProps:n}}},{key:\"determineColor\",value:function(t,e,i){var a=this.w,s=a.globals.series[e][i],r=a.config.plotOptions[t],o=r.colorScale.inverse?i:e;r.distributed&&\"treemap\"===a.config.chart.type&&(o=i);var n=a.globals.colors[o],l=null,h=Math.min.apply(Math,u(a.globals.series[e])),c=Math.max.apply(Math,u(a.globals.series[e]));r.distributed||\"heatmap\"!==t||(h=a.globals.minY,c=a.globals.maxY),void 0!==r.colorScale.min&&(h=r.colorScale.mina.globals.maxY?r.colorScale.max:a.globals.maxY);var d=Math.abs(c)+Math.abs(h),g=100*s/(0===d?d-1e-6:d);r.colorScale.ranges.length>0&&r.colorScale.ranges.map((function(t,e){if(s>=t.from&&s<=t.to){n=t.color,l=t.foreColor?t.foreColor:null,h=t.from,c=t.to;var i=Math.abs(c)+Math.abs(h);g=100*s/(0===i?i-1e-6:i)}}));return{color:n,foreColor:l,percent:g}}},{key:\"calculateDataLabels\",value:function(t){var e=t.text,i=t.x,a=t.y,s=t.i,r=t.j,o=t.colorProps,n=t.fontSize,l=this.w.config.dataLabels,h=new m(this.ctx),c=new H(this.ctx),d=null;if(l.enabled){d=h.group({class:\"apexcharts-data-labels\"});var g=l.offsetX,u=l.offsetY,f=i+g,p=a+parseFloat(l.style.fontSize)/3+u;c.plotDataLabelsText({x:f,y:p,text:e,i:s,j:r,color:o.foreColor,parent:d,fontSize:n,dataLabelsConfig:l})}return d}},{key:\"addListeners\",value:function(t){var e=new m(this.ctx);t.node.addEventListener(\"mouseenter\",e.pathMouseEnter.bind(this,t)),t.node.addEventListener(\"mouseleave\",e.pathMouseLeave.bind(this,t)),t.node.addEventListener(\"mousedown\",e.pathMouseDown.bind(this,t))}}]),t}(),St=function(){function t(e,i){a(this,t),this.ctx=e,this.w=e.w,this.xRatio=i.xRatio,this.yRatio=i.yRatio,this.dynamicAnim=this.w.config.chart.animations.dynamicAnimation,this.helpers=new At(e),this.rectRadius=this.w.config.plotOptions.heatmap.radius,this.strokeWidth=this.w.config.stroke.show?this.w.config.stroke.width:0}return r(t,[{key:\"draw\",value:function(t){var e=this.w,i=new m(this.ctx),a=i.group({class:\"apexcharts-heatmap\"});a.attr(\"clip-path\",\"url(#gridRectMask\".concat(e.globals.cuid,\")\"));var s=e.globals.gridWidth/e.globals.dataPoints,r=e.globals.gridHeight/e.globals.series.length,o=0,n=!1;this.negRange=this.helpers.checkColorRange();var l=t.slice();e.config.yaxis[0].reversed&&(n=!0,l.reverse());for(var h=n?0:l.length-1;n?h=0;n?h++:h--){var c=i.group({class:\"apexcharts-series apexcharts-heatmap-series\",seriesName:x.escapeString(e.globals.seriesNames[h]),rel:h+1,\"data:realIndex\":h});if(this.ctx.series.addCollapsedClassToSeries(c,h),e.config.chart.dropShadow.enabled){var d=e.config.chart.dropShadow;new v(this.ctx).dropShadow(c,d,h)}for(var g=0,u=e.config.plotOptions.heatmap.shadeIntensity,f=0;f-1&&this.pieClicked(d),i.config.dataLabels.enabled){var A=w.x,S=w.y,C=100*u/this.fullAngle+\"%\";if(0!==u&&i.config.plotOptions.pie.dataLabels.minAngleToShowLabelthis.fullAngle?e.endAngle=e.endAngle-(a+o):a+o=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle&&(n=this.fullAngle+this.w.config.plotOptions.pie.startAngle%this.fullAngle-.01),Math.ceil(n)>this.fullAngle&&(n-=this.fullAngle);var l=Math.PI*(n-90)/180,h=e.centerX+s*Math.cos(o),c=e.centerY+s*Math.sin(o),d=e.centerX+s*Math.cos(l),g=e.centerY+s*Math.sin(l),u=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,n),f=x.polarToCartesian(e.centerX,e.centerY,e.donutSize,r),p=a>180?1:0,b=[\"M\",h,c,\"A\",s,s,0,p,1,d,g];return\"donut\"===e.chartType?[].concat(b,[\"L\",u.x,u.y,\"A\",e.donutSize,e.donutSize,0,p,0,f.x,f.y,\"L\",h,c,\"z\"]).join(\" \"):\"pie\"===e.chartType||\"polarArea\"===e.chartType?[].concat(b,[\"L\",e.centerX,e.centerY,\"L\",h,c]).join(\" \"):[].concat(b).join(\" \")}},{key:\"drawPolarElements\",value:function(t){var e=this.w,i=new _(this.ctx),a=new m(this.ctx),s=new Ct(this.ctx),r=a.group(),o=a.group(),n=i.niceScale(0,Math.ceil(this.maxY),e.config.yaxis[0].tickAmount,0,!0),l=n.result.reverse(),h=n.result.length;this.maxY=n.niceMax;for(var c=e.globals.radialSize,d=c/(h-1),g=0;g1&&t.total.show&&(s=t.total.color);var o=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-label\"),n=r.globals.dom.baseEl.querySelector(\".apexcharts-datalabel-value\");i=(0,t.value.formatter)(i,r),a||\"function\"!=typeof t.total.formatter||(i=t.total.formatter(r));var l=e===t.total.label;e=t.name.formatter(e,l,r),null!==o&&(o.textContent=e),null!==n&&(n.textContent=i),null!==o&&(o.style.fill=s)}},{key:\"printDataLabelsInner\",value:function(t,e){var i=this.w,a=t.getAttribute(\"data:value\"),s=i.globals.seriesNames[parseInt(t.parentNode.getAttribute(\"rel\"),10)-1];i.globals.series.length>1&&this.printInnerLabels(e,s,a,t);var r=i.globals.dom.baseEl.querySelector(\".apexcharts-datalabels-group\");null!==r&&(r.style.opacity=1)}},{key:\"drawSpokes\",value:function(t){var e=this,i=this.w,a=new m(this.ctx),s=i.config.plotOptions.polarArea.spokes;if(0!==s.strokeWidth){for(var r=[],o=360/i.globals.series.length,n=0;n1)o&&!e.total.showAlways?l({makeSliceOut:!1,printLabel:!0}):this.printInnerLabels(e,e.total.label,e.total.formatter(s));else if(l({makeSliceOut:!1,printLabel:!0}),!o)if(s.globals.selectedDataPoints.length&&s.globals.series.length>1)if(s.globals.selectedDataPoints[0].length>0){var h=s.globals.selectedDataPoints[0],c=s.globals.dom.baseEl.querySelector(\".apexcharts-\".concat(this.chartType.toLowerCase(),\"-slice-\").concat(h));this.printDataLabelsInner(c,e)}else r&&s.globals.selectedDataPoints.length&&0===s.globals.selectedDataPoints[0].length&&(r.style.opacity=0);else r&&s.globals.series.length>1&&(r.style.opacity=0)}}]),t}(),Pt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.chartType=this.w.config.chart.type,this.initialAnim=this.w.config.chart.animations.enabled,this.dynamicAnim=this.initialAnim&&this.w.config.chart.animations.dynamicAnimation.enabled,this.animDur=0;var i=this.w;this.graphics=new m(this.ctx),this.lineColorArr=void 0!==i.globals.stroke.colors?i.globals.stroke.colors:i.globals.colors,this.defaultSize=i.globals.svgHeight0&&(p=i.getPreviousPath(n));for(var b=0;b=10?t.x>0?(i=\"start\",a+=10):t.x<0&&(i=\"end\",a-=10):i=\"middle\",Math.abs(t.y)>=e-10&&(t.y<0?s-=10:t.y>0&&(s+=10)),{textAnchor:i,newX:a,newY:s}}},{key:\"getPreviousPath\",value:function(t){for(var e=this.w,i=null,a=0;a0&&parseInt(s.realIndex,10)===parseInt(t,10)&&void 0!==e.globals.previousPaths[a].paths[0]&&(i=e.globals.previousPaths[a].paths[0].d)}return i}},{key:\"getDataPointsPos\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.dataPointsLen;t=t||[],e=e||[];for(var a=[],s=0;s=360&&(g=360-Math.abs(this.startAngle)-.1);var u=i.drawPath({d:\"\",stroke:c,strokeWidth:o*parseInt(h.strokeWidth,10)/100,fill:\"none\",strokeOpacity:h.opacity,classes:\"apexcharts-radialbar-area\"});if(h.dropShadow.enabled){var f=h.dropShadow;s.dropShadow(u,f)}l.add(u),u.attr(\"id\",\"apexcharts-radialbarTrack-\"+n),this.animatePaths(u,{centerX:t.centerX,centerY:t.centerY,endAngle:g,startAngle:d,size:t.size,i:n,totalItems:2,animBeginArr:0,dur:0,isTrack:!0,easing:e.globals.easing})}return a}},{key:\"drawArcs\",value:function(t){var e=this.w,i=new m(this.ctx),a=new F(this.ctx),s=new v(this.ctx),r=i.group(),o=this.getStrokeWidth(t);t.size=t.size-o/2;var n=e.config.plotOptions.radialBar.hollow.background,l=t.size-o*t.series.length-this.margin*t.series.length-o*parseInt(e.config.plotOptions.radialBar.track.strokeWidth,10)/100/2,h=l-e.config.plotOptions.radialBar.hollow.margin;void 0!==e.config.plotOptions.radialBar.hollow.image&&(n=this.drawHollowImage(t,r,l,n));var c=this.drawHollow({size:h,centerX:t.centerX,centerY:t.centerY,fill:n||\"transparent\"});if(e.config.plotOptions.radialBar.hollow.dropShadow.enabled){var d=e.config.plotOptions.radialBar.hollow.dropShadow;s.dropShadow(c,d)}var g=1;!this.radialDataLabels.total.show&&e.globals.series.length>1&&(g=0);var u=null;this.radialDataLabels.show&&(u=this.renderInnerDataLabels(this.radialDataLabels,{hollowSize:l,centerX:t.centerX,centerY:t.centerY,opacity:g})),\"back\"===e.config.plotOptions.radialBar.hollow.position&&(r.add(c),u&&r.add(u));var f=!1;e.config.plotOptions.radialBar.inverseOrder&&(f=!0);for(var p=f?t.series.length-1:0;f?p>=0:p100?100:t.series[p])/100,S=Math.round(this.totalAngle*A)+this.startAngle,C=void 0;e.globals.dataChanged&&(k=this.startAngle,C=Math.round(this.totalAngle*x.negToZero(e.globals.previousPaths[p])/100)+k),Math.abs(S)+Math.abs(w)>=360&&(S-=.01),Math.abs(C)+Math.abs(k)>=360&&(C-=.01);var L=S-w,P=Array.isArray(e.config.stroke.dashArray)?e.config.stroke.dashArray[p]:e.config.stroke.dashArray,T=i.drawPath({d:\"\",stroke:y,strokeWidth:o,fill:\"none\",fillOpacity:e.config.fill.opacity,classes:\"apexcharts-radialbar-area apexcharts-radialbar-slice-\"+p,strokeDashArray:P});if(m.setAttrs(T.node,{\"data:angle\":L,\"data:value\":t.series[p]}),e.config.chart.dropShadow.enabled){var M=e.config.chart.dropShadow;s.dropShadow(T,M,p)}s.setSelectionFilter(T,0,p),this.addListeners(T,this.radialDataLabels),b.add(T),T.attr({index:0,j:p});var I=0;!this.initialAnim||e.globals.resized||e.globals.dataChanged||(I=e.config.chart.animations.speed),e.globals.dataChanged&&(I=e.config.chart.animations.dynamicAnimation.speed),this.animDur=I/(1.2*t.series.length)+this.animDur,this.animBeginArr.push(this.animDur),this.animatePaths(T,{centerX:t.centerX,centerY:t.centerY,endAngle:S,startAngle:w,prevEndAngle:C,prevStartAngle:k,size:t.size,i:p,totalItems:2,animBeginArr:this.animBeginArr,dur:I,shouldSetPrevPaths:!0,easing:e.globals.easing})}return{g:r,elHollow:c,dataLabels:u}}},{key:\"drawHollow\",value:function(t){var e=new m(this.ctx).drawCircle(2*t.size);return e.attr({class:\"apexcharts-radialbar-hollow\",cx:t.centerX,cy:t.centerY,r:t.size,fill:t.fill}),e}},{key:\"drawHollowImage\",value:function(t,e,i,a){var s=this.w,r=new F(this.ctx),o=x.randomId(),n=s.config.plotOptions.radialBar.hollow.image;if(s.config.plotOptions.radialBar.hollow.imageClipped)r.clippedImgArea({width:i,height:i,image:n,patternID:\"pattern\".concat(s.globals.cuid).concat(o)}),a=\"url(#pattern\".concat(s.globals.cuid).concat(o,\")\");else{var l=s.config.plotOptions.radialBar.hollow.imageWidth,h=s.config.plotOptions.radialBar.hollow.imageHeight;if(void 0===l&&void 0===h){var c=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-e.width/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-e.height/2+s.config.plotOptions.radialBar.hollow.imageOffsetY)}));e.add(c)}else{var d=s.globals.dom.Paper.image(n).loaded((function(e){this.move(t.centerX-l/2+s.config.plotOptions.radialBar.hollow.imageOffsetX,t.centerY-h/2+s.config.plotOptions.radialBar.hollow.imageOffsetY),this.size(l,h)}));e.add(d)}}return a}},{key:\"getStrokeWidth\",value:function(t){var e=this.w;return t.size*(100-parseInt(e.config.plotOptions.radialBar.hollow.size,10))/100/(t.series.length+1)-this.margin}}]),i}(),Mt=function(t){n(s,yt);var i=d(s);function s(){return a(this,s),i.apply(this,arguments)}return r(s,[{key:\"draw\",value:function(t,i){var a=this.w,s=new m(this.ctx);this.rangeBarOptions=this.w.config.plotOptions.rangeBar,this.series=t,this.seriesRangeStart=a.globals.seriesRangeStart,this.seriesRangeEnd=a.globals.seriesRangeEnd,this.barHelpers.initVariables(t);for(var r=s.group({class:\"apexcharts-rangebar-series apexcharts-plot-series\"}),o=0;o0&&(this.visibleI=this.visibleI+1);var p=0,b=0;this.yRatio.length>1&&(this.yaxisIndex=u);var v=this.barHelpers.initialPositions();d=v.y,h=v.zeroW,c=v.x,b=v.barWidth,n=v.xDivision,l=v.zeroH;for(var y=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":u}),w=s.group({class:\"apexcharts-rangebar-goals-markers\",style:\"pointer-events: none\"}),k=0;k0}));return a=l.config.plotOptions.bar.rangeBarGroupRows?s+o*g:s+r*this.visibleI+o*g,u>-1&&!l.config.plotOptions.bar.rangeBarOverlap&&(h=l.globals.seriesRange[e][u].overlaps).indexOf(c)>-1&&(a=(r=n.barHeight/h.length)*this.visibleI+o*(100-parseInt(this.barOptions.barHeight,10))/100/2+r*(this.visibleI+h.indexOf(c))+o*g),{barYPosition:a,barHeight:r}}},{key:\"drawRangeColumnPaths\",value:function(t){var e=t.indexes,i=t.x;t.strokeWidth;var a=t.xDivision,s=t.barWidth,r=t.zeroH,o=this.w,n=e.i,l=e.j,h=this.yRatio[this.yaxisIndex],c=e.realIndex,d=this.getRangeValue(c,l),g=Math.min(d.start,d.end),u=Math.max(d.start,d.end);o.globals.isXNumeric&&(i=(o.globals.seriesX[n][l]-o.globals.minX)/this.xRatio-s/2);var f=i+s*this.visibleI;void 0===this.series[n][l]||null===this.series[n][l]?g=r:(g=r-g/h,u=r-u/h);var p=Math.abs(u-g),x=this.barHelpers.getColumnPaths({barXPosition:f,barWidth:s,y1:g,y2:u,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,realIndex:e.realIndex,i:c,j:l,w:o});return o.globals.isXNumeric||(i+=a),{pathTo:x.pathTo,pathFrom:x.pathFrom,barHeight:p,x:i,y:u,goalY:this.barHelpers.getGoalValues(\"y\",null,r,n,l),barXPosition:f}}},{key:\"drawRangeBarPaths\",value:function(t){var e=t.indexes,i=t.y,a=t.y1,s=t.y2,r=t.yDivision,o=t.barHeight,n=t.barYPosition,l=t.zeroW,h=this.w,c=l+a/this.invertedYRatio,d=l+s/this.invertedYRatio,g=Math.abs(d-c),u=this.barHelpers.getBarpaths({barYPosition:n,barHeight:o,x1:c,x2:d,strokeWidth:this.strokeWidth,series:this.seriesRangeEnd,i:e.realIndex,realIndex:e.realIndex,j:e.j,w:h});return h.globals.isXNumeric||(i+=r),{pathTo:u.pathTo,pathFrom:u.pathFrom,barWidth:g,x:d,goalX:this.barHelpers.getGoalValues(\"x\",l,null,e.realIndex,e.j),y:i}}},{key:\"getRangeValue\",value:function(t,e){var i=this.w;return{start:i.globals.seriesRangeStart[t][e],end:i.globals.seriesRangeEnd[t][e]}}}]),s}(),It=function(){function t(e){a(this,t),this.w=e.w,this.lineCtx=e}return r(t,[{key:\"sameValueSeriesFix\",value:function(t,e){var i=this.w;if((\"gradient\"===i.config.fill.type||\"gradient\"===i.config.fill.type[t])&&new y(this.lineCtx.ctx,i).seriesHaveSameValues(t)){var a=e[t].slice();a[a.length-1]=a[a.length-1]+1e-6,e[t]=a}return e}},{key:\"calculatePoints\",value:function(t){var e=t.series,i=t.realIndex,a=t.x,s=t.y,r=t.i,o=t.j,n=t.prevY,l=this.w,h=[],c=[];if(0===o){var d=this.lineCtx.categoryAxisCorrection+l.config.markers.offsetX;l.globals.isXNumeric&&(d=(l.globals.seriesX[i][0]-l.globals.minX)/this.lineCtx.xRatio+l.config.markers.offsetX),h.push(d),c.push(x.isNumber(e[r][0])?n+l.config.markers.offsetY:null),h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null)}else h.push(a+l.config.markers.offsetX),c.push(x.isNumber(e[r][o+1])?s+l.config.markers.offsetY:null);return{x:h,y:c}}},{key:\"checkPreviousPaths\",value:function(t){for(var e=t.pathFromLine,i=t.pathFromArea,a=t.realIndex,s=this.w,r=0;r0&&parseInt(o.realIndex,10)===parseInt(a,10)&&(\"line\"===o.type?(this.lineCtx.appendPathFrom=!1,e=s.globals.previousPaths[r].paths[0].d):\"area\"===o.type&&(this.lineCtx.appendPathFrom=!1,i=s.globals.previousPaths[r].paths[0].d,s.config.stroke.show&&s.globals.previousPaths[r].paths[1]&&(e=s.globals.previousPaths[r].paths[1].d)))}return{pathFromLine:e,pathFromArea:i}}},{key:\"determineFirstPrevY\",value:function(t){var e,i=t.i,a=t.series,s=t.prevY,r=t.lineYPosition,o=this.w;if(void 0!==(null===(e=a[i])||void 0===e?void 0:e[0]))s=(r=o.config.chart.stacked&&i>0?this.lineCtx.prevSeriesY[i-1][0]:this.lineCtx.zeroY)-a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]+2*(this.lineCtx.isReversed?a[i][0]/this.lineCtx.yRatio[this.lineCtx.yaxisIndex]:0);else if(o.config.chart.stacked&&i>0&&void 0===a[i][0])for(var n=i-1;n>=0;n--)if(null!==a[n][0]&&void 0!==a[n][0]){s=r=this.lineCtx.prevSeriesY[n][0];break}return{prevY:s,lineYPosition:r}}}]),t}(),zt=function(){function t(e,i,s){a(this,t),this.ctx=e,this.w=e.w,this.xyRatios=i,this.pointsChart=!(\"bubble\"!==this.w.config.chart.type&&\"scatter\"!==this.w.config.chart.type)||s,this.scatter=new D(this.ctx),this.noNegatives=this.w.globals.minX===Number.MAX_VALUE,this.lineHelpers=new It(this),this.markers=new R(this.ctx),this.prevSeriesY=[],this.categoryAxisCorrection=0,this.yaxisIndex=0}return r(t,[{key:\"draw\",value:function(t,i,a,s){var r=this.w,o=new m(this.ctx),n=r.globals.comboCharts?i:r.config.chart.type,l=o.group({class:\"apexcharts-\".concat(n,\"-series apexcharts-plot-series\")}),h=new y(this.ctx,r);this.yRatio=this.xyRatios.yRatio,this.zRatio=this.xyRatios.zRatio,this.xRatio=this.xyRatios.xRatio,this.baseLineY=this.xyRatios.baseLineY,t=h.getLogSeries(t),this.yRatio=h.getLogYRatios(this.yRatio);for(var c=[],d=0;d0&&(p=(r.globals.seriesX[g][0]-r.globals.minX)/this.xRatio),f.push(p);var x,b=p,v=void 0,w=b,k=this.zeroY,A=this.zeroY;k=this.lineHelpers.determineFirstPrevY({i:d,series:t,prevY:k,lineYPosition:0}).prevY,u.push(k),x=k;\"rangeArea\"===n&&(v=A=this.lineHelpers.determineFirstPrevY({i:d,series:s,prevY:A,lineYPosition:0}).prevY);var S={type:n,series:t,realIndex:g,i:d,x:p,y:1,pX:b,pY:x,pathsFrom:this._calculatePathsFrom({type:n,series:t,i:d,realIndex:g,prevX:w,prevY:k,prevY2:A}),linePaths:[],areaPaths:[],seriesIndex:a,lineYPosition:0,xArrj:f,yArrj:u,seriesRangeEnd:s},C=this._iterateOverDataPoints(e(e({},S),{},{iterations:\"rangeArea\"===n?t[d].length-1:void 0,isRangeStart:!0}));if(\"rangeArea\"===n){var L=this._calculatePathsFrom({series:s,i:d,realIndex:g,prevX:w,prevY:A}),P=this._iterateOverDataPoints(e(e({},S),{},{series:s,pY:v,pathsFrom:L,iterations:s[d].length-1,isRangeStart:!1}));C.linePaths[0]=P.linePath+C.linePath,C.pathFromLine=P.pathFromLine+C.pathFromLine}this._handlePaths({type:n,realIndex:g,i:d,paths:C}),this.elSeries.add(this.elPointsMain),this.elSeries.add(this.elDataLabelsWrap),c.push(this.elSeries)}if(r.config.chart.stacked)for(var T=c.length;T>0;T--)l.add(c[T-1]);else for(var M=0;M1&&(this.yaxisIndex=i),this.isReversed=a.config.yaxis[this.yaxisIndex]&&a.config.yaxis[this.yaxisIndex].reversed,this.zeroY=a.globals.gridHeight-this.baseLineY[this.yaxisIndex]-(this.isReversed?a.globals.gridHeight:0)+(this.isReversed?2*this.baseLineY[this.yaxisIndex]:0),this.areaBottomY=this.zeroY,(this.zeroY>a.globals.gridHeight||\"end\"===a.config.plotOptions.area.fillTo)&&(this.areaBottomY=a.globals.gridHeight),this.categoryAxisCorrection=this.xDivision/2,this.elSeries=s.group({class:\"apexcharts-series\",seriesName:x.escapeString(a.globals.seriesNames[i])}),this.elPointsMain=s.group({class:\"apexcharts-series-markers-wrap\",\"data:realIndex\":i}),this.elDataLabelsWrap=s.group({class:\"apexcharts-datalabels\",\"data:realIndex\":i});var r=t[e].length===a.globals.dataPoints;this.elSeries.attr({\"data:longestSeries\":r,rel:e+1,\"data:realIndex\":i}),this.appendPathFrom=!0}},{key:\"_calculatePathsFrom\",value:function(t){var e,i,a,s,r=t.type,o=t.series,n=t.i,l=t.realIndex,h=t.prevX,c=t.prevY,d=t.prevY2,g=this.w,u=new m(this.ctx);if(null===o[n][0]){for(var f=0;f0){var p=this.lineHelpers.checkPreviousPaths({pathFromLine:a,pathFromArea:s,realIndex:l});a=p.pathFromLine,s=p.pathFromArea}return{prevX:h,prevY:c,linePath:e,areaPath:i,pathFromLine:a,pathFromArea:s}}},{key:\"_handlePaths\",value:function(t){var i=t.type,a=t.realIndex,s=t.i,r=t.paths,o=this.w,n=new m(this.ctx),l=new F(this.ctx);this.prevSeriesY.push(r.yArrj),o.globals.seriesXvalues[a]=r.xArrj,o.globals.seriesYvalues[a]=r.yArrj;var h=o.config.forecastDataPoints;if(h.count>0&&\"rangeArea\"!==i){var c=o.globals.seriesXvalues[a][o.globals.seriesXvalues[a].length-h.count-1],d=n.drawRect(c,0,o.globals.gridWidth,o.globals.gridHeight,0);o.globals.dom.elForecastMask.appendChild(d.node);var g=n.drawRect(0,0,c,o.globals.gridHeight,0);o.globals.dom.elNonForecastMask.appendChild(g.node)}this.pointsChart||o.globals.delayedElements.push({el:this.elPointsMain.node,index:a});var u={i:s,realIndex:a,animationDelay:s,initialSpeed:o.config.chart.animations.speed,dataChangeSpeed:o.config.chart.animations.dynamicAnimation.speed,className:\"apexcharts-\".concat(i)};if(\"area\"===i)for(var f=l.fillPath({seriesNumber:a}),p=0;p0&&\"rangeArea\"!==i){var S=n.renderPaths(k);S.node.setAttribute(\"stroke-dasharray\",h.dashArray),h.strokeWidth&&S.node.setAttribute(\"stroke-width\",h.strokeWidth),this.elSeries.add(S),S.attr(\"clip-path\",\"url(#forecastMask\".concat(o.globals.cuid,\")\")),A.attr(\"clip-path\",\"url(#nonForecastMask\".concat(o.globals.cuid,\")\"))}}}}},{key:\"_iterateOverDataPoints\",value:function(t){var e=t.type,i=t.series,a=t.iterations,s=t.realIndex,r=t.i,o=t.x,n=t.y,l=t.pX,h=t.pY,c=t.pathsFrom,d=t.linePaths,g=t.areaPaths,u=t.seriesIndex,f=t.lineYPosition,p=t.xArrj,b=t.yArrj,v=t.isRangeStart,y=t.seriesRangeEnd,w=this.w,k=new m(this.ctx),A=this.yRatio,S=c.prevY,C=c.linePath,L=c.areaPath,P=c.pathFromLine,T=c.pathFromArea,M=x.isNumber(w.globals.minYArr[s])?w.globals.minYArr[s]:w.globals.minY;a||(a=w.globals.dataPoints>1?w.globals.dataPoints-1:w.globals.dataPoints);for(var I=n,z=0;z0&&w.globals.collapsedSeries.length-1){e--;break}return e>=0?e:0}(r-1)][z+1]}else f=this.zeroY;else f=this.zeroY;X?n=f-M/A[this.yaxisIndex]+2*(this.isReversed?M/A[this.yaxisIndex]:0):(n=f-i[r][z+1]/A[this.yaxisIndex]+2*(this.isReversed?i[r][z+1]/A[this.yaxisIndex]:0),\"rangeArea\"===e&&(I=f-y[r][z+1]/A[this.yaxisIndex]+2*(this.isReversed?y[r][z+1]/A[this.yaxisIndex]:0))),p.push(o),b.push(n);var Y=this.lineHelpers.calculatePoints({series:i,x:o,y:n,realIndex:s,i:r,j:z,prevY:S}),F=this._createPaths({type:e,series:i,i:r,realIndex:s,j:z,x:o,y:n,y2:I,pX:l,pY:h,linePath:C,areaPath:L,linePaths:d,areaPaths:g,seriesIndex:u,isRangeStart:v});g=F.areaPaths,d=F.linePaths,l=F.pX,h=F.pY,L=F.areaPath,C=F.linePath,this.appendPathFrom&&(P+=k.line(o,this.zeroY),T+=k.line(o,this.zeroY)),this.handleNullDataPoints(i,Y,r,z,s),this._handleMarkersAndLabels({type:e,pointsPos:Y,i:r,j:z,realIndex:s,isRangeStart:v})}return{yArrj:b,xArrj:p,pathFromArea:T,areaPaths:g,pathFromLine:P,linePaths:d,linePath:C,areaPath:L}}},{key:\"_handleMarkersAndLabels\",value:function(t){var e=t.type,i=t.pointsPos,a=t.isRangeStart,s=t.i,r=t.j,o=t.realIndex,n=this.w,l=new H(this.ctx);if(this.pointsChart)this.scatter.draw(this.elSeries,r,{realIndex:o,pointsPos:i,zRatio:this.zRatio,elParent:this.elPointsMain});else{n.globals.series[s].length>1&&this.elPointsMain.node.classList.add(\"apexcharts-element-hidden\");var h=this.markers.plotChartMarkers(i,o,r+1);null!==h&&this.elPointsMain.add(h)}var c=l.drawDataLabel({type:e,isRangeStart:a,pos:i,i:o,j:r+1});null!==c&&this.elDataLabelsWrap.add(c)}},{key:\"_createPaths\",value:function(t){var e=t.type,i=t.series,a=t.i,s=t.realIndex,r=t.j,o=t.x,n=t.y,l=t.y2,h=t.pX,c=t.pY,d=t.linePath,g=t.areaPath,u=t.linePaths,f=t.areaPaths,p=t.seriesIndex,x=t.isRangeStart,b=this.w,v=new m(this.ctx),y=b.config.stroke.curve,w=this.areaBottomY;if(Array.isArray(b.config.stroke.curve)&&(y=Array.isArray(p)?b.config.stroke.curve[p[a]]:b.config.stroke.curve[a]),\"smooth\"===y){var k=.35*(o-h);b.globals.hasNullValues?(null!==i[a][r]&&(null!==i[a][r+1]?(d=v.move(h,c)+v.curve(h+k,c,o-k,n,o+1,n),g=v.move(h+1,c)+v.curve(h+k,c,o-k,n,o+1,n)+v.line(o,w)+v.line(h,w)+\"z\"):(d=v.move(h,c),g=v.move(h,c)+\"z\")),u.push(d),f.push(g)):(d+=v.curve(h+k,c,o-k,n,o,n),g+=v.curve(h+k,c,o-k,n,o,n)),h=o,c=n,r===i[a].length-2&&(g=g+v.curve(h,c,o,n,o,w)+v.move(o,n)+\"z\",\"rangeArea\"===e&&x?d=d+v.curve(h,c,o,n,o,l)+v.move(o,l)+\"z\":b.globals.hasNullValues||(u.push(d),f.push(g)))}else{if(null===i[a][r+1]){d+=v.move(o,n);var A=b.globals.isXNumeric?(b.globals.seriesX[s][r]-b.globals.minX)/this.xRatio:o-this.xDivision;g=g+v.line(A,w)+v.move(o,n)+\"z\"}null===i[a][r]&&(d+=v.move(o,n),g+=v.move(o,w)),\"stepline\"===y?(d=d+v.line(o,null,\"H\")+v.line(null,n,\"V\"),g=g+v.line(o,null,\"H\")+v.line(null,n,\"V\")):\"straight\"===y&&(d+=v.line(o,n),g+=v.line(o,n)),r===i[a].length-2&&(g=g+v.line(o,w)+v.move(o,n)+\"z\",\"rangeArea\"===e&&x?d=d+v.line(o,l)+v.move(o,l)+\"z\":(u.push(d),f.push(g)))}return{linePaths:u,areaPaths:f,pX:h,pY:c,linePath:d,areaPath:g}}},{key:\"handleNullDataPoints\",value:function(t,e,i,a,s){var r=this.w;if(null===t[i][a]&&r.config.markers.showNullDataPoints||1===t[i].length){var o=this.markers.plotChartMarkers(e,s,a+1,this.strokeWidth-r.config.markers.strokeWidth/2,!0);null!==o&&this.elPointsMain.add(o)}}}]),t}();window.TreemapSquared={},window.TreemapSquared.generate=function(){function t(e,i,a,s){this.xoffset=e,this.yoffset=i,this.height=s,this.width=a,this.shortestEdge=function(){return Math.min(this.height,this.width)},this.getCoordinates=function(t){var e,i=[],a=this.xoffset,s=this.yoffset,o=r(t)/this.height,n=r(t)/this.width;if(this.width>=this.height)for(e=0;e=this.height){var a=e/this.height,s=this.width-a;i=new t(this.xoffset+a,this.yoffset,s,this.height)}else{var r=e/this.width,o=this.height-r;i=new t(this.xoffset,this.yoffset+r,this.width,o)}return i}}function e(e,a,s,o,n){o=void 0===o?0:o,n=void 0===n?0:n;var l=i(function(t,e){var i,a=[],s=e/r(t);for(i=0;i=o}(e,l=t[0],n)?(e.push(l),i(t.slice(1),e,s,o)):(h=s.cutArea(r(e),o),o.push(s.getCoordinates(e)),i(t,[],h,o)),o;o.push(s.getCoordinates(e))}function a(t,e){var i=Math.min.apply(Math,t),a=Math.max.apply(Math,t),s=r(t);return Math.max(Math.pow(e,2)*a/Math.pow(s,2),Math.pow(s,2)/(Math.pow(e,2)*i))}function s(t){return t&&t.constructor===Array}function r(t){var e,i=0;for(e=0;er-a&&l.width<=o-s){var h=n.rotateAroundCenter(t.node);t.node.setAttribute(\"transform\",\"rotate(-90 \".concat(h.x,\" \").concat(h.y,\")\"))}}},{key:\"animateTreemap\",value:function(t,e,i,a){var s=new b(this.ctx);s.animateRect(t,{x:e.x,y:e.y,width:e.width,height:e.height},{x:i.x,y:i.y,width:i.width,height:i.height},a,(function(){s.animationCompleted(t)}))}}]),t}(),Ft=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w,this.timeScaleArray=[],this.utc=this.w.config.xaxis.labels.datetimeUTC}return r(t,[{key:\"calculateTimeScaleTicks\",value:function(t,i){var a=this,s=this.w;if(s.globals.allSeriesCollapsed)return s.globals.labels=[],s.globals.timescaleLabels=[],[];var r=new T(this.ctx),o=(i-t)/864e5;this.determineInterval(o),s.globals.disableZoomIn=!1,s.globals.disableZoomOut=!1,o<.00011574074074074075?s.globals.disableZoomIn=!0:o>5e4&&(s.globals.disableZoomOut=!0);var n=r.getTimeUnitsfromTimestamp(t,i,this.utc),l=s.globals.gridWidth/o,h=l/24,c=h/60,d=c/60,g=Math.floor(24*o),u=Math.floor(1440*o),f=Math.floor(86400*o),p=Math.floor(o),x=Math.floor(o/30),b=Math.floor(o/365),v={minMillisecond:n.minMillisecond,minSecond:n.minSecond,minMinute:n.minMinute,minHour:n.minHour,minDate:n.minDate,minMonth:n.minMonth,minYear:n.minYear},m={firstVal:v,currentMillisecond:v.minMillisecond,currentSecond:v.minSecond,currentMinute:v.minMinute,currentHour:v.minHour,currentMonthDate:v.minDate,currentDate:v.minDate,currentMonth:v.minMonth,currentYear:v.minYear,daysWidthOnXAxis:l,hoursWidthOnXAxis:h,minutesWidthOnXAxis:c,secondsWidthOnXAxis:d,numberOfSeconds:f,numberOfMinutes:u,numberOfHours:g,numberOfDays:p,numberOfMonths:x,numberOfYears:b};switch(this.tickInterval){case\"years\":this.generateYearScale(m);break;case\"months\":case\"half_year\":this.generateMonthScale(m);break;case\"months_days\":case\"months_fortnight\":case\"days\":case\"week_days\":this.generateDayScale(m);break;case\"hours\":this.generateHourScale(m);break;case\"minutes_fives\":case\"minutes\":this.generateMinuteScale(m);break;case\"seconds_tens\":case\"seconds_fives\":case\"seconds\":this.generateSecondScale(m)}var y=this.timeScaleArray.map((function(t){var i={position:t.position,unit:t.unit,year:t.year,day:t.day?t.day:1,hour:t.hour?t.hour:0,month:t.month+1};return\"month\"===t.unit?e(e({},i),{},{day:1,value:t.value+1}):\"day\"===t.unit||\"hour\"===t.unit?e(e({},i),{},{value:t.value}):\"minute\"===t.unit?e(e({},i),{},{value:t.value,minute:t.value}):\"second\"===t.unit?e(e({},i),{},{value:t.value,minute:t.minute,second:t.second}):t}));return y.filter((function(t){var e=1,i=Math.ceil(s.globals.gridWidth/120),r=t.value;void 0!==s.config.xaxis.tickAmount&&(i=s.config.xaxis.tickAmount),y.length>i&&(e=Math.floor(y.length/i));var o=!1,n=!1;switch(a.tickInterval){case\"years\":\"year\"===t.unit&&(o=!0);break;case\"half_year\":e=7,\"year\"===t.unit&&(o=!0);break;case\"months\":e=1,\"year\"===t.unit&&(o=!0);break;case\"months_fortnight\":e=15,\"year\"!==t.unit&&\"month\"!==t.unit||(o=!0),30===r&&(n=!0);break;case\"months_days\":e=10,\"month\"===t.unit&&(o=!0),30===r&&(n=!0);break;case\"week_days\":e=8,\"month\"===t.unit&&(o=!0);break;case\"days\":e=1,\"month\"===t.unit&&(o=!0);break;case\"hours\":\"day\"===t.unit&&(o=!0);break;case\"minutes_fives\":case\"seconds_fives\":r%5!=0&&(n=!0);break;case\"seconds_tens\":r%10!=0&&(n=!0)}if(\"hours\"===a.tickInterval||\"minutes_fives\"===a.tickInterval||\"seconds_tens\"===a.tickInterval||\"seconds_fives\"===a.tickInterval){if(!n)return!0}else if((r%e==0||o)&&!n)return!0}))}},{key:\"recalcDimensionsBasedOnFormat\",value:function(t,e){var i=this.w,a=this.formatDates(t),s=this.removeOverlappingTS(a);i.globals.timescaleLabels=s.slice(),new ot(this.ctx).plotCoords()}},{key:\"determineInterval\",value:function(t){var e=24*t,i=60*e;switch(!0){case t/365>5:this.tickInterval=\"years\";break;case t>800:this.tickInterval=\"half_year\";break;case t>180:this.tickInterval=\"months\";break;case t>90:this.tickInterval=\"months_fortnight\";break;case t>60:this.tickInterval=\"months_days\";break;case t>30:this.tickInterval=\"week_days\";break;case t>2:this.tickInterval=\"days\";break;case e>2.4:this.tickInterval=\"hours\";break;case i>15:this.tickInterval=\"minutes_fives\";break;case i>5:this.tickInterval=\"minutes\";break;case i>1:this.tickInterval=\"seconds_tens\";break;case 60*i>20:this.tickInterval=\"seconds_fives\";break;default:this.tickInterval=\"seconds\"}}},{key:\"generateYearScale\",value:function(t){var e=t.firstVal,i=t.currentMonth,a=t.currentYear,s=t.daysWidthOnXAxis,r=t.numberOfYears,o=e.minYear,n=0,l=new T(this.ctx),h=\"year\";if(e.minDate>1||e.minMonth>0){var c=l.determineRemainingDaysOfYear(e.minYear,e.minMonth,e.minDate);n=(l.determineDaysOfYear(e.minYear)-c+1)*s,o=e.minYear+1,this.timeScaleArray.push({position:n,value:o,unit:h,year:o,month:x.monthMod(i+1)})}else 1===e.minDate&&0===e.minMonth&&this.timeScaleArray.push({position:n,value:o,unit:h,year:a,month:x.monthMod(i+1)});for(var d=o,g=n,u=0;u1){l=(h.determineDaysOfMonths(a+1,e.minYear)-i+1)*r,n=x.monthMod(a+1);var g=s+d,u=x.monthMod(n),f=n;0===n&&(c=\"year\",f=g,u=1,g+=d+=1),this.timeScaleArray.push({position:l,value:f,unit:c,year:g,month:u})}else this.timeScaleArray.push({position:l,value:n,unit:c,year:s,month:x.monthMod(a)});for(var p=n+1,b=l,v=0,m=1;vo.determineDaysOfMonths(e+1,i)?(h=1,n=\"month\",g=e+=1,e):e},d=(24-e.minHour)*s,g=l,u=c(h,i,a);0===e.minHour&&1===e.minDate?(d=0,g=x.monthMod(e.minMonth),n=\"month\",h=e.minDate,r++):1!==e.minDate&&0===e.minHour&&0===e.minMinute&&(d=0,l=e.minDate,g=l,u=c(h=l,i,a)),this.timeScaleArray.push({position:d,value:g,unit:n,year:this._getYear(a,u,0),month:x.monthMod(u),day:h});for(var f=d,p=0;pn.determineDaysOfMonths(e+1,s)&&(p=1,e+=1),{month:e,date:p}},c=function(t,e){return t>n.determineDaysOfMonths(e+1,s)?e+=1:e},d=60-(e.minMinute+e.minSecond/60),g=d*r,u=e.minHour+1,f=u+1;60===d&&(g=0,f=(u=e.minHour)+1);var p=i,b=c(p,a);this.timeScaleArray.push({position:g,value:u,unit:l,day:p,hour:f,year:s,month:x.monthMod(b)});for(var v=g,m=0;m=24)f=0,l=\"day\",b=h(p+=1,b).month,b=c(p,b);var y=this._getYear(s,b,0);v=0===f&&0===m?d*r:60*r+v;var w=0===f?p:f;this.timeScaleArray.push({position:v,value:w,unit:l,hour:f,day:p,year:y,month:x.monthMod(b)}),f++}}},{key:\"generateMinuteScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.minutesWidthOnXAxis,h=t.secondsWidthOnXAxis,c=t.numberOfMinutes,d=a+1,g=r,u=o,f=n,p=s,b=(60-i-e/1e3)*h,v=0;v=60&&(d=0,24===(p+=1)&&(p=0)),this.timeScaleArray.push({position:b,value:d,unit:\"minute\",hour:p,minute:d,day:g,year:this._getYear(f,u,0),month:x.monthMod(u)}),b+=l,d++}},{key:\"generateSecondScale\",value:function(t){for(var e=t.currentMillisecond,i=t.currentSecond,a=t.currentMinute,s=t.currentHour,r=t.currentDate,o=t.currentMonth,n=t.currentYear,l=t.secondsWidthOnXAxis,h=t.numberOfSeconds,c=i+1,d=a,g=r,u=o,f=n,p=s,b=(1e3-e)/1e3*l,v=0;v=60&&(c=0,++d>=60&&(d=0,24===++p&&(p=0))),this.timeScaleArray.push({position:b,value:c,unit:\"second\",hour:p,minute:d,second:c,day:g,year:this._getYear(f,u,0),month:x.monthMod(u)}),b+=l,c++}},{key:\"createRawDateString\",value:function(t,e){var i=t.year;return 0===t.month&&(t.month=1),i+=\"-\"+(\"0\"+t.month.toString()).slice(-2),\"day\"===t.unit?i+=\"day\"===t.unit?\"-\"+(\"0\"+e).slice(-2):\"-01\":i+=\"-\"+(\"0\"+(t.day?t.day:\"1\")).slice(-2),\"hour\"===t.unit?i+=\"hour\"===t.unit?\"T\"+(\"0\"+e).slice(-2):\"T00\":i+=\"T\"+(\"0\"+(t.hour?t.hour:\"0\")).slice(-2),\"minute\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":\"+(t.minute?(\"0\"+t.minute).slice(-2):\"00\"),\"second\"===t.unit?i+=\":\"+(\"0\"+e).slice(-2):i+=\":00\",this.utc&&(i+=\".000Z\"),i}},{key:\"formatDates\",value:function(t){var e=this,i=this.w;return t.map((function(t){var a=t.value.toString(),s=new T(e.ctx),r=e.createRawDateString(t,a),o=s.getDate(s.parseDate(r));if(e.utc||(o=s.getDate(s.parseDateWithTimezone(r))),void 0===i.config.xaxis.labels.format){var n=\"dd MMM\",l=i.config.xaxis.labels.datetimeFormatter;\"year\"===t.unit&&(n=l.year),\"month\"===t.unit&&(n=l.month),\"day\"===t.unit&&(n=l.day),\"hour\"===t.unit&&(n=l.hour),\"minute\"===t.unit&&(n=l.minute),\"second\"===t.unit&&(n=l.second),a=s.formatDate(o,n)}else a=s.formatDate(o,i.config.xaxis.labels.format);return{dateString:r,position:t.position,value:a,unit:t.unit,year:t.year,month:t.month}}))}},{key:\"removeOverlappingTS\",value:function(t){var e,i=this,a=new m(this.ctx),s=!1;t.length>0&&t[0].value&&t.every((function(e){return e.value.length===t[0].value.length}))&&(s=!0,e=a.getTextRects(t[0].value).width);var r=0,o=t.map((function(o,n){if(n>0&&i.w.config.xaxis.labels.hideOverlappingLabels){var l=s?e:a.getTextRects(t[r].value).width,h=t[r].position;return o.position>h+l+10?(r=n,o):null}return o}));return o=o.filter((function(t){return null!==t}))}},{key:\"_getYear\",value:function(t,e,i){return t+Math.floor(e/12)+i}}]),t}(),Rt=function(){function t(e,i){a(this,t),this.ctx=i,this.w=i.w,this.el=e}return r(t,[{key:\"setupElements\",value:function(){var t=this.w.globals,e=this.w.config,i=e.chart.type;t.axisCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\",\"radar\",\"heatmap\",\"treemap\"].indexOf(i)>-1,t.xyCharts=[\"line\",\"area\",\"bar\",\"rangeBar\",\"rangeArea\",\"candlestick\",\"boxPlot\",\"scatter\",\"bubble\"].indexOf(i)>-1,t.isBarHorizontal=(\"bar\"===e.chart.type||\"rangeBar\"===e.chart.type||\"boxPlot\"===e.chart.type)&&e.plotOptions.bar.horizontal,t.chartClass=\".apexcharts\"+t.chartID,t.dom.baseEl=this.el,t.dom.elWrap=document.createElement(\"div\"),m.setAttrs(t.dom.elWrap,{id:t.chartClass.substring(1),class:\"apexcharts-canvas \"+t.chartClass.substring(1)}),this.el.appendChild(t.dom.elWrap),t.dom.Paper=new window.SVG.Doc(t.dom.elWrap),t.dom.Paper.attr({class:\"apexcharts-svg\",\"xmlns:data\":\"ApexChartsNS\",transform:\"translate(\".concat(e.chart.offsetX,\", \").concat(e.chart.offsetY,\")\")}),t.dom.Paper.node.style.background=e.chart.background,this.setSVGDimensions(),t.dom.elGraphical=t.dom.Paper.group().attr({class:\"apexcharts-inner apexcharts-graphical\"}),t.dom.elAnnotations=t.dom.Paper.group().attr({class:\"apexcharts-annotations\"}),t.dom.elDefs=t.dom.Paper.defs(),t.dom.elLegendWrap=document.createElement(\"div\"),t.dom.elLegendWrap.classList.add(\"apexcharts-legend\"),t.dom.elWrap.appendChild(t.dom.elLegendWrap),t.dom.Paper.add(t.dom.elGraphical),t.dom.elGraphical.add(t.dom.elDefs)}},{key:\"plotChartType\",value:function(t,e){var i=this.w,a=i.config,s=i.globals,r={series:[],i:[]},o={series:[],i:[]},n={series:[],i:[]},l={series:[],i:[]},h={series:[],i:[]},c={series:[],i:[]},d={series:[],i:[]},g={series:[],i:[]},u={series:[],seriesRangeEnd:[],i:[]};s.series.map((function(e,f){var p=0;void 0!==t[f].type?(\"column\"===t[f].type||\"bar\"===t[f].type?(s.series.length>1&&a.plotOptions.bar.horizontal&&console.warn(\"Horizontal bars are not supported in a mixed/combo chart. Please turn off `plotOptions.bar.horizontal`\"),h.series.push(e),h.i.push(f),p++,i.globals.columnSeries=h.series):\"area\"===t[f].type?(o.series.push(e),o.i.push(f),p++):\"line\"===t[f].type?(r.series.push(e),r.i.push(f),p++):\"scatter\"===t[f].type?(n.series.push(e),n.i.push(f)):\"bubble\"===t[f].type?(l.series.push(e),l.i.push(f),p++):\"candlestick\"===t[f].type?(c.series.push(e),c.i.push(f),p++):\"boxPlot\"===t[f].type?(d.series.push(e),d.i.push(f),p++):\"rangeBar\"===t[f].type?(g.series.push(e),g.i.push(f),p++):\"rangeArea\"===t[f].type?(u.series.push(s.seriesRangeStart[f]),u.seriesRangeEnd.push(s.seriesRangeEnd[f]),u.i.push(f),p++):console.warn(\"You have specified an unrecognized chart type. Available types for this property are line/area/column/bar/scatter/bubble\"),p>1&&(s.comboCharts=!0)):(r.series.push(e),r.i.push(f))}));var f=new zt(this.ctx,e),p=new kt(this.ctx,e);this.ctx.pie=new Lt(this.ctx);var x=new Tt(this.ctx);this.ctx.rangeBar=new Mt(this.ctx,e);var b=new Pt(this.ctx),v=[];if(s.comboCharts){if(o.series.length>0&&v.push(f.draw(o.series,\"area\",o.i)),h.series.length>0)if(i.config.chart.stacked){var m=new wt(this.ctx,e);v.push(m.draw(h.series,h.i))}else this.ctx.bar=new yt(this.ctx,e),v.push(this.ctx.bar.draw(h.series,h.i));if(u.series.length>0&&v.push(f.draw(u.series,\"rangeArea\",u.i,u.seriesRangeEnd)),r.series.length>0&&v.push(f.draw(r.series,\"line\",r.i)),c.series.length>0&&v.push(p.draw(c.series,c.i)),d.series.length>0&&v.push(p.draw(d.series,d.i)),g.series.length>0&&v.push(this.ctx.rangeBar.draw(g.series,g.i)),n.series.length>0){var y=new zt(this.ctx,e,!0);v.push(y.draw(n.series,\"scatter\",n.i))}if(l.series.length>0){var w=new zt(this.ctx,e,!0);v.push(w.draw(l.series,\"bubble\",l.i))}}else switch(a.chart.type){case\"line\":v=f.draw(s.series,\"line\");break;case\"area\":v=f.draw(s.series,\"area\");break;case\"bar\":if(a.chart.stacked)v=new wt(this.ctx,e).draw(s.series);else this.ctx.bar=new yt(this.ctx,e),v=this.ctx.bar.draw(s.series);break;case\"candlestick\":v=new kt(this.ctx,e).draw(s.series);break;case\"boxPlot\":v=new kt(this.ctx,e).draw(s.series);break;case\"rangeBar\":v=this.ctx.rangeBar.draw(s.series);break;case\"rangeArea\":v=f.draw(s.seriesRangeStart,\"rangeArea\",void 0,s.seriesRangeEnd);break;case\"heatmap\":v=new St(this.ctx,e).draw(s.series);break;case\"treemap\":v=new Yt(this.ctx,e).draw(s.series);break;case\"pie\":case\"donut\":case\"polarArea\":v=this.ctx.pie.draw(s.series);break;case\"radialBar\":v=x.draw(s.series);break;case\"radar\":v=b.draw(s.series);break;default:v=f.draw(s.series)}return v}},{key:\"setSVGDimensions\",value:function(){var t=this.w.globals,e=this.w.config;t.svgWidth=e.chart.width,t.svgHeight=e.chart.height;var i=x.getDimensions(this.el),a=e.chart.width.toString().split(/[0-9]+/g).pop();\"%\"===a?x.isNumber(i[0])&&(0===i[0].width&&(i=x.getDimensions(this.el.parentNode)),t.svgWidth=i[0]*parseInt(e.chart.width,10)/100):\"px\"!==a&&\"\"!==a||(t.svgWidth=parseInt(e.chart.width,10));var s=e.chart.height.toString().split(/[0-9]+/g).pop();if(\"auto\"!==t.svgHeight&&\"\"!==t.svgHeight)if(\"%\"===s){var r=x.getDimensions(this.el.parentNode);t.svgHeight=r[1]*parseInt(e.chart.height,10)/100}else t.svgHeight=parseInt(e.chart.height,10);else t.axisCharts?t.svgHeight=t.svgWidth/1.61:t.svgHeight=t.svgWidth/1.2;if(t.svgWidth<0&&(t.svgWidth=0),t.svgHeight<0&&(t.svgHeight=0),m.setAttrs(t.dom.Paper.node,{width:t.svgWidth,height:t.svgHeight}),\"%\"!==s){var o=e.chart.sparkline.enabled?0:t.axisCharts?e.chart.parentHeightOffset:0;t.dom.Paper.node.parentNode.parentNode.style.minHeight=t.svgHeight+o+\"px\"}t.dom.elWrap.style.width=t.svgWidth+\"px\",t.dom.elWrap.style.height=t.svgHeight+\"px\"}},{key:\"shiftGraphPosition\",value:function(){var t=this.w.globals,e=t.translateY,i={transform:\"translate(\"+t.translateX+\", \"+e+\")\"};m.setAttrs(t.dom.elGraphical.node,i)}},{key:\"resizeNonAxisCharts\",value:function(){var t=this.w,e=t.globals,i=0,a=t.config.chart.sparkline.enabled?1:15;a+=t.config.grid.padding.bottom,\"top\"!==t.config.legend.position&&\"bottom\"!==t.config.legend.position||!t.config.legend.show||t.config.legend.floating||(i=new lt(this.ctx).legendHelpers.getLegendBBox().clwh+10);var s=t.globals.dom.baseEl.querySelector(\".apexcharts-radialbar, .apexcharts-pie\"),r=2.05*t.globals.radialSize;if(s&&!t.config.chart.sparkline.enabled&&0!==t.config.plotOptions.radialBar.startAngle){var o=x.getBoundingClientRect(s);r=o.bottom;var n=o.bottom-o.top;r=Math.max(2.05*t.globals.radialSize,n)}var l=r+e.translateY+i+a;e.dom.elLegendForeign&&e.dom.elLegendForeign.setAttribute(\"height\",l),t.config.chart.height&&String(t.config.chart.height).indexOf(\"%\")>0||(e.dom.elWrap.style.height=l+\"px\",m.setAttrs(e.dom.Paper.node,{height:l}),e.dom.Paper.node.parentNode.parentNode.style.minHeight=l+\"px\")}},{key:\"coreCalculations\",value:function(){new U(this.ctx).init()}},{key:\"resetGlobals\",value:function(){var t=this,e=function(){return t.w.config.series.map((function(t){return[]}))},i=new E,a=this.w.globals;i.initGlobalVars(a),a.seriesXvalues=e(),a.seriesYvalues=e()}},{key:\"isMultipleY\",value:function(){if(this.w.config.yaxis.constructor===Array&&this.w.config.yaxis.length>1)return this.w.globals.isMultipleYAxis=!0,!0}},{key:\"xySettings\",value:function(){var t=null,e=this.w;if(e.globals.axisCharts){if(\"back\"===e.config.xaxis.crosshairs.position)new Q(this.ctx).drawXCrosshairs();if(\"back\"===e.config.yaxis[0].crosshairs.position)new Q(this.ctx).drawYCrosshairs();if(\"datetime\"===e.config.xaxis.type&&void 0===e.config.xaxis.labels.formatter){this.ctx.timeScale=new Ft(this.ctx);var i=[];isFinite(e.globals.minX)&&isFinite(e.globals.maxX)&&!e.globals.isBarHorizontal?i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minX,e.globals.maxX):e.globals.isBarHorizontal&&(i=this.ctx.timeScale.calculateTimeScaleTicks(e.globals.minY,e.globals.maxY)),this.ctx.timeScale.recalcDimensionsBasedOnFormat(i)}t=new y(this.ctx).getCalculatedRatios()}return t}},{key:\"updateSourceChart\",value:function(t){this.ctx.w.globals.selection=void 0,this.ctx.updateHelpers._updateOptions({chart:{selection:{xaxis:{min:t.w.globals.minX,max:t.w.globals.maxX}}}},!1,!1)}},{key:\"setupBrushHandler\",value:function(){var t=this,i=this.w;if(i.config.chart.brush.enabled&&\"function\"!=typeof i.config.chart.events.selection){var a=i.config.chart.brush.targets||[i.config.chart.brush.target];a.forEach((function(e){var i=ApexCharts.getChartByID(e);i.w.globals.brushSource=t.ctx,\"function\"!=typeof i.w.config.chart.events.zoomed&&(i.w.config.chart.events.zoomed=function(){t.updateSourceChart(i)}),\"function\"!=typeof i.w.config.chart.events.scrolled&&(i.w.config.chart.events.scrolled=function(){t.updateSourceChart(i)})})),i.config.chart.events.selection=function(t,s){a.forEach((function(t){var a=ApexCharts.getChartByID(t),r=x.clone(i.config.yaxis);if(i.config.chart.brush.autoScaleYaxis&&1===a.w.globals.series.length){var o=new _(a);r=o.autoScaleY(a,r,s)}var n=a.w.config.yaxis.reduce((function(t,i,s){return[].concat(u(t),[e(e({},a.w.config.yaxis[s]),{},{min:r[0].min,max:r[0].max})])}),[]);a.ctx.updateHelpers._updateOptions({xaxis:{min:s.xaxis.min,max:s.xaxis.max},yaxis:n},!1,!1,!1,!1)}))}}}}]),t}(),Dt=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"_updateOptions\",value:function(t){var e=this,a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];return new Promise((function(n){var l=[e.ctx];r&&(l=e.ctx.getSyncedCharts()),e.ctx.w.globals.isExecCalled&&(l=[e.ctx],e.ctx.w.globals.isExecCalled=!1),l.forEach((function(r,h){var c=r.w;if(c.globals.shouldAnimate=s,a||(c.globals.resized=!0,c.globals.dataChanged=!0,s&&r.series.getPreviousPaths()),t&&\"object\"===i(t)&&(r.config=new X(t),t=y.extendArrayProps(r.config,t,c),r.w.globals.chartID!==e.ctx.w.globals.chartID&&delete t.series,c.config=x.extend(c.config,t),o&&(c.globals.lastXAxis=t.xaxis?x.clone(t.xaxis):[],c.globals.lastYAxis=t.yaxis?x.clone(t.yaxis):[],c.globals.initialConfig=x.extend({},c.config),c.globals.initialSeries=x.clone(c.config.series),t.series))){for(var d=0;d2&&void 0!==arguments[2]&&arguments[2];return new Promise((function(s){var r,o=i.w;return o.globals.shouldAnimate=e,o.globals.dataChanged=!0,e&&i.ctx.series.getPreviousPaths(),o.globals.axisCharts?(0===(r=t.map((function(t,e){return i._extendSeries(t,e)}))).length&&(r=[{data:[]}]),o.config.series=r):o.config.series=t.slice(),a&&(o.globals.initialConfig.series=x.clone(o.config.series),o.globals.initialSeries=x.clone(o.config.series)),i.ctx.update().then((function(){s(i.ctx)}))}))}},{key:\"_extendSeries\",value:function(t,i){var a=this.w,s=a.config.series[i];return e(e({},a.config.series[i]),{},{name:t.name?t.name:s&&s.name,color:t.color?t.color:s&&s.color,type:t.type?t.type:s&&s.type,data:t.data?t.data:s&&s.data})}},{key:\"toggleDataPointSelection\",value:function(t,e){var i=this.w,a=null,s=\".apexcharts-series[data\\\\:realIndex='\".concat(t,\"']\");return i.globals.axisCharts?a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(e,\"'], \").concat(s,\" circle[j='\").concat(e,\"'], \").concat(s,\" rect[j='\").concat(e,\"']\")).members[0]:void 0===e&&(a=i.globals.dom.Paper.select(\"\".concat(s,\" path[j='\").concat(t,\"']\")).members[0],\"pie\"!==i.config.chart.type&&\"polarArea\"!==i.config.chart.type&&\"donut\"!==i.config.chart.type||this.ctx.pie.pieClicked(t)),a?(new m(this.ctx).pathMouseDown(a,null),a.node?a.node:null):(console.warn(\"toggleDataPointSelection: Element not found\"),null)}},{key:\"forceXAxisUpdate\",value:function(t){var e=this.w;if([\"min\",\"max\"].forEach((function(i){void 0!==t.xaxis[i]&&(e.config.xaxis[i]=t.xaxis[i],e.globals.lastXAxis[i]=t.xaxis[i])})),t.xaxis.categories&&t.xaxis.categories.length&&(e.config.xaxis.categories=t.xaxis.categories),e.config.xaxis.convertedCatToNumeric){var i=new z(t);t=i.convertCatToNumericXaxis(t,this.ctx)}return t}},{key:\"forceYAxisUpdate\",value:function(t){return t.chart&&t.chart.stacked&&\"100%\"===t.chart.stackType&&(Array.isArray(t.yaxis)?t.yaxis.forEach((function(e,i){t.yaxis[i].min=0,t.yaxis[i].max=100})):(t.yaxis.min=0,t.yaxis.max=100)),t}},{key:\"revertDefaultAxisMinMax\",value:function(t){var e=this,i=this.w,a=i.globals.lastXAxis,s=i.globals.lastYAxis;t&&t.xaxis&&(a=t.xaxis),t&&t.yaxis&&(s=t.yaxis),i.config.xaxis.min=a.min,i.config.xaxis.max=a.max;var r=function(t){void 0!==s[t]&&(i.config.yaxis[t].min=s[t].min,i.config.yaxis[t].max=s[t].max)};i.config.yaxis.map((function(t,a){i.globals.zoomed||void 0!==s[a]?r(a):void 0!==e.ctx.opts.yaxis[a]&&(t.min=e.ctx.opts.yaxis[a].min,t.max=e.ctx.opts.yaxis[a].max)}))}}]),t}();Xt=\"undefined\"!=typeof window?window:void 0,Et=function(t,e){var a=(void 0!==this?this:t).SVG=function(t){if(a.supported)return t=new a.Doc(t),a.parser.draw||a.prepare(),t};if(a.ns=\"http://www.w3.org/2000/svg\",a.xmlns=\"http://www.w3.org/2000/xmlns/\",a.xlink=\"http://www.w3.org/1999/xlink\",a.svgjs=\"http://svgjs.dev\",a.supported=!0,!a.supported)return!1;a.did=1e3,a.eid=function(t){return\"Svgjs\"+d(t)+a.did++},a.create=function(t){var i=e.createElementNS(this.ns,t);return i.setAttribute(\"id\",this.eid(t)),i},a.extend=function(){var t,e;e=(t=[].slice.call(arguments)).pop();for(var i=t.length-1;i>=0;i--)if(t[i])for(var s in e)t[i].prototype[s]=e[s];a.Set&&a.Set.inherit&&a.Set.inherit()},a.invent=function(t){var e=\"function\"==typeof t.create?t.create:function(){this.constructor.call(this,a.create(t.create))};return t.inherit&&(e.prototype=new t.inherit),t.extend&&a.extend(e,t.extend),t.construct&&a.extend(t.parent||a.Container,t.construct),e},a.adopt=function(e){return e?e.instance?e.instance:((i=\"svg\"==e.nodeName?e.parentNode instanceof t.SVGElement?new a.Nested:new a.Doc:\"linearGradient\"==e.nodeName?new a.Gradient(\"linear\"):\"radialGradient\"==e.nodeName?new a.Gradient(\"radial\"):a[d(e.nodeName)]?new(a[d(e.nodeName)]):new a.Element(e)).type=e.nodeName,i.node=e,e.instance=i,i instanceof a.Doc&&i.namespace().defs(),i.setData(JSON.parse(e.getAttribute(\"svgjs:data\"))||{}),i):null;var i},a.prepare=function(){var t=e.getElementsByTagName(\"body\")[0],i=(t?new a.Doc(t):a.adopt(e.documentElement).nested()).size(2,0);a.parser={body:t||e.documentElement,draw:i.style(\"opacity:0;position:absolute;left:-100%;top:-100%;overflow:hidden\").node,poly:i.polyline().node,path:i.path().node,native:a.create(\"svg\")}},a.parser={native:a.create(\"svg\")},e.addEventListener(\"DOMContentLoaded\",(function(){a.parser.draw||a.prepare()}),!1),a.regex={numberAndUnit:/^([+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?)([a-z%]*)$/i,hex:/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,rgb:/rgb\\((\\d+),(\\d+),(\\d+)\\)/,reference:/#([a-z0-9\\-_]+)/i,transforms:/\\)\\s*,?\\s*/,whitespace:/\\s/g,isHex:/^#[a-f0-9]{3,6}$/i,isRgb:/^rgb\\(/,isCss:/[^:]+:[^;]+;?/,isBlank:/^(\\s+)?$/,isNumber:/^[+-]?(\\d+(\\.\\d*)?|\\.\\d+)(e[+-]?\\d+)?$/i,isPercent:/^-?[\\d\\.]+%$/,isImage:/\\.(jpg|jpeg|png|gif|svg)(\\?[^=]+.*)?/i,delimiter:/[\\s,]+/,hyphen:/([^e])\\-/gi,pathLetters:/[MLHVCSQTAZ]/gi,isPathLetter:/[MLHVCSQTAZ]/i,numbersWithDots:/((\\d?\\.\\d+(?:e[+-]?\\d+)?)((?:\\.\\d+(?:e[+-]?\\d+)?)+))+/gi,dots:/\\./g},a.utils={map:function(t,e){for(var i=t.length,a=[],s=0;s1?1:t,new a.Color({r:~~(this.r+(this.destination.r-this.r)*t),g:~~(this.g+(this.destination.g-this.g)*t),b:~~(this.b+(this.destination.b-this.b)*t)})):this}}),a.Color.test=function(t){return t+=\"\",a.regex.isHex.test(t)||a.regex.isRgb.test(t)},a.Color.isRgb=function(t){return t&&\"number\"==typeof t.r&&\"number\"==typeof t.g&&\"number\"==typeof t.b},a.Color.isColor=function(t){return a.Color.isRgb(t)||a.Color.test(t)},a.Array=function(t,e){0==(t=(t||[]).valueOf()).length&&e&&(t=e.valueOf()),this.value=this.parse(t)},a.extend(a.Array,{toString:function(){return this.value.join(\" \")},valueOf:function(){return this.value},parse:function(t){return t=t.valueOf(),Array.isArray(t)?t:this.split(t)}}),a.PointArray=function(t,e){a.Array.call(this,t,e||[[0,0]])},a.PointArray.prototype=new a.Array,a.PointArray.prototype.constructor=a.PointArray;for(var s={M:function(t,e,i){return e.x=i.x=t[0],e.y=i.y=t[1],[\"M\",e.x,e.y]},L:function(t,e){return e.x=t[0],e.y=t[1],[\"L\",t[0],t[1]]},H:function(t,e){return e.x=t[0],[\"H\",t[0]]},V:function(t,e){return e.y=t[0],[\"V\",t[0]]},C:function(t,e){return e.x=t[4],e.y=t[5],[\"C\",t[0],t[1],t[2],t[3],t[4],t[5]]},Q:function(t,e){return e.x=t[2],e.y=t[3],[\"Q\",t[0],t[1],t[2],t[3]]},Z:function(t,e,i){return e.x=i.x,e.y=i.y,[\"Z\"]}},r=\"mlhvqtcsaz\".split(\"\"),o=0,n=r.length;ol);return r},bbox:function(){return a.parser.draw||a.prepare(),a.parser.path.setAttribute(\"d\",this.toString()),a.parser.path.getBBox()}}),a.Number=a.invent({create:function(t,e){this.value=0,this.unit=e||\"\",\"number\"==typeof t?this.value=isNaN(t)?0:isFinite(t)?t:t<0?-34e37:34e37:\"string\"==typeof t?(e=t.match(a.regex.numberAndUnit))&&(this.value=parseFloat(e[1]),\"%\"==e[5]?this.value/=100:\"s\"==e[5]&&(this.value*=1e3),this.unit=e[5]):t instanceof a.Number&&(this.value=t.valueOf(),this.unit=t.unit)},extend:{toString:function(){return(\"%\"==this.unit?~~(1e8*this.value)/1e6:\"s\"==this.unit?this.value/1e3:this.value)+this.unit},toJSON:function(){return this.toString()},valueOf:function(){return this.value},plus:function(t){return t=new a.Number(t),new a.Number(this+t,this.unit||t.unit)},minus:function(t){return t=new a.Number(t),new a.Number(this-t,this.unit||t.unit)},times:function(t){return t=new a.Number(t),new a.Number(this*t,this.unit||t.unit)},divide:function(t){return t=new a.Number(t),new a.Number(this/t,this.unit||t.unit)},to:function(t){var e=new a.Number(this);return\"string\"==typeof t&&(e.unit=t),e},morph:function(t){return this.destination=new a.Number(t),t.relative&&(this.destination.value+=this.value),this},at:function(t){return this.destination?new a.Number(this.destination).minus(this).times(t).plus(this):this}}}),a.Element=a.invent({create:function(t){this._stroke=a.defaults.attrs.stroke,this._event=null,this.dom={},(this.node=t)&&(this.type=t.nodeName,this.node.instance=this,this._stroke=t.getAttribute(\"stroke\")||this._stroke)},extend:{x:function(t){return this.attr(\"x\",t)},y:function(t){return this.attr(\"y\",t)},cx:function(t){return null==t?this.x()+this.width()/2:this.x(t-this.width()/2)},cy:function(t){return null==t?this.y()+this.height()/2:this.y(t-this.height()/2)},move:function(t,e){return this.x(t).y(e)},center:function(t,e){return this.cx(t).cy(e)},width:function(t){return this.attr(\"width\",t)},height:function(t){return this.attr(\"height\",t)},size:function(t,e){var i=u(this,t,e);return this.width(new a.Number(i.width)).height(new a.Number(i.height))},clone:function(t){this.writeDataToDom();var e=x(this.node.cloneNode(!0));return t?t.add(e):this.after(e),e},remove:function(){return this.parent()&&this.parent().removeElement(this),this},replace:function(t){return this.after(t).remove(),t},addTo:function(t){return t.put(this)},putIn:function(t){return t.add(this)},id:function(t){return this.attr(\"id\",t)},show:function(){return this.style(\"display\",\"\")},hide:function(){return this.style(\"display\",\"none\")},visible:function(){return\"none\"!=this.style(\"display\")},toString:function(){return this.attr(\"id\")},classes:function(){var t=this.attr(\"class\");return null==t?[]:t.trim().split(a.regex.delimiter)},hasClass:function(t){return-1!=this.classes().indexOf(t)},addClass:function(t){if(!this.hasClass(t)){var e=this.classes();e.push(t),this.attr(\"class\",e.join(\" \"))}return this},removeClass:function(t){return this.hasClass(t)&&this.attr(\"class\",this.classes().filter((function(e){return e!=t})).join(\" \")),this},toggleClass:function(t){return this.hasClass(t)?this.removeClass(t):this.addClass(t)},reference:function(t){return a.get(this.attr(t))},parent:function(e){var i=this;if(!i.node.parentNode)return null;if(i=a.adopt(i.node.parentNode),!e)return i;for(;i&&i.node instanceof t.SVGElement;){if(\"string\"==typeof e?i.matches(e):i instanceof e)return i;if(!i.node.parentNode||\"#document\"==i.node.parentNode.nodeName)return null;i=a.adopt(i.node.parentNode)}},doc:function(){return this instanceof a.Doc?this:this.parent(a.Doc)},parents:function(t){var e=[],i=this;do{if(!(i=i.parent(t))||!i.node)break;e.push(i)}while(i.parent);return e},matches:function(t){return function(t,e){return(t.matches||t.matchesSelector||t.msMatchesSelector||t.mozMatchesSelector||t.webkitMatchesSelector||t.oMatchesSelector).call(t,e)}(this.node,t)},native:function(){return this.node},svg:function(t){var i=e.createElement(\"svg\");if(!(t&&this instanceof a.Parent))return i.appendChild(t=e.createElement(\"svg\")),this.writeDataToDom(),t.appendChild(this.node.cloneNode(!0)),i.innerHTML.replace(/^/,\"\").replace(/<\\/svg>$/,\"\");i.innerHTML=\"\"+t.replace(/\\n/,\"\").replace(/<([\\w:-]+)([^<]+?)\\/>/g,\"<$1$2>\")+\"\";for(var s=0,r=i.firstChild.childNodes.length;s\":function(t){return-Math.cos(t*Math.PI)/2+.5},\">\":function(t){return Math.sin(t*Math.PI/2)},\"<\":function(t){return 1-Math.cos(t*Math.PI/2)}},a.morph=function(t){return function(e,i){return new a.MorphObj(e,i).at(t)}},a.Situation=a.invent({create:function(t){this.init=!1,this.reversed=!1,this.reversing=!1,this.duration=new a.Number(t.duration).valueOf(),this.delay=new a.Number(t.delay).valueOf(),this.start=+new Date+this.delay,this.finish=this.start+this.duration,this.ease=t.ease,this.loop=0,this.loops=!1,this.animations={},this.attrs={},this.styles={},this.transforms=[],this.once={}}}),a.FX=a.invent({create:function(t){this._target=t,this.situations=[],this.active=!1,this.situation=null,this.paused=!1,this.lastPos=0,this.pos=0,this.absPos=0,this._speed=1},extend:{animate:function(t,e,s){\"object\"===i(t)&&(e=t.ease,s=t.delay,t=t.duration);var r=new a.Situation({duration:t||1e3,delay:s||0,ease:a.easing[e||\"-\"]||e});return this.queue(r),this},target:function(t){return t&&t instanceof a.Element?(this._target=t,this):this._target},timeToAbsPos:function(t){return(t-this.situation.start)/(this.situation.duration/this._speed)},absPosToTime:function(t){return this.situation.duration/this._speed*t+this.situation.start},startAnimFrame:function(){this.stopAnimFrame(),this.animationFrame=t.requestAnimationFrame(function(){this.step()}.bind(this))},stopAnimFrame:function(){t.cancelAnimationFrame(this.animationFrame)},start:function(){return!this.active&&this.situation&&(this.active=!0,this.startCurrent()),this},startCurrent:function(){return this.situation.start=+new Date+this.situation.delay/this._speed,this.situation.finish=this.situation.start+this.situation.duration/this._speed,this.initAnimations().step()},queue:function(t){return(\"function\"==typeof t||t instanceof a.Situation)&&this.situations.push(t),this.situation||(this.situation=this.situations.shift()),this},dequeue:function(){return this.stop(),this.situation=this.situations.shift(),this.situation&&(this.situation instanceof a.Situation?this.start():this.situation.call(this)),this},initAnimations:function(){var t,e=this.situation;if(e.init)return this;for(var i in e.animations){t=this.target()[i](),Array.isArray(t)||(t=[t]),Array.isArray(e.animations[i])||(e.animations[i]=[e.animations[i]]);for(var s=t.length;s--;)e.animations[i][s]instanceof a.Number&&(t[s]=new a.Number(t[s])),e.animations[i][s]=t[s].morph(e.animations[i][s])}for(var i in e.attrs)e.attrs[i]=new a.MorphObj(this.target().attr(i),e.attrs[i]);for(var i in e.styles)e.styles[i]=new a.MorphObj(this.target().style(i),e.styles[i]);return e.initialTransformation=this.target().matrixify(),e.init=!0,this},clearQueue:function(){return this.situations=[],this},clearCurrent:function(){return this.situation=null,this},stop:function(t,e){var i=this.active;return this.active=!1,e&&this.clearQueue(),t&&this.situation&&(!i&&this.startCurrent(),this.atEnd()),this.stopAnimFrame(),this.clearCurrent()},after:function(t){var e=this.last();return this.target().on(\"finished.fx\",(function i(a){a.detail.situation==e&&(t.call(this,e),this.off(\"finished.fx\",i))})),this._callStart()},during:function(t){var e=this.last(),i=function(i){i.detail.situation==e&&t.call(this,i.detail.pos,a.morph(i.detail.pos),i.detail.eased,e)};return this.target().off(\"during.fx\",i).on(\"during.fx\",i),this.after((function(){this.off(\"during.fx\",i)})),this._callStart()},afterAll:function(t){var e=function e(i){t.call(this),this.off(\"allfinished.fx\",e)};return this.target().off(\"allfinished.fx\",e).on(\"allfinished.fx\",e),this._callStart()},last:function(){return this.situations.length?this.situations[this.situations.length-1]:this.situation},add:function(t,e,i){return this.last()[i||\"animations\"][t]=e,this._callStart()},step:function(t){var e,i,a;t||(this.absPos=this.timeToAbsPos(+new Date)),!1!==this.situation.loops?(e=Math.max(this.absPos,0),i=Math.floor(e),!0===this.situation.loops||ithis.lastPos&&r<=s&&(this.situation.once[r].call(this.target(),this.pos,s),delete this.situation.once[r]);return this.active&&this.target().fire(\"during\",{pos:this.pos,eased:s,fx:this,situation:this.situation}),this.situation?(this.eachAt(),1==this.pos&&!this.situation.reversed||this.situation.reversed&&0==this.pos?(this.stopAnimFrame(),this.target().fire(\"finished\",{fx:this,situation:this.situation}),this.situations.length||(this.target().fire(\"allfinished\"),this.situations.length||(this.target().off(\".fx\"),this.active=!1)),this.active?this.dequeue():this.clearCurrent()):!this.paused&&this.active&&this.startAnimFrame(),this.lastPos=s,this):this},eachAt:function(){var t,e=this,i=this.target(),s=this.situation;for(var r in s.animations)t=[].concat(s.animations[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i[r].apply(i,t);for(var r in s.attrs)t=[r].concat(s.attrs[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.attr.apply(i,t);for(var r in s.styles)t=[r].concat(s.styles[r]).map((function(t){return\"string\"!=typeof t&&t.at?t.at(s.ease(e.pos),e.pos):t})),i.style.apply(i,t);if(s.transforms.length){t=s.initialTransformation,r=0;for(var o=s.transforms.length;r=0;--s)this[m[s]]=null!=t[m[s]]?t[m[s]]:e[m[s]]},extend:{extract:function(){var t=f(this,0,1);f(this,1,0);var e=180/Math.PI*Math.atan2(t.y,t.x)-90;return{x:this.e,y:this.f,transformedX:(this.e*Math.cos(e*Math.PI/180)+this.f*Math.sin(e*Math.PI/180))/Math.sqrt(this.a*this.a+this.b*this.b),transformedY:(this.f*Math.cos(e*Math.PI/180)+this.e*Math.sin(-e*Math.PI/180))/Math.sqrt(this.c*this.c+this.d*this.d),rotation:e,a:this.a,b:this.b,c:this.c,d:this.d,e:this.e,f:this.f,matrix:new a.Matrix(this)}},clone:function(){return new a.Matrix(this)},morph:function(t){return this.destination=new a.Matrix(t),this},multiply:function(t){return new a.Matrix(this.native().multiply(function(t){return t instanceof a.Matrix||(t=new a.Matrix(t)),t}(t).native()))},inverse:function(){return new a.Matrix(this.native().inverse())},translate:function(t,e){return new a.Matrix(this.native().translate(t||0,e||0))},native:function(){for(var t=a.parser.native.createSVGMatrix(),e=m.length-1;e>=0;e--)t[m[e]]=this[m[e]];return t},toString:function(){return\"matrix(\"+v(this.a)+\",\"+v(this.b)+\",\"+v(this.c)+\",\"+v(this.d)+\",\"+v(this.e)+\",\"+v(this.f)+\")\"}},parent:a.Element,construct:{ctm:function(){return new a.Matrix(this.node.getCTM())},screenCTM:function(){if(this instanceof a.Nested){var t=this.rect(1,1),e=t.node.getScreenCTM();return t.remove(),new a.Matrix(e)}return new a.Matrix(this.node.getScreenCTM())}}}),a.Point=a.invent({create:function(t,e){var a;a=Array.isArray(t)?{x:t[0],y:t[1]}:\"object\"===i(t)?{x:t.x,y:t.y}:null!=t?{x:t,y:null!=e?e:t}:{x:0,y:0},this.x=a.x,this.y=a.y},extend:{clone:function(){return new a.Point(this)},morph:function(t,e){return this.destination=new a.Point(t,e),this}}}),a.extend(a.Element,{point:function(t,e){return new a.Point(t,e).transform(this.screenCTM().inverse())}}),a.extend(a.Element,{attr:function(t,e,s){if(null==t){for(t={},s=(e=this.node.attributes).length-1;s>=0;s--)t[e[s].nodeName]=a.regex.isNumber.test(e[s].nodeValue)?parseFloat(e[s].nodeValue):e[s].nodeValue;return t}if(\"object\"===i(t))for(var r in t)this.attr(r,t[r]);else if(null===e)this.node.removeAttribute(t);else{if(null==e)return null==(e=this.node.getAttribute(t))?a.defaults.attrs[t]:a.regex.isNumber.test(e)?parseFloat(e):e;\"stroke-width\"==t?this.attr(\"stroke\",parseFloat(e)>0?this._stroke:null):\"stroke\"==t&&(this._stroke=e),\"fill\"!=t&&\"stroke\"!=t||(a.regex.isImage.test(e)&&(e=this.doc().defs().image(e,0,0)),e instanceof a.Image&&(e=this.doc().defs().pattern(0,0,(function(){this.add(e)})))),\"number\"==typeof e?e=new a.Number(e):a.Color.isColor(e)?e=new a.Color(e):Array.isArray(e)&&(e=new a.Array(e)),\"leading\"==t?this.leading&&this.leading(e):\"string\"==typeof s?this.node.setAttributeNS(s,t,e.toString()):this.node.setAttribute(t,e.toString()),!this.rebuild||\"font-size\"!=t&&\"x\"!=t||this.rebuild(t,e)}return this}}),a.extend(a.Element,{transform:function(t,e){var s;return\"object\"!==i(t)?(s=new a.Matrix(this).extract(),\"string\"==typeof t?s[t]:s):(s=new a.Matrix(this),e=!!e||!!t.relative,null!=t.a&&(s=e?s.multiply(new a.Matrix(t)):new a.Matrix(t)),this.attr(\"transform\",s))}}),a.extend(a.Element,{untransform:function(){return this.attr(\"transform\",null)},matrixify:function(){return(this.attr(\"transform\")||\"\").split(a.regex.transforms).slice(0,-1).map((function(t){var e=t.trim().split(\"(\");return[e[0],e[1].split(a.regex.delimiter).map((function(t){return parseFloat(t)}))]})).reduce((function(t,e){return\"matrix\"==e[0]?t.multiply(p(e[1])):t[e[0]].apply(t,e[1])}),new a.Matrix)},toParent:function(t){if(this==t)return this;var e=this.screenCTM(),i=t.screenCTM().inverse();return this.addTo(t).untransform().transform(i.multiply(e)),this},toDoc:function(){return this.toParent(this.doc())}}),a.Transformation=a.invent({create:function(t,e){if(arguments.length>1&&\"boolean\"!=typeof e)return this.constructor.call(this,[].slice.call(arguments));if(Array.isArray(t))for(var a=0,s=this.arguments.length;a=0},index:function(t){return[].slice.call(this.node.childNodes).indexOf(t.node)},get:function(t){return a.adopt(this.node.childNodes[t])},first:function(){return this.get(0)},last:function(){return this.get(this.node.childNodes.length-1)},each:function(t,e){for(var i=this.children(),s=0,r=i.length;s=0;i--)e.childNodes[i]instanceof t.SVGElement&&x(e.childNodes[i]);return a.adopt(e).id(a.eid(e.nodeName))}function b(t){return null==t.x&&(t.x=0,t.y=0,t.width=0,t.height=0),t.w=t.width,t.h=t.height,t.x2=t.x+t.width,t.y2=t.y+t.height,t.cx=t.x+t.width/2,t.cy=t.y+t.height/2,t}function v(t){return Math.abs(t)>1e-37?t:0}[\"fill\",\"stroke\"].forEach((function(t){var e={};e[t]=function(e){if(void 0===e)return this;if(\"string\"==typeof e||a.Color.isRgb(e)||e&&\"function\"==typeof e.fill)this.attr(t,e);else for(var i=l[t].length-1;i>=0;i--)null!=e[l[t][i]]&&this.attr(l.prefix(t,l[t][i]),e[l[t][i]]);return this},a.extend(a.Element,a.FX,e)})),a.extend(a.Element,a.FX,{translate:function(t,e){return this.transform({x:t,y:e})},matrix:function(t){return this.attr(\"transform\",new a.Matrix(6==arguments.length?[].slice.call(arguments):t))},opacity:function(t){return this.attr(\"opacity\",t)},dx:function(t){return this.x(new a.Number(t).plus(this instanceof a.FX?0:this.x()),!0)},dy:function(t){return this.y(new a.Number(t).plus(this instanceof a.FX?0:this.y()),!0)}}),a.extend(a.Path,{length:function(){return this.node.getTotalLength()},pointAt:function(t){return this.node.getPointAtLength(t)}}),a.Set=a.invent({create:function(t){Array.isArray(t)?this.members=t:this.clear()},extend:{add:function(){for(var t=[].slice.call(arguments),e=0,i=t.length;e-1&&this.members.splice(e,1),this},each:function(t){for(var e=0,i=this.members.length;e=0},index:function(t){return this.members.indexOf(t)},get:function(t){return this.members[t]},first:function(){return this.get(0)},last:function(){return this.get(this.members.length-1)},valueOf:function(){return this.members}},construct:{set:function(t){return new a.Set(t)}}}),a.FX.Set=a.invent({create:function(t){this.set=t}}),a.Set.inherit=function(){var t=[];for(var e in a.Shape.prototype)\"function\"==typeof a.Shape.prototype[e]&&\"function\"!=typeof a.Set.prototype[e]&&t.push(e);for(var e in t.forEach((function(t){a.Set.prototype[t]=function(){for(var e=0,i=this.members.length;e=0;t--)delete this.memory()[arguments[t]];return this},memory:function(){return this._memory||(this._memory={})}}),a.get=function(t){var i=e.getElementById(function(t){var e=(t||\"\").toString().match(a.regex.reference);if(e)return e[1]}(t)||t);return a.adopt(i)},a.select=function(t,i){return new a.Set(a.utils.map((i||e).querySelectorAll(t),(function(t){return a.adopt(t)})))},a.extend(a.Parent,{select:function(t){return a.select(t,this.node)}});var m=\"abcdef\".split(\"\");if(\"function\"!=typeof t.CustomEvent){var y=function(t,i){i=i||{bubbles:!1,cancelable:!1,detail:void 0};var a=e.createEvent(\"CustomEvent\");return a.initCustomEvent(t,i.bubbles,i.cancelable,i.detail),a};y.prototype=t.Event.prototype,a.CustomEvent=y}else a.CustomEvent=t.CustomEvent;return a},\"function\"==typeof define&&define.amd?define((function(){return Et(Xt,Xt.document)})):\"object\"===(\"undefined\"==typeof exports?\"undefined\":i(exports))&&\"undefined\"!=typeof module?module.exports=Xt.document?Et(Xt,Xt.document):function(t){return Et(t,t.document)}:Xt.SVG=Et(Xt,Xt.document),\n/*! svg.filter.js - v2.0.2 - 2016-02-24\n* https://github.com/wout/svg.filter.js\n* Copyright (c) 2016 Wout Fierens; Licensed MIT */\nfunction(){SVG.Filter=SVG.invent({create:\"filter\",inherit:SVG.Parent,extend:{source:\"SourceGraphic\",sourceAlpha:\"SourceAlpha\",background:\"BackgroundImage\",backgroundAlpha:\"BackgroundAlpha\",fill:\"FillPaint\",stroke:\"StrokePaint\",autoSetIn:!0,put:function(t,e){return this.add(t,e),!t.attr(\"in\")&&this.autoSetIn&&t.attr(\"in\",this.source),t.attr(\"result\")||t.attr(\"result\",t),t},blend:function(t,e,i){return this.put(new SVG.BlendEffect(t,e,i))},colorMatrix:function(t,e){return this.put(new SVG.ColorMatrixEffect(t,e))},convolveMatrix:function(t){return this.put(new SVG.ConvolveMatrixEffect(t))},componentTransfer:function(t){return this.put(new SVG.ComponentTransferEffect(t))},composite:function(t,e,i){return this.put(new SVG.CompositeEffect(t,e,i))},flood:function(t,e){return this.put(new SVG.FloodEffect(t,e))},offset:function(t,e){return this.put(new SVG.OffsetEffect(t,e))},image:function(t){return this.put(new SVG.ImageEffect(t))},merge:function(){var t=[void 0];for(var e in arguments)t.push(arguments[e]);return this.put(new(SVG.MergeEffect.bind.apply(SVG.MergeEffect,t)))},gaussianBlur:function(t,e){return this.put(new SVG.GaussianBlurEffect(t,e))},morphology:function(t,e){return this.put(new SVG.MorphologyEffect(t,e))},diffuseLighting:function(t,e,i){return this.put(new SVG.DiffuseLightingEffect(t,e,i))},displacementMap:function(t,e,i,a,s){return this.put(new SVG.DisplacementMapEffect(t,e,i,a,s))},specularLighting:function(t,e,i,a){return this.put(new SVG.SpecularLightingEffect(t,e,i,a))},tile:function(){return this.put(new SVG.TileEffect)},turbulence:function(t,e,i,a,s){return this.put(new SVG.TurbulenceEffect(t,e,i,a,s))},toString:function(){return\"url(#\"+this.attr(\"id\")+\")\"}}}),SVG.extend(SVG.Defs,{filter:function(t){var e=this.put(new SVG.Filter);return\"function\"==typeof t&&t.call(e,e),e}}),SVG.extend(SVG.Container,{filter:function(t){return this.defs().filter(t)}}),SVG.extend(SVG.Element,SVG.G,SVG.Nested,{filter:function(t){return this.filterer=t instanceof SVG.Element?t:this.doc().filter(t),this.doc()&&this.filterer.doc()!==this.doc()&&this.doc().defs().add(this.filterer),this.attr(\"filter\",this.filterer),this.filterer},unfilter:function(t){return this.filterer&&!0===t&&this.filterer.remove(),delete this.filterer,this.attr(\"filter\",null)}}),SVG.Effect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}}),SVG.ParentEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Parent,extend:{in:function(t){return null==t?this.parent()&&this.parent().select('[result=\"'+this.attr(\"in\")+'\"]').get(0)||this.attr(\"in\"):this.attr(\"in\",t)},result:function(t){return null==t?this.attr(\"result\"):this.attr(\"result\",t)},toString:function(){return this.result()}}});var t={blend:function(t,e){return this.parent()&&this.parent().blend(this,t,e)},colorMatrix:function(t,e){return this.parent()&&this.parent().colorMatrix(t,e).in(this)},convolveMatrix:function(t){return this.parent()&&this.parent().convolveMatrix(t).in(this)},componentTransfer:function(t){return this.parent()&&this.parent().componentTransfer(t).in(this)},composite:function(t,e){return this.parent()&&this.parent().composite(this,t,e)},flood:function(t,e){return this.parent()&&this.parent().flood(t,e)},offset:function(t,e){return this.parent()&&this.parent().offset(t,e).in(this)},image:function(t){return this.parent()&&this.parent().image(t)},merge:function(){return this.parent()&&this.parent().merge.apply(this.parent(),[this].concat(arguments))},gaussianBlur:function(t,e){return this.parent()&&this.parent().gaussianBlur(t,e).in(this)},morphology:function(t,e){return this.parent()&&this.parent().morphology(t,e).in(this)},diffuseLighting:function(t,e,i){return this.parent()&&this.parent().diffuseLighting(t,e,i).in(this)},displacementMap:function(t,e,i,a){return this.parent()&&this.parent().displacementMap(this,t,e,i,a)},specularLighting:function(t,e,i,a){return this.parent()&&this.parent().specularLighting(t,e,i,a).in(this)},tile:function(){return this.parent()&&this.parent().tile().in(this)},turbulence:function(t,e,i,a,s){return this.parent()&&this.parent().turbulence(t,e,i,a,s).in(this)}};SVG.extend(SVG.Effect,t),SVG.extend(SVG.ParentEffect,t),SVG.ChildEffect=SVG.invent({create:function(){this.constructor.call(this)},inherit:SVG.Element,extend:{in:function(t){this.attr(\"in\",t)}}});var e={blend:function(t,e,i){this.attr({in:t,in2:e,mode:i||\"normal\"})},colorMatrix:function(t,e){\"matrix\"==t&&(e=s(e)),this.attr({type:t,values:void 0===e?null:e})},convolveMatrix:function(t){t=s(t),this.attr({order:Math.sqrt(t.split(\" \").length),kernelMatrix:t})},composite:function(t,e,i){this.attr({in:t,in2:e,operator:i})},flood:function(t,e){this.attr(\"flood-color\",t),null!=e&&this.attr(\"flood-opacity\",e)},offset:function(t,e){this.attr({dx:t,dy:e})},image:function(t){this.attr(\"href\",t,SVG.xlink)},displacementMap:function(t,e,i,a,s){this.attr({in:t,in2:e,scale:i,xChannelSelector:a,yChannelSelector:s})},gaussianBlur:function(t,e){null!=t||null!=e?this.attr(\"stdDeviation\",r(Array.prototype.slice.call(arguments))):this.attr(\"stdDeviation\",\"0 0\")},morphology:function(t,e){this.attr({operator:t,radius:e})},tile:function(){},turbulence:function(t,e,i,a,s){this.attr({numOctaves:e,seed:i,stitchTiles:a,baseFrequency:t,type:s})}},i={merge:function(){var t;if(arguments[0]instanceof SVG.Set){var e=this;arguments[0].each((function(t){this instanceof SVG.MergeNode?e.put(this):(this instanceof SVG.Effect||this instanceof SVG.ParentEffect)&&e.put(new SVG.MergeNode(this))}))}else{t=Array.isArray(arguments[0])?arguments[0]:arguments;for(var i=0;i1&&(T*=a=Math.sqrt(a),M*=a);s=(new SVG.Matrix).rotate(I).scale(1/T,1/M).rotate(-I),F=F.transform(s),R=R.transform(s),r=[R.x-F.x,R.y-F.y],n=r[0]*r[0]+r[1]*r[1],o=Math.sqrt(n),r[0]/=o,r[1]/=o,l=n<4?Math.sqrt(1-n/4):0,z===X&&(l*=-1);h=new SVG.Point((R.x+F.x)/2+l*-r[1],(R.y+F.y)/2+l*r[0]),c=new SVG.Point(F.x-h.x,F.y-h.y),d=new SVG.Point(R.x-h.x,R.y-h.y),g=Math.acos(c.x/Math.sqrt(c.x*c.x+c.y*c.y)),c.y<0&&(g*=-1);u=Math.acos(d.x/Math.sqrt(d.x*d.x+d.y*d.y)),d.y<0&&(u*=-1);X&&g>u&&(u+=2*Math.PI);!X&&gr.maxX-e.width&&(o=(a=r.maxX-e.width)-this.startPoints.box.x),null!=r.minY&&sr.maxY-e.height&&(n=(s=r.maxY-e.height)-this.startPoints.box.y),null!=r.snapToGrid&&(a-=a%r.snapToGrid,s-=s%r.snapToGrid,o-=o%r.snapToGrid,n-=n%r.snapToGrid),this.el instanceof SVG.G?this.el.matrix(this.startPoints.transform).transform({x:o,y:n},!0):this.el.move(a,s));return i},t.prototype.end=function(t){var e=this.drag(t);this.el.fire(\"dragend\",{event:t,p:e,m:this.m,handler:this}),SVG.off(window,\"mousemove.drag\"),SVG.off(window,\"touchmove.drag\"),SVG.off(window,\"mouseup.drag\"),SVG.off(window,\"touchend.drag\")},SVG.extend(SVG.Element,{draggable:function(e,i){\"function\"!=typeof e&&\"object\"!=typeof e||(i=e,e=!0);var a=this.remember(\"_draggable\")||new t(this);return(e=void 0===e||e)?a.init(i||{},e):(this.off(\"mousedown.drag\"),this.off(\"touchstart.drag\")),this}})}.call(void 0),function(){function t(t){this.el=t,t.remember(\"_selectHandler\",this),this.pointSelection={isSelected:!1},this.rectSelection={isSelected:!1},this.pointsList={lt:[0,0],rt:[\"width\",0],rb:[\"width\",\"height\"],lb:[0,\"height\"],t:[\"width\",0],r:[\"width\",\"height\"],b:[\"width\",\"height\"],l:[0,\"height\"]},this.pointCoord=function(t,e,i){var a=\"string\"!=typeof t?t:e[t];return i?a/2:a},this.pointCoords=function(t,e){var i=this.pointsList[t];return{x:this.pointCoord(i[0],e,\"t\"===t||\"b\"===t),y:this.pointCoord(i[1],e,\"r\"===t||\"l\"===t)}}}t.prototype.init=function(t,e){var i=this.el.bbox();this.options={};var a=this.el.selectize.defaults.points;for(var s in this.el.selectize.defaults)this.options[s]=this.el.selectize.defaults[s],void 0!==e[s]&&(this.options[s]=e[s]);var r=[\"points\",\"pointsExclude\"];for(var s in r){var o=this.options[r[s]];\"string\"==typeof o?o=o.length>0?o.split(/\\s*,\\s*/i):[]:\"boolean\"==typeof o&&\"points\"===r[s]&&(o=o?a:[]),this.options[r[s]]=o}this.options.points=[a,this.options.points].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)>-1}))})),this.options.points=[this.options.points,this.options.pointsExclude].reduce((function(t,e){return t.filter((function(t){return e.indexOf(t)<0}))})),this.parent=this.el.parent(),this.nested=this.nested||this.parent.group(),this.nested.matrix(new SVG.Matrix(this.el).translate(i.x,i.y)),this.options.deepSelect&&-1!==[\"line\",\"polyline\",\"polygon\"].indexOf(this.el.type)?this.selectPoints(t):this.selectRect(t),this.observe(),this.cleanup()},t.prototype.selectPoints=function(t){return this.pointSelection.isSelected=t,this.pointSelection.set||(this.pointSelection.set=this.parent.set(),this.drawPoints()),this},t.prototype.getPointArray=function(){var t=this.el.bbox();return this.el.array().valueOf().map((function(e){return[e[0]-t.x,e[1]-t.y]}))},t.prototype.drawPoints=function(){for(var t=this,e=this.getPointArray(),i=0,a=e.length;i0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y+i[1]).size(this.parameters.box.width-i[0],this.parameters.box.height-i[1])}};break;case\"rt\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).size(this.parameters.box.width+i[0],this.parameters.box.height-i[1])}};break;case\"rb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x-i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize+i[0]);i=this.checkAspectRatio(i),this.el.move(this.parameters.box.x,this.parameters.box.y).size(this.parameters.box.width+i[0],this.parameters.box.height+i[1])}};break;case\"lb\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0&&this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return this.el.move(this.parameters.box.x+i[0],this.parameters.box.y),void this.el.attr(\"font-size\",this.parameters.fontSize-i[0]);i=this.checkAspectRatio(i,!0),this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).size(this.parameters.box.width-i[0],this.parameters.box.height+i[1])}};break;case\"t\":this.calc=function(t,e){var i=this.snapToGrid(t,e,2);if(this.parameters.box.height-i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y+i[1]).height(this.parameters.box.height-i[1])}};break;case\"r\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.width+i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).width(this.parameters.box.width+i[0])}};break;case\"b\":this.calc=function(t,e){var i=this.snapToGrid(t,e,0);if(this.parameters.box.height+i[1]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x,this.parameters.box.y).height(this.parameters.box.height+i[1])}};break;case\"l\":this.calc=function(t,e){var i=this.snapToGrid(t,e,1);if(this.parameters.box.width-i[0]>0){if(\"text\"===this.parameters.type)return;this.el.move(this.parameters.box.x+i[0],this.parameters.box.y).width(this.parameters.box.width-i[0])}};break;case\"rot\":this.calc=function(t,e){var i=t+this.parameters.p.x,a=e+this.parameters.p.y,s=Math.atan2(this.parameters.p.y-this.parameters.box.y-this.parameters.box.height/2,this.parameters.p.x-this.parameters.box.x-this.parameters.box.width/2),r=Math.atan2(a-this.parameters.box.y-this.parameters.box.height/2,i-this.parameters.box.x-this.parameters.box.width/2),o=this.parameters.rotation+180*(r-s)/Math.PI+this.options.snapToAngle/2;this.el.center(this.parameters.box.cx,this.parameters.box.cy).rotate(o-o%this.options.snapToAngle,this.parameters.box.cx,this.parameters.box.cy)};break;case\"point\":this.calc=function(t,e){var i=this.snapToGrid(t,e,this.parameters.pointCoords[0],this.parameters.pointCoords[1]),a=this.el.array().valueOf();a[this.parameters.i][0]=this.parameters.pointCoords[0]+i[0],a[this.parameters.i][1]=this.parameters.pointCoords[1]+i[1],this.el.plot(a)}}this.el.fire(\"resizestart\",{dx:this.parameters.x,dy:this.parameters.y,event:t}),SVG.on(window,\"touchmove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"touchend.resize\",(function(){e.done()})),SVG.on(window,\"mousemove.resize\",(function(t){e.update(t||window.event)})),SVG.on(window,\"mouseup.resize\",(function(){e.done()}))},t.prototype.update=function(t){if(t){var e=this._extractPosition(t),i=this.transformPoint(e.x,e.y),a=i.x-this.parameters.p.x,s=i.y-this.parameters.p.y;this.lastUpdateCall=[a,s],this.calc(a,s),this.el.fire(\"resizing\",{dx:a,dy:s,event:t})}else this.lastUpdateCall&&this.calc(this.lastUpdateCall[0],this.lastUpdateCall[1])},t.prototype.done=function(){this.lastUpdateCall=null,SVG.off(window,\"mousemove.resize\"),SVG.off(window,\"mouseup.resize\"),SVG.off(window,\"touchmove.resize\"),SVG.off(window,\"touchend.resize\"),this.el.fire(\"resizedone\")},t.prototype.snapToGrid=function(t,e,i,a){var s;return void 0!==a?s=[(i+t)%this.options.snapToGrid,(a+e)%this.options.snapToGrid]:(i=null==i?3:i,s=[(this.parameters.box.x+t+(1&i?0:this.parameters.box.width))%this.options.snapToGrid,(this.parameters.box.y+e+(2&i?0:this.parameters.box.height))%this.options.snapToGrid]),t<0&&(s[0]-=this.options.snapToGrid),e<0&&(s[1]-=this.options.snapToGrid),t-=Math.abs(s[0])o.maxX&&(t=o.maxX-s),void 0!==o.minY&&r+eo.maxY&&(e=o.maxY-r),[t,e]},t.prototype.checkAspectRatio=function(t,e){if(!this.options.saveAspectRatio)return t;var i=t.slice(),a=this.parameters.box.width/this.parameters.box.height,s=this.parameters.box.width+t[0],r=this.parameters.box.height-t[1],o=s/r;return oa&&(i[0]=this.parameters.box.width-r*a,e&&(i[0]=-i[0])),i},SVG.extend(SVG.Element,{resize:function(e){return(this.remember(\"_resizeHandler\")||new t(this)).init(e||{}),this}}),SVG.Element.prototype.resize.defaults={snapToAngle:.1,snapToGrid:1,constraint:{},saveAspectRatio:!1}}).call(this)}(),void 0===window.Apex&&(window.Apex={});var Ht=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"initModules\",value:function(){this.ctx.publicMethods=[\"updateOptions\",\"updateSeries\",\"appendData\",\"appendSeries\",\"toggleSeries\",\"showSeries\",\"hideSeries\",\"setLocale\",\"resetSeries\",\"zoomX\",\"toggleDataPointSelection\",\"dataURI\",\"exportToCSV\",\"addXaxisAnnotation\",\"addYaxisAnnotation\",\"addPointAnnotation\",\"clearAnnotations\",\"removeAnnotation\",\"paper\",\"destroy\"],this.ctx.eventList=[\"click\",\"mousedown\",\"mousemove\",\"mouseleave\",\"touchstart\",\"touchmove\",\"touchleave\",\"mouseup\",\"touchend\"],this.ctx.animations=new b(this.ctx),this.ctx.axes=new J(this.ctx),this.ctx.core=new Rt(this.ctx.el,this.ctx),this.ctx.config=new X({}),this.ctx.data=new N(this.ctx),this.ctx.grid=new j(this.ctx),this.ctx.graphics=new m(this.ctx),this.ctx.coreUtils=new y(this.ctx),this.ctx.crosshairs=new Q(this.ctx),this.ctx.events=new Z(this.ctx),this.ctx.exports=new G(this.ctx),this.ctx.localization=new $(this.ctx),this.ctx.options=new L,this.ctx.responsive=new K(this.ctx),this.ctx.series=new O(this.ctx),this.ctx.theme=new tt(this.ctx),this.ctx.formatters=new W(this.ctx),this.ctx.titleSubtitle=new et(this.ctx),this.ctx.legend=new lt(this.ctx),this.ctx.toolbar=new ht(this.ctx),this.ctx.tooltip=new bt(this.ctx),this.ctx.dimensions=new ot(this.ctx),this.ctx.updateHelpers=new Dt(this.ctx),this.ctx.zoomPanSelection=new ct(this.ctx),this.ctx.w.globals.tooltip=new bt(this.ctx)}}]),t}(),Ot=function(){function t(e){a(this,t),this.ctx=e,this.w=e.w}return r(t,[{key:\"clear\",value:function(t){var e=t.isUpdating;this.ctx.zoomPanSelection&&this.ctx.zoomPanSelection.destroy(),this.ctx.toolbar&&this.ctx.toolbar.destroy(),this.ctx.animations=null,this.ctx.axes=null,this.ctx.annotations=null,this.ctx.core=null,this.ctx.data=null,this.ctx.grid=null,this.ctx.series=null,this.ctx.responsive=null,this.ctx.theme=null,this.ctx.formatters=null,this.ctx.titleSubtitle=null,this.ctx.legend=null,this.ctx.dimensions=null,this.ctx.options=null,this.ctx.crosshairs=null,this.ctx.zoomPanSelection=null,this.ctx.updateHelpers=null,this.ctx.toolbar=null,this.ctx.localization=null,this.ctx.w.globals.tooltip=null,this.clearDomElements({isUpdating:e})}},{key:\"killSVG\",value:function(t){t.each((function(t,e){this.removeClass(\"*\"),this.off(),this.stop()}),!0),t.ungroup(),t.clear()}},{key:\"clearDomElements\",value:function(t){var e=this,i=t.isUpdating,a=this.w.globals.dom.Paper.node;a.parentNode&&a.parentNode.parentNode&&!i&&(a.parentNode.parentNode.style.minHeight=\"unset\");var s=this.w.globals.dom.baseEl;s&&this.ctx.eventList.forEach((function(t){s.removeEventListener(t,e.ctx.events.documentEvent)}));var r=this.w.globals.dom;if(null!==this.ctx.el)for(;this.ctx.el.firstChild;)this.ctx.el.removeChild(this.ctx.el.firstChild);this.killSVG(r.Paper),r.Paper.remove(),r.elWrap=null,r.elGraphical=null,r.elAnnotations=null,r.elLegendWrap=null,r.baseEl=null,r.elGridRect=null,r.elGridRectMask=null,r.elGridRectMarkerMask=null,r.elForecastMask=null,r.elNonForecastMask=null,r.elDefs=null}}]),t}(),Nt=new WeakMap;var Wt=function(){function t(e,i){a(this,t),this.opts=i,this.ctx=this,this.w=new Y(i).init(),this.el=e,this.w.globals.cuid=x.randomId(),this.w.globals.chartID=this.w.config.chart.id?x.escapeString(this.w.config.chart.id):this.w.globals.cuid,new Ht(this).initModules(),this.create=x.bind(this.create,this),this.windowResizeHandler=this._windowResizeHandler.bind(this),this.parentResizeHandler=this._parentResizeCallback.bind(this)}return r(t,[{key:\"render\",value:function(){var t=this;return new Promise((function(e,i){if(null!==t.el){void 0===Apex._chartInstances&&(Apex._chartInstances=[]),t.w.config.chart.id&&Apex._chartInstances.push({id:t.w.globals.chartID,group:t.w.config.chart.group,chart:t}),t.setLocale(t.w.config.chart.defaultLocale);var a=t.w.config.chart.events.beforeMount;if(\"function\"==typeof a&&a(t,t.w),t.events.fireEvent(\"beforeMount\",[t,t.w]),window.addEventListener(\"resize\",t.windowResizeHandler),function(t,e){var i=!1;if(t.nodeType!==Node.DOCUMENT_FRAGMENT_NODE){var a=t.getBoundingClientRect();\"none\"!==t.style.display&&0!==a.width||(i=!0)}var s=new ResizeObserver((function(a){i&&e.call(t,a),i=!0}));t.nodeType===Node.DOCUMENT_FRAGMENT_NODE?Array.from(t.children).forEach((function(t){return s.observe(t)})):s.observe(t),Nt.set(e,s)}(t.el.parentNode,t.parentResizeHandler),!t.css){var s=t.el.getRootNode&&t.el.getRootNode(),r=x.is(\"ShadowRoot\",s),o=t.el.ownerDocument,n=o.getElementById(\"apexcharts-css\");!r&&n||(t.css=document.createElement(\"style\"),t.css.id=\"apexcharts-css\",t.css.textContent='@keyframes opaque {\\n 0% {\\n opacity: 0\\n }\\n\\n to {\\n opacity: 1\\n }\\n}\\n\\n@keyframes resizeanim {\\n 0%,to {\\n opacity: 0\\n }\\n}\\n\\n.apexcharts-canvas {\\n position: relative;\\n user-select: none\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar {\\n -webkit-appearance: none;\\n width: 6px\\n}\\n\\n.apexcharts-canvas ::-webkit-scrollbar-thumb {\\n border-radius: 4px;\\n background-color: rgba(0,0,0,.5);\\n box-shadow: 0 0 1px rgba(255,255,255,.5);\\n -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5)\\n}\\n\\n.apexcharts-inner {\\n position: relative\\n}\\n\\n.apexcharts-text tspan {\\n font-family: inherit\\n}\\n\\n.legend-mouseover-inactive {\\n transition: .15s ease all;\\n opacity: .2\\n}\\n\\n.apexcharts-legend-text {\\n padding-left: 15px;\\n margin-left: -15px;\\n}\\n\\n.apexcharts-series-collapsed {\\n opacity: 0\\n}\\n\\n.apexcharts-tooltip {\\n border-radius: 5px;\\n box-shadow: 2px 2px 6px -4px #999;\\n cursor: default;\\n font-size: 14px;\\n left: 62px;\\n opacity: 0;\\n pointer-events: none;\\n position: absolute;\\n top: 20px;\\n display: flex;\\n flex-direction: column;\\n overflow: hidden;\\n white-space: nowrap;\\n z-index: 12;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light {\\n border: 1px solid #e3e3e3;\\n background: rgba(255,255,255,.96)\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark {\\n color: #fff;\\n background: rgba(30,30,30,.8)\\n}\\n\\n.apexcharts-tooltip * {\\n font-family: inherit\\n}\\n\\n.apexcharts-tooltip-title {\\n padding: 6px;\\n font-size: 15px;\\n margin-bottom: 4px\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title {\\n background: #eceff1;\\n border-bottom: 1px solid #ddd\\n}\\n\\n.apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {\\n background: rgba(0,0,0,.7);\\n border-bottom: 1px solid #333\\n}\\n\\n.apexcharts-tooltip-text-goals-value,.apexcharts-tooltip-text-y-value,.apexcharts-tooltip-text-z-value {\\n display: inline-block;\\n margin-left: 5px;\\n font-weight: 600\\n}\\n\\n.apexcharts-tooltip-text-goals-label:empty,.apexcharts-tooltip-text-goals-value:empty,.apexcharts-tooltip-text-y-label:empty,.apexcharts-tooltip-text-y-value:empty,.apexcharts-tooltip-text-z-value:empty,.apexcharts-tooltip-title:empty {\\n display: none\\n}\\n\\n.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-tooltip-goals-group,.apexcharts-tooltip-text-goals-label,.apexcharts-tooltip-text-goals-value {\\n display: flex\\n}\\n\\n.apexcharts-tooltip-text-goals-label:not(:empty),.apexcharts-tooltip-text-goals-value:not(:empty) {\\n margin-top: -6px\\n}\\n\\n.apexcharts-tooltip-marker {\\n width: 12px;\\n height: 12px;\\n position: relative;\\n top: 0;\\n margin-right: 10px;\\n border-radius: 50%\\n}\\n\\n.apexcharts-tooltip-series-group {\\n padding: 0 10px;\\n display: none;\\n text-align: left;\\n justify-content: left;\\n align-items: center\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active .apexcharts-tooltip-marker {\\n opacity: 1\\n}\\n\\n.apexcharts-tooltip-series-group.apexcharts-active,.apexcharts-tooltip-series-group:last-child {\\n padding-bottom: 4px\\n}\\n\\n.apexcharts-tooltip-series-group-hidden {\\n opacity: 0;\\n height: 0;\\n line-height: 0;\\n padding: 0!important\\n}\\n\\n.apexcharts-tooltip-y-group {\\n padding: 6px 0 5px\\n}\\n\\n.apexcharts-custom-tooltip,.apexcharts-tooltip-box {\\n padding: 4px 8px\\n}\\n\\n.apexcharts-tooltip-boxPlot {\\n display: flex;\\n flex-direction: column-reverse\\n}\\n\\n.apexcharts-tooltip-box>div {\\n margin: 4px 0\\n}\\n\\n.apexcharts-tooltip-box span.value {\\n font-weight: 700\\n}\\n\\n.apexcharts-tooltip-rangebar {\\n padding: 5px 8px\\n}\\n\\n.apexcharts-tooltip-rangebar .category {\\n font-weight: 600;\\n color: #777\\n}\\n\\n.apexcharts-tooltip-rangebar .series-name {\\n font-weight: 700;\\n display: block;\\n margin-bottom: 5px\\n}\\n\\n.apexcharts-xaxistooltip,.apexcharts-yaxistooltip {\\n opacity: 0;\\n pointer-events: none;\\n color: #373d3f;\\n font-size: 13px;\\n text-align: center;\\n border-radius: 2px;\\n position: absolute;\\n z-index: 10;\\n background: #eceff1;\\n border: 1px solid #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip {\\n padding: 9px 10px;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-theme-dark {\\n background: rgba(0,0,0,.7);\\n border: 1px solid rgba(0,0,0,.5);\\n color: #fff\\n}\\n\\n.apexcharts-xaxistooltip:after,.apexcharts-xaxistooltip:before {\\n left: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-xaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-left: -6px\\n}\\n\\n.apexcharts-xaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-left: -7px\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after,.apexcharts-xaxistooltip-bottom:before {\\n bottom: 100%\\n}\\n\\n.apexcharts-xaxistooltip-top:after,.apexcharts-xaxistooltip-top:before {\\n top: 100%\\n}\\n\\n.apexcharts-xaxistooltip-bottom:after {\\n border-bottom-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-bottom:before {\\n border-bottom-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-bottom.apexcharts-theme-dark:before {\\n border-bottom-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-xaxistooltip-top:after {\\n border-top-color: #eceff1\\n}\\n\\n.apexcharts-xaxistooltip-top:before {\\n border-top-color: #90a4ae\\n}\\n\\n.apexcharts-xaxistooltip-top.apexcharts-theme-dark:after,.apexcharts-xaxistooltip-top.apexcharts-theme-dark:before {\\n border-top-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-xaxistooltip.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-yaxistooltip {\\n padding: 4px 10px\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-theme-dark {\\n background: rgba(0,0,0,.7);\\n border: 1px solid rgba(0,0,0,.5);\\n color: #fff\\n}\\n\\n.apexcharts-yaxistooltip:after,.apexcharts-yaxistooltip:before {\\n top: 50%;\\n border: solid transparent;\\n content: \" \";\\n height: 0;\\n width: 0;\\n position: absolute;\\n pointer-events: none\\n}\\n\\n.apexcharts-yaxistooltip:after {\\n border-color: transparent;\\n border-width: 6px;\\n margin-top: -6px\\n}\\n\\n.apexcharts-yaxistooltip:before {\\n border-color: transparent;\\n border-width: 7px;\\n margin-top: -7px\\n}\\n\\n.apexcharts-yaxistooltip-left:after,.apexcharts-yaxistooltip-left:before {\\n left: 100%\\n}\\n\\n.apexcharts-yaxistooltip-right:after,.apexcharts-yaxistooltip-right:before {\\n right: 100%\\n}\\n\\n.apexcharts-yaxistooltip-left:after {\\n border-left-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-left:before {\\n border-left-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-left.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-left.apexcharts-theme-dark:before {\\n border-left-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-yaxistooltip-right:after {\\n border-right-color: #eceff1\\n}\\n\\n.apexcharts-yaxistooltip-right:before {\\n border-right-color: #90a4ae\\n}\\n\\n.apexcharts-yaxistooltip-right.apexcharts-theme-dark:after,.apexcharts-yaxistooltip-right.apexcharts-theme-dark:before {\\n border-right-color: rgba(0,0,0,.5)\\n}\\n\\n.apexcharts-yaxistooltip.apexcharts-active {\\n opacity: 1\\n}\\n\\n.apexcharts-yaxistooltip-hidden {\\n display: none\\n}\\n\\n.apexcharts-xcrosshairs,.apexcharts-ycrosshairs {\\n pointer-events: none;\\n opacity: 0;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-xcrosshairs.apexcharts-active,.apexcharts-ycrosshairs.apexcharts-active {\\n opacity: 1;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-ycrosshairs-hidden {\\n opacity: 0\\n}\\n\\n.apexcharts-selection-rect {\\n cursor: move\\n}\\n\\n.svg_select_boundingRect,.svg_select_points_rot {\\n pointer-events: none;\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_boundingRect,.apexcharts-selection-rect+g .svg_select_points_rot {\\n opacity: 0;\\n visibility: hidden\\n}\\n\\n.apexcharts-selection-rect+g .svg_select_points_l,.apexcharts-selection-rect+g .svg_select_points_r {\\n cursor: ew-resize;\\n opacity: 1;\\n visibility: visible\\n}\\n\\n.svg_select_points {\\n fill: #efefef;\\n stroke: #333;\\n rx: 2\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-zoom {\\n cursor: crosshair\\n}\\n\\n.apexcharts-svg.apexcharts-zoomable.hovering-pan {\\n cursor: move\\n}\\n\\n.apexcharts-menu-icon,.apexcharts-pan-icon,.apexcharts-reset-icon,.apexcharts-selection-icon,.apexcharts-toolbar-custom-icon,.apexcharts-zoom-icon,.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\\n cursor: pointer;\\n width: 20px;\\n height: 20px;\\n line-height: 24px;\\n color: #6e8192;\\n text-align: center\\n}\\n\\n.apexcharts-menu-icon svg,.apexcharts-reset-icon svg,.apexcharts-zoom-icon svg,.apexcharts-zoomin-icon svg,.apexcharts-zoomout-icon svg {\\n fill: #6e8192\\n}\\n\\n.apexcharts-selection-icon svg {\\n fill: #444;\\n transform: scale(.76)\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu-icon svg,.apexcharts-theme-dark .apexcharts-pan-icon svg,.apexcharts-theme-dark .apexcharts-reset-icon svg,.apexcharts-theme-dark .apexcharts-selection-icon svg,.apexcharts-theme-dark .apexcharts-toolbar-custom-icon svg,.apexcharts-theme-dark .apexcharts-zoom-icon svg,.apexcharts-theme-dark .apexcharts-zoomin-icon svg,.apexcharts-theme-dark .apexcharts-zoomout-icon svg {\\n fill: #f3f4f5\\n}\\n\\n.apexcharts-canvas .apexcharts-reset-zoom-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-selection-icon.apexcharts-selected svg,.apexcharts-canvas .apexcharts-zoom-icon.apexcharts-selected svg {\\n fill: #008ffb\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-icon:hover svg,.apexcharts-theme-light .apexcharts-reset-icon:hover svg,.apexcharts-theme-light .apexcharts-selection-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoom-icon:not(.apexcharts-selected):hover svg,.apexcharts-theme-light .apexcharts-zoomin-icon:hover svg,.apexcharts-theme-light .apexcharts-zoomout-icon:hover svg {\\n fill: #333\\n}\\n\\n.apexcharts-menu-icon,.apexcharts-selection-icon {\\n position: relative\\n}\\n\\n.apexcharts-reset-icon {\\n margin-left: 5px\\n}\\n\\n.apexcharts-menu-icon,.apexcharts-reset-icon,.apexcharts-zoom-icon {\\n transform: scale(.85)\\n}\\n\\n.apexcharts-zoomin-icon,.apexcharts-zoomout-icon {\\n transform: scale(.7)\\n}\\n\\n.apexcharts-zoomout-icon {\\n margin-right: 3px\\n}\\n\\n.apexcharts-pan-icon {\\n transform: scale(.62);\\n position: relative;\\n left: 1px;\\n top: 0\\n}\\n\\n.apexcharts-pan-icon svg {\\n fill: #fff;\\n stroke: #6e8192;\\n stroke-width: 2\\n}\\n\\n.apexcharts-pan-icon.apexcharts-selected svg {\\n stroke: #008ffb\\n}\\n\\n.apexcharts-pan-icon:not(.apexcharts-selected):hover svg {\\n stroke: #333\\n}\\n\\n.apexcharts-toolbar {\\n position: absolute;\\n z-index: 11;\\n max-width: 176px;\\n text-align: right;\\n border-radius: 3px;\\n padding: 0 6px 2px;\\n display: flex;\\n justify-content: space-between;\\n align-items: center\\n}\\n\\n.apexcharts-menu {\\n background: #fff;\\n position: absolute;\\n top: 100%;\\n border: 1px solid #ddd;\\n border-radius: 3px;\\n padding: 3px;\\n right: 10px;\\n opacity: 0;\\n min-width: 110px;\\n transition: .15s ease all;\\n pointer-events: none\\n}\\n\\n.apexcharts-menu.apexcharts-menu-open {\\n opacity: 1;\\n pointer-events: all;\\n transition: .15s ease all\\n}\\n\\n.apexcharts-menu-item {\\n padding: 6px 7px;\\n font-size: 12px;\\n cursor: pointer\\n}\\n\\n.apexcharts-theme-light .apexcharts-menu-item:hover {\\n background: #eee\\n}\\n\\n.apexcharts-theme-dark .apexcharts-menu {\\n background: rgba(0,0,0,.7);\\n color: #fff\\n}\\n\\n@media screen and (min-width:768px) {\\n .apexcharts-canvas:hover .apexcharts-toolbar {\\n opacity: 1\\n }\\n}\\n\\n.apexcharts-canvas .apexcharts-element-hidden,.apexcharts-datalabel.apexcharts-element-hidden,.apexcharts-hide .apexcharts-series-points {\\n opacity: 0\\n}\\n\\n.apexcharts-datalabel,.apexcharts-datalabel-label,.apexcharts-datalabel-value,.apexcharts-datalabels,.apexcharts-pie-label {\\n cursor: default;\\n pointer-events: none\\n}\\n\\n.apexcharts-pie-label-delay {\\n opacity: 0;\\n animation-name: opaque;\\n animation-duration: .3s;\\n animation-fill-mode: forwards;\\n animation-timing-function: ease\\n}\\n\\n.apexcharts-annotation-rect,.apexcharts-area-series .apexcharts-area,.apexcharts-area-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-gridline,.apexcharts-line,.apexcharts-line-series .apexcharts-series-markers .apexcharts-marker.no-pointer-events,.apexcharts-point-annotation-label,.apexcharts-radar-series path,.apexcharts-radar-series polygon,.apexcharts-toolbar svg,.apexcharts-tooltip .apexcharts-marker,.apexcharts-xaxis-annotation-label,.apexcharts-yaxis-annotation-label,.apexcharts-zoom-rect {\\n pointer-events: none\\n}\\n\\n.apexcharts-marker {\\n transition: .15s ease all\\n}\\n\\n.resize-triggers {\\n animation: 1ms resizeanim;\\n visibility: hidden;\\n opacity: 0;\\n height: 100%;\\n width: 100%;\\n overflow: hidden\\n}\\n\\n.contract-trigger:before,.resize-triggers,.resize-triggers>div {\\n content: \" \";\\n display: block;\\n position: absolute;\\n top: 0;\\n left: 0\\n}\\n\\n.resize-triggers>div {\\n height: 100%;\\n width: 100%;\\n background: #eee;\\n overflow: auto\\n}\\n\\n.contract-trigger:before {\\n overflow: hidden;\\n width: 200%;\\n height: 200%\\n}\\n',r?s.prepend(t.css):o.head.appendChild(t.css))}var l=t.create(t.w.config.series,{});if(!l)return e(t);t.mount(l).then((function(){\"function\"==typeof t.w.config.chart.events.mounted&&t.w.config.chart.events.mounted(t,t.w),t.events.fireEvent(\"mounted\",[t,t.w]),e(l)})).catch((function(t){i(t)}))}else i(new Error(\"Element not found\"))}))}},{key:\"create\",value:function(t,e){var i=this.w;new Ht(this).initModules();var a=this.w.globals;(a.noData=!1,a.animationEnded=!1,this.responsive.checkResponsiveConfig(e),i.config.xaxis.convertedCatToNumeric)&&new z(i.config).convertCatToNumericXaxis(i.config,this.ctx);if(null===this.el)return a.animationEnded=!0,null;if(this.core.setupElements(),\"treemap\"===i.config.chart.type&&(i.config.grid.show=!1,i.config.yaxis[0].show=!1),0===a.svgWidth)return a.animationEnded=!0,null;var s=y.checkComboSeries(t);a.comboCharts=s.comboCharts,a.comboBarCount=s.comboBarCount;var r=t.every((function(t){return t.data&&0===t.data.length}));(0===t.length||r)&&this.series.handleNoData(),this.events.setupEventHandlers(),this.data.parseData(t),this.theme.init(),new R(this).setGlobalMarkerSize(),this.formatters.setLabelFormatters(),this.titleSubtitle.draw(),a.noData&&a.collapsedSeries.length!==a.series.length&&!i.config.legend.showForSingleSeries||this.legend.init(),this.series.hasAllSeriesEqualX(),a.axisCharts&&(this.core.coreCalculations(),\"category\"!==i.config.xaxis.type&&this.formatters.setLabelFormatters(),this.ctx.toolbar.minX=i.globals.minX,this.ctx.toolbar.maxX=i.globals.maxX),this.formatters.heatmapLabelFormatters(),new y(this).getLargestMarkerSize(),this.dimensions.plotCoords();var o=this.core.xySettings();this.grid.createGridMask();var n=this.core.plotChartType(t,o),l=new H(this);l.bringForward(),i.config.dataLabels.background.enabled&&l.dataLabelsBackground(),this.core.shiftGraphPosition();var h={plot:{left:i.globals.translateX,top:i.globals.translateY,width:i.globals.gridWidth,height:i.globals.gridHeight}};return{elGraph:n,xyRatios:o,elInner:i.globals.dom.elGraphical,dimensions:h}}},{key:\"mount\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,i=this,a=i.w;return new Promise((function(s,r){if(null===i.el)return r(new Error(\"Not enough data to display or target element not found\"));(null===e||a.globals.allSeriesCollapsed)&&i.series.handleNoData(),i.grid=new j(i);var o=i.grid.drawGrid();\"treemap\"!==a.config.chart.type&&i.axes.drawAxis(a.config.chart.type,o),i.annotations=new P(i),i.annotations.drawImageAnnos(),i.annotations.drawTextAnnos(),\"back\"===a.config.grid.position&&o&&a.globals.dom.elGraphical.add(o.el);var n=new V(t.ctx,o),l=new q(t.ctx,o);if(null!==o&&(n.xAxisLabelCorrections(o.xAxisTickWidth),l.setYAxisTextAlignments(),a.config.yaxis.map((function(t,e){-1===a.globals.ignoreYAxisIndexes.indexOf(e)&&l.yAxisTitleRotate(e,t.opposite)}))),\"back\"===a.config.annotations.position&&(a.globals.dom.Paper.add(a.globals.dom.elAnnotations),i.annotations.drawAxesAnnotations()),Array.isArray(e.elGraph))for(var h=0;h0&&a.globals.memory.methodsToExec.forEach((function(t){t.method(t.params,!1,t.context)})),a.globals.axisCharts||a.globals.noData||i.core.resizeNonAxisCharts(),s(i)}))}},{key:\"destroy\",value:function(){var t,e;window.removeEventListener(\"resize\",this.windowResizeHandler),this.el.parentNode,t=this.parentResizeHandler,(e=Nt.get(t))&&(e.disconnect(),Nt.delete(t));var i=this.w.config.chart.id;i&&Apex._chartInstances.forEach((function(t,e){t.id===x.escapeString(i)&&Apex._chartInstances.splice(e,1)})),new Ot(this.ctx).clear({isUpdating:!1})}},{key:\"updateOptions\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],s=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],r=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],o=this.w;return o.globals.selection=void 0,t.series&&(this.series.resetSeries(!1,!0,!1),t.series.length&&t.series[0].data&&(t.series=t.series.map((function(t,i){return e.updateHelpers._extendSeries(t,i)}))),this.updateHelpers.revertDefaultAxisMinMax()),t.xaxis&&(t=this.updateHelpers.forceXAxisUpdate(t)),t.yaxis&&(t=this.updateHelpers.forceYAxisUpdate(t)),o.globals.collapsedSeriesIndices.length>0&&this.series.clearPreviousPaths(),t.theme&&(t=this.theme.updateThemeOptions(t)),this.updateHelpers._updateOptions(t,i,a,s,r)}},{key:\"updateSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];return this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(t,e,i)}},{key:\"appendSeries\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],a=this.w.config.series.slice();return a.push(t),this.series.resetSeries(!1),this.updateHelpers.revertDefaultAxisMinMax(),this.updateHelpers._updateSeries(a,e,i)}},{key:\"appendData\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this;i.w.globals.dataChanged=!0,i.series.getPreviousPaths();for(var a=i.w.config.series.slice(),s=0;s0&&void 0!==arguments[0])||arguments[0],e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.series.resetSeries(t,e)}},{key:\"addEventListener\",value:function(t,e){this.events.addEventListener(t,e)}},{key:\"removeEventListener\",value:function(t,e){this.events.removeEventListener(t,e)}},{key:\"addXaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addXaxisAnnotationExternal(t,e,a)}},{key:\"addYaxisAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addYaxisAnnotationExternal(t,e,a)}},{key:\"addPointAnnotation\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,a=this;i&&(a=i),a.annotations.addPointAnnotationExternal(t,e,a)}},{key:\"clearAnnotations\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,e=this;t&&(e=t),e.annotations.clearAnnotations(e)}},{key:\"removeAnnotation\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=this;e&&(i=e),i.annotations.removeAnnotation(i,t)}},{key:\"getChartArea\",value:function(){return this.w.globals.dom.baseEl.querySelector(\".apexcharts-inner\")}},{key:\"getSeriesTotalXRange\",value:function(t,e){return this.coreUtils.getSeriesTotalsXRange(t,e)}},{key:\"getHighestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new U(this.ctx);return e.getMinYMaxY(t).highestY}},{key:\"getLowestValueInSeries\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=new U(this.ctx);return e.getMinYMaxY(t).lowestY}},{key:\"getSeriesTotal\",value:function(){return this.w.globals.seriesTotals}},{key:\"toggleDataPointSelection\",value:function(t,e){return this.updateHelpers.toggleDataPointSelection(t,e)}},{key:\"zoomX\",value:function(t,e){this.ctx.toolbar.zoomUpdateOptions(t,e)}},{key:\"setLocale\",value:function(t){this.localization.setCurrentLocaleValues(t)}},{key:\"dataURI\",value:function(t){return new G(this.ctx).dataURI(t)}},{key:\"exportToCSV\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=new G(this.ctx);return e.exportToCSV(t)}},{key:\"paper\",value:function(){return this.w.globals.dom.Paper}},{key:\"_parentResizeCallback\",value:function(){this.w.globals.animationEnded&&this.w.config.chart.redrawOnParentResize&&this._windowResize()}},{key:\"_windowResize\",value:function(){var t=this;clearTimeout(this.w.globals.resizeTimer),this.w.globals.resizeTimer=window.setTimeout((function(){t.w.globals.resized=!0,t.w.globals.dataChanged=!1,t.ctx.update()}),150)}},{key:\"_windowResizeHandler\",value:function(){var t=this.w.config.chart.redrawOnWindowResize;\"function\"==typeof t&&(t=t()),t&&this._windowResize()}}],[{key:\"getChartByID\",value:function(t){var e=x.escapeString(t),i=Apex._chartInstances.filter((function(t){return t.id===e}))[0];return i&&i.chart}},{key:\"initOnLoad\",value:function(){for(var e=document.querySelectorAll(\"[data-apexcharts]\"),i=0;i2?s-2:0),o=2;o= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n","var t=function(){return t=Object.assign||function(t){for(var i,n=1,s=arguments.length;na.endVal;a.frameVal=n?a.endVal:a.frameVal,a.frameVal=Number(a.frameVal.toFixed(a.options.decimalPlaces)),a.printValue(a.frameVal),i1?a.options.decimal+r[1]:\"\",a.options.useGrouping){e=\"\";for(var l=3,h=0,u=0,p=n.length;uwindow.scrollY&&t.paused?(t.paused=!1,setTimeout((function(){return t.start()}),t.options.scrollSpyDelay),t.options.scrollSpyOnce&&(t.once=!0)):(window.scrollY>a||s>i)&&!t.paused&&t.reset()}},i.prototype.determineDirectionAndSmartEasing=function(){var t=this.finalEndVal?this.finalEndVal:this.endVal;this.countDown=this.startVal>t;var i=t-this.startVal;if(Math.abs(i)>this.options.smartEasingThreshold&&this.options.useEasing){this.finalEndVal=t;var n=this.countDown?1:-1;this.endVal=t+n*this.options.smartEasingAmount,this.duration=this.duration/2}else this.endVal=t,this.finalEndVal=null;null!==this.finalEndVal?this.useEasing=!1:this.useEasing=this.options.useEasing},i.prototype.start=function(t){this.error||(this.options.onStartCallback&&this.options.onStartCallback(),t&&(this.options.onCompleteCallback=t),this.duration>0?(this.determineDirectionAndSmartEasing(),this.paused=!1,this.rAF=requestAnimationFrame(this.count)):this.printValue(this.endVal))},i.prototype.pauseResume=function(){this.paused?(this.startTime=null,this.duration=this.remaining,this.startVal=this.frameVal,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count)):cancelAnimationFrame(this.rAF),this.paused=!this.paused},i.prototype.reset=function(){cancelAnimationFrame(this.rAF),this.paused=!0,this.resetDuration(),this.startVal=this.validateValue(this.options.startVal),this.frameVal=this.startVal,this.printValue(this.startVal)},i.prototype.update=function(t){cancelAnimationFrame(this.rAF),this.startTime=null,this.endVal=this.validateValue(t),this.endVal!==this.frameVal&&(this.startVal=this.frameVal,null==this.finalEndVal&&this.resetDuration(),this.finalEndVal=null,this.determineDirectionAndSmartEasing(),this.rAF=requestAnimationFrame(this.count))},i.prototype.printValue=function(t){var i;if(this.el){var n=this.formattingFn(t);if(null===(i=this.options.plugin)||void 0===i?void 0:i.render)this.options.plugin.render(this.el,n);else if(\"INPUT\"===this.el.tagName)this.el.value=n;else\"text\"===this.el.tagName||\"tspan\"===this.el.tagName?this.el.textContent=n:this.el.innerHTML=n}},i.prototype.ensureNumber=function(t){return\"number\"==typeof t&&!isNaN(t)},i.prototype.validateValue=function(t){var i=Number(t);return this.ensureNumber(i)?i:(this.error=\"[CountUp] invalid start or end value: \".concat(t),null)},i.prototype.resetDuration=function(){this.startTime=null,this.duration=1e3*Number(this.options.duration),this.remaining=this.duration},i}();export{i as CountUp};\n","export var HOOKS = [\n \"onChange\",\n \"onClose\",\n \"onDayCreate\",\n \"onDestroy\",\n \"onKeyDown\",\n \"onMonthChange\",\n \"onOpen\",\n \"onParseConfig\",\n \"onReady\",\n \"onValueUpdate\",\n \"onYearChange\",\n \"onPreCalendarPosition\",\n];\nexport var defaults = {\n _disable: [],\n allowInput: false,\n allowInvalidPreload: false,\n altFormat: \"F j, Y\",\n altInput: false,\n altInputClass: \"form-control input\",\n animate: typeof window === \"object\" &&\n window.navigator.userAgent.indexOf(\"MSIE\") === -1,\n ariaDateFormat: \"F j, Y\",\n autoFillDefaultTime: true,\n clickOpens: true,\n closeOnSelect: true,\n conjunction: \", \",\n dateFormat: \"Y-m-d\",\n defaultHour: 12,\n defaultMinute: 0,\n defaultSeconds: 0,\n disable: [],\n disableMobile: false,\n enableSeconds: false,\n enableTime: false,\n errorHandler: function (err) {\n return typeof console !== \"undefined\" && console.warn(err);\n },\n getWeek: function (givenDate) {\n var date = new Date(givenDate.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 3 - ((date.getDay() + 6) % 7));\n var week1 = new Date(date.getFullYear(), 0, 4);\n return (1 +\n Math.round(((date.getTime() - week1.getTime()) / 86400000 -\n 3 +\n ((week1.getDay() + 6) % 7)) /\n 7));\n },\n hourIncrement: 1,\n ignoredFocusElements: [],\n inline: false,\n locale: \"default\",\n minuteIncrement: 5,\n mode: \"single\",\n monthSelectorType: \"dropdown\",\n nextArrow: \"\",\n noCalendar: false,\n now: new Date(),\n onChange: [],\n onClose: [],\n onDayCreate: [],\n onDestroy: [],\n onKeyDown: [],\n onMonthChange: [],\n onOpen: [],\n onParseConfig: [],\n onReady: [],\n onValueUpdate: [],\n onYearChange: [],\n onPreCalendarPosition: [],\n plugins: [],\n position: \"auto\",\n positionElement: undefined,\n prevArrow: \"\",\n shorthandCurrentMonth: false,\n showMonths: 1,\n static: false,\n time_24hr: false,\n weekNumbers: false,\n wrap: false,\n};\n","export var english = {\n weekdays: {\n shorthand: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\n longhand: [\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n ],\n },\n months: {\n shorthand: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n ],\n longhand: [\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n ],\n },\n daysInMonth: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n firstDayOfWeek: 0,\n ordinal: function (nth) {\n var s = nth % 100;\n if (s > 3 && s < 21)\n return \"th\";\n switch (s % 10) {\n case 1:\n return \"st\";\n case 2:\n return \"nd\";\n case 3:\n return \"rd\";\n default:\n return \"th\";\n }\n },\n rangeSeparator: \" to \",\n weekAbbreviation: \"Wk\",\n scrollTitle: \"Scroll to increment\",\n toggleTitle: \"Click to toggle\",\n amPM: [\"AM\", \"PM\"],\n yearAriaLabel: \"Year\",\n monthAriaLabel: \"Month\",\n hourAriaLabel: \"Hour\",\n minuteAriaLabel: \"Minute\",\n time_24hr: false,\n};\nexport default english;\n","export var pad = function (number, length) {\n if (length === void 0) { length = 2; }\n return (\"000\" + number).slice(length * -1);\n};\nexport var int = function (bool) { return (bool === true ? 1 : 0); };\nexport function debounce(fn, wait) {\n var t;\n return function () {\n var _this = this;\n var args = arguments;\n clearTimeout(t);\n t = setTimeout(function () { return fn.apply(_this, args); }, wait);\n };\n}\nexport var arrayify = function (obj) {\n return obj instanceof Array ? obj : [obj];\n};\n","export function toggleClass(elem, className, bool) {\n if (bool === true)\n return elem.classList.add(className);\n elem.classList.remove(className);\n}\nexport function createElement(tag, className, content) {\n var e = window.document.createElement(tag);\n className = className || \"\";\n content = content || \"\";\n e.className = className;\n if (content !== undefined)\n e.textContent = content;\n return e;\n}\nexport function clearNode(node) {\n while (node.firstChild)\n node.removeChild(node.firstChild);\n}\nexport function findParent(node, condition) {\n if (condition(node))\n return node;\n else if (node.parentNode)\n return findParent(node.parentNode, condition);\n return undefined;\n}\nexport function createNumberInput(inputClassName, opts) {\n var wrapper = createElement(\"div\", \"numInputWrapper\"), numInput = createElement(\"input\", \"numInput \" + inputClassName), arrowUp = createElement(\"span\", \"arrowUp\"), arrowDown = createElement(\"span\", \"arrowDown\");\n if (navigator.userAgent.indexOf(\"MSIE 9.0\") === -1) {\n numInput.type = \"number\";\n }\n else {\n numInput.type = \"text\";\n numInput.pattern = \"\\\\d*\";\n }\n if (opts !== undefined)\n for (var key in opts)\n numInput.setAttribute(key, opts[key]);\n wrapper.appendChild(numInput);\n wrapper.appendChild(arrowUp);\n wrapper.appendChild(arrowDown);\n return wrapper;\n}\nexport function getEventTarget(event) {\n try {\n if (typeof event.composedPath === \"function\") {\n var path = event.composedPath();\n return path[0];\n }\n return event.target;\n }\n catch (error) {\n return event.target;\n }\n}\n","import { int, pad } from \"../utils\";\nvar doNothing = function () { return undefined; };\nexport var monthToStr = function (monthNumber, shorthand, locale) { return locale.months[shorthand ? \"shorthand\" : \"longhand\"][monthNumber]; };\nexport var revFormat = {\n D: doNothing,\n F: function (dateObj, monthName, locale) {\n dateObj.setMonth(locale.months.longhand.indexOf(monthName));\n },\n G: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n H: function (dateObj, hour) {\n dateObj.setHours(parseFloat(hour));\n },\n J: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n K: function (dateObj, amPM, locale) {\n dateObj.setHours((dateObj.getHours() % 12) +\n 12 * int(new RegExp(locale.amPM[1], \"i\").test(amPM)));\n },\n M: function (dateObj, shortMonth, locale) {\n dateObj.setMonth(locale.months.shorthand.indexOf(shortMonth));\n },\n S: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n U: function (_, unixSeconds) { return new Date(parseFloat(unixSeconds) * 1000); },\n W: function (dateObj, weekNum, locale) {\n var weekNumber = parseInt(weekNum);\n var date = new Date(dateObj.getFullYear(), 0, 2 + (weekNumber - 1) * 7, 0, 0, 0, 0);\n date.setDate(date.getDate() - date.getDay() + locale.firstDayOfWeek);\n return date;\n },\n Y: function (dateObj, year) {\n dateObj.setFullYear(parseFloat(year));\n },\n Z: function (_, ISODate) { return new Date(ISODate); },\n d: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n h: function (dateObj, hour) {\n dateObj.setHours((dateObj.getHours() >= 12 ? 12 : 0) + parseFloat(hour));\n },\n i: function (dateObj, minutes) {\n dateObj.setMinutes(parseFloat(minutes));\n },\n j: function (dateObj, day) {\n dateObj.setDate(parseFloat(day));\n },\n l: doNothing,\n m: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n n: function (dateObj, month) {\n dateObj.setMonth(parseFloat(month) - 1);\n },\n s: function (dateObj, seconds) {\n dateObj.setSeconds(parseFloat(seconds));\n },\n u: function (_, unixMillSeconds) {\n return new Date(parseFloat(unixMillSeconds));\n },\n w: doNothing,\n y: function (dateObj, year) {\n dateObj.setFullYear(2000 + parseFloat(year));\n },\n};\nexport var tokenRegex = {\n D: \"\",\n F: \"\",\n G: \"(\\\\d\\\\d|\\\\d)\",\n H: \"(\\\\d\\\\d|\\\\d)\",\n J: \"(\\\\d\\\\d|\\\\d)\\\\w+\",\n K: \"\",\n M: \"\",\n S: \"(\\\\d\\\\d|\\\\d)\",\n U: \"(.+)\",\n W: \"(\\\\d\\\\d|\\\\d)\",\n Y: \"(\\\\d{4})\",\n Z: \"(.+)\",\n d: \"(\\\\d\\\\d|\\\\d)\",\n h: \"(\\\\d\\\\d|\\\\d)\",\n i: \"(\\\\d\\\\d|\\\\d)\",\n j: \"(\\\\d\\\\d|\\\\d)\",\n l: \"\",\n m: \"(\\\\d\\\\d|\\\\d)\",\n n: \"(\\\\d\\\\d|\\\\d)\",\n s: \"(\\\\d\\\\d|\\\\d)\",\n u: \"(.+)\",\n w: \"(\\\\d\\\\d|\\\\d)\",\n y: \"(\\\\d{2})\",\n};\nexport var formats = {\n Z: function (date) { return date.toISOString(); },\n D: function (date, locale, options) {\n return locale.weekdays.shorthand[formats.w(date, locale, options)];\n },\n F: function (date, locale, options) {\n return monthToStr(formats.n(date, locale, options) - 1, false, locale);\n },\n G: function (date, locale, options) {\n return pad(formats.h(date, locale, options));\n },\n H: function (date) { return pad(date.getHours()); },\n J: function (date, locale) {\n return locale.ordinal !== undefined\n ? date.getDate() + locale.ordinal(date.getDate())\n : date.getDate();\n },\n K: function (date, locale) { return locale.amPM[int(date.getHours() > 11)]; },\n M: function (date, locale) {\n return monthToStr(date.getMonth(), true, locale);\n },\n S: function (date) { return pad(date.getSeconds()); },\n U: function (date) { return date.getTime() / 1000; },\n W: function (date, _, options) {\n return options.getWeek(date);\n },\n Y: function (date) { return pad(date.getFullYear(), 4); },\n d: function (date) { return pad(date.getDate()); },\n h: function (date) { return (date.getHours() % 12 ? date.getHours() % 12 : 12); },\n i: function (date) { return pad(date.getMinutes()); },\n j: function (date) { return date.getDate(); },\n l: function (date, locale) {\n return locale.weekdays.longhand[date.getDay()];\n },\n m: function (date) { return pad(date.getMonth() + 1); },\n n: function (date) { return date.getMonth() + 1; },\n s: function (date) { return date.getSeconds(); },\n u: function (date) { return date.getTime(); },\n w: function (date) { return date.getDay(); },\n y: function (date) { return String(date.getFullYear()).substring(2); },\n};\n","import { tokenRegex, revFormat, formats, } from \"./formatting\";\nimport { defaults } from \"../types/options\";\nimport { english } from \"../l10n/default\";\nexport var createDateFormatter = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c, _d = _a.isMobile, isMobile = _d === void 0 ? false : _d;\n return function (dateObj, frmt, overrideLocale) {\n var locale = overrideLocale || l10n;\n if (config.formatDate !== undefined && !isMobile) {\n return config.formatDate(dateObj, frmt, locale);\n }\n return frmt\n .split(\"\")\n .map(function (c, i, arr) {\n return formats[c] && arr[i - 1] !== \"\\\\\"\n ? formats[c](dateObj, locale, config)\n : c !== \"\\\\\"\n ? c\n : \"\";\n })\n .join(\"\");\n };\n};\nexport var createDateParser = function (_a) {\n var _b = _a.config, config = _b === void 0 ? defaults : _b, _c = _a.l10n, l10n = _c === void 0 ? english : _c;\n return function (date, givenFormat, timeless, customLocale) {\n if (date !== 0 && !date)\n return undefined;\n var locale = customLocale || l10n;\n var parsedDate;\n var dateOrig = date;\n if (date instanceof Date)\n parsedDate = new Date(date.getTime());\n else if (typeof date !== \"string\" &&\n date.toFixed !== undefined)\n parsedDate = new Date(date);\n else if (typeof date === \"string\") {\n var format = givenFormat || (config || defaults).dateFormat;\n var datestr = String(date).trim();\n if (datestr === \"today\") {\n parsedDate = new Date();\n timeless = true;\n }\n else if (config && config.parseDate) {\n parsedDate = config.parseDate(date, format);\n }\n else if (/Z$/.test(datestr) ||\n /GMT$/.test(datestr)) {\n parsedDate = new Date(date);\n }\n else {\n var matched = void 0, ops = [];\n for (var i = 0, matchIndex = 0, regexStr = \"\"; i < format.length; i++) {\n var token = format[i];\n var isBackSlash = token === \"\\\\\";\n var escaped = format[i - 1] === \"\\\\\" || isBackSlash;\n if (tokenRegex[token] && !escaped) {\n regexStr += tokenRegex[token];\n var match = new RegExp(regexStr).exec(date);\n if (match && (matched = true)) {\n ops[token !== \"Y\" ? \"push\" : \"unshift\"]({\n fn: revFormat[token],\n val: match[++matchIndex],\n });\n }\n }\n else if (!isBackSlash)\n regexStr += \".\";\n }\n parsedDate =\n !config || !config.noCalendar\n ? new Date(new Date().getFullYear(), 0, 1, 0, 0, 0, 0)\n : new Date(new Date().setHours(0, 0, 0, 0));\n ops.forEach(function (_a) {\n var fn = _a.fn, val = _a.val;\n return (parsedDate = fn(parsedDate, val, locale) || parsedDate);\n });\n parsedDate = matched ? parsedDate : undefined;\n }\n }\n if (!(parsedDate instanceof Date && !isNaN(parsedDate.getTime()))) {\n config.errorHandler(new Error(\"Invalid date provided: \" + dateOrig));\n return undefined;\n }\n if (timeless === true)\n parsedDate.setHours(0, 0, 0, 0);\n return parsedDate;\n };\n};\nexport function compareDates(date1, date2, timeless) {\n if (timeless === void 0) { timeless = true; }\n if (timeless !== false) {\n return (new Date(date1.getTime()).setHours(0, 0, 0, 0) -\n new Date(date2.getTime()).setHours(0, 0, 0, 0));\n }\n return date1.getTime() - date2.getTime();\n}\nexport function compareTimes(date1, date2) {\n return (3600 * (date1.getHours() - date2.getHours()) +\n 60 * (date1.getMinutes() - date2.getMinutes()) +\n date1.getSeconds() -\n date2.getSeconds());\n}\nexport var isBetween = function (ts, ts1, ts2) {\n return ts > Math.min(ts1, ts2) && ts < Math.max(ts1, ts2);\n};\nexport var calculateSecondsSinceMidnight = function (hours, minutes, seconds) {\n return hours * 3600 + minutes * 60 + seconds;\n};\nexport var parseSeconds = function (secondsSinceMidnight) {\n var hours = Math.floor(secondsSinceMidnight / 3600), minutes = (secondsSinceMidnight - hours * 3600) / 60;\n return [hours, minutes, secondsSinceMidnight - hours * 3600 - minutes * 60];\n};\nexport var duration = {\n DAY: 86400000,\n};\nexport function getDefaultHours(config) {\n var hours = config.defaultHour;\n var minutes = config.defaultMinute;\n var seconds = config.defaultSeconds;\n if (config.minDate !== undefined) {\n var minHour = config.minDate.getHours();\n var minMinutes = config.minDate.getMinutes();\n var minSeconds = config.minDate.getSeconds();\n if (hours < minHour) {\n hours = minHour;\n }\n if (hours === minHour && minutes < minMinutes) {\n minutes = minMinutes;\n }\n if (hours === minHour && minutes === minMinutes && seconds < minSeconds)\n seconds = config.minDate.getSeconds();\n }\n if (config.maxDate !== undefined) {\n var maxHr = config.maxDate.getHours();\n var maxMinutes = config.maxDate.getMinutes();\n hours = Math.min(hours, maxHr);\n if (hours === maxHr)\n minutes = Math.min(maxMinutes, minutes);\n if (hours === maxHr && minutes === maxMinutes)\n seconds = config.maxDate.getSeconds();\n }\n return { hours: hours, minutes: minutes, seconds: seconds };\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))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { defaults as defaultOptions, HOOKS, } from \"./types/options\";\nimport English from \"./l10n/default\";\nimport { arrayify, debounce, int, pad } from \"./utils\";\nimport { clearNode, createElement, createNumberInput, findParent, toggleClass, getEventTarget, } from \"./utils/dom\";\nimport { compareDates, createDateParser, createDateFormatter, duration, isBetween, getDefaultHours, calculateSecondsSinceMidnight, parseSeconds, } from \"./utils/dates\";\nimport { tokenRegex, monthToStr } from \"./utils/formatting\";\nimport \"./utils/polyfills\";\nvar DEBOUNCED_CHANGE_MS = 300;\nfunction FlatpickrInstance(element, instanceConfig) {\n var self = {\n config: __assign(__assign({}, defaultOptions), flatpickr.defaultConfig),\n l10n: English,\n };\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n self._handlers = [];\n self.pluginElements = [];\n self.loadedPlugins = [];\n self._bind = bind;\n self._setHoursFromDate = setHoursFromDate;\n self._positionCalendar = positionCalendar;\n self.changeMonth = changeMonth;\n self.changeYear = changeYear;\n self.clear = clear;\n self.close = close;\n self.onMouseOver = onMouseOver;\n self._createElement = createElement;\n self.createDay = createDay;\n self.destroy = destroy;\n self.isEnabled = isEnabled;\n self.jumpToDate = jumpToDate;\n self.updateValue = updateValue;\n self.open = open;\n self.redraw = redraw;\n self.set = set;\n self.setDate = setDate;\n self.toggle = toggle;\n function setupHelperFunctions() {\n self.utils = {\n getDaysInMonth: function (month, yr) {\n if (month === void 0) { month = self.currentMonth; }\n if (yr === void 0) { yr = self.currentYear; }\n if (month === 1 && ((yr % 4 === 0 && yr % 100 !== 0) || yr % 400 === 0))\n return 29;\n return self.l10n.daysInMonth[month];\n },\n };\n }\n function init() {\n self.element = self.input = element;\n self.isOpen = false;\n parseConfig();\n setupLocale();\n setupInputs();\n setupDates();\n setupHelperFunctions();\n if (!self.isMobile)\n build();\n bindEvents();\n if (self.selectedDates.length || self.config.noCalendar) {\n if (self.config.enableTime) {\n setHoursFromDate(self.config.noCalendar ? self.latestSelectedDateObj : undefined);\n }\n updateValue(false);\n }\n setCalendarWidth();\n var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n if (!self.isMobile && isSafari) {\n positionCalendar();\n }\n triggerEvent(\"onReady\");\n }\n function getClosestActiveElement() {\n var _a;\n return (((_a = self.calendarContainer) === null || _a === void 0 ? void 0 : _a.getRootNode())\n .activeElement || document.activeElement);\n }\n function bindToInstance(fn) {\n return fn.bind(self);\n }\n function setCalendarWidth() {\n var config = self.config;\n if (config.weekNumbers === false && config.showMonths === 1) {\n return;\n }\n else if (config.noCalendar !== true) {\n window.requestAnimationFrame(function () {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.style.visibility = \"hidden\";\n self.calendarContainer.style.display = \"block\";\n }\n if (self.daysContainer !== undefined) {\n var daysWidth = (self.days.offsetWidth + 1) * config.showMonths;\n self.daysContainer.style.width = daysWidth + \"px\";\n self.calendarContainer.style.width =\n daysWidth +\n (self.weekWrapper !== undefined\n ? self.weekWrapper.offsetWidth\n : 0) +\n \"px\";\n self.calendarContainer.style.removeProperty(\"visibility\");\n self.calendarContainer.style.removeProperty(\"display\");\n }\n });\n }\n }\n function updateTime(e) {\n if (self.selectedDates.length === 0) {\n var defaultDate = self.config.minDate === undefined ||\n compareDates(new Date(), self.config.minDate) >= 0\n ? new Date()\n : new Date(self.config.minDate.getTime());\n var defaults = getDefaultHours(self.config);\n defaultDate.setHours(defaults.hours, defaults.minutes, defaults.seconds, defaultDate.getMilliseconds());\n self.selectedDates = [defaultDate];\n self.latestSelectedDateObj = defaultDate;\n }\n if (e !== undefined && e.type !== \"blur\") {\n timeWrapper(e);\n }\n var prevValue = self._input.value;\n setHoursFromInputs();\n updateValue();\n if (self._input.value !== prevValue) {\n self._debouncedChange();\n }\n }\n function ampm2military(hour, amPM) {\n return (hour % 12) + 12 * int(amPM === self.l10n.amPM[1]);\n }\n function military2ampm(hour) {\n switch (hour % 24) {\n case 0:\n case 12:\n return 12;\n default:\n return hour % 12;\n }\n }\n function setHoursFromInputs() {\n if (self.hourElement === undefined || self.minuteElement === undefined)\n return;\n var hours = (parseInt(self.hourElement.value.slice(-2), 10) || 0) % 24, minutes = (parseInt(self.minuteElement.value, 10) || 0) % 60, seconds = self.secondElement !== undefined\n ? (parseInt(self.secondElement.value, 10) || 0) % 60\n : 0;\n if (self.amPM !== undefined) {\n hours = ampm2military(hours, self.amPM.textContent);\n }\n var limitMinHours = self.config.minTime !== undefined ||\n (self.config.minDate &&\n self.minDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.minDate, true) ===\n 0);\n var limitMaxHours = self.config.maxTime !== undefined ||\n (self.config.maxDate &&\n self.maxDateHasTime &&\n self.latestSelectedDateObj &&\n compareDates(self.latestSelectedDateObj, self.config.maxDate, true) ===\n 0);\n if (self.config.maxTime !== undefined &&\n self.config.minTime !== undefined &&\n self.config.minTime > self.config.maxTime) {\n var minBound = calculateSecondsSinceMidnight(self.config.minTime.getHours(), self.config.minTime.getMinutes(), self.config.minTime.getSeconds());\n var maxBound = calculateSecondsSinceMidnight(self.config.maxTime.getHours(), self.config.maxTime.getMinutes(), self.config.maxTime.getSeconds());\n var currentTime = calculateSecondsSinceMidnight(hours, minutes, seconds);\n if (currentTime > maxBound && currentTime < minBound) {\n var result = parseSeconds(minBound);\n hours = result[0];\n minutes = result[1];\n seconds = result[2];\n }\n }\n else {\n if (limitMaxHours) {\n var maxTime = self.config.maxTime !== undefined\n ? self.config.maxTime\n : self.config.maxDate;\n hours = Math.min(hours, maxTime.getHours());\n if (hours === maxTime.getHours())\n minutes = Math.min(minutes, maxTime.getMinutes());\n if (minutes === maxTime.getMinutes())\n seconds = Math.min(seconds, maxTime.getSeconds());\n }\n if (limitMinHours) {\n var minTime = self.config.minTime !== undefined\n ? self.config.minTime\n : self.config.minDate;\n hours = Math.max(hours, minTime.getHours());\n if (hours === minTime.getHours() && minutes < minTime.getMinutes())\n minutes = minTime.getMinutes();\n if (minutes === minTime.getMinutes())\n seconds = Math.max(seconds, minTime.getSeconds());\n }\n }\n setHours(hours, minutes, seconds);\n }\n function setHoursFromDate(dateObj) {\n var date = dateObj || self.latestSelectedDateObj;\n if (date && date instanceof Date) {\n setHours(date.getHours(), date.getMinutes(), date.getSeconds());\n }\n }\n function setHours(hours, minutes, seconds) {\n if (self.latestSelectedDateObj !== undefined) {\n self.latestSelectedDateObj.setHours(hours % 24, minutes, seconds || 0, 0);\n }\n if (!self.hourElement || !self.minuteElement || self.isMobile)\n return;\n self.hourElement.value = pad(!self.config.time_24hr\n ? ((12 + hours) % 12) + 12 * int(hours % 12 === 0)\n : hours);\n self.minuteElement.value = pad(minutes);\n if (self.amPM !== undefined)\n self.amPM.textContent = self.l10n.amPM[int(hours >= 12)];\n if (self.secondElement !== undefined)\n self.secondElement.value = pad(seconds);\n }\n function onYearInput(event) {\n var eventTarget = getEventTarget(event);\n var year = parseInt(eventTarget.value) + (event.delta || 0);\n if (year / 1000 > 1 ||\n (event.key === \"Enter\" && !/[^\\d]/.test(year.toString()))) {\n changeYear(year);\n }\n }\n function bind(element, event, handler, options) {\n if (event instanceof Array)\n return event.forEach(function (ev) { return bind(element, ev, handler, options); });\n if (element instanceof Array)\n return element.forEach(function (el) { return bind(el, event, handler, options); });\n element.addEventListener(event, handler, options);\n self._handlers.push({\n remove: function () { return element.removeEventListener(event, handler, options); },\n });\n }\n function triggerChange() {\n triggerEvent(\"onChange\");\n }\n function bindEvents() {\n if (self.config.wrap) {\n [\"open\", \"close\", \"toggle\", \"clear\"].forEach(function (evt) {\n Array.prototype.forEach.call(self.element.querySelectorAll(\"[data-\" + evt + \"]\"), function (el) {\n return bind(el, \"click\", self[evt]);\n });\n });\n }\n if (self.isMobile) {\n setupMobile();\n return;\n }\n var debouncedResize = debounce(onResize, 50);\n self._debouncedChange = debounce(triggerChange, DEBOUNCED_CHANGE_MS);\n if (self.daysContainer && !/iPhone|iPad|iPod/i.test(navigator.userAgent))\n bind(self.daysContainer, \"mouseover\", function (e) {\n if (self.config.mode === \"range\")\n onMouseOver(getEventTarget(e));\n });\n bind(self._input, \"keydown\", onKeyDown);\n if (self.calendarContainer !== undefined) {\n bind(self.calendarContainer, \"keydown\", onKeyDown);\n }\n if (!self.config.inline && !self.config.static)\n bind(window, \"resize\", debouncedResize);\n if (window.ontouchstart !== undefined)\n bind(window.document, \"touchstart\", documentClick);\n else\n bind(window.document, \"mousedown\", documentClick);\n bind(window.document, \"focus\", documentClick, { capture: true });\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n if (self.daysContainer !== undefined) {\n bind(self.monthNav, \"click\", onMonthNavClick);\n bind(self.monthNav, [\"keyup\", \"increment\"], onYearInput);\n bind(self.daysContainer, \"click\", selectDate);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined) {\n var selText = function (e) {\n return getEventTarget(e).select();\n };\n bind(self.timeContainer, [\"increment\"], updateTime);\n bind(self.timeContainer, \"blur\", updateTime, { capture: true });\n bind(self.timeContainer, \"click\", timeIncrement);\n bind([self.hourElement, self.minuteElement], [\"focus\", \"click\"], selText);\n if (self.secondElement !== undefined)\n bind(self.secondElement, \"focus\", function () { return self.secondElement && self.secondElement.select(); });\n if (self.amPM !== undefined) {\n bind(self.amPM, \"click\", function (e) {\n updateTime(e);\n });\n }\n }\n if (self.config.allowInput) {\n bind(self._input, \"blur\", onBlur);\n }\n }\n function jumpToDate(jumpDate, triggerChange) {\n var jumpTo = jumpDate !== undefined\n ? self.parseDate(jumpDate)\n : self.latestSelectedDateObj ||\n (self.config.minDate && self.config.minDate > self.now\n ? self.config.minDate\n : self.config.maxDate && self.config.maxDate < self.now\n ? self.config.maxDate\n : self.now);\n var oldYear = self.currentYear;\n var oldMonth = self.currentMonth;\n try {\n if (jumpTo !== undefined) {\n self.currentYear = jumpTo.getFullYear();\n self.currentMonth = jumpTo.getMonth();\n }\n }\n catch (e) {\n e.message = \"Invalid date supplied: \" + jumpTo;\n self.config.errorHandler(e);\n }\n if (triggerChange && self.currentYear !== oldYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n if (triggerChange &&\n (self.currentYear !== oldYear || self.currentMonth !== oldMonth)) {\n triggerEvent(\"onMonthChange\");\n }\n self.redraw();\n }\n function timeIncrement(e) {\n var eventTarget = getEventTarget(e);\n if (~eventTarget.className.indexOf(\"arrow\"))\n incrementNumInput(e, eventTarget.classList.contains(\"arrowUp\") ? 1 : -1);\n }\n function incrementNumInput(e, delta, inputElem) {\n var target = e && getEventTarget(e);\n var input = inputElem ||\n (target && target.parentNode && target.parentNode.firstChild);\n var event = createEvent(\"increment\");\n event.delta = delta;\n input && input.dispatchEvent(event);\n }\n function build() {\n var fragment = window.document.createDocumentFragment();\n self.calendarContainer = createElement(\"div\", \"flatpickr-calendar\");\n self.calendarContainer.tabIndex = -1;\n if (!self.config.noCalendar) {\n fragment.appendChild(buildMonthNav());\n self.innerContainer = createElement(\"div\", \"flatpickr-innerContainer\");\n if (self.config.weekNumbers) {\n var _a = buildWeeks(), weekWrapper = _a.weekWrapper, weekNumbers = _a.weekNumbers;\n self.innerContainer.appendChild(weekWrapper);\n self.weekNumbers = weekNumbers;\n self.weekWrapper = weekWrapper;\n }\n self.rContainer = createElement(\"div\", \"flatpickr-rContainer\");\n self.rContainer.appendChild(buildWeekdays());\n if (!self.daysContainer) {\n self.daysContainer = createElement(\"div\", \"flatpickr-days\");\n self.daysContainer.tabIndex = -1;\n }\n buildDays();\n self.rContainer.appendChild(self.daysContainer);\n self.innerContainer.appendChild(self.rContainer);\n fragment.appendChild(self.innerContainer);\n }\n if (self.config.enableTime) {\n fragment.appendChild(buildTime());\n }\n toggleClass(self.calendarContainer, \"rangeMode\", self.config.mode === \"range\");\n toggleClass(self.calendarContainer, \"animate\", self.config.animate === true);\n toggleClass(self.calendarContainer, \"multiMonth\", self.config.showMonths > 1);\n self.calendarContainer.appendChild(fragment);\n var customAppend = self.config.appendTo !== undefined &&\n self.config.appendTo.nodeType !== undefined;\n if (self.config.inline || self.config.static) {\n self.calendarContainer.classList.add(self.config.inline ? \"inline\" : \"static\");\n if (self.config.inline) {\n if (!customAppend && self.element.parentNode)\n self.element.parentNode.insertBefore(self.calendarContainer, self._input.nextSibling);\n else if (self.config.appendTo !== undefined)\n self.config.appendTo.appendChild(self.calendarContainer);\n }\n if (self.config.static) {\n var wrapper = createElement(\"div\", \"flatpickr-wrapper\");\n if (self.element.parentNode)\n self.element.parentNode.insertBefore(wrapper, self.element);\n wrapper.appendChild(self.element);\n if (self.altInput)\n wrapper.appendChild(self.altInput);\n wrapper.appendChild(self.calendarContainer);\n }\n }\n if (!self.config.static && !self.config.inline)\n (self.config.appendTo !== undefined\n ? self.config.appendTo\n : window.document.body).appendChild(self.calendarContainer);\n }\n function createDay(className, date, _dayNumber, i) {\n var dateIsEnabled = isEnabled(date, true), dayElement = createElement(\"span\", className, date.getDate().toString());\n dayElement.dateObj = date;\n dayElement.$i = i;\n dayElement.setAttribute(\"aria-label\", self.formatDate(date, self.config.ariaDateFormat));\n if (className.indexOf(\"hidden\") === -1 &&\n compareDates(date, self.now) === 0) {\n self.todayDateElem = dayElement;\n dayElement.classList.add(\"today\");\n dayElement.setAttribute(\"aria-current\", \"date\");\n }\n if (dateIsEnabled) {\n dayElement.tabIndex = -1;\n if (isDateSelected(date)) {\n dayElement.classList.add(\"selected\");\n self.selectedDateElem = dayElement;\n if (self.config.mode === \"range\") {\n toggleClass(dayElement, \"startRange\", self.selectedDates[0] &&\n compareDates(date, self.selectedDates[0], true) === 0);\n toggleClass(dayElement, \"endRange\", self.selectedDates[1] &&\n compareDates(date, self.selectedDates[1], true) === 0);\n if (className === \"nextMonthDay\")\n dayElement.classList.add(\"inRange\");\n }\n }\n }\n else {\n dayElement.classList.add(\"flatpickr-disabled\");\n }\n if (self.config.mode === \"range\") {\n if (isDateInRange(date) && !isDateSelected(date))\n dayElement.classList.add(\"inRange\");\n }\n if (self.weekNumbers &&\n self.config.showMonths === 1 &&\n className !== \"prevMonthDay\" &&\n i % 7 === 6) {\n self.weekNumbers.insertAdjacentHTML(\"beforeend\", \"\" + self.config.getWeek(date) + \"\");\n }\n triggerEvent(\"onDayCreate\", dayElement);\n return dayElement;\n }\n function focusOnDayElem(targetNode) {\n targetNode.focus();\n if (self.config.mode === \"range\")\n onMouseOver(targetNode);\n }\n function getFirstAvailableDay(delta) {\n var startMonth = delta > 0 ? 0 : self.config.showMonths - 1;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n for (var m = startMonth; m != endMonth; m += delta) {\n var month = self.daysContainer.children[m];\n var startIndex = delta > 0 ? 0 : month.children.length - 1;\n var endIndex = delta > 0 ? month.children.length : -1;\n for (var i = startIndex; i != endIndex; i += delta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 && isEnabled(c.dateObj))\n return c;\n }\n }\n return undefined;\n }\n function getNextAvailableDay(current, delta) {\n var givenMonth = current.className.indexOf(\"Month\") === -1\n ? current.dateObj.getMonth()\n : self.currentMonth;\n var endMonth = delta > 0 ? self.config.showMonths : -1;\n var loopDelta = delta > 0 ? 1 : -1;\n for (var m = givenMonth - self.currentMonth; m != endMonth; m += loopDelta) {\n var month = self.daysContainer.children[m];\n var startIndex = givenMonth - self.currentMonth === m\n ? current.$i + delta\n : delta < 0\n ? month.children.length - 1\n : 0;\n var numMonthDays = month.children.length;\n for (var i = startIndex; i >= 0 && i < numMonthDays && i != (delta > 0 ? numMonthDays : -1); i += loopDelta) {\n var c = month.children[i];\n if (c.className.indexOf(\"hidden\") === -1 &&\n isEnabled(c.dateObj) &&\n Math.abs(current.$i - i) >= Math.abs(delta))\n return focusOnDayElem(c);\n }\n }\n self.changeMonth(loopDelta);\n focusOnDay(getFirstAvailableDay(loopDelta), 0);\n return undefined;\n }\n function focusOnDay(current, offset) {\n var activeElement = getClosestActiveElement();\n var dayFocused = isInView(activeElement || document.body);\n var startElem = current !== undefined\n ? current\n : dayFocused\n ? activeElement\n : self.selectedDateElem !== undefined && isInView(self.selectedDateElem)\n ? self.selectedDateElem\n : self.todayDateElem !== undefined && isInView(self.todayDateElem)\n ? self.todayDateElem\n : getFirstAvailableDay(offset > 0 ? 1 : -1);\n if (startElem === undefined) {\n self._input.focus();\n }\n else if (!dayFocused) {\n focusOnDayElem(startElem);\n }\n else {\n getNextAvailableDay(startElem, offset);\n }\n }\n function buildMonthDays(year, month) {\n var firstOfMonth = (new Date(year, month, 1).getDay() - self.l10n.firstDayOfWeek + 7) % 7;\n var prevMonthDays = self.utils.getDaysInMonth((month - 1 + 12) % 12, year);\n var daysInMonth = self.utils.getDaysInMonth(month, year), days = window.document.createDocumentFragment(), isMultiMonth = self.config.showMonths > 1, prevMonthDayClass = isMultiMonth ? \"prevMonthDay hidden\" : \"prevMonthDay\", nextMonthDayClass = isMultiMonth ? \"nextMonthDay hidden\" : \"nextMonthDay\";\n var dayNumber = prevMonthDays + 1 - firstOfMonth, dayIndex = 0;\n for (; dayNumber <= prevMonthDays; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + prevMonthDayClass, new Date(year, month - 1, dayNumber), dayNumber, dayIndex));\n }\n for (dayNumber = 1; dayNumber <= daysInMonth; dayNumber++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day\", new Date(year, month, dayNumber), dayNumber, dayIndex));\n }\n for (var dayNum = daysInMonth + 1; dayNum <= 42 - firstOfMonth &&\n (self.config.showMonths === 1 || dayIndex % 7 !== 0); dayNum++, dayIndex++) {\n days.appendChild(createDay(\"flatpickr-day \" + nextMonthDayClass, new Date(year, month + 1, dayNum % daysInMonth), dayNum, dayIndex));\n }\n var dayContainer = createElement(\"div\", \"dayContainer\");\n dayContainer.appendChild(days);\n return dayContainer;\n }\n function buildDays() {\n if (self.daysContainer === undefined) {\n return;\n }\n clearNode(self.daysContainer);\n if (self.weekNumbers)\n clearNode(self.weekNumbers);\n var frag = document.createDocumentFragment();\n for (var i = 0; i < self.config.showMonths; i++) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n frag.appendChild(buildMonthDays(d.getFullYear(), d.getMonth()));\n }\n self.daysContainer.appendChild(frag);\n self.days = self.daysContainer.firstChild;\n if (self.config.mode === \"range\" && self.selectedDates.length === 1) {\n onMouseOver();\n }\n }\n function buildMonthSwitch() {\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType !== \"dropdown\")\n return;\n var shouldBuildMonth = function (month) {\n if (self.config.minDate !== undefined &&\n self.currentYear === self.config.minDate.getFullYear() &&\n month < self.config.minDate.getMonth()) {\n return false;\n }\n return !(self.config.maxDate !== undefined &&\n self.currentYear === self.config.maxDate.getFullYear() &&\n month > self.config.maxDate.getMonth());\n };\n self.monthsDropdownContainer.tabIndex = -1;\n self.monthsDropdownContainer.innerHTML = \"\";\n for (var i = 0; i < 12; i++) {\n if (!shouldBuildMonth(i))\n continue;\n var month = createElement(\"option\", \"flatpickr-monthDropdown-month\");\n month.value = new Date(self.currentYear, i).getMonth().toString();\n month.textContent = monthToStr(i, self.config.shorthandCurrentMonth, self.l10n);\n month.tabIndex = -1;\n if (self.currentMonth === i) {\n month.selected = true;\n }\n self.monthsDropdownContainer.appendChild(month);\n }\n }\n function buildMonth() {\n var container = createElement(\"div\", \"flatpickr-month\");\n var monthNavFragment = window.document.createDocumentFragment();\n var monthElement;\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n monthElement = createElement(\"span\", \"cur-month\");\n }\n else {\n self.monthsDropdownContainer = createElement(\"select\", \"flatpickr-monthDropdown-months\");\n self.monthsDropdownContainer.setAttribute(\"aria-label\", self.l10n.monthAriaLabel);\n bind(self.monthsDropdownContainer, \"change\", function (e) {\n var target = getEventTarget(e);\n var selectedMonth = parseInt(target.value, 10);\n self.changeMonth(selectedMonth - self.currentMonth);\n triggerEvent(\"onMonthChange\");\n });\n buildMonthSwitch();\n monthElement = self.monthsDropdownContainer;\n }\n var yearInput = createNumberInput(\"cur-year\", { tabindex: \"-1\" });\n var yearElement = yearInput.getElementsByTagName(\"input\")[0];\n yearElement.setAttribute(\"aria-label\", self.l10n.yearAriaLabel);\n if (self.config.minDate) {\n yearElement.setAttribute(\"min\", self.config.minDate.getFullYear().toString());\n }\n if (self.config.maxDate) {\n yearElement.setAttribute(\"max\", self.config.maxDate.getFullYear().toString());\n yearElement.disabled =\n !!self.config.minDate &&\n self.config.minDate.getFullYear() === self.config.maxDate.getFullYear();\n }\n var currentMonth = createElement(\"div\", \"flatpickr-current-month\");\n currentMonth.appendChild(monthElement);\n currentMonth.appendChild(yearInput);\n monthNavFragment.appendChild(currentMonth);\n container.appendChild(monthNavFragment);\n return {\n container: container,\n yearElement: yearElement,\n monthElement: monthElement,\n };\n }\n function buildMonths() {\n clearNode(self.monthNav);\n self.monthNav.appendChild(self.prevMonthNav);\n if (self.config.showMonths) {\n self.yearElements = [];\n self.monthElements = [];\n }\n for (var m = self.config.showMonths; m--;) {\n var month = buildMonth();\n self.yearElements.push(month.yearElement);\n self.monthElements.push(month.monthElement);\n self.monthNav.appendChild(month.container);\n }\n self.monthNav.appendChild(self.nextMonthNav);\n }\n function buildMonthNav() {\n self.monthNav = createElement(\"div\", \"flatpickr-months\");\n self.yearElements = [];\n self.monthElements = [];\n self.prevMonthNav = createElement(\"span\", \"flatpickr-prev-month\");\n self.prevMonthNav.innerHTML = self.config.prevArrow;\n self.nextMonthNav = createElement(\"span\", \"flatpickr-next-month\");\n self.nextMonthNav.innerHTML = self.config.nextArrow;\n buildMonths();\n Object.defineProperty(self, \"_hidePrevMonthArrow\", {\n get: function () { return self.__hidePrevMonthArrow; },\n set: function (bool) {\n if (self.__hidePrevMonthArrow !== bool) {\n toggleClass(self.prevMonthNav, \"flatpickr-disabled\", bool);\n self.__hidePrevMonthArrow = bool;\n }\n },\n });\n Object.defineProperty(self, \"_hideNextMonthArrow\", {\n get: function () { return self.__hideNextMonthArrow; },\n set: function (bool) {\n if (self.__hideNextMonthArrow !== bool) {\n toggleClass(self.nextMonthNav, \"flatpickr-disabled\", bool);\n self.__hideNextMonthArrow = bool;\n }\n },\n });\n self.currentYearElement = self.yearElements[0];\n updateNavigationCurrentMonth();\n return self.monthNav;\n }\n function buildTime() {\n self.calendarContainer.classList.add(\"hasTime\");\n if (self.config.noCalendar)\n self.calendarContainer.classList.add(\"noCalendar\");\n var defaults = getDefaultHours(self.config);\n self.timeContainer = createElement(\"div\", \"flatpickr-time\");\n self.timeContainer.tabIndex = -1;\n var separator = createElement(\"span\", \"flatpickr-time-separator\", \":\");\n var hourInput = createNumberInput(\"flatpickr-hour\", {\n \"aria-label\": self.l10n.hourAriaLabel,\n });\n self.hourElement = hourInput.getElementsByTagName(\"input\")[0];\n var minuteInput = createNumberInput(\"flatpickr-minute\", {\n \"aria-label\": self.l10n.minuteAriaLabel,\n });\n self.minuteElement = minuteInput.getElementsByTagName(\"input\")[0];\n self.hourElement.tabIndex = self.minuteElement.tabIndex = -1;\n self.hourElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getHours()\n : self.config.time_24hr\n ? defaults.hours\n : military2ampm(defaults.hours));\n self.minuteElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getMinutes()\n : defaults.minutes);\n self.hourElement.setAttribute(\"step\", self.config.hourIncrement.toString());\n self.minuteElement.setAttribute(\"step\", self.config.minuteIncrement.toString());\n self.hourElement.setAttribute(\"min\", self.config.time_24hr ? \"0\" : \"1\");\n self.hourElement.setAttribute(\"max\", self.config.time_24hr ? \"23\" : \"12\");\n self.hourElement.setAttribute(\"maxlength\", \"2\");\n self.minuteElement.setAttribute(\"min\", \"0\");\n self.minuteElement.setAttribute(\"max\", \"59\");\n self.minuteElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(hourInput);\n self.timeContainer.appendChild(separator);\n self.timeContainer.appendChild(minuteInput);\n if (self.config.time_24hr)\n self.timeContainer.classList.add(\"time24hr\");\n if (self.config.enableSeconds) {\n self.timeContainer.classList.add(\"hasSeconds\");\n var secondInput = createNumberInput(\"flatpickr-second\");\n self.secondElement = secondInput.getElementsByTagName(\"input\")[0];\n self.secondElement.value = pad(self.latestSelectedDateObj\n ? self.latestSelectedDateObj.getSeconds()\n : defaults.seconds);\n self.secondElement.setAttribute(\"step\", self.minuteElement.getAttribute(\"step\"));\n self.secondElement.setAttribute(\"min\", \"0\");\n self.secondElement.setAttribute(\"max\", \"59\");\n self.secondElement.setAttribute(\"maxlength\", \"2\");\n self.timeContainer.appendChild(createElement(\"span\", \"flatpickr-time-separator\", \":\"));\n self.timeContainer.appendChild(secondInput);\n }\n if (!self.config.time_24hr) {\n self.amPM = createElement(\"span\", \"flatpickr-am-pm\", self.l10n.amPM[int((self.latestSelectedDateObj\n ? self.hourElement.value\n : self.config.defaultHour) > 11)]);\n self.amPM.title = self.l10n.toggleTitle;\n self.amPM.tabIndex = -1;\n self.timeContainer.appendChild(self.amPM);\n }\n return self.timeContainer;\n }\n function buildWeekdays() {\n if (!self.weekdayContainer)\n self.weekdayContainer = createElement(\"div\", \"flatpickr-weekdays\");\n else\n clearNode(self.weekdayContainer);\n for (var i = self.config.showMonths; i--;) {\n var container = createElement(\"div\", \"flatpickr-weekdaycontainer\");\n self.weekdayContainer.appendChild(container);\n }\n updateWeekdays();\n return self.weekdayContainer;\n }\n function updateWeekdays() {\n if (!self.weekdayContainer) {\n return;\n }\n var firstDayOfWeek = self.l10n.firstDayOfWeek;\n var weekdays = __spreadArrays(self.l10n.weekdays.shorthand);\n if (firstDayOfWeek > 0 && firstDayOfWeek < weekdays.length) {\n weekdays = __spreadArrays(weekdays.splice(firstDayOfWeek, weekdays.length), weekdays.splice(0, firstDayOfWeek));\n }\n for (var i = self.config.showMonths; i--;) {\n self.weekdayContainer.children[i].innerHTML = \"\\n \\n \" + weekdays.join(\"\") + \"\\n \\n \";\n }\n }\n function buildWeeks() {\n self.calendarContainer.classList.add(\"hasWeeks\");\n var weekWrapper = createElement(\"div\", \"flatpickr-weekwrapper\");\n weekWrapper.appendChild(createElement(\"span\", \"flatpickr-weekday\", self.l10n.weekAbbreviation));\n var weekNumbers = createElement(\"div\", \"flatpickr-weeks\");\n weekWrapper.appendChild(weekNumbers);\n return {\n weekWrapper: weekWrapper,\n weekNumbers: weekNumbers,\n };\n }\n function changeMonth(value, isOffset) {\n if (isOffset === void 0) { isOffset = true; }\n var delta = isOffset ? value : value - self.currentMonth;\n if ((delta < 0 && self._hidePrevMonthArrow === true) ||\n (delta > 0 && self._hideNextMonthArrow === true))\n return;\n self.currentMonth += delta;\n if (self.currentMonth < 0 || self.currentMonth > 11) {\n self.currentYear += self.currentMonth > 11 ? 1 : -1;\n self.currentMonth = (self.currentMonth + 12) % 12;\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n buildDays();\n triggerEvent(\"onMonthChange\");\n updateNavigationCurrentMonth();\n }\n function clear(triggerChangeEvent, toInitial) {\n if (triggerChangeEvent === void 0) { triggerChangeEvent = true; }\n if (toInitial === void 0) { toInitial = true; }\n self.input.value = \"\";\n if (self.altInput !== undefined)\n self.altInput.value = \"\";\n if (self.mobileInput !== undefined)\n self.mobileInput.value = \"\";\n self.selectedDates = [];\n self.latestSelectedDateObj = undefined;\n if (toInitial === true) {\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n }\n if (self.config.enableTime === true) {\n var _a = getDefaultHours(self.config), hours = _a.hours, minutes = _a.minutes, seconds = _a.seconds;\n setHours(hours, minutes, seconds);\n }\n self.redraw();\n if (triggerChangeEvent)\n triggerEvent(\"onChange\");\n }\n function close() {\n self.isOpen = false;\n if (!self.isMobile) {\n if (self.calendarContainer !== undefined) {\n self.calendarContainer.classList.remove(\"open\");\n }\n if (self._input !== undefined) {\n self._input.classList.remove(\"active\");\n }\n }\n triggerEvent(\"onClose\");\n }\n function destroy() {\n if (self.config !== undefined)\n triggerEvent(\"onDestroy\");\n for (var i = self._handlers.length; i--;) {\n self._handlers[i].remove();\n }\n self._handlers = [];\n if (self.mobileInput) {\n if (self.mobileInput.parentNode)\n self.mobileInput.parentNode.removeChild(self.mobileInput);\n self.mobileInput = undefined;\n }\n else if (self.calendarContainer && self.calendarContainer.parentNode) {\n if (self.config.static && self.calendarContainer.parentNode) {\n var wrapper = self.calendarContainer.parentNode;\n wrapper.lastChild && wrapper.removeChild(wrapper.lastChild);\n if (wrapper.parentNode) {\n while (wrapper.firstChild)\n wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);\n wrapper.parentNode.removeChild(wrapper);\n }\n }\n else\n self.calendarContainer.parentNode.removeChild(self.calendarContainer);\n }\n if (self.altInput) {\n self.input.type = \"text\";\n if (self.altInput.parentNode)\n self.altInput.parentNode.removeChild(self.altInput);\n delete self.altInput;\n }\n if (self.input) {\n self.input.type = self.input._type;\n self.input.classList.remove(\"flatpickr-input\");\n self.input.removeAttribute(\"readonly\");\n }\n [\n \"_showTimeInput\",\n \"latestSelectedDateObj\",\n \"_hideNextMonthArrow\",\n \"_hidePrevMonthArrow\",\n \"__hideNextMonthArrow\",\n \"__hidePrevMonthArrow\",\n \"isMobile\",\n \"isOpen\",\n \"selectedDateElem\",\n \"minDateHasTime\",\n \"maxDateHasTime\",\n \"days\",\n \"daysContainer\",\n \"_input\",\n \"_positionElement\",\n \"innerContainer\",\n \"rContainer\",\n \"monthNav\",\n \"todayDateElem\",\n \"calendarContainer\",\n \"weekdayContainer\",\n \"prevMonthNav\",\n \"nextMonthNav\",\n \"monthsDropdownContainer\",\n \"currentMonthElement\",\n \"currentYearElement\",\n \"navigationCurrentMonth\",\n \"selectedDateElem\",\n \"config\",\n ].forEach(function (k) {\n try {\n delete self[k];\n }\n catch (_) { }\n });\n }\n function isCalendarElem(elem) {\n return self.calendarContainer.contains(elem);\n }\n function documentClick(e) {\n if (self.isOpen && !self.config.inline) {\n var eventTarget_1 = getEventTarget(e);\n var isCalendarElement = isCalendarElem(eventTarget_1);\n var isInput = eventTarget_1 === self.input ||\n eventTarget_1 === self.altInput ||\n self.element.contains(eventTarget_1) ||\n (e.path &&\n e.path.indexOf &&\n (~e.path.indexOf(self.input) ||\n ~e.path.indexOf(self.altInput)));\n var lostFocus = !isInput &&\n !isCalendarElement &&\n !isCalendarElem(e.relatedTarget);\n var isIgnored = !self.config.ignoredFocusElements.some(function (elem) {\n return elem.contains(eventTarget_1);\n });\n if (lostFocus && isIgnored) {\n if (self.config.allowInput) {\n self.setDate(self._input.value, false, self.config.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n if (self.timeContainer !== undefined &&\n self.minuteElement !== undefined &&\n self.hourElement !== undefined &&\n self.input.value !== \"\" &&\n self.input.value !== undefined) {\n updateTime();\n }\n self.close();\n if (self.config &&\n self.config.mode === \"range\" &&\n self.selectedDates.length === 1)\n self.clear(false);\n }\n }\n }\n function changeYear(newYear) {\n if (!newYear ||\n (self.config.minDate && newYear < self.config.minDate.getFullYear()) ||\n (self.config.maxDate && newYear > self.config.maxDate.getFullYear()))\n return;\n var newYearNum = newYear, isNewYear = self.currentYear !== newYearNum;\n self.currentYear = newYearNum || self.currentYear;\n if (self.config.maxDate &&\n self.currentYear === self.config.maxDate.getFullYear()) {\n self.currentMonth = Math.min(self.config.maxDate.getMonth(), self.currentMonth);\n }\n else if (self.config.minDate &&\n self.currentYear === self.config.minDate.getFullYear()) {\n self.currentMonth = Math.max(self.config.minDate.getMonth(), self.currentMonth);\n }\n if (isNewYear) {\n self.redraw();\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n }\n function isEnabled(date, timeless) {\n var _a;\n if (timeless === void 0) { timeless = true; }\n var dateToCheck = self.parseDate(date, undefined, timeless);\n if ((self.config.minDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.minDate, timeless !== undefined ? timeless : !self.minDateHasTime) < 0) ||\n (self.config.maxDate &&\n dateToCheck &&\n compareDates(dateToCheck, self.config.maxDate, timeless !== undefined ? timeless : !self.maxDateHasTime) > 0))\n return false;\n if (!self.config.enable && self.config.disable.length === 0)\n return true;\n if (dateToCheck === undefined)\n return false;\n var bool = !!self.config.enable, array = (_a = self.config.enable) !== null && _a !== void 0 ? _a : self.config.disable;\n for (var i = 0, d = void 0; i < array.length; i++) {\n d = array[i];\n if (typeof d === \"function\" &&\n d(dateToCheck))\n return bool;\n else if (d instanceof Date &&\n dateToCheck !== undefined &&\n d.getTime() === dateToCheck.getTime())\n return bool;\n else if (typeof d === \"string\") {\n var parsed = self.parseDate(d, undefined, true);\n return parsed && parsed.getTime() === dateToCheck.getTime()\n ? bool\n : !bool;\n }\n else if (typeof d === \"object\" &&\n dateToCheck !== undefined &&\n d.from &&\n d.to &&\n dateToCheck.getTime() >= d.from.getTime() &&\n dateToCheck.getTime() <= d.to.getTime())\n return bool;\n }\n return !bool;\n }\n function isInView(elem) {\n if (self.daysContainer !== undefined)\n return (elem.className.indexOf(\"hidden\") === -1 &&\n elem.className.indexOf(\"flatpickr-disabled\") === -1 &&\n self.daysContainer.contains(elem));\n return false;\n }\n function onBlur(e) {\n var isInput = e.target === self._input;\n var valueChanged = self._input.value.trimEnd() !== getDateStr();\n if (isInput &&\n valueChanged &&\n !(e.relatedTarget && isCalendarElem(e.relatedTarget))) {\n self.setDate(self._input.value, true, e.target === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n }\n }\n function onKeyDown(e) {\n var eventTarget = getEventTarget(e);\n var isInput = self.config.wrap\n ? element.contains(eventTarget)\n : eventTarget === self._input;\n var allowInput = self.config.allowInput;\n var allowKeydown = self.isOpen && (!allowInput || !isInput);\n var allowInlineKeydown = self.config.inline && isInput && !allowInput;\n if (e.keyCode === 13 && isInput) {\n if (allowInput) {\n self.setDate(self._input.value, true, eventTarget === self.altInput\n ? self.config.altFormat\n : self.config.dateFormat);\n self.close();\n return eventTarget.blur();\n }\n else {\n self.open();\n }\n }\n else if (isCalendarElem(eventTarget) ||\n allowKeydown ||\n allowInlineKeydown) {\n var isTimeObj = !!self.timeContainer &&\n self.timeContainer.contains(eventTarget);\n switch (e.keyCode) {\n case 13:\n if (isTimeObj) {\n e.preventDefault();\n updateTime();\n focusAndClose();\n }\n else\n selectDate(e);\n break;\n case 27:\n e.preventDefault();\n focusAndClose();\n break;\n case 8:\n case 46:\n if (isInput && !self.config.allowInput) {\n e.preventDefault();\n self.clear();\n }\n break;\n case 37:\n case 39:\n if (!isTimeObj && !isInput) {\n e.preventDefault();\n var activeElement = getClosestActiveElement();\n if (self.daysContainer !== undefined &&\n (allowInput === false ||\n (activeElement && isInView(activeElement)))) {\n var delta_1 = e.keyCode === 39 ? 1 : -1;\n if (!e.ctrlKey)\n focusOnDay(undefined, delta_1);\n else {\n e.stopPropagation();\n changeMonth(delta_1);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n }\n }\n else if (self.hourElement)\n self.hourElement.focus();\n break;\n case 38:\n case 40:\n e.preventDefault();\n var delta = e.keyCode === 40 ? 1 : -1;\n if ((self.daysContainer &&\n eventTarget.$i !== undefined) ||\n eventTarget === self.input ||\n eventTarget === self.altInput) {\n if (e.ctrlKey) {\n e.stopPropagation();\n changeYear(self.currentYear - delta);\n focusOnDay(getFirstAvailableDay(1), 0);\n }\n else if (!isTimeObj)\n focusOnDay(undefined, delta * 7);\n }\n else if (eventTarget === self.currentYearElement) {\n changeYear(self.currentYear - delta);\n }\n else if (self.config.enableTime) {\n if (!isTimeObj && self.hourElement)\n self.hourElement.focus();\n updateTime(e);\n self._debouncedChange();\n }\n break;\n case 9:\n if (isTimeObj) {\n var elems = [\n self.hourElement,\n self.minuteElement,\n self.secondElement,\n self.amPM,\n ]\n .concat(self.pluginElements)\n .filter(function (x) { return x; });\n var i = elems.indexOf(eventTarget);\n if (i !== -1) {\n var target = elems[i + (e.shiftKey ? -1 : 1)];\n e.preventDefault();\n (target || self._input).focus();\n }\n }\n else if (!self.config.noCalendar &&\n self.daysContainer &&\n self.daysContainer.contains(eventTarget) &&\n e.shiftKey) {\n e.preventDefault();\n self._input.focus();\n }\n break;\n default:\n break;\n }\n }\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n switch (e.key) {\n case self.l10n.amPM[0].charAt(0):\n case self.l10n.amPM[0].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[0];\n setHoursFromInputs();\n updateValue();\n break;\n case self.l10n.amPM[1].charAt(0):\n case self.l10n.amPM[1].charAt(0).toLowerCase():\n self.amPM.textContent = self.l10n.amPM[1];\n setHoursFromInputs();\n updateValue();\n break;\n }\n }\n if (isInput || isCalendarElem(eventTarget)) {\n triggerEvent(\"onKeyDown\", e);\n }\n }\n function onMouseOver(elem, cellClass) {\n if (cellClass === void 0) { cellClass = \"flatpickr-day\"; }\n if (self.selectedDates.length !== 1 ||\n (elem &&\n (!elem.classList.contains(cellClass) ||\n elem.classList.contains(\"flatpickr-disabled\"))))\n return;\n var hoverDate = elem\n ? elem.dateObj.getTime()\n : self.days.firstElementChild.dateObj.getTime(), initialDate = self.parseDate(self.selectedDates[0], undefined, true).getTime(), rangeStartDate = Math.min(hoverDate, self.selectedDates[0].getTime()), rangeEndDate = Math.max(hoverDate, self.selectedDates[0].getTime());\n var containsDisabled = false;\n var minRange = 0, maxRange = 0;\n for (var t = rangeStartDate; t < rangeEndDate; t += duration.DAY) {\n if (!isEnabled(new Date(t), true)) {\n containsDisabled =\n containsDisabled || (t > rangeStartDate && t < rangeEndDate);\n if (t < initialDate && (!minRange || t > minRange))\n minRange = t;\n else if (t > initialDate && (!maxRange || t < maxRange))\n maxRange = t;\n }\n }\n var hoverableCells = Array.from(self.rContainer.querySelectorAll(\"*:nth-child(-n+\" + self.config.showMonths + \") > .\" + cellClass));\n hoverableCells.forEach(function (dayElem) {\n var date = dayElem.dateObj;\n var timestamp = date.getTime();\n var outOfRange = (minRange > 0 && timestamp < minRange) ||\n (maxRange > 0 && timestamp > maxRange);\n if (outOfRange) {\n dayElem.classList.add(\"notAllowed\");\n [\"inRange\", \"startRange\", \"endRange\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n return;\n }\n else if (containsDisabled && !outOfRange)\n return;\n [\"startRange\", \"inRange\", \"endRange\", \"notAllowed\"].forEach(function (c) {\n dayElem.classList.remove(c);\n });\n if (elem !== undefined) {\n elem.classList.add(hoverDate <= self.selectedDates[0].getTime()\n ? \"startRange\"\n : \"endRange\");\n if (initialDate < hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"startRange\");\n else if (initialDate > hoverDate && timestamp === initialDate)\n dayElem.classList.add(\"endRange\");\n if (timestamp >= minRange &&\n (maxRange === 0 || timestamp <= maxRange) &&\n isBetween(timestamp, initialDate, hoverDate))\n dayElem.classList.add(\"inRange\");\n }\n });\n }\n function onResize() {\n if (self.isOpen && !self.config.static && !self.config.inline)\n positionCalendar();\n }\n function open(e, positionElement) {\n if (positionElement === void 0) { positionElement = self._positionElement; }\n if (self.isMobile === true) {\n if (e) {\n e.preventDefault();\n var eventTarget = getEventTarget(e);\n if (eventTarget) {\n eventTarget.blur();\n }\n }\n if (self.mobileInput !== undefined) {\n self.mobileInput.focus();\n self.mobileInput.click();\n }\n triggerEvent(\"onOpen\");\n return;\n }\n else if (self._input.disabled || self.config.inline) {\n return;\n }\n var wasOpen = self.isOpen;\n self.isOpen = true;\n if (!wasOpen) {\n self.calendarContainer.classList.add(\"open\");\n self._input.classList.add(\"active\");\n triggerEvent(\"onOpen\");\n positionCalendar(positionElement);\n }\n if (self.config.enableTime === true && self.config.noCalendar === true) {\n if (self.config.allowInput === false &&\n (e === undefined ||\n !self.timeContainer.contains(e.relatedTarget))) {\n setTimeout(function () { return self.hourElement.select(); }, 50);\n }\n }\n }\n function minMaxDateSetter(type) {\n return function (date) {\n var dateObj = (self.config[\"_\" + type + \"Date\"] = self.parseDate(date, self.config.dateFormat));\n var inverseDateObj = self.config[\"_\" + (type === \"min\" ? \"max\" : \"min\") + \"Date\"];\n if (dateObj !== undefined) {\n self[type === \"min\" ? \"minDateHasTime\" : \"maxDateHasTime\"] =\n dateObj.getHours() > 0 ||\n dateObj.getMinutes() > 0 ||\n dateObj.getSeconds() > 0;\n }\n if (self.selectedDates) {\n self.selectedDates = self.selectedDates.filter(function (d) { return isEnabled(d); });\n if (!self.selectedDates.length && type === \"min\")\n setHoursFromDate(dateObj);\n updateValue();\n }\n if (self.daysContainer) {\n redraw();\n if (dateObj !== undefined)\n self.currentYearElement[type] = dateObj.getFullYear().toString();\n else\n self.currentYearElement.removeAttribute(type);\n self.currentYearElement.disabled =\n !!inverseDateObj &&\n dateObj !== undefined &&\n inverseDateObj.getFullYear() === dateObj.getFullYear();\n }\n };\n }\n function parseConfig() {\n var boolOpts = [\n \"wrap\",\n \"weekNumbers\",\n \"allowInput\",\n \"allowInvalidPreload\",\n \"clickOpens\",\n \"time_24hr\",\n \"enableTime\",\n \"noCalendar\",\n \"altInput\",\n \"shorthandCurrentMonth\",\n \"inline\",\n \"static\",\n \"enableSeconds\",\n \"disableMobile\",\n ];\n var userConfig = __assign(__assign({}, JSON.parse(JSON.stringify(element.dataset || {}))), instanceConfig);\n var formats = {};\n self.config.parseDate = userConfig.parseDate;\n self.config.formatDate = userConfig.formatDate;\n Object.defineProperty(self.config, \"enable\", {\n get: function () { return self.config._enable; },\n set: function (dates) {\n self.config._enable = parseDateRules(dates);\n },\n });\n Object.defineProperty(self.config, \"disable\", {\n get: function () { return self.config._disable; },\n set: function (dates) {\n self.config._disable = parseDateRules(dates);\n },\n });\n var timeMode = userConfig.mode === \"time\";\n if (!userConfig.dateFormat && (userConfig.enableTime || timeMode)) {\n var defaultDateFormat = flatpickr.defaultConfig.dateFormat || defaultOptions.dateFormat;\n formats.dateFormat =\n userConfig.noCalendar || timeMode\n ? \"H:i\" + (userConfig.enableSeconds ? \":S\" : \"\")\n : defaultDateFormat + \" H:i\" + (userConfig.enableSeconds ? \":S\" : \"\");\n }\n if (userConfig.altInput &&\n (userConfig.enableTime || timeMode) &&\n !userConfig.altFormat) {\n var defaultAltFormat = flatpickr.defaultConfig.altFormat || defaultOptions.altFormat;\n formats.altFormat =\n userConfig.noCalendar || timeMode\n ? \"h:i\" + (userConfig.enableSeconds ? \":S K\" : \" K\")\n : defaultAltFormat + (\" h:i\" + (userConfig.enableSeconds ? \":S\" : \"\") + \" K\");\n }\n Object.defineProperty(self.config, \"minDate\", {\n get: function () { return self.config._minDate; },\n set: minMaxDateSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxDate\", {\n get: function () { return self.config._maxDate; },\n set: minMaxDateSetter(\"max\"),\n });\n var minMaxTimeSetter = function (type) { return function (val) {\n self.config[type === \"min\" ? \"_minTime\" : \"_maxTime\"] = self.parseDate(val, \"H:i:S\");\n }; };\n Object.defineProperty(self.config, \"minTime\", {\n get: function () { return self.config._minTime; },\n set: minMaxTimeSetter(\"min\"),\n });\n Object.defineProperty(self.config, \"maxTime\", {\n get: function () { return self.config._maxTime; },\n set: minMaxTimeSetter(\"max\"),\n });\n if (userConfig.mode === \"time\") {\n self.config.noCalendar = true;\n self.config.enableTime = true;\n }\n Object.assign(self.config, formats, userConfig);\n for (var i = 0; i < boolOpts.length; i++)\n self.config[boolOpts[i]] =\n self.config[boolOpts[i]] === true ||\n self.config[boolOpts[i]] === \"true\";\n HOOKS.filter(function (hook) { return self.config[hook] !== undefined; }).forEach(function (hook) {\n self.config[hook] = arrayify(self.config[hook] || []).map(bindToInstance);\n });\n self.isMobile =\n !self.config.disableMobile &&\n !self.config.inline &&\n self.config.mode === \"single\" &&\n !self.config.disable.length &&\n !self.config.enable &&\n !self.config.weekNumbers &&\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n for (var i = 0; i < self.config.plugins.length; i++) {\n var pluginConf = self.config.plugins[i](self) || {};\n for (var key in pluginConf) {\n if (HOOKS.indexOf(key) > -1) {\n self.config[key] = arrayify(pluginConf[key])\n .map(bindToInstance)\n .concat(self.config[key]);\n }\n else if (typeof userConfig[key] === \"undefined\")\n self.config[key] = pluginConf[key];\n }\n }\n if (!userConfig.altInputClass) {\n self.config.altInputClass =\n getInputElem().className + \" \" + self.config.altInputClass;\n }\n triggerEvent(\"onParseConfig\");\n }\n function getInputElem() {\n return self.config.wrap\n ? element.querySelector(\"[data-input]\")\n : element;\n }\n function setupLocale() {\n if (typeof self.config.locale !== \"object\" &&\n typeof flatpickr.l10ns[self.config.locale] === \"undefined\")\n self.config.errorHandler(new Error(\"flatpickr: invalid locale \" + self.config.locale));\n self.l10n = __assign(__assign({}, flatpickr.l10ns.default), (typeof self.config.locale === \"object\"\n ? self.config.locale\n : self.config.locale !== \"default\"\n ? flatpickr.l10ns[self.config.locale]\n : undefined));\n tokenRegex.D = \"(\" + self.l10n.weekdays.shorthand.join(\"|\") + \")\";\n tokenRegex.l = \"(\" + self.l10n.weekdays.longhand.join(\"|\") + \")\";\n tokenRegex.M = \"(\" + self.l10n.months.shorthand.join(\"|\") + \")\";\n tokenRegex.F = \"(\" + self.l10n.months.longhand.join(\"|\") + \")\";\n tokenRegex.K = \"(\" + self.l10n.amPM[0] + \"|\" + self.l10n.amPM[1] + \"|\" + self.l10n.amPM[0].toLowerCase() + \"|\" + self.l10n.amPM[1].toLowerCase() + \")\";\n var userConfig = __assign(__assign({}, instanceConfig), JSON.parse(JSON.stringify(element.dataset || {})));\n if (userConfig.time_24hr === undefined &&\n flatpickr.defaultConfig.time_24hr === undefined) {\n self.config.time_24hr = self.l10n.time_24hr;\n }\n self.formatDate = createDateFormatter(self);\n self.parseDate = createDateParser({ config: self.config, l10n: self.l10n });\n }\n function positionCalendar(customPositionElement) {\n if (typeof self.config.position === \"function\") {\n return void self.config.position(self, customPositionElement);\n }\n if (self.calendarContainer === undefined)\n return;\n triggerEvent(\"onPreCalendarPosition\");\n var positionElement = customPositionElement || self._positionElement;\n var calendarHeight = Array.prototype.reduce.call(self.calendarContainer.children, (function (acc, child) { return acc + child.offsetHeight; }), 0), calendarWidth = self.calendarContainer.offsetWidth, configPos = self.config.position.split(\" \"), configPosVertical = configPos[0], configPosHorizontal = configPos.length > 1 ? configPos[1] : null, inputBounds = positionElement.getBoundingClientRect(), distanceFromBottom = window.innerHeight - inputBounds.bottom, showOnTop = configPosVertical === \"above\" ||\n (configPosVertical !== \"below\" &&\n distanceFromBottom < calendarHeight &&\n inputBounds.top > calendarHeight);\n var top = window.pageYOffset +\n inputBounds.top +\n (!showOnTop ? positionElement.offsetHeight + 2 : -calendarHeight - 2);\n toggleClass(self.calendarContainer, \"arrowTop\", !showOnTop);\n toggleClass(self.calendarContainer, \"arrowBottom\", showOnTop);\n if (self.config.inline)\n return;\n var left = window.pageXOffset + inputBounds.left;\n var isCenter = false;\n var isRight = false;\n if (configPosHorizontal === \"center\") {\n left -= (calendarWidth - inputBounds.width) / 2;\n isCenter = true;\n }\n else if (configPosHorizontal === \"right\") {\n left -= calendarWidth - inputBounds.width;\n isRight = true;\n }\n toggleClass(self.calendarContainer, \"arrowLeft\", !isCenter && !isRight);\n toggleClass(self.calendarContainer, \"arrowCenter\", isCenter);\n toggleClass(self.calendarContainer, \"arrowRight\", isRight);\n var right = window.document.body.offsetWidth -\n (window.pageXOffset + inputBounds.right);\n var rightMost = left + calendarWidth > window.document.body.offsetWidth;\n var centerMost = right + calendarWidth > window.document.body.offsetWidth;\n toggleClass(self.calendarContainer, \"rightMost\", rightMost);\n if (self.config.static)\n return;\n self.calendarContainer.style.top = top + \"px\";\n if (!rightMost) {\n self.calendarContainer.style.left = left + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n else if (!centerMost) {\n self.calendarContainer.style.left = \"auto\";\n self.calendarContainer.style.right = right + \"px\";\n }\n else {\n var doc = getDocumentStyleSheet();\n if (doc === undefined)\n return;\n var bodyWidth = window.document.body.offsetWidth;\n var centerLeft = Math.max(0, bodyWidth / 2 - calendarWidth / 2);\n var centerBefore = \".flatpickr-calendar.centerMost:before\";\n var centerAfter = \".flatpickr-calendar.centerMost:after\";\n var centerIndex = doc.cssRules.length;\n var centerStyle = \"{left:\" + inputBounds.left + \"px;right:auto;}\";\n toggleClass(self.calendarContainer, \"rightMost\", false);\n toggleClass(self.calendarContainer, \"centerMost\", true);\n doc.insertRule(centerBefore + \",\" + centerAfter + centerStyle, centerIndex);\n self.calendarContainer.style.left = centerLeft + \"px\";\n self.calendarContainer.style.right = \"auto\";\n }\n }\n function getDocumentStyleSheet() {\n var editableSheet = null;\n for (var i = 0; i < document.styleSheets.length; i++) {\n var sheet = document.styleSheets[i];\n if (!sheet.cssRules)\n continue;\n try {\n sheet.cssRules;\n }\n catch (err) {\n continue;\n }\n editableSheet = sheet;\n break;\n }\n return editableSheet != null ? editableSheet : createStyleSheet();\n }\n function createStyleSheet() {\n var style = document.createElement(\"style\");\n document.head.appendChild(style);\n return style.sheet;\n }\n function redraw() {\n if (self.config.noCalendar || self.isMobile)\n return;\n buildMonthSwitch();\n updateNavigationCurrentMonth();\n buildDays();\n }\n function focusAndClose() {\n self._input.focus();\n if (window.navigator.userAgent.indexOf(\"MSIE\") !== -1 ||\n navigator.msMaxTouchPoints !== undefined) {\n setTimeout(self.close, 0);\n }\n else {\n self.close();\n }\n }\n function selectDate(e) {\n e.preventDefault();\n e.stopPropagation();\n var isSelectable = function (day) {\n return day.classList &&\n day.classList.contains(\"flatpickr-day\") &&\n !day.classList.contains(\"flatpickr-disabled\") &&\n !day.classList.contains(\"notAllowed\");\n };\n var t = findParent(getEventTarget(e), isSelectable);\n if (t === undefined)\n return;\n var target = t;\n var selectedDate = (self.latestSelectedDateObj = new Date(target.dateObj.getTime()));\n var shouldChangeMonth = (selectedDate.getMonth() < self.currentMonth ||\n selectedDate.getMonth() >\n self.currentMonth + self.config.showMonths - 1) &&\n self.config.mode !== \"range\";\n self.selectedDateElem = target;\n if (self.config.mode === \"single\")\n self.selectedDates = [selectedDate];\n else if (self.config.mode === \"multiple\") {\n var selectedIndex = isDateSelected(selectedDate);\n if (selectedIndex)\n self.selectedDates.splice(parseInt(selectedIndex), 1);\n else\n self.selectedDates.push(selectedDate);\n }\n else if (self.config.mode === \"range\") {\n if (self.selectedDates.length === 2) {\n self.clear(false, false);\n }\n self.latestSelectedDateObj = selectedDate;\n self.selectedDates.push(selectedDate);\n if (compareDates(selectedDate, self.selectedDates[0], true) !== 0)\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n setHoursFromInputs();\n if (shouldChangeMonth) {\n var isNewYear = self.currentYear !== selectedDate.getFullYear();\n self.currentYear = selectedDate.getFullYear();\n self.currentMonth = selectedDate.getMonth();\n if (isNewYear) {\n triggerEvent(\"onYearChange\");\n buildMonthSwitch();\n }\n triggerEvent(\"onMonthChange\");\n }\n updateNavigationCurrentMonth();\n buildDays();\n updateValue();\n if (!shouldChangeMonth &&\n self.config.mode !== \"range\" &&\n self.config.showMonths === 1)\n focusOnDayElem(target);\n else if (self.selectedDateElem !== undefined &&\n self.hourElement === undefined) {\n self.selectedDateElem && self.selectedDateElem.focus();\n }\n if (self.hourElement !== undefined)\n self.hourElement !== undefined && self.hourElement.focus();\n if (self.config.closeOnSelect) {\n var single = self.config.mode === \"single\" && !self.config.enableTime;\n var range = self.config.mode === \"range\" &&\n self.selectedDates.length === 2 &&\n !self.config.enableTime;\n if (single || range) {\n focusAndClose();\n }\n }\n triggerChange();\n }\n var CALLBACKS = {\n locale: [setupLocale, updateWeekdays],\n showMonths: [buildMonths, setCalendarWidth, buildWeekdays],\n minDate: [jumpToDate],\n maxDate: [jumpToDate],\n positionElement: [updatePositionElement],\n clickOpens: [\n function () {\n if (self.config.clickOpens === true) {\n bind(self._input, \"focus\", self.open);\n bind(self._input, \"click\", self.open);\n }\n else {\n self._input.removeEventListener(\"focus\", self.open);\n self._input.removeEventListener(\"click\", self.open);\n }\n },\n ],\n };\n function set(option, value) {\n if (option !== null && typeof option === \"object\") {\n Object.assign(self.config, option);\n for (var key in option) {\n if (CALLBACKS[key] !== undefined)\n CALLBACKS[key].forEach(function (x) { return x(); });\n }\n }\n else {\n self.config[option] = value;\n if (CALLBACKS[option] !== undefined)\n CALLBACKS[option].forEach(function (x) { return x(); });\n else if (HOOKS.indexOf(option) > -1)\n self.config[option] = arrayify(value);\n }\n self.redraw();\n updateValue(true);\n }\n function setSelectedDate(inputDate, format) {\n var dates = [];\n if (inputDate instanceof Array)\n dates = inputDate.map(function (d) { return self.parseDate(d, format); });\n else if (inputDate instanceof Date || typeof inputDate === \"number\")\n dates = [self.parseDate(inputDate, format)];\n else if (typeof inputDate === \"string\") {\n switch (self.config.mode) {\n case \"single\":\n case \"time\":\n dates = [self.parseDate(inputDate, format)];\n break;\n case \"multiple\":\n dates = inputDate\n .split(self.config.conjunction)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n case \"range\":\n dates = inputDate\n .split(self.l10n.rangeSeparator)\n .map(function (date) { return self.parseDate(date, format); });\n break;\n default:\n break;\n }\n }\n else\n self.config.errorHandler(new Error(\"Invalid date supplied: \" + JSON.stringify(inputDate)));\n self.selectedDates = (self.config.allowInvalidPreload\n ? dates\n : dates.filter(function (d) { return d instanceof Date && isEnabled(d, false); }));\n if (self.config.mode === \"range\")\n self.selectedDates.sort(function (a, b) { return a.getTime() - b.getTime(); });\n }\n function setDate(date, triggerChange, format) {\n if (triggerChange === void 0) { triggerChange = false; }\n if (format === void 0) { format = self.config.dateFormat; }\n if ((date !== 0 && !date) || (date instanceof Array && date.length === 0))\n return self.clear(triggerChange);\n setSelectedDate(date, format);\n self.latestSelectedDateObj =\n self.selectedDates[self.selectedDates.length - 1];\n self.redraw();\n jumpToDate(undefined, triggerChange);\n setHoursFromDate();\n if (self.selectedDates.length === 0) {\n self.clear(false);\n }\n updateValue(triggerChange);\n if (triggerChange)\n triggerEvent(\"onChange\");\n }\n function parseDateRules(arr) {\n return arr\n .slice()\n .map(function (rule) {\n if (typeof rule === \"string\" ||\n typeof rule === \"number\" ||\n rule instanceof Date) {\n return self.parseDate(rule, undefined, true);\n }\n else if (rule &&\n typeof rule === \"object\" &&\n rule.from &&\n rule.to)\n return {\n from: self.parseDate(rule.from, undefined),\n to: self.parseDate(rule.to, undefined),\n };\n return rule;\n })\n .filter(function (x) { return x; });\n }\n function setupDates() {\n self.selectedDates = [];\n self.now = self.parseDate(self.config.now) || new Date();\n var preloadedDate = self.config.defaultDate ||\n ((self.input.nodeName === \"INPUT\" ||\n self.input.nodeName === \"TEXTAREA\") &&\n self.input.placeholder &&\n self.input.value === self.input.placeholder\n ? null\n : self.input.value);\n if (preloadedDate)\n setSelectedDate(preloadedDate, self.config.dateFormat);\n self._initialDate =\n self.selectedDates.length > 0\n ? self.selectedDates[0]\n : self.config.minDate &&\n self.config.minDate.getTime() > self.now.getTime()\n ? self.config.minDate\n : self.config.maxDate &&\n self.config.maxDate.getTime() < self.now.getTime()\n ? self.config.maxDate\n : self.now;\n self.currentYear = self._initialDate.getFullYear();\n self.currentMonth = self._initialDate.getMonth();\n if (self.selectedDates.length > 0)\n self.latestSelectedDateObj = self.selectedDates[0];\n if (self.config.minTime !== undefined)\n self.config.minTime = self.parseDate(self.config.minTime, \"H:i\");\n if (self.config.maxTime !== undefined)\n self.config.maxTime = self.parseDate(self.config.maxTime, \"H:i\");\n self.minDateHasTime =\n !!self.config.minDate &&\n (self.config.minDate.getHours() > 0 ||\n self.config.minDate.getMinutes() > 0 ||\n self.config.minDate.getSeconds() > 0);\n self.maxDateHasTime =\n !!self.config.maxDate &&\n (self.config.maxDate.getHours() > 0 ||\n self.config.maxDate.getMinutes() > 0 ||\n self.config.maxDate.getSeconds() > 0);\n }\n function setupInputs() {\n self.input = getInputElem();\n if (!self.input) {\n self.config.errorHandler(new Error(\"Invalid input element specified\"));\n return;\n }\n self.input._type = self.input.type;\n self.input.type = \"text\";\n self.input.classList.add(\"flatpickr-input\");\n self._input = self.input;\n if (self.config.altInput) {\n self.altInput = createElement(self.input.nodeName, self.config.altInputClass);\n self._input = self.altInput;\n self.altInput.placeholder = self.input.placeholder;\n self.altInput.disabled = self.input.disabled;\n self.altInput.required = self.input.required;\n self.altInput.tabIndex = self.input.tabIndex;\n self.altInput.type = \"text\";\n self.input.setAttribute(\"type\", \"hidden\");\n if (!self.config.static && self.input.parentNode)\n self.input.parentNode.insertBefore(self.altInput, self.input.nextSibling);\n }\n if (!self.config.allowInput)\n self._input.setAttribute(\"readonly\", \"readonly\");\n updatePositionElement();\n }\n function updatePositionElement() {\n self._positionElement = self.config.positionElement || self._input;\n }\n function setupMobile() {\n var inputType = self.config.enableTime\n ? self.config.noCalendar\n ? \"time\"\n : \"datetime-local\"\n : \"date\";\n self.mobileInput = createElement(\"input\", self.input.className + \" flatpickr-mobile\");\n self.mobileInput.tabIndex = 1;\n self.mobileInput.type = inputType;\n self.mobileInput.disabled = self.input.disabled;\n self.mobileInput.required = self.input.required;\n self.mobileInput.placeholder = self.input.placeholder;\n self.mobileFormatStr =\n inputType === \"datetime-local\"\n ? \"Y-m-d\\\\TH:i:S\"\n : inputType === \"date\"\n ? \"Y-m-d\"\n : \"H:i:S\";\n if (self.selectedDates.length > 0) {\n self.mobileInput.defaultValue = self.mobileInput.value = self.formatDate(self.selectedDates[0], self.mobileFormatStr);\n }\n if (self.config.minDate)\n self.mobileInput.min = self.formatDate(self.config.minDate, \"Y-m-d\");\n if (self.config.maxDate)\n self.mobileInput.max = self.formatDate(self.config.maxDate, \"Y-m-d\");\n if (self.input.getAttribute(\"step\"))\n self.mobileInput.step = String(self.input.getAttribute(\"step\"));\n self.input.type = \"hidden\";\n if (self.altInput !== undefined)\n self.altInput.type = \"hidden\";\n try {\n if (self.input.parentNode)\n self.input.parentNode.insertBefore(self.mobileInput, self.input.nextSibling);\n }\n catch (_a) { }\n bind(self.mobileInput, \"change\", function (e) {\n self.setDate(getEventTarget(e).value, false, self.mobileFormatStr);\n triggerEvent(\"onChange\");\n triggerEvent(\"onClose\");\n });\n }\n function toggle(e) {\n if (self.isOpen === true)\n return self.close();\n self.open(e);\n }\n function triggerEvent(event, data) {\n if (self.config === undefined)\n return;\n var hooks = self.config[event];\n if (hooks !== undefined && hooks.length > 0) {\n for (var i = 0; hooks[i] && i < hooks.length; i++)\n hooks[i](self.selectedDates, self.input.value, self, data);\n }\n if (event === \"onChange\") {\n self.input.dispatchEvent(createEvent(\"change\"));\n self.input.dispatchEvent(createEvent(\"input\"));\n }\n }\n function createEvent(name) {\n var e = document.createEvent(\"Event\");\n e.initEvent(name, true, true);\n return e;\n }\n function isDateSelected(date) {\n for (var i = 0; i < self.selectedDates.length; i++) {\n var selectedDate = self.selectedDates[i];\n if (selectedDate instanceof Date &&\n compareDates(selectedDate, date) === 0)\n return \"\" + i;\n }\n return false;\n }\n function isDateInRange(date) {\n if (self.config.mode !== \"range\" || self.selectedDates.length < 2)\n return false;\n return (compareDates(date, self.selectedDates[0]) >= 0 &&\n compareDates(date, self.selectedDates[1]) <= 0);\n }\n function updateNavigationCurrentMonth() {\n if (self.config.noCalendar || self.isMobile || !self.monthNav)\n return;\n self.yearElements.forEach(function (yearElement, i) {\n var d = new Date(self.currentYear, self.currentMonth, 1);\n d.setMonth(self.currentMonth + i);\n if (self.config.showMonths > 1 ||\n self.config.monthSelectorType === \"static\") {\n self.monthElements[i].textContent =\n monthToStr(d.getMonth(), self.config.shorthandCurrentMonth, self.l10n) + \" \";\n }\n else {\n self.monthsDropdownContainer.value = d.getMonth().toString();\n }\n yearElement.value = d.getFullYear().toString();\n });\n self._hidePrevMonthArrow =\n self.config.minDate !== undefined &&\n (self.currentYear === self.config.minDate.getFullYear()\n ? self.currentMonth <= self.config.minDate.getMonth()\n : self.currentYear < self.config.minDate.getFullYear());\n self._hideNextMonthArrow =\n self.config.maxDate !== undefined &&\n (self.currentYear === self.config.maxDate.getFullYear()\n ? self.currentMonth + 1 > self.config.maxDate.getMonth()\n : self.currentYear > self.config.maxDate.getFullYear());\n }\n function getDateStr(specificFormat) {\n var format = specificFormat ||\n (self.config.altInput ? self.config.altFormat : self.config.dateFormat);\n return self.selectedDates\n .map(function (dObj) { return self.formatDate(dObj, format); })\n .filter(function (d, i, arr) {\n return self.config.mode !== \"range\" ||\n self.config.enableTime ||\n arr.indexOf(d) === i;\n })\n .join(self.config.mode !== \"range\"\n ? self.config.conjunction\n : self.l10n.rangeSeparator);\n }\n function updateValue(triggerChange) {\n if (triggerChange === void 0) { triggerChange = true; }\n if (self.mobileInput !== undefined && self.mobileFormatStr) {\n self.mobileInput.value =\n self.latestSelectedDateObj !== undefined\n ? self.formatDate(self.latestSelectedDateObj, self.mobileFormatStr)\n : \"\";\n }\n self.input.value = getDateStr(self.config.dateFormat);\n if (self.altInput !== undefined) {\n self.altInput.value = getDateStr(self.config.altFormat);\n }\n if (triggerChange !== false)\n triggerEvent(\"onValueUpdate\");\n }\n function onMonthNavClick(e) {\n var eventTarget = getEventTarget(e);\n var isPrevMonth = self.prevMonthNav.contains(eventTarget);\n var isNextMonth = self.nextMonthNav.contains(eventTarget);\n if (isPrevMonth || isNextMonth) {\n changeMonth(isPrevMonth ? -1 : 1);\n }\n else if (self.yearElements.indexOf(eventTarget) >= 0) {\n eventTarget.select();\n }\n else if (eventTarget.classList.contains(\"arrowUp\")) {\n self.changeYear(self.currentYear + 1);\n }\n else if (eventTarget.classList.contains(\"arrowDown\")) {\n self.changeYear(self.currentYear - 1);\n }\n }\n function timeWrapper(e) {\n e.preventDefault();\n var isKeyDown = e.type === \"keydown\", eventTarget = getEventTarget(e), input = eventTarget;\n if (self.amPM !== undefined && eventTarget === self.amPM) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n var min = parseFloat(input.getAttribute(\"min\")), max = parseFloat(input.getAttribute(\"max\")), step = parseFloat(input.getAttribute(\"step\")), curValue = parseInt(input.value, 10), delta = e.delta ||\n (isKeyDown ? (e.which === 38 ? 1 : -1) : 0);\n var newValue = curValue + step * delta;\n if (typeof input.value !== \"undefined\" && input.value.length === 2) {\n var isHourElem = input === self.hourElement, isMinuteElem = input === self.minuteElement;\n if (newValue < min) {\n newValue =\n max +\n newValue +\n int(!isHourElem) +\n (int(isHourElem) && int(!self.amPM));\n if (isMinuteElem)\n incrementNumInput(undefined, -1, self.hourElement);\n }\n else if (newValue > max) {\n newValue =\n input === self.hourElement ? newValue - max - int(!self.amPM) : min;\n if (isMinuteElem)\n incrementNumInput(undefined, 1, self.hourElement);\n }\n if (self.amPM &&\n isHourElem &&\n (step === 1\n ? newValue + curValue === 23\n : Math.abs(newValue - curValue) > step)) {\n self.amPM.textContent =\n self.l10n.amPM[int(self.amPM.textContent === self.l10n.amPM[0])];\n }\n input.value = pad(newValue);\n }\n }\n init();\n return self;\n}\nfunction _flatpickr(nodeList, config) {\n var nodes = Array.prototype.slice\n .call(nodeList)\n .filter(function (x) { return x instanceof HTMLElement; });\n var instances = [];\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n try {\n if (node.getAttribute(\"data-fp-omit\") !== null)\n continue;\n if (node._flatpickr !== undefined) {\n node._flatpickr.destroy();\n node._flatpickr = undefined;\n }\n node._flatpickr = FlatpickrInstance(node, config || {});\n instances.push(node._flatpickr);\n }\n catch (e) {\n console.error(e);\n }\n }\n return instances.length === 1 ? instances[0] : instances;\n}\nif (typeof HTMLElement !== \"undefined\" &&\n typeof HTMLCollection !== \"undefined\" &&\n typeof NodeList !== \"undefined\") {\n HTMLCollection.prototype.flatpickr = NodeList.prototype.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n HTMLElement.prototype.flatpickr = function (config) {\n return _flatpickr([this], config);\n };\n}\nvar flatpickr = function (selector, config) {\n if (typeof selector === \"string\") {\n return _flatpickr(window.document.querySelectorAll(selector), config);\n }\n else if (selector instanceof Node) {\n return _flatpickr([selector], config);\n }\n else {\n return _flatpickr(selector, config);\n }\n};\nflatpickr.defaultConfig = {};\nflatpickr.l10ns = {\n en: __assign({}, English),\n default: __assign({}, English),\n};\nflatpickr.localize = function (l10n) {\n flatpickr.l10ns.default = __assign(__assign({}, flatpickr.l10ns.default), l10n);\n};\nflatpickr.setDefaults = function (config) {\n flatpickr.defaultConfig = __assign(__assign({}, flatpickr.defaultConfig), config);\n};\nflatpickr.parseDate = createDateParser({});\nflatpickr.formatDate = createDateFormatter({});\nflatpickr.compareDates = compareDates;\nif (typeof jQuery !== \"undefined\" && typeof jQuery.fn !== \"undefined\") {\n jQuery.fn.flatpickr = function (config) {\n return _flatpickr(this, config);\n };\n}\nDate.prototype.fp_incr = function (days) {\n return new Date(this.getFullYear(), this.getMonth(), this.getDate() + (typeof days === \"string\" ? parseInt(days, 10) : days));\n};\nif (typeof window !== \"undefined\") {\n window.flatpickr = flatpickr;\n}\nexport default flatpickr;\n","\"use strict\";\nif (typeof Object.assign !== \"function\") {\n Object.assign = function (target) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n if (!target) {\n throw TypeError(\"Cannot convert undefined or null to object\");\n }\n var _loop_1 = function (source) {\n if (source) {\n Object.keys(source).forEach(function (key) { return (target[key] = source[key]); });\n }\n };\n for (var _a = 0, args_1 = args; _a < args_1.length; _a++) {\n var source = args_1[_a];\n _loop_1(source);\n }\n return target;\n };\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/** @license React v16.13.1\n * react-is.production.min.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';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nconst chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {Context} from '../../core/context';\n\nexport class Bounds {\n constructor(readonly left: number, readonly top: number, readonly width: number, readonly height: number) {}\n\n add(x: number, y: number, w: number, h: number): Bounds {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n }\n\n static fromClientRect(context: Context, clientRect: ClientRect): Bounds {\n return new Bounds(\n clientRect.left + context.windowBounds.left,\n clientRect.top + context.windowBounds.top,\n clientRect.width,\n clientRect.height\n );\n }\n\n static fromDOMRectList(context: Context, domRectList: DOMRectList): Bounds {\n const domRect = Array.from(domRectList).find((rect) => rect.width !== 0);\n return domRect\n ? new Bounds(\n domRect.left + context.windowBounds.left,\n domRect.top + context.windowBounds.top,\n domRect.width,\n domRect.height\n )\n : Bounds.EMPTY;\n }\n\n static EMPTY = new Bounds(0, 0, 0, 0);\n}\n\nexport const parseBounds = (context: Context, node: Element): Bounds => {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\n\nexport const parseDocumentSize = (document: Document): Bounds => {\n const body = document.body;\n const documentElement = document.documentElement;\n\n if (!body || !documentElement) {\n throw new Error(`Unable to get document size`);\n }\n const width = Math.max(\n Math.max(body.scrollWidth, documentElement.scrollWidth),\n Math.max(body.offsetWidth, documentElement.offsetWidth),\n Math.max(body.clientWidth, documentElement.clientWidth)\n );\n\n const height = Math.max(\n Math.max(body.scrollHeight, documentElement.scrollHeight),\n Math.max(body.offsetHeight, documentElement.offsetHeight),\n Math.max(body.clientHeight, documentElement.clientHeight)\n );\n\n return new Bounds(0, 0, width, height);\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","export const base64 =\n 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\nexport const byteLength = 39664;\n","'use strict';\n\nimport {createTrieFromBase64} from 'utrie';\nimport {base64, byteLength} from './linebreak-trie';\nimport {fromCodePoint, toCodePoints} from './Util';\n\nexport const LETTER_NUMBER_MODIFIER = 50;\n\n// Non-tailorable Line Breaking Classes\nconst BK = 1; // Cause a line break (after)\nconst CR = 2; // Cause a line break (after), except between CR and LF\nconst LF = 3; // Cause a line break (after)\nconst CM = 4; // Prohibit a line break between the character and the preceding character\nconst NL = 5; // Cause a line break (after)\nconst SG = 6; // Do not occur in well-formed text\nconst WJ = 7; // Prohibit line breaks before and after\nconst ZW = 8; // Provide a break opportunity\nconst GL = 9; // Prohibit line breaks before and after\nconst SP = 10; // Enable indirect line breaks\nconst ZWJ = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nconst B2 = 12; // Provide a line break opportunity before and after the character\nconst BA = 13; // Generally provide a line break opportunity after the character\nconst BB = 14; // Generally provide a line break opportunity before the character\nconst HY = 15; // Provide a line break opportunity after the character, except in numeric context\nconst CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nconst CL = 17; // Prohibit line breaks before\nconst CP = 18; // Prohibit line breaks before\nconst EX = 19; // Prohibit line breaks before\nconst IN = 20; // Allow only indirect line breaks between pairs\nconst NS = 21; // Allow only indirect line breaks before\nconst OP = 22; // Prohibit line breaks after\nconst QU = 23; // Act like they are both opening and closing\n// Numeric Context\nconst IS = 24; // Prevent breaks after any and before numeric\nconst NU = 25; // Form numeric expressions for line breaking purposes\nconst PO = 26; // Do not break following a numeric expression\nconst PR = 27; // Do not break in front of a numeric expression\nconst SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nconst AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nconst AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nconst CJ = 31; // Treat as NS or ID for strict or normal breaking.\nconst EB = 32; // Do not break from following Emoji Modifier\nconst EM = 33; // Do not break from preceding Emoji Base\nconst H2 = 34; // Form Korean syllable blocks\nconst H3 = 35; // Form Korean syllable blocks\nconst HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nconst ID = 37; // Break before or after; except in some numeric context\nconst JL = 38; // Form Korean syllable blocks\nconst JV = 39; // Form Korean syllable blocks\nconst JT = 40; // Form Korean syllable blocks\nconst RI = 41; // Keep pairs together. For pairs; break before and after other classes\nconst SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nconst XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\n\nconst ea_OP = [0x2329, 0xff08];\n\nexport const classes: {[key: string]: number} = {\n BK,\n CR,\n LF,\n CM,\n NL,\n SG,\n WJ,\n ZW,\n GL,\n SP,\n ZWJ,\n B2,\n BA,\n BB,\n HY,\n CB,\n CL,\n CP,\n EX,\n IN,\n NS,\n OP,\n QU,\n IS,\n NU,\n PO,\n PR,\n SY,\n AI,\n AL,\n CJ,\n EB,\n EM,\n H2,\n H3,\n HL,\n ID,\n JL,\n JV,\n JT,\n RI,\n SA,\n XX,\n};\n\nexport const BREAK_MANDATORY = '!';\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nconst ALPHABETICS = [AL, HL];\nconst HARD_LINE_BREAKS = [BK, CR, LF, NL];\nconst SPACE = [SP, ZW];\nconst PREFIX_POSTFIX = [PR, PO];\nconst LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE);\nconst KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nconst HYPHEN = [HY, BA];\n\nexport const codePointsToCharacterClasses = (\n codePoints: number[],\n lineBreak: string = 'strict'\n): [number[], number[], boolean[]] => {\n const types: number[] = [];\n const indices: number[] = [];\n const categories: boolean[] = [];\n codePoints.forEach((codePoint, index) => {\n let classType = UnicodeTrie.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n } else {\n categories.push(false);\n }\n\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n\n if (classType === CM || classType === ZWJ) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n const prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n\n indices.push(index);\n\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n\n if (classType === SA) {\n return types.push(AL);\n }\n\n if (classType === AI) {\n return types.push(AL);\n }\n\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n } else {\n return types.push(AL);\n }\n }\n\n types.push(classType);\n });\n\n return [indices, types, categories];\n};\n\nconst isAdjacentWithSpaceIgnored = (\n a: number[] | number,\n b: number,\n currentIndex: number,\n classTypes: number[]\n): boolean => {\n const current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n let i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n let next = classTypes[i];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (current === SP) {\n let i = currentIndex;\n\n while (i > 0) {\n i--;\n const prev = classTypes[i];\n\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n let n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n let next = classTypes[n];\n\n if (next === b) {\n return true;\n }\n\n if (next !== SP) {\n break;\n }\n }\n }\n\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\n\nconst previousNonSpaceClassType = (currentIndex: number, classTypes: number[]): number => {\n let i = currentIndex;\n while (i >= 0) {\n let type = classTypes[i];\n if (type === SP) {\n i--;\n } else {\n return type;\n }\n }\n return 0;\n};\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED | typeof BREAK_MANDATORY;\n\nconst _lineBreakAtIndex = (\n codePoints: number[],\n classTypes: number[],\n indicies: number[],\n index: number,\n forbiddenBreaks?: boolean[]\n): BREAK_OPPORTUNITIES => {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n let currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED;\n }\n\n let beforeIndex = currentIndex - 1;\n let afterIndex = currentIndex + 1;\n let current = classTypes[currentIndex];\n\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n let before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n let next = classTypes[afterIndex];\n\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB7 Do not break before spaces or zero width space.\n if (SPACE.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED;\n }\n\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie.get(codePoints[currentIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie.get(codePoints[afterIndex]) === ZWJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED;\n }\n\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED;\n }\n\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if (\n (current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if (\n (ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n let prevIndex = currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n let prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n let type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED;\n } else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n } else {\n break;\n }\n }\n }\n\n // LB26 Do not break a Korean syllable.\n if (\n (JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB27 Treat a Korean Syllable Block the same as ID.\n if (\n (KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if (\n (ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)\n ) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI && next === RI) {\n let i = indicies[currentIndex];\n let count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI) {\n count++;\n } else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED;\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const lineBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // LB2 Never break at the start of text.\n if (index === 0) {\n return BREAK_NOT_ALLOWED;\n }\n\n // LB3 Always break at the end of text.\n if (index >= codePoints.length) {\n return BREAK_MANDATORY;\n }\n\n const [indices, classTypes] = codePointsToCharacterClasses(codePoints);\n\n return _lineBreakAtIndex(codePoints, classTypes, indices, index);\n};\n\nexport type LINE_BREAK = 'auto' | 'normal' | 'strict';\nexport type WORD_BREAK = 'normal' | 'break-all' | 'break-word' | 'keep-all';\n\ninterface IOptions {\n lineBreak?: LINE_BREAK;\n wordBreak?: WORD_BREAK;\n}\n\nconst cssFormattedClasses = (codePoints: number[], options?: IOptions): [number[], number[], boolean[] | undefined] => {\n if (!options) {\n options = {lineBreak: 'normal', wordBreak: 'normal'};\n }\n let [indicies, classTypes, isLetterNumber] = codePointsToCharacterClasses(codePoints, options.lineBreak);\n\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map((type) => ([NU, AL, SA].indexOf(type) !== -1 ? ID : type));\n }\n\n const forbiddenBreakpoints =\n options.wordBreak === 'keep-all'\n ? isLetterNumber.map((letterNumber, i) => {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n\n return [indicies, classTypes, forbiddenBreakpoints];\n};\n\nexport const inlineBreakOpportunities = (str: string, options?: IOptions): string => {\n const codePoints = toCodePoints(str);\n let output = BREAK_NOT_ALLOWED;\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n\n codePoints.forEach((codePoint, i) => {\n output +=\n fromCodePoint(codePoint) +\n (i >= codePoints.length - 1\n ? BREAK_MANDATORY\n : _lineBreakAtIndex(codePoints, classTypes, indicies, i + 1, forbiddenBreakpoints));\n });\n\n return output;\n};\n\nclass Break {\n private readonly codePoints: number[];\n readonly required: boolean;\n readonly start: number;\n readonly end: number;\n\n constructor(codePoints: number[], lineBreak: string, start: number, end: number) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n\n slice(): string {\n return fromCodePoint(...this.codePoints.slice(this.start, this.end));\n }\n}\n\nexport type LineBreak =\n | {\n done: true;\n value: null;\n }\n | {\n done: false;\n value: Break;\n };\n\ninterface ILineBreakIterator {\n next: () => LineBreak;\n}\n\nexport const LineBreaker = (str: string, options?: IOptions): ILineBreakIterator => {\n const codePoints = toCodePoints(str);\n const [indicies, classTypes, forbiddenBreakpoints] = cssFormattedClasses(codePoints, options);\n const length = codePoints.length;\n let lastEnd = 0;\n let nextIndex = 0;\n\n return {\n next: () => {\n if (nextIndex >= length) {\n return {done: true, value: null};\n }\n let lineBreak = BREAK_NOT_ALLOWED;\n while (\n nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED\n ) {}\n\n if (lineBreak !== BREAK_NOT_ALLOWED || nextIndex === length) {\n const value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n },\n };\n};\n","// https://www.w3.org/TR/css-syntax-3\n\nimport {fromCodePoint, toCodePoints} from 'css-line-break';\n\nexport const enum TokenType {\n STRING_TOKEN,\n BAD_STRING_TOKEN,\n LEFT_PARENTHESIS_TOKEN,\n RIGHT_PARENTHESIS_TOKEN,\n COMMA_TOKEN,\n HASH_TOKEN,\n DELIM_TOKEN,\n AT_KEYWORD_TOKEN,\n PREFIX_MATCH_TOKEN,\n DASH_MATCH_TOKEN,\n INCLUDE_MATCH_TOKEN,\n LEFT_CURLY_BRACKET_TOKEN,\n RIGHT_CURLY_BRACKET_TOKEN,\n SUFFIX_MATCH_TOKEN,\n SUBSTRING_MATCH_TOKEN,\n DIMENSION_TOKEN,\n PERCENTAGE_TOKEN,\n NUMBER_TOKEN,\n FUNCTION,\n FUNCTION_TOKEN,\n IDENT_TOKEN,\n COLUMN_TOKEN,\n URL_TOKEN,\n BAD_URL_TOKEN,\n CDC_TOKEN,\n CDO_TOKEN,\n COLON_TOKEN,\n SEMICOLON_TOKEN,\n LEFT_SQUARE_BRACKET_TOKEN,\n RIGHT_SQUARE_BRACKET_TOKEN,\n UNICODE_RANGE_TOKEN,\n WHITESPACE_TOKEN,\n EOF_TOKEN\n}\n\ninterface IToken {\n type: TokenType;\n}\n\nexport interface Token extends IToken {\n type:\n | TokenType.BAD_URL_TOKEN\n | TokenType.BAD_STRING_TOKEN\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.RIGHT_PARENTHESIS_TOKEN\n | TokenType.COMMA_TOKEN\n | TokenType.SUBSTRING_MATCH_TOKEN\n | TokenType.PREFIX_MATCH_TOKEN\n | TokenType.SUFFIX_MATCH_TOKEN\n | TokenType.COLON_TOKEN\n | TokenType.SEMICOLON_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN\n | TokenType.RIGHT_CURLY_BRACKET_TOKEN\n | TokenType.DASH_MATCH_TOKEN\n | TokenType.INCLUDE_MATCH_TOKEN\n | TokenType.COLUMN_TOKEN\n | TokenType.WHITESPACE_TOKEN\n | TokenType.CDC_TOKEN\n | TokenType.CDO_TOKEN\n | TokenType.EOF_TOKEN;\n}\n\nexport interface StringValueToken extends IToken {\n type:\n | TokenType.STRING_TOKEN\n | TokenType.DELIM_TOKEN\n | TokenType.FUNCTION_TOKEN\n | TokenType.IDENT_TOKEN\n | TokenType.URL_TOKEN\n | TokenType.AT_KEYWORD_TOKEN;\n value: string;\n}\n\nexport interface HashToken extends IToken {\n type: TokenType.HASH_TOKEN;\n flags: number;\n value: string;\n}\n\nexport interface NumberValueToken extends IToken {\n type: TokenType.PERCENTAGE_TOKEN | TokenType.NUMBER_TOKEN;\n flags: number;\n number: number;\n}\n\nexport interface DimensionToken extends IToken {\n type: TokenType.DIMENSION_TOKEN;\n flags: number;\n unit: string;\n number: number;\n}\n\nexport interface UnicodeRangeToken extends IToken {\n type: TokenType.UNICODE_RANGE_TOKEN;\n start: number;\n end: number;\n}\n\nexport type CSSToken = Token | StringValueToken | NumberValueToken | DimensionToken | UnicodeRangeToken | HashToken;\n\nexport const FLAG_UNRESTRICTED = 1 << 0;\nexport const FLAG_ID = 1 << 1;\nexport const FLAG_INTEGER = 1 << 2;\nexport const FLAG_NUMBER = 1 << 3;\n\nconst LINE_FEED = 0x000a;\nconst SOLIDUS = 0x002f;\nconst REVERSE_SOLIDUS = 0x005c;\nconst CHARACTER_TABULATION = 0x0009;\nconst SPACE = 0x0020;\nconst QUOTATION_MARK = 0x0022;\nconst EQUALS_SIGN = 0x003d;\nconst NUMBER_SIGN = 0x0023;\nconst DOLLAR_SIGN = 0x0024;\nconst PERCENTAGE_SIGN = 0x0025;\nconst APOSTROPHE = 0x0027;\nconst LEFT_PARENTHESIS = 0x0028;\nconst RIGHT_PARENTHESIS = 0x0029;\nconst LOW_LINE = 0x005f;\nconst HYPHEN_MINUS = 0x002d;\nconst EXCLAMATION_MARK = 0x0021;\nconst LESS_THAN_SIGN = 0x003c;\nconst GREATER_THAN_SIGN = 0x003e;\nconst COMMERCIAL_AT = 0x0040;\nconst LEFT_SQUARE_BRACKET = 0x005b;\nconst RIGHT_SQUARE_BRACKET = 0x005d;\nconst CIRCUMFLEX_ACCENT = 0x003d;\nconst LEFT_CURLY_BRACKET = 0x007b;\nconst QUESTION_MARK = 0x003f;\nconst RIGHT_CURLY_BRACKET = 0x007d;\nconst VERTICAL_LINE = 0x007c;\nconst TILDE = 0x007e;\nconst CONTROL = 0x0080;\nconst REPLACEMENT_CHARACTER = 0xfffd;\nconst ASTERISK = 0x002a;\nconst PLUS_SIGN = 0x002b;\nconst COMMA = 0x002c;\nconst COLON = 0x003a;\nconst SEMICOLON = 0x003b;\nconst FULL_STOP = 0x002e;\nconst NULL = 0x0000;\nconst BACKSPACE = 0x0008;\nconst LINE_TABULATION = 0x000b;\nconst SHIFT_OUT = 0x000e;\nconst INFORMATION_SEPARATOR_ONE = 0x001f;\nconst DELETE = 0x007f;\nconst EOF = -1;\nconst ZERO = 0x0030;\nconst a = 0x0061;\nconst e = 0x0065;\nconst f = 0x0066;\nconst u = 0x0075;\nconst z = 0x007a;\nconst A = 0x0041;\nconst E = 0x0045;\nconst F = 0x0046;\nconst U = 0x0055;\nconst Z = 0x005a;\n\nconst isDigit = (codePoint: number) => codePoint >= ZERO && codePoint <= 0x0039;\nconst isSurrogateCodePoint = (codePoint: number) => codePoint >= 0xd800 && codePoint <= 0xdfff;\nconst isHex = (codePoint: number) =>\n isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\nconst isLowerCaseLetter = (codePoint: number) => codePoint >= a && codePoint <= z;\nconst isUpperCaseLetter = (codePoint: number) => codePoint >= A && codePoint <= Z;\nconst isLetter = (codePoint: number) => isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint);\nconst isNonASCIICodePoint = (codePoint: number) => codePoint >= CONTROL;\nconst isWhiteSpace = (codePoint: number): boolean =>\n codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\nconst isNameStartCodePoint = (codePoint: number): boolean =>\n isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\nconst isNameCodePoint = (codePoint: number): boolean =>\n isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\nconst isNonPrintableCodePoint = (codePoint: number): boolean => {\n return (\n (codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE\n );\n};\nconst isValidEscape = (c1: number, c2: number): boolean => {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n\n return c2 !== LINE_FEED;\n};\nconst isIdentifierStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n } else if (isNameStartCodePoint(c1)) {\n return true;\n } else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\n\nconst isNumberStart = (c1: number, c2: number, c3: number): boolean => {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n\n return c2 === FULL_STOP && isDigit(c3);\n }\n\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n\n return isDigit(c1);\n};\n\nconst stringToNumber = (codePoints: number[]): number => {\n let c = 0;\n let sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n\n const integers = [];\n\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n\n const int = integers.length ? parseInt(fromCodePoint(...integers), 10) : 0;\n\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n\n const fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n\n const fracd = fraction.length;\n const frac = fracd ? parseInt(fromCodePoint(...fraction), 10) : 0;\n\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n\n let expsign = 1;\n\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n\n const exponent = [];\n\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n\n const exp = exponent.length ? parseInt(fromCodePoint(...exponent), 10) : 0;\n\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\n\nconst LEFT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.LEFT_PARENTHESIS_TOKEN\n};\nconst RIGHT_PARENTHESIS_TOKEN: Token = {\n type: TokenType.RIGHT_PARENTHESIS_TOKEN\n};\nconst COMMA_TOKEN: Token = {type: TokenType.COMMA_TOKEN};\nconst SUFFIX_MATCH_TOKEN: Token = {type: TokenType.SUFFIX_MATCH_TOKEN};\nconst PREFIX_MATCH_TOKEN: Token = {type: TokenType.PREFIX_MATCH_TOKEN};\nconst COLUMN_TOKEN: Token = {type: TokenType.COLUMN_TOKEN};\nconst DASH_MATCH_TOKEN: Token = {type: TokenType.DASH_MATCH_TOKEN};\nconst INCLUDE_MATCH_TOKEN: Token = {type: TokenType.INCLUDE_MATCH_TOKEN};\nconst LEFT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_CURLY_BRACKET_TOKEN\n};\nconst RIGHT_CURLY_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_CURLY_BRACKET_TOKEN\n};\nconst SUBSTRING_MATCH_TOKEN: Token = {type: TokenType.SUBSTRING_MATCH_TOKEN};\nconst BAD_URL_TOKEN: Token = {type: TokenType.BAD_URL_TOKEN};\nconst BAD_STRING_TOKEN: Token = {type: TokenType.BAD_STRING_TOKEN};\nconst CDO_TOKEN: Token = {type: TokenType.CDO_TOKEN};\nconst CDC_TOKEN: Token = {type: TokenType.CDC_TOKEN};\nconst COLON_TOKEN: Token = {type: TokenType.COLON_TOKEN};\nconst SEMICOLON_TOKEN: Token = {type: TokenType.SEMICOLON_TOKEN};\nconst LEFT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.LEFT_SQUARE_BRACKET_TOKEN\n};\nconst RIGHT_SQUARE_BRACKET_TOKEN: Token = {\n type: TokenType.RIGHT_SQUARE_BRACKET_TOKEN\n};\nconst WHITESPACE_TOKEN: Token = {type: TokenType.WHITESPACE_TOKEN};\nexport const EOF_TOKEN: Token = {type: TokenType.EOF_TOKEN};\n\nexport class Tokenizer {\n private _value: number[];\n\n constructor() {\n this._value = [];\n }\n\n write(chunk: string): void {\n this._value = this._value.concat(toCodePoints(chunk));\n }\n\n read(): CSSToken[] {\n const tokens = [];\n let token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n }\n\n private consumeToken(): CSSToken {\n const codePoint = this.consumeCodePoint();\n\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n const flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n const value = this.consumeName();\n\n return {type: TokenType.HASH_TOKEN, value, flags};\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n const e1 = codePoint;\n const e2 = this.peekCodePoint(0);\n const e3 = this.peekCodePoint(1);\n\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n let c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (\n this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS\n ) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n const a1 = this.peekCodePoint(0);\n const a2 = this.peekCodePoint(1);\n const a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n const value = this.consumeName();\n return {type: TokenType.AT_KEYWORD_TOKEN, value};\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n const u1 = this.peekCodePoint(0);\n const u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n\n return {type: TokenType.DELIM_TOKEN, value: fromCodePoint(codePoint)};\n }\n\n private consumeCodePoint(): number {\n const value = this._value.shift();\n\n return typeof value === 'undefined' ? -1 : value;\n }\n\n private reconsumeCodePoint(codePoint: number) {\n this._value.unshift(codePoint);\n }\n\n private peekCodePoint(delta: number): number {\n if (delta >= this._value.length) {\n return -1;\n }\n\n return this._value[delta];\n }\n\n private consumeUnicodeRangeToken(): UnicodeRangeToken {\n const digits = [];\n let codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n let questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n\n if (questionMarks) {\n const start = parseInt(\n fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? ZERO : digit))),\n 16\n );\n const end = parseInt(fromCodePoint(...digits.map((digit) => (digit === QUESTION_MARK ? F : digit))), 16);\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n }\n\n const start = parseInt(fromCodePoint(...digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n const endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n const end = parseInt(fromCodePoint(...endDigits), 16);\n\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end};\n } else {\n return {type: TokenType.UNICODE_RANGE_TOKEN, start, end: start};\n }\n }\n\n private consumeIdentLikeToken(): StringValueToken | Token {\n const value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n } else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.FUNCTION_TOKEN, value};\n }\n\n return {type: TokenType.IDENT_TOKEN, value};\n }\n\n private consumeUrlToken(): StringValueToken | Token {\n const value = [];\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF) {\n return {type: TokenType.URL_TOKEN, value: ''};\n }\n\n const next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n const stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === TokenType.STRING_TOKEN) {\n this.consumeWhiteSpace();\n\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: stringToken.value};\n }\n }\n\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n } else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return {type: TokenType.URL_TOKEN, value: fromCodePoint(...value)};\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (\n codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)\n ) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n } else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n } else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n } else {\n value.push(codePoint);\n }\n }\n }\n\n private consumeWhiteSpace(): void {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n }\n\n private consumeBadUrlRemnants(): void {\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n }\n\n private consumeStringSlice(count: number): string {\n const SLICE_STACK_SIZE = 50000;\n let value = '';\n while (count > 0) {\n const amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint(...this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n\n return value;\n }\n\n private consumeStringToken(endingCodePoint: number): StringValueToken | Token {\n let value = '';\n let i = 0;\n\n do {\n const codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return {type: TokenType.STRING_TOKEN, value};\n }\n\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n\n if (codePoint === REVERSE_SOLIDUS) {\n const next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n } else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n\n i++;\n } while (true);\n }\n\n private consumeNumber() {\n const repr = [];\n let type = FLAG_INTEGER;\n let c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n let c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n\n return [stringToNumber(repr), type];\n }\n\n private consumeNumericToken(): NumberValueToken | DimensionToken {\n const [number, flags] = this.consumeNumber();\n const c1 = this.peekCodePoint(0);\n const c2 = this.peekCodePoint(1);\n const c3 = this.peekCodePoint(2);\n\n if (isIdentifierStart(c1, c2, c3)) {\n const unit = this.consumeName();\n return {type: TokenType.DIMENSION_TOKEN, number, flags, unit};\n }\n\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return {type: TokenType.PERCENTAGE_TOKEN, number, flags};\n }\n\n return {type: TokenType.NUMBER_TOKEN, number, flags};\n }\n\n private consumeEscapedCodePoint(): number {\n const codePoint = this.consumeCodePoint();\n\n if (isHex(codePoint)) {\n let hex = fromCodePoint(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint(this.consumeCodePoint());\n }\n\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n\n const hexCodePoint = parseInt(hex, 16);\n\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n\n return hexCodePoint;\n }\n\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n\n return codePoint;\n }\n\n private consumeName(): string {\n let result = '';\n while (true) {\n const codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint(codePoint);\n } else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint(this.consumeEscapedCodePoint());\n } else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n }\n}\n","import {\n CSSToken,\n DimensionToken,\n EOF_TOKEN,\n NumberValueToken,\n StringValueToken,\n Tokenizer,\n TokenType\n} from './tokenizer';\n\nexport type CSSBlockType =\n | TokenType.LEFT_PARENTHESIS_TOKEN\n | TokenType.LEFT_SQUARE_BRACKET_TOKEN\n | TokenType.LEFT_CURLY_BRACKET_TOKEN;\n\nexport interface CSSBlock {\n type: CSSBlockType;\n values: CSSValue[];\n}\n\nexport interface CSSFunction {\n type: TokenType.FUNCTION;\n name: string;\n values: CSSValue[];\n}\n\nexport type CSSValue = CSSFunction | CSSToken | CSSBlock;\n\nexport class Parser {\n private _tokens: CSSToken[];\n\n constructor(tokens: CSSToken[]) {\n this._tokens = tokens;\n }\n\n static create(value: string): Parser {\n const tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n }\n\n static parseValue(value: string): CSSValue {\n return Parser.create(value).parseComponentValue();\n }\n\n static parseValues(value: string): CSSValue[] {\n return Parser.create(value).parseComponentValues();\n }\n\n parseComponentValue(): CSSValue {\n let token = this.consumeToken();\n while (token.type === TokenType.WHITESPACE_TOKEN) {\n token = this.consumeToken();\n }\n\n if (token.type === TokenType.EOF_TOKEN) {\n throw new SyntaxError(`Error parsing CSS component value, unexpected EOF`);\n }\n\n this.reconsumeToken(token);\n const value = this.consumeComponentValue();\n\n do {\n token = this.consumeToken();\n } while (token.type === TokenType.WHITESPACE_TOKEN);\n\n if (token.type === TokenType.EOF_TOKEN) {\n return value;\n }\n\n throw new SyntaxError(`Error parsing CSS component value, multiple values found when expecting only one`);\n }\n\n parseComponentValues(): CSSValue[] {\n const values = [];\n while (true) {\n const value = this.consumeComponentValue();\n if (value.type === TokenType.EOF_TOKEN) {\n return values;\n }\n values.push(value);\n values.push();\n }\n }\n\n private consumeComponentValue(): CSSValue {\n const token = this.consumeToken();\n\n switch (token.type) {\n case TokenType.LEFT_CURLY_BRACKET_TOKEN:\n case TokenType.LEFT_SQUARE_BRACKET_TOKEN:\n case TokenType.LEFT_PARENTHESIS_TOKEN:\n return this.consumeSimpleBlock(token.type);\n case TokenType.FUNCTION_TOKEN:\n return this.consumeFunction(token);\n }\n\n return token;\n }\n\n private consumeSimpleBlock(type: CSSBlockType): CSSBlock {\n const block: CSSBlock = {type, values: []};\n\n let token = this.consumeToken();\n while (true) {\n if (token.type === TokenType.EOF_TOKEN || isEndingTokenFor(token, type)) {\n return block;\n }\n\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n }\n\n private consumeFunction(functionToken: StringValueToken): CSSFunction {\n const cssFunction: CSSFunction = {\n name: functionToken.value,\n values: [],\n type: TokenType.FUNCTION\n };\n\n while (true) {\n const token = this.consumeToken();\n if (token.type === TokenType.EOF_TOKEN || token.type === TokenType.RIGHT_PARENTHESIS_TOKEN) {\n return cssFunction;\n }\n\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n }\n\n private consumeToken(): CSSToken {\n const token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n }\n\n private reconsumeToken(token: CSSToken): void {\n this._tokens.unshift(token);\n }\n}\n\nexport const isDimensionToken = (token: CSSValue): token is DimensionToken => token.type === TokenType.DIMENSION_TOKEN;\nexport const isNumberToken = (token: CSSValue): token is NumberValueToken => token.type === TokenType.NUMBER_TOKEN;\nexport const isIdentToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.IDENT_TOKEN;\nexport const isStringToken = (token: CSSValue): token is StringValueToken => token.type === TokenType.STRING_TOKEN;\nexport const isIdentWithValue = (token: CSSValue, value: string): boolean =>\n isIdentToken(token) && token.value === value;\n\nexport const nonWhiteSpace = (token: CSSValue): boolean => token.type !== TokenType.WHITESPACE_TOKEN;\nexport const nonFunctionArgSeparator = (token: CSSValue): boolean =>\n token.type !== TokenType.WHITESPACE_TOKEN && token.type !== TokenType.COMMA_TOKEN;\n\nexport const parseFunctionArgs = (tokens: CSSValue[]): CSSValue[][] => {\n const args: CSSValue[][] = [];\n let arg: CSSValue[] = [];\n tokens.forEach((token) => {\n if (token.type === TokenType.COMMA_TOKEN) {\n if (arg.length === 0) {\n throw new Error(`Error parsing function args, zero tokens for arg`);\n }\n args.push(arg);\n arg = [];\n return;\n }\n\n if (token.type !== TokenType.WHITESPACE_TOKEN) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n\n return args;\n};\n\nconst isEndingTokenFor = (token: CSSToken, type: CSSBlockType): boolean => {\n if (type === TokenType.LEFT_CURLY_BRACKET_TOKEN && token.type === TokenType.RIGHT_CURLY_BRACKET_TOKEN) {\n return true;\n }\n if (type === TokenType.LEFT_SQUARE_BRACKET_TOKEN && token.type === TokenType.RIGHT_SQUARE_BRACKET_TOKEN) {\n return true;\n }\n\n return type === TokenType.LEFT_PARENTHESIS_TOKEN && token.type === TokenType.RIGHT_PARENTHESIS_TOKEN;\n};\n","import {CSSValue} from '../syntax/parser';\nimport {DimensionToken, NumberValueToken, TokenType} from '../syntax/tokenizer';\n\nexport type Length = DimensionToken | NumberValueToken;\n\nexport const isLength = (token: CSSValue): token is Length =>\n token.type === TokenType.NUMBER_TOKEN || token.type === TokenType.DIMENSION_TOKEN;\n","import {DimensionToken, FLAG_INTEGER, NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {isLength} from './length';\nexport type LengthPercentage = DimensionToken | NumberValueToken;\nexport type LengthPercentageTuple = [LengthPercentage] | [LengthPercentage, LengthPercentage];\n\nexport const isLengthPercentage = (token: CSSValue): token is LengthPercentage =>\n token.type === TokenType.PERCENTAGE_TOKEN || isLength(token);\nexport const parseLengthPercentageTuple = (tokens: LengthPercentage[]): LengthPercentageTuple =>\n tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\nexport const ZERO_LENGTH: NumberValueToken = {\n type: TokenType.NUMBER_TOKEN,\n number: 0,\n flags: FLAG_INTEGER\n};\n\nexport const FIFTY_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\n\nexport const HUNDRED_PERCENT: NumberValueToken = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 100,\n flags: FLAG_INTEGER\n};\n\nexport const getAbsoluteValueForTuple = (\n tuple: LengthPercentageTuple,\n width: number,\n height: number\n): [number, number] => {\n const [x, y] = tuple;\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nexport const getAbsoluteValue = (token: LengthPercentage, parent: number): number => {\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n return (token.number / 100) * parent;\n }\n\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n\n return token.number;\n};\n","import {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {HUNDRED_PERCENT, ZERO_LENGTH} from './length-percentage';\nimport {GradientCorner} from './image';\nimport {Context} from '../../core/context';\n\nconst DEG = 'deg';\nconst GRAD = 'grad';\nconst RAD = 'rad';\nconst TURN = 'turn';\n\nexport const angle: ITypeDescriptor = {\n name: 'angle',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n\n throw new Error(`Unsupported angle type`);\n }\n};\n\nexport const isAngle = (value: CSSValue): boolean => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\n\nexport const parseNamedSide = (tokens: CSSValue[]): number | GradientCorner => {\n const sideOrCorner = tokens\n .filter(isIdentToken)\n .map((ident) => ident.value)\n .join(' ');\n\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n\n return 0;\n};\n\nexport const deg = (deg: number): number => (Math.PI * deg) / 180;\n","import {CSSValue, nonFunctionArgSeparator, Parser} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {angle, deg} from './angle';\nimport {getAbsoluteValue, isLengthPercentage} from './length-percentage';\nimport {Context} from '../../core/context';\nexport type Color = number;\n\nexport const color: ITypeDescriptor = {\n name: 'color',\n parse: (context: Context, value: CSSValue): Color => {\n if (value.type === TokenType.FUNCTION) {\n const colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported color function \"${value.name}\"`);\n }\n return colorFunction(context, value.values);\n }\n\n if (value.type === TokenType.HASH_TOKEN) {\n if (value.value.length === 3) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n\n if (value.value.length === 4) {\n const r = value.value.substring(0, 1);\n const g = value.value.substring(1, 2);\n const b = value.value.substring(2, 3);\n const a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n\n if (value.value.length === 6) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n\n if (value.value.length === 8) {\n const r = value.value.substring(0, 2);\n const g = value.value.substring(2, 4);\n const b = value.value.substring(4, 6);\n const a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n\n if (value.type === TokenType.IDENT_TOKEN) {\n const namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n\n return COLORS.TRANSPARENT;\n }\n};\n\nexport const isTransparent = (color: Color): boolean => (0xff & color) === 0;\n\nexport const asString = (color: Color): string => {\n const alpha = 0xff & color;\n const blue = 0xff & (color >> 8);\n const green = 0xff & (color >> 16);\n const red = 0xff & (color >> 24);\n return alpha < 255 ? `rgba(${red},${green},${blue},${alpha / 255})` : `rgb(${red},${green},${blue})`;\n};\n\nexport const pack = (r: number, g: number, b: number, a: number): Color =>\n ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n\nconst getTokenColorValue = (token: CSSValue, i: number): number => {\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.PERCENTAGE_TOKEN) {\n const max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n\n return 0;\n};\n\nconst rgb = (_context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n\n if (tokens.length === 3) {\n const [r, g, b] = tokens.map(getTokenColorValue);\n return pack(r, g, b, 1);\n }\n\n if (tokens.length === 4) {\n const [r, g, b, a] = tokens.map(getTokenColorValue);\n return pack(r, g, b, a);\n }\n\n return 0;\n};\n\nfunction hue2rgb(t1: number, t2: number, hue: number): number {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n } else if (hue < 1 / 2) {\n return t2;\n } else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n } else {\n return t1;\n }\n}\n\nconst hsl = (context: Context, args: CSSValue[]): number => {\n const tokens = args.filter(nonFunctionArgSeparator);\n const [hue, saturation, lightness, alpha] = tokens;\n\n const h = (hue.type === TokenType.NUMBER_TOKEN ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n const s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n const l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n const a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n\n const t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n\n const t1 = l * 2 - t2;\n const r = hue2rgb(t1, t2, h + 1 / 3);\n const g = hue2rgb(t1, t2, h);\n const b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\n\nconst SUPPORTED_COLOR_FUNCTIONS: {\n [key: string]: (context: Context, args: CSSValue[]) => number;\n} = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\n\nexport const parseColor = (context: Context, value: string): Color =>\n color.parse(context, Parser.create(value).parseComponentValue());\n\nexport const COLORS: {[key: string]: Color} = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum BACKGROUND_CLIP {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundClip = BACKGROUND_CLIP[];\n\nexport const backgroundClip: IPropertyListDescriptor = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundClip => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_CLIP.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_CLIP.CONTENT_BOX;\n }\n }\n return BACKGROUND_CLIP.BORDER_BOX;\n });\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const backgroundColor: IPropertyTypeValueDescriptor = {\n name: `background-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue} from '../../syntax/parser';\nimport {\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n GradientColorStop,\n GradientCorner,\n UnprocessedGradientColorStop\n} from '../image';\nimport {color as colorType} from '../color';\nimport {getAbsoluteValue, HUNDRED_PERCENT, isLengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const parseColorStop = (context: Context, args: CSSValue[]): UnprocessedGradientColorStop => {\n const color = colorType.parse(context, args[0]);\n const stop = args[1];\n return stop && isLengthPercentage(stop) ? {color, stop} : {color, stop: null};\n};\n\nexport const processColorStops = (stops: UnprocessedGradientColorStop[], lineLength: number): GradientColorStop[] => {\n const first = stops[0];\n const last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n\n const processStops: (number | null)[] = [];\n let previous = 0;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i].stop;\n if (stop !== null) {\n const absoluteValue = getAbsoluteValue(stop, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n } else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n } else {\n processStops.push(null);\n }\n }\n\n let gapBegin = null;\n for (let i = 0; i < processStops.length; i++) {\n const stop = processStops[i];\n if (stop === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n } else if (gapBegin !== null) {\n const gapLength = i - gapBegin;\n const beforeGap = processStops[gapBegin - 1] as number;\n const gapValue = (stop - beforeGap) / (gapLength + 1);\n for (let g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n\n return stops.map(({color}, i) => {\n return {color, stop: Math.max(Math.min(1, (processStops[i] as number) / lineLength), 0)};\n });\n};\n\nconst getAngleFromCorner = (corner: GradientCorner, width: number, height: number): number => {\n const centerX = width / 2;\n const centerY = height / 2;\n const x = getAbsoluteValue(corner[0], width) - centerX;\n const y = centerY - getAbsoluteValue(corner[1], height);\n\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\n\nexport const calculateGradientDirection = (\n angle: number | GradientCorner,\n width: number,\n height: number\n): [number, number, number, number, number] => {\n const radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n\n const lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n\n const halfWidth = width / 2;\n const halfHeight = height / 2;\n const halfLineLength = lineLength / 2;\n\n const yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n const xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\n\nconst distance = (a: number, b: number): number => Math.sqrt(a * a + b * b);\n\nconst findCorner = (width: number, height: number, x: number, y: number, closest: boolean): [number, number] => {\n const corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n\n return corners.reduce(\n (stat, corner) => {\n const [cx, cy] = corner;\n const d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n\n return stat;\n },\n {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }\n ).optimumCorner as [number, number];\n};\n\nexport const calculateRadius = (\n gradient: CSSRadialGradientImage,\n x: number,\n y: number,\n width: number,\n height: number\n): [number, number] => {\n let rx = 0;\n let ry = 0;\n\n switch (gradient.size) {\n case CSSRadialExtent.CLOSEST_SIDE:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.CLOSEST_CORNER:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.min(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n const c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, true);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n\n case CSSRadialExtent.FARTHEST_SIDE:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n\n case CSSRadialExtent.FARTHEST_CORNER:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === CSSRadialShape.CIRCLE) {\n rx = ry = Math.max(\n distance(x, y),\n distance(x, y - height),\n distance(x - width, y),\n distance(x - width, y - height)\n );\n } else if (gradient.shape === CSSRadialShape.ELLIPSE) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n const c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n const [cx, cy] = findCorner(width, height, x, y, false);\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n\n return [rx, ry];\n};\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixLinearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (\n firstToken.type === TokenType.IDENT_TOKEN &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1\n ) {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = (angleType.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {\n angle,\n stops,\n type: CSSImageType.LINEAR_GRADIENT\n };\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {Context} from '../../../core/context';\nexport const CLOSEST_SIDE = 'closest-side';\nexport const FARTHEST_SIDE = 'farthest-side';\nexport const CLOSEST_CORNER = 'closest-corner';\nexport const FARTHEST_CORNER = 'farthest-corner';\nexport const CIRCLE = 'circle';\nexport const ELLIPSE = 'ellipse';\nexport const COVER = 'cover';\nexport const CONTAIN = 'contain';\n\nexport const radialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n let isAtPosition = false;\n isColorStop = arg.reduce((acc, token) => {\n if (isAtPosition) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n } else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case 'at':\n isAtPosition = true;\n return false;\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue, isIdentToken, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {parseColorStop} from './gradient';\nimport {FIFTY_PERCENT, HUNDRED_PERCENT, isLengthPercentage, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {isLength} from '../length';\nimport {\n CIRCLE,\n CLOSEST_CORNER,\n CLOSEST_SIDE,\n CONTAIN,\n COVER,\n ELLIPSE,\n FARTHEST_CORNER,\n FARTHEST_SIDE\n} from './radial-gradient';\nimport {Context} from '../../../core/context';\n\nexport const prefixRadialGradient = (context: Context, tokens: CSSValue[]): CSSRadialGradientImage => {\n let shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n let size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const stops: UnprocessedGradientColorStop[] = [];\n const position: LengthPercentage[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n let isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n } else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n } else if (i === 1) {\n isColorStop = arg.reduce((acc, token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = CSSRadialShape.CIRCLE;\n return false;\n case ELLIPSE:\n shape = CSSRadialShape.ELLIPSE;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = CSSRadialExtent.CLOSEST_SIDE;\n return false;\n case FARTHEST_SIDE:\n size = CSSRadialExtent.FARTHEST_SIDE;\n return false;\n case CLOSEST_CORNER:\n size = CSSRadialExtent.CLOSEST_CORNER;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = CSSRadialExtent.FARTHEST_CORNER;\n return false;\n }\n } else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n\n return acc;\n }, isColorStop);\n }\n\n if (isColorStop) {\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n\n return {size, shape, stops, position, type: CSSImageType.RADIAL_GRADIENT};\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Color} from './color';\nimport {linearGradient} from './functions/linear-gradient';\nimport {prefixLinearGradient} from './functions/-prefix-linear-gradient';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {LengthPercentage} from './length-percentage';\nimport {webkitGradient} from './functions/-webkit-gradient';\nimport {radialGradient} from './functions/radial-gradient';\nimport {prefixRadialGradient} from './functions/-prefix-radial-gradient';\nimport {Context} from '../../core/context';\n\nexport const enum CSSImageType {\n URL,\n LINEAR_GRADIENT,\n RADIAL_GRADIENT\n}\n\nexport const isLinearGradient = (background: ICSSImage): background is CSSLinearGradientImage => {\n return background.type === CSSImageType.LINEAR_GRADIENT;\n};\n\nexport const isRadialGradient = (background: ICSSImage): background is CSSRadialGradientImage => {\n return background.type === CSSImageType.RADIAL_GRADIENT;\n};\n\nexport interface UnprocessedGradientColorStop {\n color: Color;\n stop: LengthPercentage | null;\n}\n\nexport interface GradientColorStop {\n color: Color;\n stop: number;\n}\n\nexport interface ICSSImage {\n type: CSSImageType;\n}\n\nexport interface CSSURLImage extends ICSSImage {\n url: string;\n type: CSSImageType.URL;\n}\n\n// interface ICSSGeneratedImage extends ICSSImage {}\n\nexport type GradientCorner = [LengthPercentage, LengthPercentage];\n\ninterface ICSSGradientImage extends ICSSImage {\n stops: UnprocessedGradientColorStop[];\n}\n\nexport interface CSSLinearGradientImage extends ICSSGradientImage {\n angle: number | GradientCorner;\n type: CSSImageType.LINEAR_GRADIENT;\n}\n\nexport const enum CSSRadialShape {\n CIRCLE,\n ELLIPSE\n}\n\nexport const enum CSSRadialExtent {\n CLOSEST_SIDE,\n FARTHEST_SIDE,\n CLOSEST_CORNER,\n FARTHEST_CORNER\n}\n\nexport type CSSRadialSize = CSSRadialExtent | LengthPercentage[];\n\nexport interface CSSRadialGradientImage extends ICSSGradientImage {\n type: CSSImageType.RADIAL_GRADIENT;\n shape: CSSRadialShape;\n size: CSSRadialSize;\n position: LengthPercentage[];\n}\n\nexport const image: ITypeDescriptor = {\n name: 'image',\n parse: (context: Context, value: CSSValue): ICSSImage => {\n if (value.type === TokenType.URL_TOKEN) {\n const image: CSSURLImage = {url: value.value, type: CSSImageType.URL};\n context.cache.addImage(value.value);\n return image;\n }\n\n if (value.type === TokenType.FUNCTION) {\n const imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported image function \"${value.name}\"`);\n }\n return imageFunction(context, value.values);\n }\n\n throw new Error(`Unsupported image type ${value.type}`);\n }\n};\n\nexport function isSupportedImage(value: CSSValue): boolean {\n return (\n !(value.type === TokenType.IDENT_TOKEN && value.value === 'none') &&\n (value.type !== TokenType.FUNCTION || !!SUPPORTED_IMAGE_FUNCTIONS[value.name])\n );\n}\n\nconst SUPPORTED_IMAGE_FUNCTIONS: Record ICSSImage> = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {StringValueToken} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport enum BACKGROUND_SIZE {\n AUTO = 'auto',\n CONTAIN = 'contain',\n COVER = 'cover'\n}\n\nexport type BackgroundSizeInfo = LengthPercentage | StringValueToken;\nexport type BackgroundSize = BackgroundSizeInfo[][];\n\nexport const backgroundSize: IPropertyListDescriptor = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundSize => {\n return parseFunctionArgs(tokens).map((values) => values.filter(isBackgroundSizeInfoToken));\n }\n};\n\nconst isBackgroundSizeInfoToken = (value: CSSValue): value is BackgroundSizeInfo =>\n isIdentToken(value) || isLengthPercentage(value);\n","import {CSSValue, parseFunctionArgs} from '../../syntax/parser';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {isAngle, angle as angleType, parseNamedSide, deg} from '../angle';\nimport {CSSImageType, CSSLinearGradientImage, GradientCorner, UnprocessedGradientColorStop} from '../image';\nimport {parseColorStop} from './gradient';\nimport {Context} from '../../../core/context';\n\nexport const linearGradient = (context: Context, tokens: CSSValue[]): CSSLinearGradientImage => {\n let angle: number | GradientCorner = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n\n parseFunctionArgs(tokens).forEach((arg, i) => {\n if (i === 0) {\n const firstToken = arg[0];\n if (firstToken.type === TokenType.IDENT_TOKEN && firstToken.value === 'to') {\n angle = parseNamedSide(arg);\n return;\n } else if (isAngle(firstToken)) {\n angle = angleType.parse(context, firstToken);\n return;\n }\n }\n const colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n\n return {angle, stops, type: CSSImageType.LINEAR_GRADIENT};\n};\n","import {CSSValue, isIdentToken, isNumberToken, nonFunctionArgSeparator, parseFunctionArgs} from '../../syntax/parser';\nimport {\n CSSImageType,\n CSSLinearGradientImage,\n CSSRadialExtent,\n CSSRadialGradientImage,\n CSSRadialShape,\n CSSRadialSize,\n UnprocessedGradientColorStop\n} from '../image';\nimport {deg} from '../angle';\nimport {TokenType} from '../../syntax/tokenizer';\nimport {color as colorType} from '../color';\nimport {HUNDRED_PERCENT, LengthPercentage, ZERO_LENGTH} from '../length-percentage';\nimport {Context} from '../../../core/context';\n\nexport const webkitGradient = (\n context: Context,\n tokens: CSSValue[]\n): CSSLinearGradientImage | CSSRadialGradientImage => {\n const angle = deg(180);\n const stops: UnprocessedGradientColorStop[] = [];\n let type = CSSImageType.LINEAR_GRADIENT;\n const shape: CSSRadialShape = CSSRadialShape.CIRCLE;\n const size: CSSRadialSize = CSSRadialExtent.FARTHEST_CORNER;\n const position: LengthPercentage[] = [];\n parseFunctionArgs(tokens).forEach((arg, i) => {\n const firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = CSSImageType.LINEAR_GRADIENT;\n return;\n } else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = CSSImageType.RADIAL_GRADIENT;\n return;\n }\n }\n\n if (firstToken.type === TokenType.FUNCTION) {\n if (firstToken.name === 'from') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: ZERO_LENGTH, color});\n } else if (firstToken.name === 'to') {\n const color = colorType.parse(context, firstToken.values[0]);\n stops.push({stop: HUNDRED_PERCENT, color});\n } else if (firstToken.name === 'color-stop') {\n const values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n const color = colorType.parse(context, values[1]);\n const stop = values[0];\n if (isNumberToken(stop)) {\n stops.push({\n stop: {type: TokenType.PERCENTAGE_TOKEN, number: stop.number * 100, flags: stop.flags},\n color\n });\n }\n }\n }\n }\n });\n\n return type === CSSImageType.LINEAR_GRADIENT\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops,\n type\n }\n : {size, shape, stops, position, type};\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image, isSupportedImage} from '../types/image';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, nonFunctionArgSeparator} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const backgroundImage: IPropertyListDescriptor = {\n name: 'background-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens\n .filter((value) => nonFunctionArgSeparator(value) && isSupportedImage(value))\n .map((value) => image.parse(context, value));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum BACKGROUND_ORIGIN {\n BORDER_BOX = 0,\n PADDING_BOX = 1,\n CONTENT_BOX = 2\n}\n\nexport type BackgroundOrigin = BACKGROUND_ORIGIN[];\n\nexport const backgroundOrigin: IPropertyListDescriptor = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundOrigin => {\n return tokens.map((token) => {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return BACKGROUND_ORIGIN.PADDING_BOX;\n case 'content-box':\n return BACKGROUND_ORIGIN.CONTENT_BOX;\n }\n }\n return BACKGROUND_ORIGIN.BORDER_BOX;\n });\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, parseFunctionArgs} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BackgroundPosition = BackgroundImagePosition[];\n\nexport type BackgroundImagePosition = LengthPercentageTuple;\n\nexport const backgroundPosition: IPropertyListDescriptor = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundPosition => {\n return parseFunctionArgs(tokens)\n .map((values: CSSValue[]) => values.filter(isLengthPercentage))\n .map(parseLengthPercentageTuple);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, parseFunctionArgs} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport type BackgroundRepeat = BACKGROUND_REPEAT[];\n\nexport const enum BACKGROUND_REPEAT {\n REPEAT = 0,\n NO_REPEAT = 1,\n REPEAT_X = 2,\n REPEAT_Y = 3\n}\n\nexport const backgroundRepeat: IPropertyListDescriptor = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BackgroundRepeat => {\n return parseFunctionArgs(tokens)\n .map((values) =>\n values\n .filter(isIdentToken)\n .map((token) => token.value)\n .join(' ')\n )\n .map(parseBackgroundRepeat);\n }\n};\n\nconst parseBackgroundRepeat = (value: string): BACKGROUND_REPEAT => {\n switch (value) {\n case 'no-repeat':\n return BACKGROUND_REPEAT.NO_REPEAT;\n case 'repeat-x':\n case 'repeat no-repeat':\n return BACKGROUND_REPEAT.REPEAT_X;\n case 'repeat-y':\n case 'no-repeat repeat':\n return BACKGROUND_REPEAT.REPEAT_Y;\n case 'repeat':\n default:\n return BACKGROUND_REPEAT.REPEAT;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum LINE_BREAK {\n NORMAL = 'normal',\n STRICT = 'strict'\n}\n\nexport const lineBreak: IPropertyIdentValueDescriptor = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, lineBreak: string): LINE_BREAK => {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nconst borderColorForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `border-${side}-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n});\n\nexport const borderTopColor: IPropertyTypeValueDescriptor = borderColorForSide('top');\nexport const borderRightColor: IPropertyTypeValueDescriptor = borderColorForSide('right');\nexport const borderBottomColor: IPropertyTypeValueDescriptor = borderColorForSide('bottom');\nexport const borderLeftColor: IPropertyTypeValueDescriptor = borderColorForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentageTuple, parseLengthPercentageTuple} from '../types/length-percentage';\nimport {Context} from '../../core/context';\nexport type BorderRadius = LengthPercentageTuple;\n\nconst borderRadiusForSide = (side: string): IPropertyListDescriptor => ({\n name: `border-radius-${side}`,\n initialValue: '0 0',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): BorderRadius =>\n parseLengthPercentageTuple(tokens.filter(isLengthPercentage))\n});\n\nexport const borderTopLeftRadius: IPropertyListDescriptor = borderRadiusForSide('top-left');\nexport const borderTopRightRadius: IPropertyListDescriptor = borderRadiusForSide('top-right');\nexport const borderBottomRightRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-right');\nexport const borderBottomLeftRadius: IPropertyListDescriptor = borderRadiusForSide('bottom-left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum BORDER_STYLE {\n NONE = 0,\n SOLID = 1,\n DASHED = 2,\n DOTTED = 3,\n DOUBLE = 4\n}\n\nconst borderStyleForSide = (side: string): IPropertyIdentValueDescriptor => ({\n name: `border-${side}-style`,\n initialValue: 'solid',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, style: string): BORDER_STYLE => {\n switch (style) {\n case 'none':\n return BORDER_STYLE.NONE;\n case 'dashed':\n return BORDER_STYLE.DASHED;\n case 'dotted':\n return BORDER_STYLE.DOTTED;\n case 'double':\n return BORDER_STYLE.DOUBLE;\n }\n return BORDER_STYLE.SOLID;\n }\n});\n\nexport const borderTopStyle: IPropertyIdentValueDescriptor = borderStyleForSide('top');\nexport const borderRightStyle: IPropertyIdentValueDescriptor = borderStyleForSide('right');\nexport const borderBottomStyle: IPropertyIdentValueDescriptor = borderStyleForSide('bottom');\nexport const borderLeftStyle: IPropertyIdentValueDescriptor = borderStyleForSide('left');\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nconst borderWidthForSide = (side: string): IPropertyValueDescriptor => ({\n name: `border-${side}-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n});\n\nexport const borderTopWidth: IPropertyValueDescriptor = borderWidthForSide('top');\nexport const borderRightWidth: IPropertyValueDescriptor = borderWidthForSide('right');\nexport const borderBottomWidth: IPropertyValueDescriptor = borderWidthForSide('bottom');\nexport const borderLeftWidth: IPropertyValueDescriptor = borderWidthForSide('left');\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const color: IPropertyTypeValueDescriptor = {\n name: `color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\n\nexport const enum DIRECTION {\n LTR = 0,\n RTL = 1\n}\n\nexport const direction: IPropertyIdentValueDescriptor = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, direction: string) => {\n switch (direction) {\n case 'rtl':\n return DIRECTION.RTL;\n case 'ltr':\n default:\n return DIRECTION.LTR;\n }\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum DISPLAY {\n NONE = 0,\n BLOCK = 1 << 1,\n INLINE = 1 << 2,\n RUN_IN = 1 << 3,\n FLOW = 1 << 4,\n FLOW_ROOT = 1 << 5,\n TABLE = 1 << 6,\n FLEX = 1 << 7,\n GRID = 1 << 8,\n RUBY = 1 << 9,\n SUBGRID = 1 << 10,\n LIST_ITEM = 1 << 11,\n TABLE_ROW_GROUP = 1 << 12,\n TABLE_HEADER_GROUP = 1 << 13,\n TABLE_FOOTER_GROUP = 1 << 14,\n TABLE_ROW = 1 << 15,\n TABLE_CELL = 1 << 16,\n TABLE_COLUMN_GROUP = 1 << 17,\n TABLE_COLUMN = 1 << 18,\n TABLE_CAPTION = 1 << 19,\n RUBY_BASE = 1 << 20,\n RUBY_TEXT = 1 << 21,\n RUBY_BASE_CONTAINER = 1 << 22,\n RUBY_TEXT_CONTAINER = 1 << 23,\n CONTENTS = 1 << 24,\n INLINE_BLOCK = 1 << 25,\n INLINE_LIST_ITEM = 1 << 26,\n INLINE_TABLE = 1 << 27,\n INLINE_FLEX = 1 << 28,\n INLINE_GRID = 1 << 29\n}\n\nexport type Display = number;\n\nexport const display: IPropertyListDescriptor = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): Display => {\n return tokens.filter(isIdentToken).reduce((bit, token) => {\n return bit | parseDisplayValue(token.value);\n }, DISPLAY.NONE);\n }\n};\n\nconst parseDisplayValue = (display: string): Display => {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return DISPLAY.BLOCK;\n case 'inline':\n return DISPLAY.INLINE;\n case 'run-in':\n return DISPLAY.RUN_IN;\n case 'flow':\n return DISPLAY.FLOW;\n case 'flow-root':\n return DISPLAY.FLOW_ROOT;\n case 'table':\n return DISPLAY.TABLE;\n case 'flex':\n case '-webkit-flex':\n return DISPLAY.FLEX;\n case 'grid':\n case '-ms-grid':\n return DISPLAY.GRID;\n case 'ruby':\n return DISPLAY.RUBY;\n case 'subgrid':\n return DISPLAY.SUBGRID;\n case 'list-item':\n return DISPLAY.LIST_ITEM;\n case 'table-row-group':\n return DISPLAY.TABLE_ROW_GROUP;\n case 'table-header-group':\n return DISPLAY.TABLE_HEADER_GROUP;\n case 'table-footer-group':\n return DISPLAY.TABLE_FOOTER_GROUP;\n case 'table-row':\n return DISPLAY.TABLE_ROW;\n case 'table-cell':\n return DISPLAY.TABLE_CELL;\n case 'table-column-group':\n return DISPLAY.TABLE_COLUMN_GROUP;\n case 'table-column':\n return DISPLAY.TABLE_COLUMN;\n case 'table-caption':\n return DISPLAY.TABLE_CAPTION;\n case 'ruby-base':\n return DISPLAY.RUBY_BASE;\n case 'ruby-text':\n return DISPLAY.RUBY_TEXT;\n case 'ruby-base-container':\n return DISPLAY.RUBY_BASE_CONTAINER;\n case 'ruby-text-container':\n return DISPLAY.RUBY_TEXT_CONTAINER;\n case 'contents':\n return DISPLAY.CONTENTS;\n case 'inline-block':\n return DISPLAY.INLINE_BLOCK;\n case 'inline-list-item':\n return DISPLAY.INLINE_LIST_ITEM;\n case 'inline-table':\n return DISPLAY.INLINE_TABLE;\n case 'inline-flex':\n return DISPLAY.INLINE_FLEX;\n case 'inline-grid':\n return DISPLAY.INLINE_GRID;\n }\n\n return DISPLAY.NONE;\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FLOAT {\n NONE = 0,\n LEFT = 1,\n RIGHT = 2,\n INLINE_START = 3,\n INLINE_END = 4\n}\n\nexport const float: IPropertyIdentValueDescriptor = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, float: string) => {\n switch (float) {\n case 'left':\n return FLOAT.LEFT;\n case 'right':\n return FLOAT.RIGHT;\n case 'inline-start':\n return FLOAT.INLINE_START;\n case 'inline-end':\n return FLOAT.INLINE_END;\n }\n return FLOAT.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport const letterSpacing: IPropertyValueDescriptor = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'normal') {\n return 0;\n }\n\n if (token.type === TokenType.NUMBER_TOKEN) {\n return token.number;\n }\n\n if (token.type === TokenType.DIMENSION_TOKEN) {\n return token.number;\n }\n\n return 0;\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport enum WORD_BREAK {\n NORMAL = 'normal',\n BREAK_ALL = 'break-all',\n KEEP_ALL = 'keep-all'\n}\n\nexport const wordBreak: IPropertyIdentValueDescriptor = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, wordBreak: string): WORD_BREAK => {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {getAbsoluteValue, isLengthPercentage} from '../types/length-percentage';\nexport const lineHeight: IPropertyTokenValueDescriptor = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n};\n\nexport const computeLineHeight = (token: CSSValue, fontSize: number): number => {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n } else if (token.type === TokenType.NUMBER_TOKEN) {\n return fontSize * token.number;\n } else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n\n return fontSize;\n};\n","import {TokenType} from '../syntax/tokenizer';\nimport {ICSSImage, image} from '../types/image';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const listStyleImage: IPropertyValueDescriptor = {\n name: 'list-style-image',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n return image.parse(context, token);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_POSITION {\n INSIDE = 0,\n OUTSIDE = 1\n}\n\nexport const listStylePosition: IPropertyIdentValueDescriptor = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'inside':\n return LIST_STYLE_POSITION.INSIDE;\n case 'outside':\n default:\n return LIST_STYLE_POSITION.OUTSIDE;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum LIST_STYLE_TYPE {\n NONE = -1,\n DISC = 0,\n CIRCLE = 1,\n SQUARE = 2,\n DECIMAL = 3,\n CJK_DECIMAL = 4,\n DECIMAL_LEADING_ZERO = 5,\n LOWER_ROMAN = 6,\n UPPER_ROMAN = 7,\n LOWER_GREEK = 8,\n LOWER_ALPHA = 9,\n UPPER_ALPHA = 10,\n ARABIC_INDIC = 11,\n ARMENIAN = 12,\n BENGALI = 13,\n CAMBODIAN = 14,\n CJK_EARTHLY_BRANCH = 15,\n CJK_HEAVENLY_STEM = 16,\n CJK_IDEOGRAPHIC = 17,\n DEVANAGARI = 18,\n ETHIOPIC_NUMERIC = 19,\n GEORGIAN = 20,\n GUJARATI = 21,\n GURMUKHI = 22,\n HEBREW = 22,\n HIRAGANA = 23,\n HIRAGANA_IROHA = 24,\n JAPANESE_FORMAL = 25,\n JAPANESE_INFORMAL = 26,\n KANNADA = 27,\n KATAKANA = 28,\n KATAKANA_IROHA = 29,\n KHMER = 30,\n KOREAN_HANGUL_FORMAL = 31,\n KOREAN_HANJA_FORMAL = 32,\n KOREAN_HANJA_INFORMAL = 33,\n LAO = 34,\n LOWER_ARMENIAN = 35,\n MALAYALAM = 36,\n MONGOLIAN = 37,\n MYANMAR = 38,\n ORIYA = 39,\n PERSIAN = 40,\n SIMP_CHINESE_FORMAL = 41,\n SIMP_CHINESE_INFORMAL = 42,\n TAMIL = 43,\n TELUGU = 44,\n THAI = 45,\n TIBETAN = 46,\n TRAD_CHINESE_FORMAL = 47,\n TRAD_CHINESE_INFORMAL = 48,\n UPPER_ARMENIAN = 49,\n DISCLOSURE_OPEN = 50,\n DISCLOSURE_CLOSED = 51\n}\n\nexport const listStyleType: IPropertyIdentValueDescriptor = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, type: string) => {\n switch (type) {\n case 'disc':\n return LIST_STYLE_TYPE.DISC;\n case 'circle':\n return LIST_STYLE_TYPE.CIRCLE;\n case 'square':\n return LIST_STYLE_TYPE.SQUARE;\n case 'decimal':\n return LIST_STYLE_TYPE.DECIMAL;\n case 'cjk-decimal':\n return LIST_STYLE_TYPE.CJK_DECIMAL;\n case 'decimal-leading-zero':\n return LIST_STYLE_TYPE.DECIMAL_LEADING_ZERO;\n case 'lower-roman':\n return LIST_STYLE_TYPE.LOWER_ROMAN;\n case 'upper-roman':\n return LIST_STYLE_TYPE.UPPER_ROMAN;\n case 'lower-greek':\n return LIST_STYLE_TYPE.LOWER_GREEK;\n case 'lower-alpha':\n return LIST_STYLE_TYPE.LOWER_ALPHA;\n case 'upper-alpha':\n return LIST_STYLE_TYPE.UPPER_ALPHA;\n case 'arabic-indic':\n return LIST_STYLE_TYPE.ARABIC_INDIC;\n case 'armenian':\n return LIST_STYLE_TYPE.ARMENIAN;\n case 'bengali':\n return LIST_STYLE_TYPE.BENGALI;\n case 'cambodian':\n return LIST_STYLE_TYPE.CAMBODIAN;\n case 'cjk-earthly-branch':\n return LIST_STYLE_TYPE.CJK_EARTHLY_BRANCH;\n case 'cjk-heavenly-stem':\n return LIST_STYLE_TYPE.CJK_HEAVENLY_STEM;\n case 'cjk-ideographic':\n return LIST_STYLE_TYPE.CJK_IDEOGRAPHIC;\n case 'devanagari':\n return LIST_STYLE_TYPE.DEVANAGARI;\n case 'ethiopic-numeric':\n return LIST_STYLE_TYPE.ETHIOPIC_NUMERIC;\n case 'georgian':\n return LIST_STYLE_TYPE.GEORGIAN;\n case 'gujarati':\n return LIST_STYLE_TYPE.GUJARATI;\n case 'gurmukhi':\n return LIST_STYLE_TYPE.GURMUKHI;\n case 'hebrew':\n return LIST_STYLE_TYPE.HEBREW;\n case 'hiragana':\n return LIST_STYLE_TYPE.HIRAGANA;\n case 'hiragana-iroha':\n return LIST_STYLE_TYPE.HIRAGANA_IROHA;\n case 'japanese-formal':\n return LIST_STYLE_TYPE.JAPANESE_FORMAL;\n case 'japanese-informal':\n return LIST_STYLE_TYPE.JAPANESE_INFORMAL;\n case 'kannada':\n return LIST_STYLE_TYPE.KANNADA;\n case 'katakana':\n return LIST_STYLE_TYPE.KATAKANA;\n case 'katakana-iroha':\n return LIST_STYLE_TYPE.KATAKANA_IROHA;\n case 'khmer':\n return LIST_STYLE_TYPE.KHMER;\n case 'korean-hangul-formal':\n return LIST_STYLE_TYPE.KOREAN_HANGUL_FORMAL;\n case 'korean-hanja-formal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_FORMAL;\n case 'korean-hanja-informal':\n return LIST_STYLE_TYPE.KOREAN_HANJA_INFORMAL;\n case 'lao':\n return LIST_STYLE_TYPE.LAO;\n case 'lower-armenian':\n return LIST_STYLE_TYPE.LOWER_ARMENIAN;\n case 'malayalam':\n return LIST_STYLE_TYPE.MALAYALAM;\n case 'mongolian':\n return LIST_STYLE_TYPE.MONGOLIAN;\n case 'myanmar':\n return LIST_STYLE_TYPE.MYANMAR;\n case 'oriya':\n return LIST_STYLE_TYPE.ORIYA;\n case 'persian':\n return LIST_STYLE_TYPE.PERSIAN;\n case 'simp-chinese-formal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_FORMAL;\n case 'simp-chinese-informal':\n return LIST_STYLE_TYPE.SIMP_CHINESE_INFORMAL;\n case 'tamil':\n return LIST_STYLE_TYPE.TAMIL;\n case 'telugu':\n return LIST_STYLE_TYPE.TELUGU;\n case 'thai':\n return LIST_STYLE_TYPE.THAI;\n case 'tibetan':\n return LIST_STYLE_TYPE.TIBETAN;\n case 'trad-chinese-formal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_FORMAL;\n case 'trad-chinese-informal':\n return LIST_STYLE_TYPE.TRAD_CHINESE_INFORMAL;\n case 'upper-armenian':\n return LIST_STYLE_TYPE.UPPER_ARMENIAN;\n case 'disclosure-open':\n return LIST_STYLE_TYPE.DISCLOSURE_OPEN;\n case 'disclosure-closed':\n return LIST_STYLE_TYPE.DISCLOSURE_CLOSED;\n case 'none':\n default:\n return LIST_STYLE_TYPE.NONE;\n }\n }\n};\n","import {IPropertyTokenValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst marginForSide = (side: string): IPropertyTokenValueDescriptor => ({\n name: `margin-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TOKEN_VALUE\n});\n\nexport const marginTop: IPropertyTokenValueDescriptor = marginForSide('top');\nexport const marginRight: IPropertyTokenValueDescriptor = marginForSide('right');\nexport const marginBottom: IPropertyTokenValueDescriptor = marginForSide('bottom');\nexport const marginLeft: IPropertyTokenValueDescriptor = marginForSide('left');\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW {\n VISIBLE = 0,\n HIDDEN = 1,\n SCROLL = 2,\n CLIP = 3,\n AUTO = 4\n}\n\nexport const overflow: IPropertyListDescriptor = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): OVERFLOW[] => {\n return tokens.filter(isIdentToken).map((overflow) => {\n switch (overflow.value) {\n case 'hidden':\n return OVERFLOW.HIDDEN;\n case 'scroll':\n return OVERFLOW.SCROLL;\n case 'clip':\n return OVERFLOW.CLIP;\n case 'auto':\n return OVERFLOW.AUTO;\n case 'visible':\n default:\n return OVERFLOW.VISIBLE;\n }\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum OVERFLOW_WRAP {\n NORMAL = 'normal',\n BREAK_WORD = 'break-word'\n}\n\nexport const overflowWrap: IPropertyIdentValueDescriptor = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'break-word':\n return OVERFLOW_WRAP.BREAK_WORD;\n case 'normal':\n default:\n return OVERFLOW_WRAP.NORMAL;\n }\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nconst paddingForSide = (side: string): IPropertyTypeValueDescriptor => ({\n name: `padding-${side}`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length-percentage'\n});\n\nexport const paddingTop: IPropertyTypeValueDescriptor = paddingForSide('top');\nexport const paddingRight: IPropertyTypeValueDescriptor = paddingForSide('right');\nexport const paddingBottom: IPropertyTypeValueDescriptor = paddingForSide('bottom');\nexport const paddingLeft: IPropertyTypeValueDescriptor = paddingForSide('left');\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_ALIGN {\n LEFT = 0,\n CENTER = 1,\n RIGHT = 2\n}\n\nexport const textAlign: IPropertyIdentValueDescriptor = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textAlign: string) => {\n switch (textAlign) {\n case 'right':\n return TEXT_ALIGN.RIGHT;\n case 'center':\n case 'justify':\n return TEXT_ALIGN.CENTER;\n case 'left':\n default:\n return TEXT_ALIGN.LEFT;\n }\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum POSITION {\n STATIC = 0,\n RELATIVE = 1,\n ABSOLUTE = 2,\n FIXED = 3,\n STICKY = 4\n}\n\nexport const position: IPropertyIdentValueDescriptor = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, position: string) => {\n switch (position) {\n case 'relative':\n return POSITION.RELATIVE;\n case 'absolute':\n return POSITION.ABSOLUTE;\n case 'fixed':\n return POSITION.FIXED;\n case 'sticky':\n return POSITION.STICKY;\n }\n\n return POSITION.STATIC;\n }\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color, COLORS} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type TextShadow = TextShadowItem[];\ninterface TextShadowItem {\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n}\n\nexport const textShadow: IPropertyListDescriptor = {\n name: 'text-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): TextShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: TextShadowItem = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else {\n shadow.blur = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum TEXT_TRANSFORM {\n NONE = 0,\n LOWERCASE = 1,\n UPPERCASE = 2,\n CAPITALIZE = 3\n}\n\nexport const textTransform: IPropertyIdentValueDescriptor = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, textTransform: string) => {\n switch (textTransform) {\n case 'uppercase':\n return TEXT_TRANSFORM.UPPERCASE;\n case 'lowercase':\n return TEXT_TRANSFORM.LOWERCASE;\n case 'capitalize':\n return TEXT_TRANSFORM.CAPITALIZE;\n }\n\n return TEXT_TRANSFORM.NONE;\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {NumberValueToken, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type Matrix = [number, number, number, number, number, number];\nexport type Transform = Matrix | null;\n\nexport const transform: IPropertyValueDescriptor = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue) => {\n if (token.type === TokenType.IDENT_TOKEN && token.value === 'none') {\n return null;\n }\n\n if (token.type === TokenType.FUNCTION) {\n const transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(`Attempting to parse an unsupported transform function \"${token.name}\"`);\n }\n return transformFunction(token.values);\n }\n\n return null;\n }\n};\n\nconst matrix = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n return values.length === 6 ? (values as Matrix) : null;\n};\n\n// doesn't support 3D transforms at the moment\nconst matrix3d = (args: CSSValue[]): Transform => {\n const values = args.filter((arg) => arg.type === TokenType.NUMBER_TOKEN).map((arg: NumberValueToken) => arg.number);\n\n const [a1, b1, {}, {}, a2, b2, {}, {}, {}, {}, {}, {}, a4, b4, {}, {}] = values;\n\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\n\nconst SUPPORTED_TRANSFORM_FUNCTIONS: {\n [key: string]: (args: CSSValue[]) => Transform;\n} = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {isLengthPercentage, LengthPercentage} from '../types/length-percentage';\nimport {FLAG_INTEGER, TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\nexport type TransformOrigin = [LengthPercentage, LengthPercentage];\n\nconst DEFAULT_VALUE: LengthPercentage = {\n type: TokenType.PERCENTAGE_TOKEN,\n number: 50,\n flags: FLAG_INTEGER\n};\nconst DEFAULT: TransformOrigin = [DEFAULT_VALUE, DEFAULT_VALUE];\n\nexport const transformOrigin: IPropertyListDescriptor = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const origins: LengthPercentage[] = tokens.filter(isLengthPercentage);\n\n if (origins.length !== 2) {\n return DEFAULT;\n }\n\n return [origins[0], origins[1]];\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum VISIBILITY {\n VISIBLE = 0,\n HIDDEN = 1,\n COLLAPSE = 2\n}\n\nexport const visibility: IPropertyIdentValueDescriptor = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, visibility: string) => {\n switch (visibility) {\n case 'hidden':\n return VISIBILITY.HIDDEN;\n case 'collapse':\n return VISIBILITY.COLLAPSE;\n case 'visible':\n default:\n return VISIBILITY.VISIBLE;\n }\n }\n};\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const decode = (base64: string): ArrayBuffer | number[] => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const buffer =\n typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n const bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return buffer;\n};\n\nexport const polyUint16Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\nexport const polyUint32Array = (buffer: number[]): number[] => {\n const length = buffer.length;\n const bytes = [];\n for (let i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\ninterface zIndex {\n order: number;\n auto: boolean;\n}\n\nexport const zIndex: IPropertyValueDescriptor = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: PropertyDescriptorParsingType.VALUE,\n parse: (_context: Context, token: CSSValue): zIndex => {\n if (token.type === TokenType.IDENT_TOKEN) {\n return {auto: true, order: 0};\n }\n\n if (isNumberToken(token)) {\n return {auto: false, order: token.number};\n }\n\n throw new Error(`Invalid z-index number parsed`);\n }\n};\n","import {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {ITypeDescriptor} from '../ITypeDescriptor';\nimport {Context} from '../../core/context';\n\nexport const time: ITypeDescriptor = {\n name: 'time',\n parse: (_context: Context, value: CSSValue): number => {\n if (value.type === TokenType.DIMENSION_TOKEN) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n\n throw new Error(`Unsupported time type`);\n }\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const opacity: IPropertyValueDescriptor = {\n name: 'opacity',\n initialValue: '1',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const textDecorationColor: IPropertyTypeValueDescriptor = {\n name: `text-decoration-color`,\n initialValue: 'transparent',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport const enum TEXT_DECORATION_LINE {\n NONE = 0,\n UNDERLINE = 1,\n OVERLINE = 2,\n LINE_THROUGH = 3,\n BLINK = 4\n}\n\nexport type TextDecorationLine = TEXT_DECORATION_LINE[];\n\nexport const textDecorationLine: IPropertyListDescriptor = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): TextDecorationLine => {\n return tokens\n .filter(isIdentToken)\n .map((token) => {\n switch (token.value) {\n case 'underline':\n return TEXT_DECORATION_LINE.UNDERLINE;\n case 'overline':\n return TEXT_DECORATION_LINE.OVERLINE;\n case 'line-through':\n return TEXT_DECORATION_LINE.LINE_THROUGH;\n case 'none':\n return TEXT_DECORATION_LINE.BLINK;\n }\n return TEXT_DECORATION_LINE.NONE;\n })\n .filter((line) => line !== TEXT_DECORATION_LINE.NONE);\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport type FONT_FAMILY = string;\n\nexport type FontFamily = FONT_FAMILY[];\n\nexport const fontFamily: IPropertyListDescriptor = {\n name: `font-family`,\n initialValue: '',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n const accumulator: string[] = [];\n const results: string[] = [];\n tokens.forEach((token) => {\n switch (token.type) {\n case TokenType.IDENT_TOKEN:\n case TokenType.STRING_TOKEN:\n accumulator.push(token.value);\n break;\n case TokenType.NUMBER_TOKEN:\n accumulator.push(token.number.toString());\n break;\n case TokenType.COMMA_TOKEN:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map((result) => (result.indexOf(' ') === -1 ? result : `'${result}'`));\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\n\nexport const fontSize: IPropertyTypeValueDescriptor = {\n name: `font-size`,\n initialValue: '0',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'length'\n};\n","import {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontWeight: IPropertyValueDescriptor = {\n name: 'font-weight',\n initialValue: 'normal',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isNumberToken(token)) {\n return token.number;\n }\n\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n\n return 400;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const fontVariant: IPropertyListDescriptor = {\n name: 'font-variant',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]): string[] => {\n return tokens.filter(isIdentToken).map((token) => token.value);\n }\n};\n","import {IPropertyIdentValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const enum FONT_STYLE {\n NORMAL = 'normal',\n ITALIC = 'italic',\n OBLIQUE = 'oblique'\n}\n\nexport const fontStyle: IPropertyIdentValueDescriptor = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.IDENT_VALUE,\n parse: (_context: Context, overflow: string) => {\n switch (overflow) {\n case 'oblique':\n return FONT_STYLE.OBLIQUE;\n case 'italic':\n return FONT_STYLE.ITALIC;\n case 'normal':\n default:\n return FONT_STYLE.NORMAL;\n }\n }\n};\n","export const contains = (bit: number, value: number): boolean => (bit & value) !== 0;\n","import {TokenType} from '../syntax/tokenizer';\nimport {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport type Content = CSSValue[];\n\nexport const content: IPropertyListDescriptor = {\n name: 'content',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return [];\n }\n\n return tokens;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_INCREMENT {\n counter: string;\n increment: number;\n}\n\nexport type CounterIncrement = COUNTER_INCREMENT[] | null;\n\nexport const counterIncrement: IPropertyListDescriptor = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const increments = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (counter.type === TokenType.IDENT_TOKEN) {\n const increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({counter: counter.value, increment});\n }\n }\n\n return increments;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken, isNumberToken, nonWhiteSpace} from '../syntax/parser';\nimport {Context} from '../../core/context';\n\nexport interface COUNTER_RESET {\n counter: string;\n reset: number;\n}\n\nexport type CounterReset = COUNTER_RESET[];\n\nexport const counterReset: IPropertyListDescriptor = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return [];\n }\n\n const resets = [];\n const filtered = tokens.filter(nonWhiteSpace);\n\n for (let i = 0; i < filtered.length; i++) {\n const counter = filtered[i];\n const next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n const reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({counter: counter.value, reset});\n }\n }\n\n return resets;\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nimport {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {time} from '../types/time';\n\nexport const duration: IPropertyListDescriptor = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (context: Context, tokens: CSSValue[]) => {\n return tokens.filter(isDimensionToken).map((token) => time.parse(context, token));\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isStringToken} from '../syntax/parser';\nimport {TokenType} from '../syntax/tokenizer';\nimport {Context} from '../../core/context';\n\nexport interface QUOTE {\n open: string;\n close: string;\n}\n\nexport type Quotes = QUOTE[] | null;\n\nexport const quotes: IPropertyListDescriptor = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]) => {\n if (tokens.length === 0) {\n return null;\n }\n\n const first = tokens[0];\n\n if (first.type === TokenType.IDENT_TOKEN && first.value === 'none') {\n return null;\n }\n\n const quotes = [];\n const filtered = tokens.filter(isStringToken);\n\n if (filtered.length % 2 !== 0) {\n return null;\n }\n\n for (let i = 0; i < filtered.length; i += 2) {\n const open = filtered[i].value;\n const close = filtered[i + 1].value;\n quotes.push({open, close});\n }\n\n return quotes;\n }\n};\n\nexport const getQuote = (quotes: Quotes, depth: number, open: boolean): string => {\n if (!quotes) {\n return '';\n }\n\n const quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n\n return open ? quote.open : quote.close;\n};\n","import {PropertyDescriptorParsingType, IPropertyListDescriptor} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentWithValue, parseFunctionArgs} from '../syntax/parser';\nimport {ZERO_LENGTH} from '../types/length-percentage';\nimport {color, Color} from '../types/color';\nimport {isLength, Length} from '../types/length';\nimport {Context} from '../../core/context';\n\nexport type BoxShadow = BoxShadowItem[];\ninterface BoxShadowItem {\n inset: boolean;\n color: Color;\n offsetX: Length;\n offsetY: Length;\n blur: Length;\n spread: Length;\n}\n\nexport const boxShadow: IPropertyListDescriptor = {\n name: 'box-shadow',\n initialValue: 'none',\n type: PropertyDescriptorParsingType.LIST,\n prefix: false,\n parse: (context: Context, tokens: CSSValue[]): BoxShadow => {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n\n return parseFunctionArgs(tokens).map((values: CSSValue[]) => {\n const shadow: BoxShadowItem = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n let c = 0;\n for (let i = 0; i < values.length; i++) {\n const token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n } else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n } else if (c === 1) {\n shadow.offsetY = token;\n } else if (c === 2) {\n shadow.blur = token;\n } else {\n shadow.spread = token;\n }\n c++;\n } else {\n shadow.color = color.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n","import {IPropertyListDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {CSSValue, isIdentToken} from '../syntax/parser';\nimport {Context} from '../../core/context';\nexport const enum PAINT_ORDER_LAYER {\n FILL,\n STROKE,\n MARKERS\n}\n\nexport type PaintOrder = PAINT_ORDER_LAYER[];\n\nexport const paintOrder: IPropertyListDescriptor = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: PropertyDescriptorParsingType.LIST,\n parse: (_context: Context, tokens: CSSValue[]): PaintOrder => {\n const DEFAULT_VALUE = [PAINT_ORDER_LAYER.FILL, PAINT_ORDER_LAYER.STROKE, PAINT_ORDER_LAYER.MARKERS];\n const layers: PaintOrder = [];\n\n tokens.filter(isIdentToken).forEach((token) => {\n switch (token.value) {\n case 'stroke':\n layers.push(PAINT_ORDER_LAYER.STROKE);\n break;\n case 'fill':\n layers.push(PAINT_ORDER_LAYER.FILL);\n break;\n case 'markers':\n layers.push(PAINT_ORDER_LAYER.MARKERS);\n break;\n }\n });\n DEFAULT_VALUE.forEach((value) => {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n\n return layers;\n }\n};\n","import {IPropertyTypeValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nexport const webkitTextStrokeColor: IPropertyTypeValueDescriptor = {\n name: `-webkit-text-stroke-color`,\n initialValue: 'currentcolor',\n prefix: false,\n type: PropertyDescriptorParsingType.TYPE_VALUE,\n format: 'color'\n};\n","import {CSSValue, isDimensionToken} from '../syntax/parser';\nimport {IPropertyValueDescriptor, PropertyDescriptorParsingType} from '../IPropertyDescriptor';\nimport {Context} from '../../core/context';\nexport const webkitTextStrokeWidth: IPropertyValueDescriptor = {\n name: `-webkit-text-stroke-width`,\n initialValue: '0',\n type: PropertyDescriptorParsingType.VALUE,\n prefix: false,\n parse: (_context: Context, token: CSSValue): number => {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n","import {CSSPropertyDescriptor, PropertyDescriptorParsingType} from './IPropertyDescriptor';\nimport {backgroundClip} from './property-descriptors/background-clip';\nimport {backgroundColor} from './property-descriptors/background-color';\nimport {backgroundImage} from './property-descriptors/background-image';\nimport {backgroundOrigin} from './property-descriptors/background-origin';\nimport {backgroundPosition} from './property-descriptors/background-position';\nimport {backgroundRepeat} from './property-descriptors/background-repeat';\nimport {backgroundSize} from './property-descriptors/background-size';\nimport {\n borderBottomColor,\n borderLeftColor,\n borderRightColor,\n borderTopColor\n} from './property-descriptors/border-color';\nimport {\n borderBottomLeftRadius,\n borderBottomRightRadius,\n borderTopLeftRadius,\n borderTopRightRadius\n} from './property-descriptors/border-radius';\nimport {\n borderBottomStyle,\n borderLeftStyle,\n borderRightStyle,\n borderTopStyle\n} from './property-descriptors/border-style';\nimport {\n borderBottomWidth,\n borderLeftWidth,\n borderRightWidth,\n borderTopWidth\n} from './property-descriptors/border-width';\nimport {color} from './property-descriptors/color';\nimport {direction} from './property-descriptors/direction';\nimport {display, DISPLAY} from './property-descriptors/display';\nimport {float, FLOAT} from './property-descriptors/float';\nimport {letterSpacing} from './property-descriptors/letter-spacing';\nimport {lineBreak} from './property-descriptors/line-break';\nimport {lineHeight} from './property-descriptors/line-height';\nimport {listStyleImage} from './property-descriptors/list-style-image';\nimport {listStylePosition} from './property-descriptors/list-style-position';\nimport {listStyleType} from './property-descriptors/list-style-type';\nimport {marginBottom, marginLeft, marginRight, marginTop} from './property-descriptors/margin';\nimport {overflow, OVERFLOW} from './property-descriptors/overflow';\nimport {overflowWrap} from './property-descriptors/overflow-wrap';\nimport {paddingBottom, paddingLeft, paddingRight, paddingTop} from './property-descriptors/padding';\nimport {textAlign} from './property-descriptors/text-align';\nimport {position, POSITION} from './property-descriptors/position';\nimport {textShadow} from './property-descriptors/text-shadow';\nimport {textTransform} from './property-descriptors/text-transform';\nimport {transform} from './property-descriptors/transform';\nimport {transformOrigin} from './property-descriptors/transform-origin';\nimport {visibility, VISIBILITY} from './property-descriptors/visibility';\nimport {wordBreak} from './property-descriptors/word-break';\nimport {zIndex} from './property-descriptors/z-index';\nimport {CSSValue, isIdentToken, Parser} from './syntax/parser';\nimport {Tokenizer} from './syntax/tokenizer';\nimport {Color, color as colorType, isTransparent} from './types/color';\nimport {angle} from './types/angle';\nimport {image} from './types/image';\nimport {time} from './types/time';\nimport {opacity} from './property-descriptors/opacity';\nimport {textDecorationColor} from './property-descriptors/text-decoration-color';\nimport {textDecorationLine} from './property-descriptors/text-decoration-line';\nimport {isLengthPercentage, LengthPercentage, ZERO_LENGTH} from './types/length-percentage';\nimport {fontFamily} from './property-descriptors/font-family';\nimport {fontSize} from './property-descriptors/font-size';\nimport {isLength} from './types/length';\nimport {fontWeight} from './property-descriptors/font-weight';\nimport {fontVariant} from './property-descriptors/font-variant';\nimport {fontStyle} from './property-descriptors/font-style';\nimport {contains} from '../core/bitwise';\nimport {content} from './property-descriptors/content';\nimport {counterIncrement} from './property-descriptors/counter-increment';\nimport {counterReset} from './property-descriptors/counter-reset';\nimport {duration} from './property-descriptors/duration';\nimport {quotes} from './property-descriptors/quotes';\nimport {boxShadow} from './property-descriptors/box-shadow';\nimport {paintOrder} from './property-descriptors/paint-order';\nimport {webkitTextStrokeColor} from './property-descriptors/webkit-text-stroke-color';\nimport {webkitTextStrokeWidth} from './property-descriptors/webkit-text-stroke-width';\nimport {Context} from '../core/context';\n\nexport class CSSParsedDeclaration {\n animationDuration: ReturnType;\n backgroundClip: ReturnType;\n backgroundColor: Color;\n backgroundImage: ReturnType;\n backgroundOrigin: ReturnType;\n backgroundPosition: ReturnType;\n backgroundRepeat: ReturnType;\n backgroundSize: ReturnType;\n borderTopColor: Color;\n borderRightColor: Color;\n borderBottomColor: Color;\n borderLeftColor: Color;\n borderTopLeftRadius: ReturnType;\n borderTopRightRadius: ReturnType;\n borderBottomRightRadius: ReturnType;\n borderBottomLeftRadius: ReturnType;\n borderTopStyle: ReturnType;\n borderRightStyle: ReturnType;\n borderBottomStyle: ReturnType;\n borderLeftStyle: ReturnType;\n borderTopWidth: ReturnType;\n borderRightWidth: ReturnType;\n borderBottomWidth: ReturnType;\n borderLeftWidth: ReturnType;\n boxShadow: ReturnType;\n color: Color;\n direction: ReturnType;\n display: ReturnType;\n float: ReturnType;\n fontFamily: ReturnType;\n fontSize: LengthPercentage;\n fontStyle: ReturnType;\n fontVariant: ReturnType;\n fontWeight: ReturnType;\n letterSpacing: ReturnType;\n lineBreak: ReturnType;\n lineHeight: CSSValue;\n listStyleImage: ReturnType;\n listStylePosition: ReturnType;\n listStyleType: ReturnType;\n marginTop: CSSValue;\n marginRight: CSSValue;\n marginBottom: CSSValue;\n marginLeft: CSSValue;\n opacity: ReturnType;\n overflowX: OVERFLOW;\n overflowY: OVERFLOW;\n overflowWrap: ReturnType;\n paddingTop: LengthPercentage;\n paddingRight: LengthPercentage;\n paddingBottom: LengthPercentage;\n paddingLeft: LengthPercentage;\n paintOrder: ReturnType;\n position: ReturnType;\n textAlign: ReturnType;\n textDecorationColor: Color;\n textDecorationLine: ReturnType;\n textShadow: ReturnType;\n textTransform: ReturnType;\n transform: ReturnType;\n transformOrigin: ReturnType;\n visibility: ReturnType;\n webkitTextStrokeColor: Color;\n webkitTextStrokeWidth: ReturnType;\n wordBreak: ReturnType;\n zIndex: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n const overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(\n context,\n textDecorationColor,\n declaration.textDecorationColor ?? declaration.color\n );\n this.textDecorationLine = parse(\n context,\n textDecorationLine,\n declaration.textDecorationLine ?? declaration.textDecoration\n );\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n\n isVisible(): boolean {\n return this.display > 0 && this.opacity > 0 && this.visibility === VISIBILITY.VISIBLE;\n }\n\n isTransparent(): boolean {\n return isTransparent(this.backgroundColor);\n }\n\n isTransformed(): boolean {\n return this.transform !== null;\n }\n\n isPositioned(): boolean {\n return this.position !== POSITION.STATIC;\n }\n\n isPositionedWithZIndex(): boolean {\n return this.isPositioned() && !this.zIndex.auto;\n }\n\n isFloating(): boolean {\n return this.float !== FLOAT.NONE;\n }\n\n isInlineLevel(): boolean {\n return (\n contains(this.display, DISPLAY.INLINE) ||\n contains(this.display, DISPLAY.INLINE_BLOCK) ||\n contains(this.display, DISPLAY.INLINE_FLEX) ||\n contains(this.display, DISPLAY.INLINE_GRID) ||\n contains(this.display, DISPLAY.INLINE_LIST_ITEM) ||\n contains(this.display, DISPLAY.INLINE_TABLE)\n );\n }\n}\n\nexport class CSSParsedPseudoDeclaration {\n content: ReturnType;\n quotes: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n}\n\nexport class CSSParsedCounterDeclaration {\n counterIncrement: ReturnType;\n counterReset: ReturnType;\n\n constructor(context: Context, declaration: CSSStyleDeclaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst parse = (context: Context, descriptor: CSSPropertyDescriptor, style?: string | null) => {\n const tokenizer = new Tokenizer();\n const value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n const parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case PropertyDescriptorParsingType.IDENT_VALUE:\n const token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case PropertyDescriptorParsingType.VALUE:\n return descriptor.parse(context, parser.parseComponentValue());\n case PropertyDescriptorParsingType.LIST:\n return descriptor.parse(context, parser.parseComponentValues());\n case PropertyDescriptorParsingType.TOKEN_VALUE:\n return parser.parseComponentValue();\n case PropertyDescriptorParsingType.TYPE_VALUE:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return colorType.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n const length = parser.parseComponentValue();\n return isLength(length) ? length : ZERO_LENGTH;\n case 'length-percentage':\n const value = parser.parseComponentValue();\n return isLengthPercentage(value) ? value : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n","const elementDebuggerAttribute = 'data-html2canvas-debug';\nexport const enum DebuggerType {\n NONE,\n ALL,\n CLONE,\n PARSE,\n RENDER\n}\n\nconst getElementDebugType = (element: Element): DebuggerType => {\n const attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return DebuggerType.ALL;\n case 'clone':\n return DebuggerType.CLONE;\n case 'parse':\n return DebuggerType.PARSE;\n case 'render':\n return DebuggerType.RENDER;\n default:\n return DebuggerType.NONE;\n }\n};\n\nexport const isDebugging = (element: Element, type: Omit): boolean => {\n const elementType = getElementDebugType(element);\n return elementType === DebuggerType.ALL || type === elementType;\n};\n","import {CSSParsedDeclaration} from '../css/index';\nimport {TextContainer} from './text-container';\nimport {Bounds, parseBounds} from '../css/layout/bounds';\nimport {isHTMLElementNode} from './node-parser';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport const enum FLAGS {\n CREATES_STACKING_CONTEXT = 1 << 1,\n CREATES_REAL_STACKING_CONTEXT = 1 << 2,\n IS_LIST_OWNER = 1 << 3,\n DEBUG_RENDER = 1 << 4\n}\n\nexport class ElementContainer {\n readonly styles: CSSParsedDeclaration;\n readonly textNodes: TextContainer[] = [];\n readonly elements: ElementContainer[] = [];\n bounds: Bounds;\n flags = 0;\n\n constructor(protected readonly context: Context, element: Element) {\n if (isDebugging(element, DebuggerType.PARSE)) {\n debugger;\n }\n\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some((duration) => duration > 0)) {\n element.style.animationDuration = '0s';\n }\n\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n\n this.bounds = parseBounds(this.context, element);\n\n if (isDebugging(element, DebuggerType.RENDER)) {\n this.flags |= FLAGS.DEBUG_RENDER;\n }\n }\n}\n","export const base64 =\n 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\nexport const byteLength = 19616;\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","import {decode, polyUint16Array, polyUint32Array} from './Util';\n\nexport type int = number;\n\n/** Shift size for getting the index-2 table offset. */\nexport const UTRIE2_SHIFT_2 = 5;\n\n/** Shift size for getting the index-1 table offset. */\nexport const UTRIE2_SHIFT_1 = 6 + 5;\n\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nexport const UTRIE2_INDEX_SHIFT = 2;\n\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nexport const UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nexport const UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n\n/** Number of entries in a data block. 32=0x20 */\nexport const UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nexport const UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\n\nexport const UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nexport const UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nexport const UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nexport const UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nexport const UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nexport const UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n\n/** Number of entries in an index-2 block. 64=0x40 */\nexport const UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nexport const UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\n\nconst slice16 = (view: number[] | Uint16Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\n\nconst slice32 = (view: number[] | Uint32Array, start: number, end?: number) => {\n if (view.slice) {\n return view.slice(start, end);\n }\n\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\n\nexport const createTrieFromBase64 = (base64: string, _byteLength: number): Trie => {\n const buffer = decode(base64);\n const view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n const view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n const headerLength = 24;\n\n const index = slice16(view16, headerLength / 2, view32[4] / 2);\n const data =\n view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\n\nexport class Trie {\n initialValue: int;\n errorValue: int;\n highStart: int;\n highValueIndex: int;\n index: Uint16Array | number[];\n data: Uint32Array | Uint16Array | number[];\n\n constructor(\n initialValue: int,\n errorValue: int,\n highStart: int,\n highValueIndex: int,\n index: Uint16Array | number[],\n data: Uint32Array | Uint16Array | number[]\n ) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n get(codePoint: number): number {\n let ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n }\n}\n","import {base64, byteLength} from './grapheme-break-trie';\nimport {createTrieFromBase64} from 'utrie';\n\nconst Other = 0;\nconst Prepend = 1;\nconst CR = 2;\nconst LF = 3;\nconst Control = 4;\nconst Extend = 5;\nconst Regional_Indicator = 6;\nconst SpacingMark = 7;\nconst L = 8;\nconst V = 9;\nconst T = 10;\nconst LV = 11;\nconst LVT = 12;\nconst ZWJ = 13;\nconst Extended_Pictographic = 14;\nconst RI = 15;\n\nexport const classes: {[key: string]: number} = {\n Other,\n Prepend,\n CR,\n LF,\n Control,\n Extend,\n Regional_Indicator,\n SpacingMark,\n L,\n V,\n T,\n LV,\n LVT,\n ZWJ,\n Extended_Pictographic,\n RI,\n};\n\nexport const toCodePoints = (str: string): number[] => {\n const codePoints = [];\n let i = 0;\n const length = str.length;\n while (i < length) {\n const value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n const extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n } else {\n codePoints.push(value);\n i--;\n }\n } else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\n\nexport const fromCodePoint = (...codePoints: number[]): string => {\n if (String.fromCodePoint) {\n return String.fromCodePoint(...codePoints);\n }\n\n const length = codePoints.length;\n if (!length) {\n return '';\n }\n\n const codeUnits = [];\n\n let index = -1;\n let result = '';\n while (++index < length) {\n let codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n } else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode(...codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\n\nexport const UnicodeTrie = createTrieFromBase64(base64, byteLength);\n\nexport const BREAK_NOT_ALLOWED = '×';\nexport const BREAK_ALLOWED = '÷';\n\nexport type BREAK_OPPORTUNITIES = typeof BREAK_NOT_ALLOWED | typeof BREAK_ALLOWED;\n\nexport const codePointToClass = (codePoint: number): number => UnicodeTrie.get(codePoint);\n\nconst _graphemeBreakAtIndex = (_codePoints: number[], classTypes: number[], index: number): BREAK_OPPORTUNITIES => {\n let prevIndex = index - 2;\n let prev = classTypes[prevIndex];\n const current = classTypes[index - 1];\n const next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n let countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n\n return BREAK_ALLOWED;\n};\n\nexport const graphemeBreakAtIndex = (codePoints: number[], index: number): BREAK_OPPORTUNITIES => {\n // GB1 Break at the start and end of text, unless the text is empty.\n if (index === 0) {\n return BREAK_ALLOWED;\n }\n\n // GB2\n if (index >= codePoints.length) {\n return BREAK_ALLOWED;\n }\n\n const classTypes = codePoints.map(codePointToClass);\n return _graphemeBreakAtIndex(codePoints, classTypes, index);\n};\n\nexport const GraphemeBreaker = (str: string) => {\n const codePoints = toCodePoints(str);\n const length = codePoints.length;\n let index = 0;\n let lastEnd = 0;\n const classTypes = codePoints.map(codePointToClass);\n\n return {\n next: () => {\n if (index >= length) {\n return {done: true, value: null};\n }\n\n let graphemeBreak = BREAK_NOT_ALLOWED;\n while (\n index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED\n ) {}\n\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n const value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return {value, done: false};\n }\n\n return {done: true, value: null};\n while (index < length) {}\n\n return {done: true, value: null};\n },\n };\n};\n\nexport const splitGraphemes = (str: string): string[] => {\n const breaker = GraphemeBreaker(str);\n\n const graphemes = [];\n let bk;\n\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n\n return graphemes;\n};\n","import {Bounds} from '../css/layout/bounds';\nimport {\n isBodyElement,\n isCanvasElement,\n isCustomElement,\n isElementNode,\n isHTMLElementNode,\n isIFrameElement,\n isImageElement,\n isScriptElement,\n isSelectElement,\n isSlotElement,\n isStyleElement,\n isSVGElementNode,\n isTextareaElement,\n isTextNode,\n isVideoElement\n} from './node-parser';\nimport {isIdentToken, nonFunctionArgSeparator} from '../css/syntax/parser';\nimport {TokenType} from '../css/syntax/tokenizer';\nimport {CounterState, createCounterText} from '../css/types/functions/counter';\nimport {LIST_STYLE_TYPE, listStyleType} from '../css/property-descriptors/list-style-type';\nimport {CSSParsedCounterDeclaration, CSSParsedPseudoDeclaration} from '../css/index';\nimport {getQuote} from '../css/property-descriptors/quotes';\nimport {Context} from '../core/context';\nimport {DebuggerType, isDebugging} from '../core/debugger';\n\nexport interface CloneOptions {\n ignoreElements?: (element: Element) => boolean;\n onclone?: (document: Document, element: HTMLElement) => void;\n allowTaint?: boolean;\n}\n\nexport interface WindowOptions {\n scrollX: number;\n scrollY: number;\n windowWidth: number;\n windowHeight: number;\n}\n\nexport type CloneConfigurations = CloneOptions & {\n inlineImages: boolean;\n copyStyles: boolean;\n};\n\nconst IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\n\nexport class DocumentCloner {\n private readonly scrolledElements: [Element, number, number][];\n private readonly referenceElement: HTMLElement;\n clonedReferenceElement?: HTMLElement;\n private readonly documentElement: HTMLElement;\n private readonly counters: CounterState;\n private quoteDepth: number;\n\n constructor(\n private readonly context: Context,\n element: HTMLElement,\n private readonly options: CloneConfigurations\n ) {\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false) as HTMLElement;\n }\n\n toIFrame(ownerDocument: Document, windowSize: Bounds): Promise {\n const iframe: HTMLIFrameElement = createIFrameContainer(ownerDocument, windowSize);\n\n if (!iframe.contentWindow) {\n return Promise.reject(`Unable to find iframe window`);\n }\n\n const scrollX = (ownerDocument.defaultView as Window).pageXOffset;\n const scrollY = (ownerDocument.defaultView as Window).pageYOffset;\n\n const cloneWindow = iframe.contentWindow;\n const documentClone: Document = cloneWindow.document;\n\n /* Chrome doesn't detect relative background-images assigned in inline '];\n\topts.cellXfs.forEach(function(xf, id) {\n\t\tvar payload/*:Array*/ = [];\n\t\tpayload.push(writextag('NumberFormat', null, {\"ss:Format\": escapexml(table_fmt[xf.numFmtId])}));\n\n\t\tvar o = /*::(*/{\"ss:ID\": \"s\" + (21+id)}/*:: :any)*/;\n\t\tstyles.push(writextag('Style', payload.join(\"\"), o));\n\t});\n\treturn writextag(\"Styles\", styles.join(\"\"));\n}\nfunction write_name_xlml(n) { return writextag(\"NamedRange\", null, {\"ss:Name\": n.Name, \"ss:RefersTo\":\"=\" + a1_to_rc(n.Ref, {r:0,c:0})}); }\nfunction write_names_xlml(wb/*::, opts*/)/*:string*/ {\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != null) continue;\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn writextag(\"Names\", out.join(\"\"));\n}\nfunction write_ws_xlml_names(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tif(!((wb||{}).Workbook||{}).Names) return \"\";\n\t/*:: if(!wb || !wb.Workbook || !wb.Workbook.Names) throw new Error(\"unreachable\"); */\n\tvar names/*:Array*/ = wb.Workbook.Names;\n\tvar out/*:Array*/ = [];\n\tfor(var i = 0; i < names.length; ++i) {\n\t\tvar n = names[i];\n\t\tif(n.Sheet != idx) continue;\n\t\t/*switch(n.Name) {\n\t\t\tcase \"_\": continue;\n\t\t}*/\n\t\tif(n.Name.match(/^_xlfn\\./)) continue;\n\t\tout.push(write_name_xlml(n));\n\t}\n\treturn out.join(\"\");\n}\n/* WorksheetOptions */\nfunction write_ws_xlml_wsopts(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws) return \"\";\n\tvar o/*:Array*/ = [];\n\t/* NOTE: spec technically allows any order, but stick with implied order */\n\n\t/* FitToPage */\n\t/* DoNotDisplayColHeaders */\n\t/* DoNotDisplayRowHeaders */\n\t/* ViewableRange */\n\t/* Selection */\n\t/* GridlineColor */\n\t/* Name */\n\t/* ExcelWorksheetType */\n\t/* IntlMacro */\n\t/* Unsynced */\n\t/* Selected */\n\t/* CodeName */\n\n\tif(ws['!margins']) {\n\t\to.push(\"\");\n\t\tif(ws['!margins'].header) o.push(writextag(\"Header\", null, {'x:Margin':ws['!margins'].header}));\n\t\tif(ws['!margins'].footer) o.push(writextag(\"Footer\", null, {'x:Margin':ws['!margins'].footer}));\n\t\to.push(writextag(\"PageMargins\", null, {\n\t\t\t'x:Bottom': ws['!margins'].bottom || \"0.75\",\n\t\t\t'x:Left': ws['!margins'].left || \"0.7\",\n\t\t\t'x:Right': ws['!margins'].right || \"0.7\",\n\t\t\t'x:Top': ws['!margins'].top || \"0.75\"\n\t\t}));\n\t\to.push(\"\");\n\t}\n\n\t/* PageSetup */\n\t/* DisplayPageBreak */\n\t/* TransitionExpressionEvaluation */\n\t/* TransitionFormulaEntry */\n\t/* Print */\n\t/* Zoom */\n\t/* PageLayoutZoom */\n\t/* PageBreakZoom */\n\t/* ShowPageBreakZoom */\n\t/* DefaultRowHeight */\n\t/* DefaultColumnWidth */\n\t/* StandardWidth */\n\n\tif(wb && wb.Workbook && wb.Workbook.Sheets && wb.Workbook.Sheets[idx]) {\n\t\t/* Visible */\n\t\tif(wb.Workbook.Sheets[idx].Hidden) o.push(writextag(\"Visible\", (wb.Workbook.Sheets[idx].Hidden == 1 ? \"SheetHidden\" : \"SheetVeryHidden\"), {}));\n\t\telse {\n\t\t\t/* Selected */\n\t\t\tfor(var i = 0; i < idx; ++i) if(wb.Workbook.Sheets[i] && !wb.Workbook.Sheets[i].Hidden) break;\n\t\t\tif(i == idx) o.push(\"\");\n\t\t}\n\t}\n\n\t/* LeftColumnVisible */\n\n\tif(((((wb||{}).Workbook||{}).Views||[])[0]||{}).RTL) o.push(\"\");\n\n\t/* GridlineColorIndex */\n\t/* DisplayFormulas */\n\t/* DoNotDisplayGridlines */\n\t/* DoNotDisplayHeadings */\n\t/* DoNotDisplayOutline */\n\t/* ApplyAutomaticOutlineStyles */\n\t/* NoSummaryRowsBelowDetail */\n\t/* NoSummaryColumnsRightDetail */\n\t/* DoNotDisplayZeros */\n\t/* ActiveRow */\n\t/* ActiveColumn */\n\t/* FilterOn */\n\t/* RangeSelection */\n\t/* TopRowVisible */\n\t/* TopRowBottomPane */\n\t/* LeftColumnRightPane */\n\t/* ActivePane */\n\t/* SplitHorizontal */\n\t/* SplitVertical */\n\t/* FreezePanes */\n\t/* FrozenNoSplit */\n\t/* TabColorIndex */\n\t/* Panes */\n\n\t/* NOTE: Password not supported in XLML Format */\n\tif(ws['!protect']) {\n\t\to.push(writetag(\"ProtectContents\", \"True\"));\n\t\tif(ws['!protect'].objects) o.push(writetag(\"ProtectObjects\", \"True\"));\n\t\tif(ws['!protect'].scenarios) o.push(writetag(\"ProtectScenarios\", \"True\"));\n\t\tif(ws['!protect'].selectLockedCells != null && !ws['!protect'].selectLockedCells) o.push(writetag(\"EnableSelection\", \"NoSelection\"));\n\t\telse if(ws['!protect'].selectUnlockedCells != null && !ws['!protect'].selectUnlockedCells) o.push(writetag(\"EnableSelection\", \"UnlockedCells\"));\n\t[\n\t\t[ \"formatCells\", \"AllowFormatCells\" ],\n\t\t[ \"formatColumns\", \"AllowSizeCols\" ],\n\t\t[ \"formatRows\", \"AllowSizeRows\" ],\n\t\t[ \"insertColumns\", \"AllowInsertCols\" ],\n\t\t[ \"insertRows\", \"AllowInsertRows\" ],\n\t\t[ \"insertHyperlinks\", \"AllowInsertHyperlinks\" ],\n\t\t[ \"deleteColumns\", \"AllowDeleteCols\" ],\n\t\t[ \"deleteRows\", \"AllowDeleteRows\" ],\n\t\t[ \"sort\", \"AllowSort\" ],\n\t\t[ \"autoFilter\", \"AllowFilter\" ],\n\t\t[ \"pivotTables\", \"AllowUsePivotTables\" ]\n\t].forEach(function(x) { if(ws['!protect'][x[0]]) o.push(\"<\"+x[1]+\"/>\"); });\n\t}\n\n\tif(o.length == 0) return \"\";\n\treturn writextag(\"WorksheetOptions\", o.join(\"\"), {xmlns:XLMLNS.x});\n}\nfunction write_ws_xlml_comment(comments/*:Array*/)/*:string*/ {\n\treturn comments.map(function(c) {\n\t\t// TODO: formatted text\n\t\tvar t = xlml_unfixstr(c.t||\"\");\n\t\tvar d =writextag(\"ss:Data\", t, {\"xmlns\":\"http://www.w3.org/TR/REC-html40\"});\n\t\treturn writextag(\"Comment\", d, {\"ss:Author\":c.a});\n\t}).join(\"\");\n}\nfunction write_ws_xlml_cell(cell, ref/*:string*/, ws, opts, idx/*:number*/, wb, addr)/*:string*/{\n\tif(!cell || (cell.v == undefined && cell.f == undefined)) return \"\";\n\n\tvar attr = {};\n\tif(cell.f) attr[\"ss:Formula\"] = \"=\" + escapexml(a1_to_rc(cell.f, addr));\n\tif(cell.F && cell.F.slice(0, ref.length) == ref) {\n\t\tvar end = decode_cell(cell.F.slice(ref.length + 1));\n\t\tattr[\"ss:ArrayRange\"] = \"RC:R\" + (end.r == addr.r ? \"\" : \"[\" + (end.r - addr.r) + \"]\") + \"C\" + (end.c == addr.c ? \"\" : \"[\" + (end.c - addr.c) + \"]\");\n\t}\n\n\tif(cell.l && cell.l.Target) {\n\t\tattr[\"ss:HRef\"] = escapexml(cell.l.Target);\n\t\tif(cell.l.Tooltip) attr[\"x:HRefScreenTip\"] = escapexml(cell.l.Tooltip);\n\t}\n\n\tif(ws['!merges']) {\n\t\tvar marr = ws['!merges'];\n\t\tfor(var mi = 0; mi != marr.length; ++mi) {\n\t\t\tif(marr[mi].s.c != addr.c || marr[mi].s.r != addr.r) continue;\n\t\t\tif(marr[mi].e.c > marr[mi].s.c) attr['ss:MergeAcross'] = marr[mi].e.c - marr[mi].s.c;\n\t\t\tif(marr[mi].e.r > marr[mi].s.r) attr['ss:MergeDown'] = marr[mi].e.r - marr[mi].s.r;\n\t\t}\n\t}\n\n\tvar t = \"\", p = \"\";\n\tswitch(cell.t) {\n\t\tcase 'z': if(!opts.sheetStubs) return \"\"; break;\n\t\tcase 'n': t = 'Number'; p = String(cell.v); break;\n\t\tcase 'b': t = 'Boolean'; p = (cell.v ? \"1\" : \"0\"); break;\n\t\tcase 'e': t = 'Error'; p = BErr[cell.v]; break;\n\t\tcase 'd': t = 'DateTime'; p = new Date(cell.v).toISOString(); if(cell.z == null) cell.z = cell.z || table_fmt[14]; break;\n\t\tcase 's': t = 'String'; p = escapexlml(cell.v||\"\"); break;\n\t}\n\t/* TODO: cell style */\n\tvar os = get_cell_style(opts.cellXfs, cell, opts);\n\tattr[\"ss:StyleID\"] = \"s\" + (21+os);\n\tattr[\"ss:Index\"] = addr.c + 1;\n\tvar _v = (cell.v != null ? p : \"\");\n\tvar m = cell.t == 'z' ? \"\" : ('' + _v + '');\n\n\tif((cell.c||[]).length > 0) m += write_ws_xlml_comment(cell.c);\n\n\treturn writextag(\"Cell\", m, attr);\n}\nfunction write_ws_xlml_row(R/*:number*/, row)/*:string*/ {\n\tvar o = '';\n}\n/* TODO */\nfunction write_ws_xlml_table(ws/*:Worksheet*/, opts, idx/*:number*/, wb/*:Workbook*/)/*:string*/ {\n\tif(!ws['!ref']) return \"\";\n\tvar range/*:Range*/ = safe_decode_range(ws['!ref']);\n\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\tvar o/*:Array*/ = [];\n\tif(ws['!cols']) ws['!cols'].forEach(function(n, i) {\n\t\tprocess_col(n);\n\t\tvar w = !!n.width;\n\t\tvar p = col_obj_w(i, n);\n\t\tvar k/*:any*/ = {\"ss:Index\":i+1};\n\t\tif(w) k['ss:Width'] = width2px(p.width);\n\t\tif(n.hidden) k['ss:Hidden']=\"1\";\n\t\to.push(writextag(\"Column\",null,k));\n\t});\n\tvar dense = Array.isArray(ws);\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\tvar row = [write_ws_xlml_row(R, (ws['!rows']||[])[R])];\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tvar skip = false;\n\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif(skip) continue;\n\t\t\tvar addr = {r:R,c:C};\n\t\t\tvar ref = encode_cell(addr), cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\trow.push(write_ws_xlml_cell(cell, ref, ws, opts, idx, wb, addr));\n\t\t}\n\t\trow.push(\"\");\n\t\tif(row.length > 2) o.push(row.join(\"\"));\n\t}\n\treturn o.join(\"\");\n}\nfunction write_ws_xlml(idx/*:number*/, opts, wb/*:Workbook*/)/*:string*/ {\n\tvar o/*:Array*/ = [];\n\tvar s = wb.SheetNames[idx];\n\tvar ws = wb.Sheets[s];\n\n\tvar t/*:string*/ = ws ? write_ws_xlml_names(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"\");\n\n\t/* Table */\n\tt = ws ? write_ws_xlml_table(ws, opts, idx, wb) : \"\";\n\tif(t.length > 0) o.push(\"\" + t + \"
\");\n\n\t/* WorksheetOptions */\n\to.push(write_ws_xlml_wsopts(ws, opts, idx, wb));\n\n\treturn o.join(\"\");\n}\nfunction write_xlml(wb, opts)/*:string*/ {\n\tif(!opts) opts = {};\n\tif(!wb.SSF) wb.SSF = dup(table_fmt);\n\tif(wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t\topts.cellXfs = [];\n\t\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\t}\n\tvar d/*:Array*/ = [];\n\td.push(write_props_xlml(wb, opts));\n\td.push(write_wb_xlml(wb, opts));\n\td.push(\"\");\n\td.push(\"\");\n\tfor(var i = 0; i < wb.SheetNames.length; ++i)\n\t\td.push(writextag(\"Worksheet\", write_ws_xlml(i, opts, wb), {\"ss:Name\":escapexml(wb.SheetNames[i])}));\n\td[2] = write_sty_xlml(wb, opts);\n\td[3] = write_names_xlml(wb, opts);\n\treturn XML_HEADER + writextag(\"Workbook\", d.join(\"\"), {\n\t\t'xmlns': XLMLNS.ss,\n\t\t'xmlns:o': XLMLNS.o,\n\t\t'xmlns:x': XLMLNS.x,\n\t\t'xmlns:ss': XLMLNS.ss,\n\t\t'xmlns:dt': XLMLNS.dt,\n\t\t'xmlns:html': XLMLNS.html\n\t});\n}\n/* [MS-OLEDS] 2.3.8 CompObjStream */\nfunction parse_compobj(obj/*:CFBEntry*/) {\n\tvar v = {};\n\tvar o = obj.content;\n\t/*:: if(o == null) return; */\n\n\t/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */\n\to.l = 28;\n\n\tv.AnsiUserType = o.read_shift(0, \"lpstr-ansi\");\n\tv.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);\n\n\tif(o.length - o.l <= 4) return v;\n\n\tvar m/*:number*/ = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved1 = o.read_shift(0, \"lpstr-ansi\");\n\n\tif(o.length - o.l <= 4) return v;\n\tm = o.read_shift(4);\n\tif(m !== 0x71b239f4) return v;\n\tv.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);\n\n\tm = o.read_shift(4);\n\tif(m == 0 || m > 40) return v;\n\to.l-=4; v.Reserved2 = o.read_shift(0, \"lpwstr\");\n}\n\n/*\n\tContinue logic for:\n\t- 2.4.58 Continue 0x003c\n\t- 2.4.59 ContinueBigName 0x043c\n\t- 2.4.60 ContinueFrt 0x0812\n\t- 2.4.61 ContinueFrt11 0x0875\n\t- 2.4.62 ContinueFrt12 0x087f\n*/\nvar CONTINUE_RT = [ 0x003c, 0x043c, 0x0812, 0x0875, 0x087f ];\nfunction slurp(RecordType, R, blob, length/*:number*/, opts)/*:any*/ {\n\tvar l = length;\n\tvar bufs = [];\n\tvar d = blob.slice(blob.l,blob.l+l);\n\tif(opts && opts.enc && opts.enc.insitu && d.length > 0) switch(RecordType) {\n\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809/* BOF */: case 0x002f /* FilePass */: case 0x0195 /* FileLock */: case 0x00e1 /* InterfaceHdr */: case 0x0196 /* RRDInfo */: case 0x0138 /* RRDHead */: case 0x0194 /* UsrExcl */: case 0x000a /* EOF */:\n\t\tbreak;\n\tcase 0x0085 /* BoundSheet8 */:\n\t\tbreak;\n\tdefault:\n\t\topts.enc.insitu(d);\n\t}\n\tbufs.push(d);\n\tblob.l += l;\n\tvar nextrt = __readUInt16LE(blob,blob.l), next = XLSRecordEnum[nextrt];\n\tvar start = 0;\n\twhile(next != null && CONTINUE_RT.indexOf(nextrt) > -1) {\n\t\tl = __readUInt16LE(blob,blob.l+2);\n\t\tstart = blob.l + 4;\n\t\tif(nextrt == 0x0812 /* ContinueFrt */) start += 4;\n\t\telse if(nextrt == 0x0875 || nextrt == 0x087f) {\n\t\t\tstart += 12;\n\t\t}\n\t\td = blob.slice(start,blob.l+4+l);\n\t\tbufs.push(d);\n\t\tblob.l += 4+l;\n\t\tnext = (XLSRecordEnum[nextrt = __readUInt16LE(blob, blob.l)]);\n\t}\n\tvar b = (bconcat(bufs)/*:any*/);\n\tprep_blob(b, 0);\n\tvar ll = 0; b.lens = [];\n\tfor(var j = 0; j < bufs.length; ++j) { b.lens.push(ll); ll += bufs[j].length; }\n\tif(b.length < length) throw \"XLS Record 0x\" + RecordType.toString(16) + \" Truncated: \" + b.length + \" < \" + length;\n\treturn R.f(b, b.length, opts);\n}\n\nfunction safe_format_xf(p/*:any*/, opts/*:ParseOpts*/, date1904/*:?boolean*/) {\n\tif(p.t === 'z') return;\n\tif(!p.XF) return;\n\tvar fmtid = 0;\n\ttry {\n\t\tfmtid = p.z || p.XF.numFmtId || 0;\n\t\tif(opts.cellNF) p.z = table_fmt[fmtid];\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(!opts || opts.cellText !== false) try {\n\t\tif(p.t === 'e') { p.w = p.w || BErr[p.v]; }\n\t\telse if(fmtid === 0 || fmtid == \"General\") {\n\t\t\tif(p.t === 'n') {\n\t\t\t\tif((p.v|0) === p.v) p.w = p.v.toString(10);\n\t\t\t\telse p.w = SSF_general_num(p.v);\n\t\t\t}\n\t\t\telse p.w = SSF_general(p.v);\n\t\t}\n\t\telse p.w = SSF_format(fmtid,p.v, {date1904:!!date1904, dateNF: opts && opts.dateNF});\n\t} catch(e) { if(opts.WTF) throw e; }\n\tif(opts.cellDates && fmtid && p.t == 'n' && fmt_is_date(table_fmt[fmtid] || String(fmtid))) {\n\t\tvar _d = SSF_parse_date_code(p.v); if(_d) { p.t = 'd'; p.v = new Date(_d.y, _d.m-1,_d.d,_d.H,_d.M,_d.S,_d.u); }\n\t}\n}\n\nfunction make_cell(val, ixfe, t)/*:Cell*/ {\n\treturn ({v:val, ixfe:ixfe, t:t}/*:any*/);\n}\n\n// 2.3.2\nfunction parse_workbook(blob, options/*:ParseOpts*/)/*:Workbook*/ {\n\tvar wb = ({opts:{}}/*:any*/);\n\tvar Sheets = {};\n\tif(DENSE != null && options.dense == null) options.dense = DENSE;\n\tvar out/*:Worksheet*/ = ((options.dense ? [] : {})/*:any*/);\n\tvar Directory = {};\n\tvar range/*:Range*/ = ({}/*:any*/);\n\tvar last_formula = null;\n\tvar sst/*:SST*/ = ([]/*:any*/);\n\tvar cur_sheet = \"\";\n\tvar Preamble = {};\n\tvar lastcell, last_cell = \"\", cc/*:Cell*/, cmnt, rngC, rngR;\n\tvar sharedf = {};\n\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\tvar temp_val/*:Cell*/;\n\tvar country;\n\tvar XFs = []; /* XF records */\n\tvar palette/*:Array<[number, number, number]>*/ = [];\n\tvar Workbook/*:WBWBProps*/ = ({ Sheets:[], WBProps:{date1904:false}, Views:[{}] }/*:any*/), wsprops = {};\n\tvar get_rgb = function getrgb(icv/*:number*/)/*:[number, number, number]*/ {\n\t\tif(icv < 8) return XLSIcv[icv];\n\t\tif(icv < 64) return palette[icv-8] || XLSIcv[icv];\n\t\treturn XLSIcv[icv];\n\t};\n\tvar process_cell_style = function pcs(cell, line/*:any*/, options) {\n\t\tvar xfd = line.XF.data;\n\t\tif(!xfd || !xfd.patternType || !options || !options.cellStyles) return;\n\t\tline.s = ({}/*:any*/);\n\t\tline.s.patternType = xfd.patternType;\n\t\tvar t;\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvFore)))) { line.s.fgColor = {rgb:t}; }\n\t\tif((t = rgb2Hex(get_rgb(xfd.icvBack)))) { line.s.bgColor = {rgb:t}; }\n\t};\n\tvar addcell = function addcell(cell/*:any*/, line/*:any*/, options/*:any*/) {\n\t\tif(file_depth > 1) return;\n\t\tif(options.sheetRows && cell.r >= options.sheetRows) return;\n\t\tif(options.cellStyles && line.XF && line.XF.data) process_cell_style(cell, line, options);\n\t\tdelete line.ixfe; delete line.XF;\n\t\tlastcell = cell;\n\t\tlast_cell = encode_cell(cell);\n\t\tif(!range || !range.s || !range.e) range = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\tif(cell.r < range.s.r) range.s.r = cell.r;\n\t\tif(cell.c < range.s.c) range.s.c = cell.c;\n\t\tif(cell.r + 1 > range.e.r) range.e.r = cell.r + 1;\n\t\tif(cell.c + 1 > range.e.c) range.e.c = cell.c + 1;\n\t\tif(options.cellFormula && line.f) {\n\t\t\tfor(var afi = 0; afi < arrayf.length; ++afi) {\n\t\t\t\tif(arrayf[afi][0].s.c > cell.c || arrayf[afi][0].s.r > cell.r) continue;\n\t\t\t\tif(arrayf[afi][0].e.c < cell.c || arrayf[afi][0].e.r < cell.r) continue;\n\t\t\t\tline.F = encode_range(arrayf[afi][0]);\n\t\t\t\tif(arrayf[afi][0].s.c != cell.c || arrayf[afi][0].s.r != cell.r) delete line.f;\n\t\t\t\tif(line.f) line.f = \"\" + stringify_formula(arrayf[afi][1], range, cell, supbooks, opts);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t{\n\t\t\tif(options.dense) {\n\t\t\t\tif(!out[cell.r]) out[cell.r] = [];\n\t\t\t\tout[cell.r][cell.c] = line;\n\t\t\t} else out[last_cell] = line;\n\t\t}\n\t};\n\tvar opts = ({\n\t\tenc: false, // encrypted\n\t\tsbcch: 0, // cch in the preceding SupBook\n\t\tsnames: [], // sheetnames\n\t\tsharedf: sharedf, // shared formulae by address\n\t\tarrayf: arrayf, // array formulae array\n\t\trrtabid: [], // RRTabId\n\t\tlastuser: \"\", // Last User from WriteAccess\n\t\tbiff: 8, // BIFF version\n\t\tcodepage: 0, // CP from CodePage record\n\t\twinlocked: 0, // fLockWn from WinProtect\n\t\tcellStyles: !!options && !!options.cellStyles,\n\t\tWTF: !!options && !!options.wtf\n\t}/*:any*/);\n\tif(options.password) opts.password = options.password;\n\tvar themes;\n\tvar merges/*:Array*/ = [];\n\tvar objects = [];\n\tvar colinfo/*:Array*/ = [], rowinfo/*:Array*/ = [];\n\tvar seencol = false;\n\tvar supbooks = ([]/*:any*/); // 1-indexed, will hold extern names\n\tsupbooks.SheetNames = opts.snames;\n\tsupbooks.sharedf = opts.sharedf;\n\tsupbooks.arrayf = opts.arrayf;\n\tsupbooks.names = [];\n\tsupbooks.XTI = [];\n\tvar last_RT = 0;\n\tvar file_depth = 0; /* TODO: make a real stack */\n\tvar BIFF2Fmt = 0, BIFF2FmtTable/*:Array*/ = [];\n\tvar FilterDatabases = []; /* TODO: sort out supbooks and process elsewhere */\n\tvar last_lbl/*:?DefinedName*/;\n\n\t/* explicit override for some broken writers */\n\topts.codepage = 1200;\n\tset_cp(1200);\n\tvar seen_codepage = false;\n\twhile(blob.l < blob.length - 1) {\n\t\tvar s = blob.l;\n\t\tvar RecordType = blob.read_shift(2);\n\t\tif(RecordType === 0 && last_RT === 0x000a /* EOF */) break;\n\t\tvar length = (blob.l === blob.length ? 0 : blob.read_shift(2));\n\t\tvar R = XLSRecordEnum[RecordType];\n\t\t//console.log(RecordType.toString(16), RecordType, R, blob.l, length, blob.length);\n\t\t//if(!R) console.log(blob.slice(blob.l, blob.l + length));\n\t\tif(R && R.f) {\n\t\t\tif(options.bookSheets) {\n\t\t\t\tif(last_RT === 0x0085 /* BoundSheet8 */ && RecordType !== 0x0085 /* R.n !== 'BoundSheet8' */) break;\n\t\t\t}\n\t\t\tlast_RT = RecordType;\n\t\t\tif(R.r === 2 || R.r == 12) {\n\t\t\t\tvar rt = blob.read_shift(2); length -= 2;\n\t\t\t\tif(!opts.enc && rt !== RecordType && (((rt&0xFF)<<8)|(rt>>8)) !== RecordType) throw new Error(\"rt mismatch: \" + rt + \"!=\" + RecordType);\n\t\t\t\tif(R.r == 12){\n\t\t\t\t\tblob.l += 10; length -= 10;\n\t\t\t\t} // skip FRT\n\t\t\t}\n\t\t\t//console.error(R,blob.l,length,blob.length);\n\t\t\tvar val/*:any*/ = ({}/*:any*/);\n\t\t\tif(RecordType === 0x000a /* EOF */) val = /*::(*/R.f(blob, length, opts)/*:: :any)*/;\n\t\t\telse val = /*::(*/slurp(RecordType, R, blob, length, opts)/*:: :any)*/;\n\t\t\t/*:: val = (val:any); */\n\t\t\tif(file_depth == 0 && [0x0009, 0x0209, 0x0409, 0x0809].indexOf(last_RT) === -1 /* 'BOF' */) continue;\n\t\t\tswitch(RecordType) {\n\t\t\t\tcase 0x0022 /* Date1904 */:\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\twb.opts.Date1904 = Workbook.WBProps.date1904 = val; break;\n\t\t\t\tcase 0x0086 /* WriteProtect */: wb.opts.WriteProtect = true; break;\n\t\t\t\tcase 0x002f /* FilePass */:\n\t\t\t\t\tif(!opts.enc) blob.l = 0;\n\t\t\t\t\topts.enc = val;\n\t\t\t\t\tif(!options.password) throw new Error(\"File is password-protected\");\n\t\t\t\t\tif(val.valid == null) throw new Error(\"Encryption scheme unsupported\");\n\t\t\t\t\tif(!val.valid) throw new Error(\"Password is incorrect\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x005c /* WriteAccess */: opts.lastuser = val; break;\n\t\t\t\tcase 0x0042 /* CodePage */:\n\t\t\t\t\tvar cpval = Number(val);\n\t\t\t\t\t/* overrides based on test cases */\n\t\t\t\t\tswitch(cpval) {\n\t\t\t\t\t\tcase 0x5212: cpval = 1200; break;\n\t\t\t\t\t\tcase 0x8000: cpval = 10000; break;\n\t\t\t\t\t\tcase 0x8001: cpval = 1252; break;\n\t\t\t\t\t}\n\t\t\t\t\tset_cp(opts.codepage = cpval);\n\t\t\t\t\tseen_codepage = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x013d /* RRTabId */: opts.rrtabid = val; break;\n\t\t\t\tcase 0x0019 /* WinProtect */: opts.winlocked = val; break;\n\t\t\t\tcase 0x01b7 /* RefreshAll */: wb.opts[\"RefreshAll\"] = val; break;\n\t\t\t\tcase 0x000c /* CalcCount */: wb.opts[\"CalcCount\"] = val; break;\n\t\t\t\tcase 0x0010 /* CalcDelta */: wb.opts[\"CalcDelta\"] = val; break;\n\t\t\t\tcase 0x0011 /* CalcIter */: wb.opts[\"CalcIter\"] = val; break;\n\t\t\t\tcase 0x000d /* CalcMode */: wb.opts[\"CalcMode\"] = val; break;\n\t\t\t\tcase 0x000e /* CalcPrecision */: wb.opts[\"CalcPrecision\"] = val; break;\n\t\t\t\tcase 0x005f /* CalcSaveRecalc */: wb.opts[\"CalcSaveRecalc\"] = val; break;\n\t\t\t\tcase 0x000f /* CalcRefMode */: opts.CalcRefMode = val; break; // TODO: implement R1C1\n\t\t\t\tcase 0x08a3 /* ForceFullCalculation */: wb.opts.FullCalc = val; break;\n\t\t\t\tcase 0x0081 /* WsBool */:\n\t\t\t\t\tif(val.fDialog) out[\"!type\"] = \"dialog\";\n\t\t\t\t\tif(!val.fBelow) (out[\"!outline\"] || (out[\"!outline\"] = {})).above = true;\n\t\t\t\t\tif(!val.fRight) (out[\"!outline\"] || (out[\"!outline\"] = {})).left = true;\n\t\t\t\t\tbreak; // TODO\n\t\t\t\tcase 0x00e0 /* XF */:\n\t\t\t\t\tXFs.push(val); break;\n\t\t\t\tcase 0x01ae /* SupBook */:\n\t\t\t\t\tsupbooks.push([val]);\n\t\t\t\t\tsupbooks[supbooks.length-1].XTI = [];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0023: case 0x0223 /* ExternName */:\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0018: case 0x0218 /* Lbl */:\n\t\t\t\t\tlast_lbl = ({\n\t\t\t\t\t\tName: val.Name,\n\t\t\t\t\t\tRef: stringify_formula(val.rgce,range,null,supbooks,opts)\n\t\t\t\t\t}/*:DefinedName*/);\n\t\t\t\t\tif(val.itab > 0) last_lbl.Sheet = val.itab - 1;\n\t\t\t\t\tsupbooks.names.push(last_lbl);\n\t\t\t\t\tif(!supbooks[0]) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length-1].push(val);\n\t\t\t\t\tif(val.Name == \"_xlnm._FilterDatabase\" && val.itab > 0)\n\t\t\t\t\t\tif(val.rgce && val.rgce[0] && val.rgce[0][0] && val.rgce[0][0][0] == 'PtgArea3d')\n\t\t\t\t\t\t\tFilterDatabases[val.itab - 1] = { ref: encode_range(val.rgce[0][0][1][2]) };\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0016 /* ExternCount */: opts.ExternCount = val; break;\n\t\t\t\tcase 0x0017 /* ExternSheet */:\n\t\t\t\t\tif(supbooks.length == 0) { supbooks[0] = []; supbooks[0].XTI = []; }\n\t\t\t\t\tsupbooks[supbooks.length - 1].XTI = supbooks[supbooks.length - 1].XTI.concat(val); supbooks.XTI = supbooks.XTI.concat(val); break;\n\t\t\t\tcase 0x0894 /* NameCmt */:\n\t\t\t\t\t/* TODO: search for correct name */\n\t\t\t\t\tif(opts.biff < 8) break;\n\t\t\t\t\tif(last_lbl != null) last_lbl.Comment = val[1];\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0012 /* Protect */: out[\"!protect\"] = val; break; /* for sheet or book */\n\t\t\t\tcase 0x0013 /* Password */: if(val !== 0 && opts.WTF) console.error(\"Password verifier: \" + val); break;\n\t\t\t\tcase 0x0085 /* BoundSheet8 */: {\n\t\t\t\t\tDirectory[val.pos] = val;\n\t\t\t\t\topts.snames.push(val.name);\n\t\t\t\t} break;\n\t\t\t\tcase 0x000a /* EOF */: {\n\t\t\t\t\tif(--file_depth) break;\n\t\t\t\t\tif(range.e) {\n\t\t\t\t\t\tif(range.e.r > 0 && range.e.c > 0) {\n\t\t\t\t\t\t\trange.e.r--; range.e.c--;\n\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\tif(options.sheetRows && options.sheetRows <= range.e.r) {\n\t\t\t\t\t\t\t\tvar tmpri = range.e.r;\n\t\t\t\t\t\t\t\trange.e.r = options.sheetRows - 1;\n\t\t\t\t\t\t\t\tout[\"!fullref\"] = out[\"!ref\"];\n\t\t\t\t\t\t\t\tout[\"!ref\"] = encode_range(range);\n\t\t\t\t\t\t\t\trange.e.r = tmpri;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trange.e.r++; range.e.c++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(merges.length > 0) out[\"!merges\"] = merges;\n\t\t\t\t\t\tif(objects.length > 0) out[\"!objects\"] = objects;\n\t\t\t\t\t\tif(colinfo.length > 0) out[\"!cols\"] = colinfo;\n\t\t\t\t\t\tif(rowinfo.length > 0) out[\"!rows\"] = rowinfo;\n\t\t\t\t\t\tWorkbook.Sheets.push(wsprops);\n\t\t\t\t\t}\n\t\t\t\t\tif(cur_sheet === \"\") Preamble = out; else Sheets[cur_sheet] = out;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0009: case 0x0209: case 0x0409: case 0x0809 /* BOF */: {\n\t\t\t\t\tif(opts.biff === 8) opts.biff = {\n\t\t\t\t\t\t/*::[*/0x0009/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0209/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0409/*::]*/:4\n\t\t\t\t\t}[RecordType] || {\n\t\t\t\t\t\t/*::[*/0x0200/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0300/*::]*/:3,\n\t\t\t\t\t\t/*::[*/0x0400/*::]*/:4,\n\t\t\t\t\t\t/*::[*/0x0500/*::]*/:5,\n\t\t\t\t\t\t/*::[*/0x0600/*::]*/:8,\n\t\t\t\t\t\t/*::[*/0x0002/*::]*/:2,\n\t\t\t\t\t\t/*::[*/0x0007/*::]*/:2\n\t\t\t\t\t}[val.BIFFVer] || 8;\n\t\t\t\t\topts.biffguess = val.BIFFVer == 0;\n\t\t\t\t\tif(val.BIFFVer == 0 && val.dt == 0x1000) { opts.biff = 5; seen_codepage = true; set_cp(opts.codepage = 28591); }\n\t\t\t\t\tif(opts.biff == 8 && val.BIFFVer == 0 && val.dt == 16) opts.biff = 2;\n\t\t\t\t\tif(file_depth++) break;\n\t\t\t\t\tout = ((options.dense ? [] : {})/*:any*/);\n\n\t\t\t\t\tif(opts.biff < 8 && !seen_codepage) { seen_codepage = true; set_cp(opts.codepage = options.codepage || 1252); }\n\n\t\t\t\t\tif(opts.biff < 5 || val.BIFFVer == 0 && val.dt == 0x1000) {\n\t\t\t\t\t\tif(cur_sheet === \"\") cur_sheet = \"Sheet1\";\n\t\t\t\t\t\trange = {s:{r:0,c:0},e:{r:0,c:0}};\n\t\t\t\t\t\t/* fake BoundSheet8 */\n\t\t\t\t\t\tvar fakebs8 = {pos: blob.l - length, name:cur_sheet};\n\t\t\t\t\t\tDirectory[fakebs8.pos] = fakebs8;\n\t\t\t\t\t\topts.snames.push(cur_sheet);\n\t\t\t\t\t}\n\t\t\t\t\telse cur_sheet = (Directory[s] || {name:\"\"}).name;\n\t\t\t\t\tif(val.dt == 0x20) out[\"!type\"] = \"chart\";\n\t\t\t\t\tif(val.dt == 0x40) out[\"!type\"] = \"macro\";\n\t\t\t\t\tmerges = [];\n\t\t\t\t\tobjects = [];\n\t\t\t\t\topts.arrayf = arrayf = [];\n\t\t\t\t\tcolinfo = []; rowinfo = [];\n\t\t\t\t\tseencol = false;\n\t\t\t\t\twsprops = {Hidden:(Directory[s]||{hs:0}).hs, name:cur_sheet };\n\t\t\t\t} break;\n\t\t\t\tcase 0x0203 /* Number */: case 0x0003 /* BIFF2NUM */: case 0x0002 /* BIFF2INT */: {\n\t\t\t\t\tif(out[\"!type\"] == \"chart\") if(options.dense ? (out[val.r]||[])[val.c]: out[encode_cell({c:val.c, r:val.r})]) ++val.c;\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe]||{}, v:val.val, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x0005: case 0x0205 /* BoolErr */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.val, t:val.t}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x027e /* RK */: {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], v:val.rknum, t:'n'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00bd /* MulRk */: {\n\t\t\t\t\tfor(var j = val.c; j <= val.C; ++j) {\n\t\t\t\t\t\tvar ixfe = val.rkrec[j-val.c][0];\n\t\t\t\t\t\ttemp_val= ({ixfe:ixfe, XF:XFs[ixfe], v:val.rkrec[j-val.c][1], t:'n'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0006: case 0x0206: case 0x0406 /* Formula */: {\n\t\t\t\t\tif(val.val == 'String') { last_formula = val; break; }\n\t\t\t\t\ttemp_val = make_cell(val.val, val.cell.ixfe, val.tt);\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\tvar _f = val.formula;\n\t\t\t\t\t\tif(_f && _f[0] && _f[0][0] && _f[0][0][0] == 'PtgExp') {\n\t\t\t\t\t\t\tvar _fr = _f[0][0][1][0], _fc = _f[0][0][1][1];\n\t\t\t\t\t\t\tvar _fe = encode_cell({r:_fr, c:_fc});\n\t\t\t\t\t\t\tif(sharedf[_fe]) temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t\t\telse temp_val.F = ((options.dense ? (out[_fr]||[])[_fc]: out[_fe]) || {}).F;\n\t\t\t\t\t\t} else temp_val.f = \"\"+stringify_formula(val.formula,range,val.cell,supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell(val.cell, temp_val, options);\n\t\t\t\t\tlast_formula = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x0007: case 0x0207 /* String */: {\n\t\t\t\t\tif(last_formula) { /* technically always true */\n\t\t\t\t\t\tlast_formula.val = val;\n\t\t\t\t\t\ttemp_val = make_cell(val, last_formula.cell.ixfe, 's');\n\t\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\t\tif(options.cellFormula) {\n\t\t\t\t\t\t\ttemp_val.f = \"\"+stringify_formula(last_formula.formula, range, last_formula.cell, supbooks, opts);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell(last_formula.cell, temp_val, options);\n\t\t\t\t\t\tlast_formula = null;\n\t\t\t\t\t} else throw new Error(\"String record expects Formula\");\n\t\t\t\t} break;\n\t\t\t\tcase 0x0021: case 0x0221 /* Array */: {\n\t\t\t\t\tarrayf.push(val);\n\t\t\t\t\tvar _arraystart = encode_cell(val[0].s);\n\t\t\t\t\tcc = options.dense ? (out[val[0].s.r]||[])[val[0].s.c] : out[_arraystart];\n\t\t\t\t\tif(options.cellFormula && cc) {\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tif(!_arraystart || !cc) break;\n\t\t\t\t\t\tcc.f = \"\"+stringify_formula(val[1], range, val[0], supbooks, opts);\n\t\t\t\t\t\tcc.F = encode_range(val[0]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x04bc /* ShrFmla */: {\n\t\t\t\t\tif(!options.cellFormula) break;\n\t\t\t\t\tif(last_cell) {\n\t\t\t\t\t\t/* TODO: capture range */\n\t\t\t\t\t\tif(!last_formula) break; /* technically unreachable */\n\t\t\t\t\t\tsharedf[encode_cell(last_formula.cell)]= val[0];\n\t\t\t\t\t\tcc = options.dense ? (out[last_formula.cell.r]||[])[last_formula.cell.c] : out[encode_cell(last_formula.cell)];\n\t\t\t\t\t\t(cc||{}).f = \"\"+stringify_formula(val[0], range, lastcell, supbooks, opts);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fd /* LabelSst */:\n\t\t\t\t\ttemp_val=make_cell(sst[val.isst].t, val.ixfe, 's');\n\t\t\t\t\tif(sst[val.isst].h) temp_val.h = sst[val.isst].h;\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0201 /* Blank */: if(options.sheetStubs) {\n\t\t\t\t\ttemp_val = ({ixfe: val.ixfe, XF: XFs[val.ixfe], t:'z'}/*:any*/);\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t} break;\n\t\t\t\tcase 0x00be /* MulBlank */: if(options.sheetStubs) {\n\t\t\t\t\tfor(var _j = val.c; _j <= val.C; ++_j) {\n\t\t\t\t\t\tvar _ixfe = val.ixfe[_j-val.c];\n\t\t\t\t\t\ttemp_val= ({ixfe:_ixfe, XF:XFs[_ixfe], t:'z'}/*:any*/);\n\t\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\t\taddcell({c:_j, r:val.r}, temp_val, options);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x00d6 /* RString */:\n\t\t\t\tcase 0x0204 /* Label */: case 0x0004 /* BIFF2STR */:\n\t\t\t\t\ttemp_val=make_cell(val.val, val.ixfe, 's');\n\t\t\t\t\ttemp_val.XF = XFs[temp_val.ixfe];\n\t\t\t\t\tif(BIFF2Fmt > 0) temp_val.z = BIFF2FmtTable[(temp_val.ixfe>>8) & 0x3F];\n\t\t\t\t\tsafe_format_xf(temp_val, options, wb.opts.Date1904);\n\t\t\t\t\taddcell({c:val.c, r:val.r}, temp_val, options);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 0x0000: case 0x0200 /* Dimensions */: {\n\t\t\t\t\tif(file_depth === 1) range = val; /* TODO: stack */\n\t\t\t\t} break;\n\t\t\t\tcase 0x00fc /* SST */: {\n\t\t\t\t\tsst = val;\n\t\t\t\t} break;\n\t\t\t\tcase 0x041e /* Format */: { /* val = [id, fmt] */\n\t\t\t\t\tif(opts.biff == 4) {\n\t\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val[1];\n\t\t\t\t\t\tfor(var b4idx = 0; b4idx < BIFF2Fmt + 163; ++b4idx) if(table_fmt[b4idx] == val[1]) break;\n\t\t\t\t\t\tif(b4idx >= 163) SSF_load(val[1], BIFF2Fmt + 163);\n\t\t\t\t\t}\n\t\t\t\t\telse SSF_load(val[1], val[0]);\n\t\t\t\t} break;\n\t\t\t\tcase 0x001e /* BIFF2FORMAT */: {\n\t\t\t\t\tBIFF2FmtTable[BIFF2Fmt++] = val;\n\t\t\t\t\tfor(var b2idx = 0; b2idx < BIFF2Fmt + 163; ++b2idx) if(table_fmt[b2idx] == val) break;\n\t\t\t\t\tif(b2idx >= 163) SSF_load(val, BIFF2Fmt + 163);\n\t\t\t\t} break;\n\n\t\t\t\tcase 0x00e5 /* MergeCells */: merges = merges.concat(val); break;\n\n\t\t\t\tcase 0x005d /* Obj */: objects[val.cmo[0]] = opts.lastobj = val; break;\n\t\t\t\tcase 0x01b6 /* TxO */: opts.lastobj.TxO = val; break;\n\t\t\t\tcase 0x007f /* ImData */: opts.lastobj.ImData = val; break;\n\n\t\t\t\tcase 0x01b8 /* HLink */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc) cc.l = val[1];\n\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0800 /* HLinkTooltip */: {\n\t\t\t\t\tfor(rngR = val[0].s.r; rngR <= val[0].e.r; ++rngR)\n\t\t\t\t\t\tfor(rngC = val[0].s.c; rngC <= val[0].e.c; ++rngC) {\n\t\t\t\t\t\t\tcc = options.dense ? (out[rngR]||[])[rngC] : out[encode_cell({c:rngC,r:rngR})];\n\t\t\t\t\t\t\tif(cc && cc.l) cc.l.Tooltip = val[1];\n\t\t\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x001c /* Note */: {\n\t\t\t\t\tif(opts.biff <= 5 && opts.biff >= 2) break; /* TODO: BIFF5 */\n\t\t\t\t\tcc = options.dense ? (out[val[0].r]||[])[val[0].c] : out[encode_cell(val[0])];\n\t\t\t\t\tvar noteobj = objects[val[2]];\n\t\t\t\t\tif(!cc) {\n\t\t\t\t\t\tif(options.dense) {\n\t\t\t\t\t\t\tif(!out[val[0].r]) out[val[0].r] = [];\n\t\t\t\t\t\t\tcc = out[val[0].r][val[0].c] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcc = out[encode_cell(val[0])] = ({t:\"z\"}/*:any*/);\n\t\t\t\t\t\t}\n\t\t\t\t\t\trange.e.r = Math.max(range.e.r, val[0].r);\n\t\t\t\t\t\trange.s.r = Math.min(range.s.r, val[0].r);\n\t\t\t\t\t\trange.e.c = Math.max(range.e.c, val[0].c);\n\t\t\t\t\t\trange.s.c = Math.min(range.s.c, val[0].c);\n\t\t\t\t\t}\n\t\t\t\t\tif(!cc.c) cc.c = [];\n\t\t\t\t\tcmnt = {a:val[1],t:noteobj.TxO.t};\n\t\t\t\t\tcc.c.push(cmnt);\n\t\t\t\t} break;\n\t\t\t\tcase 0x087d /* XFExt */: update_xfext(XFs[val.ixfe], val.ext); break;\n\t\t\t\tcase 0x007d /* ColInfo */: {\n\t\t\t\t\tif(!opts.cellStyles) break;\n\t\t\t\t\twhile(val.e >= val.s) {\n\t\t\t\t\t\tcolinfo[val.e--] = { width: val.w/256, level: (val.level || 0), hidden: !!(val.flags & 1) };\n\t\t\t\t\t\tif(!seencol) { seencol = true; find_mdw_colw(val.w/256); }\n\t\t\t\t\t\tprocess_col(colinfo[val.e+1]);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0208 /* Row */: {\n\t\t\t\t\tvar rowobj = {};\n\t\t\t\t\tif(val.level != null) { rowinfo[val.r] = rowobj; rowobj.level = val.level; }\n\t\t\t\t\tif(val.hidden) { rowinfo[val.r] = rowobj; rowobj.hidden = true; }\n\t\t\t\t\tif(val.hpt) {\n\t\t\t\t\t\trowinfo[val.r] = rowobj;\n\t\t\t\t\t\trowobj.hpt = val.hpt; rowobj.hpx = pt2px(val.hpt);\n\t\t\t\t\t}\n\t\t\t\t} break;\n\t\t\t\tcase 0x0026 /* LeftMargin */:\n\t\t\t\tcase 0x0027 /* RightMargin */:\n\t\t\t\tcase 0x0028 /* TopMargin */:\n\t\t\t\tcase 0x0029 /* BottomMargin */:\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'][({0x26: \"left\", 0x27:\"right\", 0x28:\"top\", 0x29:\"bottom\"})[RecordType]] = val;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x00a1 /* Setup */: // TODO\n\t\t\t\t\tif(!out['!margins']) default_margins(out['!margins'] = {});\n\t\t\t\t\tout['!margins'].header = val.header;\n\t\t\t\t\tout['!margins'].footer = val.footer;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x023e /* Window2 */: // TODO\n\t\t\t\t\t// $FlowIgnore\n\t\t\t\t\tif(val.RTL) Workbook.Views[0].RTL = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 0x0092 /* Palette */: palette = val; break;\n\t\t\t\tcase 0x0896 /* Theme */: themes = val; break;\n\t\t\t\tcase 0x008c /* Country */: country = val; break;\n\t\t\t\tcase 0x01ba /* CodeName */: {\n\t\t\t\t\t/*:: if(!Workbook.WBProps) Workbook.WBProps = {}; */\n\t\t\t\t\tif(!cur_sheet) Workbook.WBProps.CodeName = val || \"ThisWorkbook\";\n\t\t\t\t\telse wsprops.CodeName = val || wsprops.name;\n\t\t\t\t} break;\n\t\t\t}\n\t\t} else {\n\t\t\tif(!R) console.error(\"Missing Info for XLS Record 0x\" + RecordType.toString(16));\n\t\t\tblob.l += length;\n\t\t}\n\t}\n\twb.SheetNames=keys(Directory).sort(function(a,b) { return Number(a) - Number(b); }).map(function(x){return Directory[x].name;});\n\tif(!options.bookSheets) wb.Sheets=Sheets;\n\tif(!wb.SheetNames.length && Preamble[\"!ref\"]) {\n\t\twb.SheetNames.push(\"Sheet1\");\n\t\t/*jshint -W069 */\n\t\tif(wb.Sheets) wb.Sheets[\"Sheet1\"] = Preamble;\n\t\t/*jshint +W069 */\n\t} else wb.Preamble=Preamble;\n\tif(wb.Sheets) FilterDatabases.forEach(function(r,i) { wb.Sheets[wb.SheetNames[i]]['!autofilter'] = r; });\n\twb.Strings = sst;\n\twb.SSF = dup(table_fmt);\n\tif(opts.enc) wb.Encryption = opts.enc;\n\tif(themes) wb.Themes = themes;\n\twb.Metadata = {};\n\tif(country !== undefined) wb.Metadata.Country = country;\n\tif(supbooks.names.length > 0) Workbook.Names = supbooks.names;\n\twb.Workbook = Workbook;\n\treturn wb;\n}\n\n/* TODO: split props*/\nvar PSCLSID = {\n\tSI: \"e0859ff2f94f6810ab9108002b27b3d9\",\n\tDSI: \"02d5cdd59c2e1b10939708002b2cf9ae\",\n\tUDI: \"05d5cdd59c2e1b10939708002b2cf9ae\"\n};\nfunction parse_xls_props(cfb/*:CFBContainer*/, props, o) {\n\t/* [MS-OSHARED] 2.3.3.2.2 Document Summary Information Property Set */\n\tvar DSI = CFB.find(cfb, '/!DocumentSummaryInformation');\n\tif(DSI && DSI.size > 0) try {\n\t\tvar DocSummary = parse_PropertySetStream(DSI, DocSummaryPIDDSI, PSCLSID.DSI);\n\t\tfor(var d in DocSummary) props[d] = DocSummary[d];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\t/* [MS-OSHARED] 2.3.3.2.1 Summary Information Property Set*/\n\tvar SI = CFB.find(cfb, '/!SummaryInformation');\n\tif(SI && SI.size > 0) try {\n\t\tvar Summary = parse_PropertySetStream(SI, SummaryPIDSI, PSCLSID.SI);\n\t\tfor(var s in Summary) if(props[s] == null) props[s] = Summary[s];\n\t} catch(e) {if(o.WTF) throw e;/* empty */}\n\n\tif(props.HeadingPairs && props.TitlesOfParts) {\n\t\tload_props_pairs(props.HeadingPairs, props.TitlesOfParts, props, o);\n\t\tdelete props.HeadingPairs; delete props.TitlesOfParts;\n\t}\n}\nfunction write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) {\n\tvar DSEntries = [], SEntries = [], CEntries = [];\n\tvar i = 0, Keys;\n\tvar DocSummaryRE/*:{[key:string]:string}*/ = evert_key(DocSummaryPIDDSI, \"n\");\n\tvar SummaryRE/*:{[key:string]:string}*/ = evert_key(SummaryPIDSI, \"n\");\n\tif(wb.Props) {\n\t\tKeys = keys(wb.Props);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Props[Keys[i]]]);\n\t}\n\tif(wb.Custprops) {\n\t\tKeys = keys(wb.Custprops);\n\t\t// $FlowIgnore\n\t\tfor(i = 0; i < Keys.length; ++i) if(!Object.prototype.hasOwnProperty.call((wb.Props||{}), Keys[i])) (Object.prototype.hasOwnProperty.call(DocSummaryRE, Keys[i]) ? DSEntries : Object.prototype.hasOwnProperty.call(SummaryRE, Keys[i]) ? SEntries : CEntries).push([Keys[i], wb.Custprops[Keys[i]]]);\n\t}\n\tvar CEntries2 = [];\n\tfor(i = 0; i < CEntries.length; ++i) {\n\t\tif(XLSPSSkip.indexOf(CEntries[i][0]) > -1 || PseudoPropsPairs.indexOf(CEntries[i][0]) > -1) continue;\n\t\tif(CEntries[i][1] == null) continue;\n\t\tCEntries2.push(CEntries[i]);\n\t}\n\tif(SEntries.length) CFB.utils.cfb_add(cfb, \"/\\u0005SummaryInformation\", write_PropertySetStream(SEntries, PSCLSID.SI, SummaryRE, SummaryPIDSI));\n\tif(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, \"/\\u0005DocumentSummaryInformation\", write_PropertySetStream(DSEntries, PSCLSID.DSI, DocSummaryRE, DocSummaryPIDDSI, CEntries2.length ? CEntries2 : null, PSCLSID.UDI));\n}\n\nfunction parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ {\nif(!options) options = {};\nfix_read_opts(options);\nreset_cp();\nif(options.codepage) set_ansi(options.codepage);\nvar CompObj/*:?CFBEntry*/, WB/*:?any*/;\nif(cfb.FullPaths) {\n\tif(CFB.find(cfb, '/encryption')) throw new Error(\"File is password-protected\");\n\tCompObj = CFB.find(cfb, '!CompObj');\n\tWB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');\n} else {\n\tswitch(options.type) {\n\t\tcase 'base64': cfb = s2a(Base64_decode(cfb)); break;\n\t\tcase 'binary': cfb = s2a(cfb); break;\n\t\tcase 'buffer': break;\n\t\tcase 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;\n\t}\n\tprep_blob(cfb, 0);\n\tWB = ({content: cfb}/*:any*/);\n}\nvar /*::CompObjP, */WorkbookP/*:: :Workbook = XLSX.utils.book_new(); */;\n\nvar _data/*:?any*/;\nif(CompObj) /*::CompObjP = */parse_compobj(CompObj);\nif(options.bookProps && !options.bookSheets) WorkbookP = ({}/*:any*/);\nelse/*:: if(cfb instanceof CFBContainer) */ {\n\tvar T = has_buf ? 'buffer' : 'array';\n\tif(WB && WB.content) WorkbookP = parse_workbook(WB.content, options);\n\t/* Quattro Pro 7-8 */\n\telse if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Quattro Pro 9 */\n\telse if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(_data.content, (options.type = T, options));\n\t/* Works 4 for Mac */\n\telse if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error(\"Unsupported Works 4 for Mac file\");\n\telse throw new Error(\"Cannot find Workbook stream\");\n\tif(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbaraw = make_vba_xls(cfb);\n}\n\nvar props = {};\nif(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);\n\nWorkbookP.Props = WorkbookP.Custprops = props; /* TODO: split up properties */\nif(options.bookFiles) WorkbookP.cfb = cfb;\n/*WorkbookP.CompObjP = CompObjP; // TODO: storage? */\nreturn WorkbookP;\n}\n\n\nfunction write_xlscfb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:CFBContainer*/ {\n\tvar o = opts || {};\n\tvar cfb = CFB.utils.cfb_new({root:\"R\"});\n\tvar wbpath = \"/Workbook\";\n\tswitch(o.bookType || \"xls\") {\n\t\tcase \"xls\": o.bookType = \"biff8\";\n\t\t/* falls through */\n\t\tcase \"xla\": if(!o.bookType) o.bookType = \"xla\";\n\t\t/* falls through */\n\t\tcase \"biff8\": wbpath = \"/Workbook\"; o.biff = 8; break;\n\t\tcase \"biff5\": wbpath = \"/Book\"; o.biff = 5; break;\n\t\tdefault: throw new Error(\"invalid type \" + o.bookType + \" for XLS CFB\");\n\t}\n\tCFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));\n\tif(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);\n\t// TODO: SI, DSI, CO\n\tif(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == \"string\" ? \"binary\" : \"buffer\"}));\n\treturn cfb;\n}\n/* [MS-XLSB] 2.3 Record Enumeration */\nvar XLSBRecordEnum = {\n\t/*::[*/0x0000/*::]*/: { /* n:\"BrtRowHdr\", */ f:parse_BrtRowHdr },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BrtCellBlank\", */ f:parse_BrtCellBlank },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BrtCellRk\", */ f:parse_BrtCellRk },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BrtCellError\", */ f:parse_BrtCellError },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BrtCellBool\", */ f:parse_BrtCellBool },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BrtCellReal\", */ f:parse_BrtCellReal },\n\t/*::[*/0x0006/*::]*/: { /* n:\"BrtCellSt\", */ f:parse_BrtCellSt },\n\t/*::[*/0x0007/*::]*/: { /* n:\"BrtCellIsst\", */ f:parse_BrtCellIsst },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BrtFmlaString\", */ f:parse_BrtFmlaString },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BrtFmlaNum\", */ f:parse_BrtFmlaNum },\n\t/*::[*/0x000A/*::]*/: { /* n:\"BrtFmlaBool\", */ f:parse_BrtFmlaBool },\n\t/*::[*/0x000B/*::]*/: { /* n:\"BrtFmlaError\", */ f:parse_BrtFmlaError },\n\t/*::[*/0x000C/*::]*/: { /* n:\"BrtShortBlank\", */ f:parse_BrtShortBlank },\n\t/*::[*/0x000D/*::]*/: { /* n:\"BrtShortRk\", */ f:parse_BrtShortRk },\n\t/*::[*/0x000E/*::]*/: { /* n:\"BrtShortError\", */ f:parse_BrtShortError },\n\t/*::[*/0x000F/*::]*/: { /* n:\"BrtShortBool\", */ f:parse_BrtShortBool },\n\t/*::[*/0x0010/*::]*/: { /* n:\"BrtShortReal\", */ f:parse_BrtShortReal },\n\t/*::[*/0x0011/*::]*/: { /* n:\"BrtShortSt\", */ f:parse_BrtShortSt },\n\t/*::[*/0x0012/*::]*/: { /* n:\"BrtShortIsst\", */ f:parse_BrtShortIsst },\n\t/*::[*/0x0013/*::]*/: { /* n:\"BrtSSTItem\", */ f:parse_RichStr },\n\t/*::[*/0x0014/*::]*/: { /* n:\"BrtPCDIMissing\" */ },\n\t/*::[*/0x0015/*::]*/: { /* n:\"BrtPCDINumber\" */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"BrtPCDIBoolean\" */ },\n\t/*::[*/0x0017/*::]*/: { /* n:\"BrtPCDIError\" */ },\n\t/*::[*/0x0018/*::]*/: { /* n:\"BrtPCDIString\" */ },\n\t/*::[*/0x0019/*::]*/: { /* n:\"BrtPCDIDatetime\" */ },\n\t/*::[*/0x001A/*::]*/: { /* n:\"BrtPCDIIndex\" */ },\n\t/*::[*/0x001B/*::]*/: { /* n:\"BrtPCDIAMissing\" */ },\n\t/*::[*/0x001C/*::]*/: { /* n:\"BrtPCDIANumber\" */ },\n\t/*::[*/0x001D/*::]*/: { /* n:\"BrtPCDIABoolean\" */ },\n\t/*::[*/0x001E/*::]*/: { /* n:\"BrtPCDIAError\" */ },\n\t/*::[*/0x001F/*::]*/: { /* n:\"BrtPCDIAString\" */ },\n\t/*::[*/0x0020/*::]*/: { /* n:\"BrtPCDIADatetime\" */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"BrtPCRRecord\" */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"BrtPCRRecordDt\" */ },\n\t/*::[*/0x0023/*::]*/: { /* n:\"BrtFRTBegin\", */ T:1 },\n\t/*::[*/0x0024/*::]*/: { /* n:\"BrtFRTEnd\", */ T:-1 },\n\t/*::[*/0x0025/*::]*/: { /* n:\"BrtACBegin\", */ T:1 },\n\t/*::[*/0x0026/*::]*/: { /* n:\"BrtACEnd\", */ T:-1 },\n\t/*::[*/0x0027/*::]*/: { /* n:\"BrtName\", */ f:parse_BrtName },\n\t/*::[*/0x0028/*::]*/: { /* n:\"BrtIndexRowBlock\" */ },\n\t/*::[*/0x002A/*::]*/: { /* n:\"BrtIndexBlock\" */ },\n\t/*::[*/0x002B/*::]*/: { /* n:\"BrtFont\", */ f:parse_BrtFont },\n\t/*::[*/0x002C/*::]*/: { /* n:\"BrtFmt\", */ f:parse_BrtFmt },\n\t/*::[*/0x002D/*::]*/: { /* n:\"BrtFill\", */ f:parse_BrtFill },\n\t/*::[*/0x002E/*::]*/: { /* n:\"BrtBorder\", */ f:parse_BrtBorder },\n\t/*::[*/0x002F/*::]*/: { /* n:\"BrtXF\", */ f:parse_BrtXF },\n\t/*::[*/0x0030/*::]*/: { /* n:\"BrtStyle\" */ },\n\t/*::[*/0x0031/*::]*/: { /* n:\"BrtCellMeta\", */ f:parse_Int32LE },\n\t/*::[*/0x0032/*::]*/: { /* n:\"BrtValueMeta\" */ },\n\t/*::[*/0x0033/*::]*/: { /* n:\"BrtMdb\" */ f:parse_BrtMdb },\n\t/*::[*/0x0034/*::]*/: { /* n:\"BrtBeginFmd\", */ T:1 },\n\t/*::[*/0x0035/*::]*/: { /* n:\"BrtEndFmd\", */ T:-1 },\n\t/*::[*/0x0036/*::]*/: { /* n:\"BrtBeginMdx\", */ T:1 },\n\t/*::[*/0x0037/*::]*/: { /* n:\"BrtEndMdx\", */ T:-1 },\n\t/*::[*/0x0038/*::]*/: { /* n:\"BrtBeginMdxTuple\", */ T:1 },\n\t/*::[*/0x0039/*::]*/: { /* n:\"BrtEndMdxTuple\", */ T:-1 },\n\t/*::[*/0x003A/*::]*/: { /* n:\"BrtMdxMbrIstr\" */ },\n\t/*::[*/0x003B/*::]*/: { /* n:\"BrtStr\" */ },\n\t/*::[*/0x003C/*::]*/: { /* n:\"BrtColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x003E/*::]*/: { /* n:\"BrtCellRString\", */ f:parse_BrtCellRString },\n\t/*::[*/0x003F/*::]*/: { /* n:\"BrtCalcChainItem$\", */ f:parse_BrtCalcChainItem$ },\n\t/*::[*/0x0040/*::]*/: { /* n:\"BrtDVal\", */ f:parse_BrtDVal },\n\t/*::[*/0x0041/*::]*/: { /* n:\"BrtSxvcellNum\" */ },\n\t/*::[*/0x0042/*::]*/: { /* n:\"BrtSxvcellStr\" */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BrtSxvcellBool\" */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BrtSxvcellErr\" */ },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BrtSxvcellDate\" */ },\n\t/*::[*/0x0046/*::]*/: { /* n:\"BrtSxvcellNil\" */ },\n\t/*::[*/0x0080/*::]*/: { /* n:\"BrtFileVersion\" */ },\n\t/*::[*/0x0081/*::]*/: { /* n:\"BrtBeginSheet\", */ T:1 },\n\t/*::[*/0x0082/*::]*/: { /* n:\"BrtEndSheet\", */ T:-1 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"BrtBeginBook\", */ T:1, f:parsenoop, p:0 },\n\t/*::[*/0x0084/*::]*/: { /* n:\"BrtEndBook\", */ T:-1 },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BrtBeginWsViews\", */ T:1 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"BrtEndWsViews\", */ T:-1 },\n\t/*::[*/0x0087/*::]*/: { /* n:\"BrtBeginBookViews\", */ T:1 },\n\t/*::[*/0x0088/*::]*/: { /* n:\"BrtEndBookViews\", */ T:-1 },\n\t/*::[*/0x0089/*::]*/: { /* n:\"BrtBeginWsView\", */ T:1, f:parse_BrtBeginWsView },\n\t/*::[*/0x008A/*::]*/: { /* n:\"BrtEndWsView\", */ T:-1 },\n\t/*::[*/0x008B/*::]*/: { /* n:\"BrtBeginCsViews\", */ T:1 },\n\t/*::[*/0x008C/*::]*/: { /* n:\"BrtEndCsViews\", */ T:-1 },\n\t/*::[*/0x008D/*::]*/: { /* n:\"BrtBeginCsView\", */ T:1 },\n\t/*::[*/0x008E/*::]*/: { /* n:\"BrtEndCsView\", */ T:-1 },\n\t/*::[*/0x008F/*::]*/: { /* n:\"BrtBeginBundleShs\", */ T:1 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"BrtEndBundleShs\", */ T:-1 },\n\t/*::[*/0x0091/*::]*/: { /* n:\"BrtBeginSheetData\", */ T:1 },\n\t/*::[*/0x0092/*::]*/: { /* n:\"BrtEndSheetData\", */ T:-1 },\n\t/*::[*/0x0093/*::]*/: { /* n:\"BrtWsProp\", */ f:parse_BrtWsProp },\n\t/*::[*/0x0094/*::]*/: { /* n:\"BrtWsDim\", */ f:parse_BrtWsDim, p:16 },\n\t/*::[*/0x0097/*::]*/: { /* n:\"BrtPane\", */ f:parse_BrtPane },\n\t/*::[*/0x0098/*::]*/: { /* n:\"BrtSel\" */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"BrtWbProp\", */ f:parse_BrtWbProp },\n\t/*::[*/0x009A/*::]*/: { /* n:\"BrtWbFactoid\" */ },\n\t/*::[*/0x009B/*::]*/: { /* n:\"BrtFileRecover\" */ },\n\t/*::[*/0x009C/*::]*/: { /* n:\"BrtBundleSh\", */ f:parse_BrtBundleSh },\n\t/*::[*/0x009D/*::]*/: { /* n:\"BrtCalcProp\" */ },\n\t/*::[*/0x009E/*::]*/: { /* n:\"BrtBookView\" */ },\n\t/*::[*/0x009F/*::]*/: { /* n:\"BrtBeginSst\", */ T:1, f:parse_BrtBeginSst },\n\t/*::[*/0x00A0/*::]*/: { /* n:\"BrtEndSst\", */ T:-1 },\n\t/*::[*/0x00A1/*::]*/: { /* n:\"BrtBeginAFilter\", */ T:1, f:parse_UncheckedRfX },\n\t/*::[*/0x00A2/*::]*/: { /* n:\"BrtEndAFilter\", */ T:-1 },\n\t/*::[*/0x00A3/*::]*/: { /* n:\"BrtBeginFilterColumn\", */ T:1 },\n\t/*::[*/0x00A4/*::]*/: { /* n:\"BrtEndFilterColumn\", */ T:-1 },\n\t/*::[*/0x00A5/*::]*/: { /* n:\"BrtBeginFilters\", */ T:1 },\n\t/*::[*/0x00A6/*::]*/: { /* n:\"BrtEndFilters\", */ T:-1 },\n\t/*::[*/0x00A7/*::]*/: { /* n:\"BrtFilter\" */ },\n\t/*::[*/0x00A8/*::]*/: { /* n:\"BrtColorFilter\" */ },\n\t/*::[*/0x00A9/*::]*/: { /* n:\"BrtIconFilter\" */ },\n\t/*::[*/0x00AA/*::]*/: { /* n:\"BrtTop10Filter\" */ },\n\t/*::[*/0x00AB/*::]*/: { /* n:\"BrtDynamicFilter\" */ },\n\t/*::[*/0x00AC/*::]*/: { /* n:\"BrtBeginCustomFilters\", */ T:1 },\n\t/*::[*/0x00AD/*::]*/: { /* n:\"BrtEndCustomFilters\", */ T:-1 },\n\t/*::[*/0x00AE/*::]*/: { /* n:\"BrtCustomFilter\" */ },\n\t/*::[*/0x00AF/*::]*/: { /* n:\"BrtAFilterDateGroupItem\" */ },\n\t/*::[*/0x00B0/*::]*/: { /* n:\"BrtMergeCell\", */ f:parse_BrtMergeCell },\n\t/*::[*/0x00B1/*::]*/: { /* n:\"BrtBeginMergeCells\", */ T:1 },\n\t/*::[*/0x00B2/*::]*/: { /* n:\"BrtEndMergeCells\", */ T:-1 },\n\t/*::[*/0x00B3/*::]*/: { /* n:\"BrtBeginPivotCacheDef\", */ T:1 },\n\t/*::[*/0x00B4/*::]*/: { /* n:\"BrtEndPivotCacheDef\", */ T:-1 },\n\t/*::[*/0x00B5/*::]*/: { /* n:\"BrtBeginPCDFields\", */ T:1 },\n\t/*::[*/0x00B6/*::]*/: { /* n:\"BrtEndPCDFields\", */ T:-1 },\n\t/*::[*/0x00B7/*::]*/: { /* n:\"BrtBeginPCDField\", */ T:1 },\n\t/*::[*/0x00B8/*::]*/: { /* n:\"BrtEndPCDField\", */ T:-1 },\n\t/*::[*/0x00B9/*::]*/: { /* n:\"BrtBeginPCDSource\", */ T:1 },\n\t/*::[*/0x00BA/*::]*/: { /* n:\"BrtEndPCDSource\", */ T:-1 },\n\t/*::[*/0x00BB/*::]*/: { /* n:\"BrtBeginPCDSRange\", */ T:1 },\n\t/*::[*/0x00BC/*::]*/: { /* n:\"BrtEndPCDSRange\", */ T:-1 },\n\t/*::[*/0x00BD/*::]*/: { /* n:\"BrtBeginPCDFAtbl\", */ T:1 },\n\t/*::[*/0x00BE/*::]*/: { /* n:\"BrtEndPCDFAtbl\", */ T:-1 },\n\t/*::[*/0x00BF/*::]*/: { /* n:\"BrtBeginPCDIRun\", */ T:1 },\n\t/*::[*/0x00C0/*::]*/: { /* n:\"BrtEndPCDIRun\", */ T:-1 },\n\t/*::[*/0x00C1/*::]*/: { /* n:\"BrtBeginPivotCacheRecords\", */ T:1 },\n\t/*::[*/0x00C2/*::]*/: { /* n:\"BrtEndPivotCacheRecords\", */ T:-1 },\n\t/*::[*/0x00C3/*::]*/: { /* n:\"BrtBeginPCDHierarchies\", */ T:1 },\n\t/*::[*/0x00C4/*::]*/: { /* n:\"BrtEndPCDHierarchies\", */ T:-1 },\n\t/*::[*/0x00C5/*::]*/: { /* n:\"BrtBeginPCDHierarchy\", */ T:1 },\n\t/*::[*/0x00C6/*::]*/: { /* n:\"BrtEndPCDHierarchy\", */ T:-1 },\n\t/*::[*/0x00C7/*::]*/: { /* n:\"BrtBeginPCDHFieldsUsage\", */ T:1 },\n\t/*::[*/0x00C8/*::]*/: { /* n:\"BrtEndPCDHFieldsUsage\", */ T:-1 },\n\t/*::[*/0x00C9/*::]*/: { /* n:\"BrtBeginExtConnection\", */ T:1 },\n\t/*::[*/0x00CA/*::]*/: { /* n:\"BrtEndExtConnection\", */ T:-1 },\n\t/*::[*/0x00CB/*::]*/: { /* n:\"BrtBeginECDbProps\", */ T:1 },\n\t/*::[*/0x00CC/*::]*/: { /* n:\"BrtEndECDbProps\", */ T:-1 },\n\t/*::[*/0x00CD/*::]*/: { /* n:\"BrtBeginECOlapProps\", */ T:1 },\n\t/*::[*/0x00CE/*::]*/: { /* n:\"BrtEndECOlapProps\", */ T:-1 },\n\t/*::[*/0x00CF/*::]*/: { /* n:\"BrtBeginPCDSConsol\", */ T:1 },\n\t/*::[*/0x00D0/*::]*/: { /* n:\"BrtEndPCDSConsol\", */ T:-1 },\n\t/*::[*/0x00D1/*::]*/: { /* n:\"BrtBeginPCDSCPages\", */ T:1 },\n\t/*::[*/0x00D2/*::]*/: { /* n:\"BrtEndPCDSCPages\", */ T:-1 },\n\t/*::[*/0x00D3/*::]*/: { /* n:\"BrtBeginPCDSCPage\", */ T:1 },\n\t/*::[*/0x00D4/*::]*/: { /* n:\"BrtEndPCDSCPage\", */ T:-1 },\n\t/*::[*/0x00D5/*::]*/: { /* n:\"BrtBeginPCDSCPItem\", */ T:1 },\n\t/*::[*/0x00D6/*::]*/: { /* n:\"BrtEndPCDSCPItem\", */ T:-1 },\n\t/*::[*/0x00D7/*::]*/: { /* n:\"BrtBeginPCDSCSets\", */ T:1 },\n\t/*::[*/0x00D8/*::]*/: { /* n:\"BrtEndPCDSCSets\", */ T:-1 },\n\t/*::[*/0x00D9/*::]*/: { /* n:\"BrtBeginPCDSCSet\", */ T:1 },\n\t/*::[*/0x00DA/*::]*/: { /* n:\"BrtEndPCDSCSet\", */ T:-1 },\n\t/*::[*/0x00DB/*::]*/: { /* n:\"BrtBeginPCDFGroup\", */ T:1 },\n\t/*::[*/0x00DC/*::]*/: { /* n:\"BrtEndPCDFGroup\", */ T:-1 },\n\t/*::[*/0x00DD/*::]*/: { /* n:\"BrtBeginPCDFGItems\", */ T:1 },\n\t/*::[*/0x00DE/*::]*/: { /* n:\"BrtEndPCDFGItems\", */ T:-1 },\n\t/*::[*/0x00DF/*::]*/: { /* n:\"BrtBeginPCDFGRange\", */ T:1 },\n\t/*::[*/0x00E0/*::]*/: { /* n:\"BrtEndPCDFGRange\", */ T:-1 },\n\t/*::[*/0x00E1/*::]*/: { /* n:\"BrtBeginPCDFGDiscrete\", */ T:1 },\n\t/*::[*/0x00E2/*::]*/: { /* n:\"BrtEndPCDFGDiscrete\", */ T:-1 },\n\t/*::[*/0x00E3/*::]*/: { /* n:\"BrtBeginPCDSDTupleCache\", */ T:1 },\n\t/*::[*/0x00E4/*::]*/: { /* n:\"BrtEndPCDSDTupleCache\", */ T:-1 },\n\t/*::[*/0x00E5/*::]*/: { /* n:\"BrtBeginPCDSDTCEntries\", */ T:1 },\n\t/*::[*/0x00E6/*::]*/: { /* n:\"BrtEndPCDSDTCEntries\", */ T:-1 },\n\t/*::[*/0x00E7/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembers\", */ T:1 },\n\t/*::[*/0x00E8/*::]*/: { /* n:\"BrtEndPCDSDTCEMembers\", */ T:-1 },\n\t/*::[*/0x00E9/*::]*/: { /* n:\"BrtBeginPCDSDTCEMember\", */ T:1 },\n\t/*::[*/0x00EA/*::]*/: { /* n:\"BrtEndPCDSDTCEMember\", */ T:-1 },\n\t/*::[*/0x00EB/*::]*/: { /* n:\"BrtBeginPCDSDTCQueries\", */ T:1 },\n\t/*::[*/0x00EC/*::]*/: { /* n:\"BrtEndPCDSDTCQueries\", */ T:-1 },\n\t/*::[*/0x00ED/*::]*/: { /* n:\"BrtBeginPCDSDTCQuery\", */ T:1 },\n\t/*::[*/0x00EE/*::]*/: { /* n:\"BrtEndPCDSDTCQuery\", */ T:-1 },\n\t/*::[*/0x00EF/*::]*/: { /* n:\"BrtBeginPCDSDTCSets\", */ T:1 },\n\t/*::[*/0x00F0/*::]*/: { /* n:\"BrtEndPCDSDTCSets\", */ T:-1 },\n\t/*::[*/0x00F1/*::]*/: { /* n:\"BrtBeginPCDSDTCSet\", */ T:1 },\n\t/*::[*/0x00F2/*::]*/: { /* n:\"BrtEndPCDSDTCSet\", */ T:-1 },\n\t/*::[*/0x00F3/*::]*/: { /* n:\"BrtBeginPCDCalcItems\", */ T:1 },\n\t/*::[*/0x00F4/*::]*/: { /* n:\"BrtEndPCDCalcItems\", */ T:-1 },\n\t/*::[*/0x00F5/*::]*/: { /* n:\"BrtBeginPCDCalcItem\", */ T:1 },\n\t/*::[*/0x00F6/*::]*/: { /* n:\"BrtEndPCDCalcItem\", */ T:-1 },\n\t/*::[*/0x00F7/*::]*/: { /* n:\"BrtBeginPRule\", */ T:1 },\n\t/*::[*/0x00F8/*::]*/: { /* n:\"BrtEndPRule\", */ T:-1 },\n\t/*::[*/0x00F9/*::]*/: { /* n:\"BrtBeginPRFilters\", */ T:1 },\n\t/*::[*/0x00FA/*::]*/: { /* n:\"BrtEndPRFilters\", */ T:-1 },\n\t/*::[*/0x00FB/*::]*/: { /* n:\"BrtBeginPRFilter\", */ T:1 },\n\t/*::[*/0x00FC/*::]*/: { /* n:\"BrtEndPRFilter\", */ T:-1 },\n\t/*::[*/0x00FD/*::]*/: { /* n:\"BrtBeginPNames\", */ T:1 },\n\t/*::[*/0x00FE/*::]*/: { /* n:\"BrtEndPNames\", */ T:-1 },\n\t/*::[*/0x00FF/*::]*/: { /* n:\"BrtBeginPName\", */ T:1 },\n\t/*::[*/0x0100/*::]*/: { /* n:\"BrtEndPName\", */ T:-1 },\n\t/*::[*/0x0101/*::]*/: { /* n:\"BrtBeginPNPairs\", */ T:1 },\n\t/*::[*/0x0102/*::]*/: { /* n:\"BrtEndPNPairs\", */ T:-1 },\n\t/*::[*/0x0103/*::]*/: { /* n:\"BrtBeginPNPair\", */ T:1 },\n\t/*::[*/0x0104/*::]*/: { /* n:\"BrtEndPNPair\", */ T:-1 },\n\t/*::[*/0x0105/*::]*/: { /* n:\"BrtBeginECWebProps\", */ T:1 },\n\t/*::[*/0x0106/*::]*/: { /* n:\"BrtEndECWebProps\", */ T:-1 },\n\t/*::[*/0x0107/*::]*/: { /* n:\"BrtBeginEcWpTables\", */ T:1 },\n\t/*::[*/0x0108/*::]*/: { /* n:\"BrtEndECWPTables\", */ T:-1 },\n\t/*::[*/0x0109/*::]*/: { /* n:\"BrtBeginECParams\", */ T:1 },\n\t/*::[*/0x010A/*::]*/: { /* n:\"BrtEndECParams\", */ T:-1 },\n\t/*::[*/0x010B/*::]*/: { /* n:\"BrtBeginECParam\", */ T:1 },\n\t/*::[*/0x010C/*::]*/: { /* n:\"BrtEndECParam\", */ T:-1 },\n\t/*::[*/0x010D/*::]*/: { /* n:\"BrtBeginPCDKPIs\", */ T:1 },\n\t/*::[*/0x010E/*::]*/: { /* n:\"BrtEndPCDKPIs\", */ T:-1 },\n\t/*::[*/0x010F/*::]*/: { /* n:\"BrtBeginPCDKPI\", */ T:1 },\n\t/*::[*/0x0110/*::]*/: { /* n:\"BrtEndPCDKPI\", */ T:-1 },\n\t/*::[*/0x0111/*::]*/: { /* n:\"BrtBeginDims\", */ T:1 },\n\t/*::[*/0x0112/*::]*/: { /* n:\"BrtEndDims\", */ T:-1 },\n\t/*::[*/0x0113/*::]*/: { /* n:\"BrtBeginDim\", */ T:1 },\n\t/*::[*/0x0114/*::]*/: { /* n:\"BrtEndDim\", */ T:-1 },\n\t/*::[*/0x0115/*::]*/: { /* n:\"BrtIndexPartEnd\" */ },\n\t/*::[*/0x0116/*::]*/: { /* n:\"BrtBeginStyleSheet\", */ T:1 },\n\t/*::[*/0x0117/*::]*/: { /* n:\"BrtEndStyleSheet\", */ T:-1 },\n\t/*::[*/0x0118/*::]*/: { /* n:\"BrtBeginSXView\", */ T:1 },\n\t/*::[*/0x0119/*::]*/: { /* n:\"BrtEndSXVI\", */ T:-1 },\n\t/*::[*/0x011A/*::]*/: { /* n:\"BrtBeginSXVI\", */ T:1 },\n\t/*::[*/0x011B/*::]*/: { /* n:\"BrtBeginSXVIs\", */ T:1 },\n\t/*::[*/0x011C/*::]*/: { /* n:\"BrtEndSXVIs\", */ T:-1 },\n\t/*::[*/0x011D/*::]*/: { /* n:\"BrtBeginSXVD\", */ T:1 },\n\t/*::[*/0x011E/*::]*/: { /* n:\"BrtEndSXVD\", */ T:-1 },\n\t/*::[*/0x011F/*::]*/: { /* n:\"BrtBeginSXVDs\", */ T:1 },\n\t/*::[*/0x0120/*::]*/: { /* n:\"BrtEndSXVDs\", */ T:-1 },\n\t/*::[*/0x0121/*::]*/: { /* n:\"BrtBeginSXPI\", */ T:1 },\n\t/*::[*/0x0122/*::]*/: { /* n:\"BrtEndSXPI\", */ T:-1 },\n\t/*::[*/0x0123/*::]*/: { /* n:\"BrtBeginSXPIs\", */ T:1 },\n\t/*::[*/0x0124/*::]*/: { /* n:\"BrtEndSXPIs\", */ T:-1 },\n\t/*::[*/0x0125/*::]*/: { /* n:\"BrtBeginSXDI\", */ T:1 },\n\t/*::[*/0x0126/*::]*/: { /* n:\"BrtEndSXDI\", */ T:-1 },\n\t/*::[*/0x0127/*::]*/: { /* n:\"BrtBeginSXDIs\", */ T:1 },\n\t/*::[*/0x0128/*::]*/: { /* n:\"BrtEndSXDIs\", */ T:-1 },\n\t/*::[*/0x0129/*::]*/: { /* n:\"BrtBeginSXLI\", */ T:1 },\n\t/*::[*/0x012A/*::]*/: { /* n:\"BrtEndSXLI\", */ T:-1 },\n\t/*::[*/0x012B/*::]*/: { /* n:\"BrtBeginSXLIRws\", */ T:1 },\n\t/*::[*/0x012C/*::]*/: { /* n:\"BrtEndSXLIRws\", */ T:-1 },\n\t/*::[*/0x012D/*::]*/: { /* n:\"BrtBeginSXLICols\", */ T:1 },\n\t/*::[*/0x012E/*::]*/: { /* n:\"BrtEndSXLICols\", */ T:-1 },\n\t/*::[*/0x012F/*::]*/: { /* n:\"BrtBeginSXFormat\", */ T:1 },\n\t/*::[*/0x0130/*::]*/: { /* n:\"BrtEndSXFormat\", */ T:-1 },\n\t/*::[*/0x0131/*::]*/: { /* n:\"BrtBeginSXFormats\", */ T:1 },\n\t/*::[*/0x0132/*::]*/: { /* n:\"BrtEndSxFormats\", */ T:-1 },\n\t/*::[*/0x0133/*::]*/: { /* n:\"BrtBeginSxSelect\", */ T:1 },\n\t/*::[*/0x0134/*::]*/: { /* n:\"BrtEndSxSelect\", */ T:-1 },\n\t/*::[*/0x0135/*::]*/: { /* n:\"BrtBeginISXVDRws\", */ T:1 },\n\t/*::[*/0x0136/*::]*/: { /* n:\"BrtEndISXVDRws\", */ T:-1 },\n\t/*::[*/0x0137/*::]*/: { /* n:\"BrtBeginISXVDCols\", */ T:1 },\n\t/*::[*/0x0138/*::]*/: { /* n:\"BrtEndISXVDCols\", */ T:-1 },\n\t/*::[*/0x0139/*::]*/: { /* n:\"BrtEndSXLocation\", */ T:-1 },\n\t/*::[*/0x013A/*::]*/: { /* n:\"BrtBeginSXLocation\", */ T:1 },\n\t/*::[*/0x013B/*::]*/: { /* n:\"BrtEndSXView\", */ T:-1 },\n\t/*::[*/0x013C/*::]*/: { /* n:\"BrtBeginSXTHs\", */ T:1 },\n\t/*::[*/0x013D/*::]*/: { /* n:\"BrtEndSXTHs\", */ T:-1 },\n\t/*::[*/0x013E/*::]*/: { /* n:\"BrtBeginSXTH\", */ T:1 },\n\t/*::[*/0x013F/*::]*/: { /* n:\"BrtEndSXTH\", */ T:-1 },\n\t/*::[*/0x0140/*::]*/: { /* n:\"BrtBeginISXTHRws\", */ T:1 },\n\t/*::[*/0x0141/*::]*/: { /* n:\"BrtEndISXTHRws\", */ T:-1 },\n\t/*::[*/0x0142/*::]*/: { /* n:\"BrtBeginISXTHCols\", */ T:1 },\n\t/*::[*/0x0143/*::]*/: { /* n:\"BrtEndISXTHCols\", */ T:-1 },\n\t/*::[*/0x0144/*::]*/: { /* n:\"BrtBeginSXTDMPS\", */ T:1 },\n\t/*::[*/0x0145/*::]*/: { /* n:\"BrtEndSXTDMPs\", */ T:-1 },\n\t/*::[*/0x0146/*::]*/: { /* n:\"BrtBeginSXTDMP\", */ T:1 },\n\t/*::[*/0x0147/*::]*/: { /* n:\"BrtEndSXTDMP\", */ T:-1 },\n\t/*::[*/0x0148/*::]*/: { /* n:\"BrtBeginSXTHItems\", */ T:1 },\n\t/*::[*/0x0149/*::]*/: { /* n:\"BrtEndSXTHItems\", */ T:-1 },\n\t/*::[*/0x014A/*::]*/: { /* n:\"BrtBeginSXTHItem\", */ T:1 },\n\t/*::[*/0x014B/*::]*/: { /* n:\"BrtEndSXTHItem\", */ T:-1 },\n\t/*::[*/0x014C/*::]*/: { /* n:\"BrtBeginMetadata\", */ T:1 },\n\t/*::[*/0x014D/*::]*/: { /* n:\"BrtEndMetadata\", */ T:-1 },\n\t/*::[*/0x014E/*::]*/: { /* n:\"BrtBeginEsmdtinfo\", */ T:1 },\n\t/*::[*/0x014F/*::]*/: { /* n:\"BrtMdtinfo\", */ f:parse_BrtMdtinfo },\n\t/*::[*/0x0150/*::]*/: { /* n:\"BrtEndEsmdtinfo\", */ T:-1 },\n\t/*::[*/0x0151/*::]*/: { /* n:\"BrtBeginEsmdb\", */ f:parse_BrtBeginEsmdb, T:1 },\n\t/*::[*/0x0152/*::]*/: { /* n:\"BrtEndEsmdb\", */ T:-1 },\n\t/*::[*/0x0153/*::]*/: { /* n:\"BrtBeginEsfmd\", */ T:1 },\n\t/*::[*/0x0154/*::]*/: { /* n:\"BrtEndEsfmd\", */ T:-1 },\n\t/*::[*/0x0155/*::]*/: { /* n:\"BrtBeginSingleCells\", */ T:1 },\n\t/*::[*/0x0156/*::]*/: { /* n:\"BrtEndSingleCells\", */ T:-1 },\n\t/*::[*/0x0157/*::]*/: { /* n:\"BrtBeginList\", */ T:1 },\n\t/*::[*/0x0158/*::]*/: { /* n:\"BrtEndList\", */ T:-1 },\n\t/*::[*/0x0159/*::]*/: { /* n:\"BrtBeginListCols\", */ T:1 },\n\t/*::[*/0x015A/*::]*/: { /* n:\"BrtEndListCols\", */ T:-1 },\n\t/*::[*/0x015B/*::]*/: { /* n:\"BrtBeginListCol\", */ T:1 },\n\t/*::[*/0x015C/*::]*/: { /* n:\"BrtEndListCol\", */ T:-1 },\n\t/*::[*/0x015D/*::]*/: { /* n:\"BrtBeginListXmlCPr\", */ T:1 },\n\t/*::[*/0x015E/*::]*/: { /* n:\"BrtEndListXmlCPr\", */ T:-1 },\n\t/*::[*/0x015F/*::]*/: { /* n:\"BrtListCCFmla\" */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"BrtListTrFmla\" */ },\n\t/*::[*/0x0161/*::]*/: { /* n:\"BrtBeginExternals\", */ T:1 },\n\t/*::[*/0x0162/*::]*/: { /* n:\"BrtEndExternals\", */ T:-1 },\n\t/*::[*/0x0163/*::]*/: { /* n:\"BrtSupBookSrc\", */ f:parse_RelID},\n\t/*::[*/0x0165/*::]*/: { /* n:\"BrtSupSelf\" */ },\n\t/*::[*/0x0166/*::]*/: { /* n:\"BrtSupSame\" */ },\n\t/*::[*/0x0167/*::]*/: { /* n:\"BrtSupTabs\" */ },\n\t/*::[*/0x0168/*::]*/: { /* n:\"BrtBeginSupBook\", */ T:1 },\n\t/*::[*/0x0169/*::]*/: { /* n:\"BrtPlaceholderName\" */ },\n\t/*::[*/0x016A/*::]*/: { /* n:\"BrtExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x016B/*::]*/: { /* n:\"BrtExternTableStart\" */ },\n\t/*::[*/0x016C/*::]*/: { /* n:\"BrtExternTableEnd\" */ },\n\t/*::[*/0x016E/*::]*/: { /* n:\"BrtExternRowHdr\" */ },\n\t/*::[*/0x016F/*::]*/: { /* n:\"BrtExternCellBlank\" */ },\n\t/*::[*/0x0170/*::]*/: { /* n:\"BrtExternCellReal\" */ },\n\t/*::[*/0x0171/*::]*/: { /* n:\"BrtExternCellBool\" */ },\n\t/*::[*/0x0172/*::]*/: { /* n:\"BrtExternCellError\" */ },\n\t/*::[*/0x0173/*::]*/: { /* n:\"BrtExternCellString\" */ },\n\t/*::[*/0x0174/*::]*/: { /* n:\"BrtBeginEsmdx\", */ T:1 },\n\t/*::[*/0x0175/*::]*/: { /* n:\"BrtEndEsmdx\", */ T:-1 },\n\t/*::[*/0x0176/*::]*/: { /* n:\"BrtBeginMdxSet\", */ T:1 },\n\t/*::[*/0x0177/*::]*/: { /* n:\"BrtEndMdxSet\", */ T:-1 },\n\t/*::[*/0x0178/*::]*/: { /* n:\"BrtBeginMdxMbrProp\", */ T:1 },\n\t/*::[*/0x0179/*::]*/: { /* n:\"BrtEndMdxMbrProp\", */ T:-1 },\n\t/*::[*/0x017A/*::]*/: { /* n:\"BrtBeginMdxKPI\", */ T:1 },\n\t/*::[*/0x017B/*::]*/: { /* n:\"BrtEndMdxKPI\", */ T:-1 },\n\t/*::[*/0x017C/*::]*/: { /* n:\"BrtBeginEsstr\", */ T:1 },\n\t/*::[*/0x017D/*::]*/: { /* n:\"BrtEndEsstr\", */ T:-1 },\n\t/*::[*/0x017E/*::]*/: { /* n:\"BrtBeginPRFItem\", */ T:1 },\n\t/*::[*/0x017F/*::]*/: { /* n:\"BrtEndPRFItem\", */ T:-1 },\n\t/*::[*/0x0180/*::]*/: { /* n:\"BrtBeginPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0181/*::]*/: { /* n:\"BrtEndPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0182/*::]*/: { /* n:\"BrtBeginPivotCacheID\", */ T:1 },\n\t/*::[*/0x0183/*::]*/: { /* n:\"BrtEndPivotCacheID\", */ T:-1 },\n\t/*::[*/0x0184/*::]*/: { /* n:\"BrtBeginISXVIs\", */ T:1 },\n\t/*::[*/0x0185/*::]*/: { /* n:\"BrtEndISXVIs\", */ T:-1 },\n\t/*::[*/0x0186/*::]*/: { /* n:\"BrtBeginColInfos\", */ T:1 },\n\t/*::[*/0x0187/*::]*/: { /* n:\"BrtEndColInfos\", */ T:-1 },\n\t/*::[*/0x0188/*::]*/: { /* n:\"BrtBeginRwBrk\", */ T:1 },\n\t/*::[*/0x0189/*::]*/: { /* n:\"BrtEndRwBrk\", */ T:-1 },\n\t/*::[*/0x018A/*::]*/: { /* n:\"BrtBeginColBrk\", */ T:1 },\n\t/*::[*/0x018B/*::]*/: { /* n:\"BrtEndColBrk\", */ T:-1 },\n\t/*::[*/0x018C/*::]*/: { /* n:\"BrtBrk\" */ },\n\t/*::[*/0x018D/*::]*/: { /* n:\"BrtUserBookView\" */ },\n\t/*::[*/0x018E/*::]*/: { /* n:\"BrtInfo\" */ },\n\t/*::[*/0x018F/*::]*/: { /* n:\"BrtCUsr\" */ },\n\t/*::[*/0x0190/*::]*/: { /* n:\"BrtUsr\" */ },\n\t/*::[*/0x0191/*::]*/: { /* n:\"BrtBeginUsers\", */ T:1 },\n\t/*::[*/0x0193/*::]*/: { /* n:\"BrtEOF\" */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"BrtUCR\" */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"BrtRRInsDel\" */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"BrtRREndInsDel\" */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BrtRRMove\" */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"BrtRREndMove\" */ },\n\t/*::[*/0x0199/*::]*/: { /* n:\"BrtRRChgCell\" */ },\n\t/*::[*/0x019A/*::]*/: { /* n:\"BrtRREndChgCell\" */ },\n\t/*::[*/0x019B/*::]*/: { /* n:\"BrtRRHeader\" */ },\n\t/*::[*/0x019C/*::]*/: { /* n:\"BrtRRUserView\" */ },\n\t/*::[*/0x019D/*::]*/: { /* n:\"BrtRRRenSheet\" */ },\n\t/*::[*/0x019E/*::]*/: { /* n:\"BrtRRInsertSh\" */ },\n\t/*::[*/0x019F/*::]*/: { /* n:\"BrtRRDefName\" */ },\n\t/*::[*/0x01A0/*::]*/: { /* n:\"BrtRRNote\" */ },\n\t/*::[*/0x01A1/*::]*/: { /* n:\"BrtRRConflict\" */ },\n\t/*::[*/0x01A2/*::]*/: { /* n:\"BrtRRTQSIF\" */ },\n\t/*::[*/0x01A3/*::]*/: { /* n:\"BrtRRFormat\" */ },\n\t/*::[*/0x01A4/*::]*/: { /* n:\"BrtRREndFormat\" */ },\n\t/*::[*/0x01A5/*::]*/: { /* n:\"BrtRRAutoFmt\" */ },\n\t/*::[*/0x01A6/*::]*/: { /* n:\"BrtBeginUserShViews\", */ T:1 },\n\t/*::[*/0x01A7/*::]*/: { /* n:\"BrtBeginUserShView\", */ T:1 },\n\t/*::[*/0x01A8/*::]*/: { /* n:\"BrtEndUserShView\", */ T:-1 },\n\t/*::[*/0x01A9/*::]*/: { /* n:\"BrtEndUserShViews\", */ T:-1 },\n\t/*::[*/0x01AA/*::]*/: { /* n:\"BrtArrFmla\", */ f:parse_BrtArrFmla },\n\t/*::[*/0x01AB/*::]*/: { /* n:\"BrtShrFmla\", */ f:parse_BrtShrFmla },\n\t/*::[*/0x01AC/*::]*/: { /* n:\"BrtTable\" */ },\n\t/*::[*/0x01AD/*::]*/: { /* n:\"BrtBeginExtConnections\", */ T:1 },\n\t/*::[*/0x01AE/*::]*/: { /* n:\"BrtEndExtConnections\", */ T:-1 },\n\t/*::[*/0x01AF/*::]*/: { /* n:\"BrtBeginPCDCalcMems\", */ T:1 },\n\t/*::[*/0x01B0/*::]*/: { /* n:\"BrtEndPCDCalcMems\", */ T:-1 },\n\t/*::[*/0x01B1/*::]*/: { /* n:\"BrtBeginPCDCalcMem\", */ T:1 },\n\t/*::[*/0x01B2/*::]*/: { /* n:\"BrtEndPCDCalcMem\", */ T:-1 },\n\t/*::[*/0x01B3/*::]*/: { /* n:\"BrtBeginPCDHGLevels\", */ T:1 },\n\t/*::[*/0x01B4/*::]*/: { /* n:\"BrtEndPCDHGLevels\", */ T:-1 },\n\t/*::[*/0x01B5/*::]*/: { /* n:\"BrtBeginPCDHGLevel\", */ T:1 },\n\t/*::[*/0x01B6/*::]*/: { /* n:\"BrtEndPCDHGLevel\", */ T:-1 },\n\t/*::[*/0x01B7/*::]*/: { /* n:\"BrtBeginPCDHGLGroups\", */ T:1 },\n\t/*::[*/0x01B8/*::]*/: { /* n:\"BrtEndPCDHGLGroups\", */ T:-1 },\n\t/*::[*/0x01B9/*::]*/: { /* n:\"BrtBeginPCDHGLGroup\", */ T:1 },\n\t/*::[*/0x01BA/*::]*/: { /* n:\"BrtEndPCDHGLGroup\", */ T:-1 },\n\t/*::[*/0x01BB/*::]*/: { /* n:\"BrtBeginPCDHGLGMembers\", */ T:1 },\n\t/*::[*/0x01BC/*::]*/: { /* n:\"BrtEndPCDHGLGMembers\", */ T:-1 },\n\t/*::[*/0x01BD/*::]*/: { /* n:\"BrtBeginPCDHGLGMember\", */ T:1 },\n\t/*::[*/0x01BE/*::]*/: { /* n:\"BrtEndPCDHGLGMember\", */ T:-1 },\n\t/*::[*/0x01BF/*::]*/: { /* n:\"BrtBeginQSI\", */ T:1 },\n\t/*::[*/0x01C0/*::]*/: { /* n:\"BrtEndQSI\", */ T:-1 },\n\t/*::[*/0x01C1/*::]*/: { /* n:\"BrtBeginQSIR\", */ T:1 },\n\t/*::[*/0x01C2/*::]*/: { /* n:\"BrtEndQSIR\", */ T:-1 },\n\t/*::[*/0x01C3/*::]*/: { /* n:\"BrtBeginDeletedNames\", */ T:1 },\n\t/*::[*/0x01C4/*::]*/: { /* n:\"BrtEndDeletedNames\", */ T:-1 },\n\t/*::[*/0x01C5/*::]*/: { /* n:\"BrtBeginDeletedName\", */ T:1 },\n\t/*::[*/0x01C6/*::]*/: { /* n:\"BrtEndDeletedName\", */ T:-1 },\n\t/*::[*/0x01C7/*::]*/: { /* n:\"BrtBeginQSIFs\", */ T:1 },\n\t/*::[*/0x01C8/*::]*/: { /* n:\"BrtEndQSIFs\", */ T:-1 },\n\t/*::[*/0x01C9/*::]*/: { /* n:\"BrtBeginQSIF\", */ T:1 },\n\t/*::[*/0x01CA/*::]*/: { /* n:\"BrtEndQSIF\", */ T:-1 },\n\t/*::[*/0x01CB/*::]*/: { /* n:\"BrtBeginAutoSortScope\", */ T:1 },\n\t/*::[*/0x01CC/*::]*/: { /* n:\"BrtEndAutoSortScope\", */ T:-1 },\n\t/*::[*/0x01CD/*::]*/: { /* n:\"BrtBeginConditionalFormatting\", */ T:1 },\n\t/*::[*/0x01CE/*::]*/: { /* n:\"BrtEndConditionalFormatting\", */ T:-1 },\n\t/*::[*/0x01CF/*::]*/: { /* n:\"BrtBeginCFRule\", */ T:1 },\n\t/*::[*/0x01D0/*::]*/: { /* n:\"BrtEndCFRule\", */ T:-1 },\n\t/*::[*/0x01D1/*::]*/: { /* n:\"BrtBeginIconSet\", */ T:1 },\n\t/*::[*/0x01D2/*::]*/: { /* n:\"BrtEndIconSet\", */ T:-1 },\n\t/*::[*/0x01D3/*::]*/: { /* n:\"BrtBeginDatabar\", */ T:1 },\n\t/*::[*/0x01D4/*::]*/: { /* n:\"BrtEndDatabar\", */ T:-1 },\n\t/*::[*/0x01D5/*::]*/: { /* n:\"BrtBeginColorScale\", */ T:1 },\n\t/*::[*/0x01D6/*::]*/: { /* n:\"BrtEndColorScale\", */ T:-1 },\n\t/*::[*/0x01D7/*::]*/: { /* n:\"BrtCFVO\" */ },\n\t/*::[*/0x01D8/*::]*/: { /* n:\"BrtExternValueMeta\" */ },\n\t/*::[*/0x01D9/*::]*/: { /* n:\"BrtBeginColorPalette\", */ T:1 },\n\t/*::[*/0x01DA/*::]*/: { /* n:\"BrtEndColorPalette\", */ T:-1 },\n\t/*::[*/0x01DB/*::]*/: { /* n:\"BrtIndexedColor\" */ },\n\t/*::[*/0x01DC/*::]*/: { /* n:\"BrtMargins\", */ f:parse_BrtMargins },\n\t/*::[*/0x01DD/*::]*/: { /* n:\"BrtPrintOptions\" */ },\n\t/*::[*/0x01DE/*::]*/: { /* n:\"BrtPageSetup\" */ },\n\t/*::[*/0x01DF/*::]*/: { /* n:\"BrtBeginHeaderFooter\", */ T:1 },\n\t/*::[*/0x01E0/*::]*/: { /* n:\"BrtEndHeaderFooter\", */ T:-1 },\n\t/*::[*/0x01E1/*::]*/: { /* n:\"BrtBeginSXCrtFormat\", */ T:1 },\n\t/*::[*/0x01E2/*::]*/: { /* n:\"BrtEndSXCrtFormat\", */ T:-1 },\n\t/*::[*/0x01E3/*::]*/: { /* n:\"BrtBeginSXCrtFormats\", */ T:1 },\n\t/*::[*/0x01E4/*::]*/: { /* n:\"BrtEndSXCrtFormats\", */ T:-1 },\n\t/*::[*/0x01E5/*::]*/: { /* n:\"BrtWsFmtInfo\", */ f:parse_BrtWsFmtInfo },\n\t/*::[*/0x01E6/*::]*/: { /* n:\"BrtBeginMgs\", */ T:1 },\n\t/*::[*/0x01E7/*::]*/: { /* n:\"BrtEndMGs\", */ T:-1 },\n\t/*::[*/0x01E8/*::]*/: { /* n:\"BrtBeginMGMaps\", */ T:1 },\n\t/*::[*/0x01E9/*::]*/: { /* n:\"BrtEndMGMaps\", */ T:-1 },\n\t/*::[*/0x01EA/*::]*/: { /* n:\"BrtBeginMG\", */ T:1 },\n\t/*::[*/0x01EB/*::]*/: { /* n:\"BrtEndMG\", */ T:-1 },\n\t/*::[*/0x01EC/*::]*/: { /* n:\"BrtBeginMap\", */ T:1 },\n\t/*::[*/0x01ED/*::]*/: { /* n:\"BrtEndMap\", */ T:-1 },\n\t/*::[*/0x01EE/*::]*/: { /* n:\"BrtHLink\", */ f:parse_BrtHLink },\n\t/*::[*/0x01EF/*::]*/: { /* n:\"BrtBeginDCon\", */ T:1 },\n\t/*::[*/0x01F0/*::]*/: { /* n:\"BrtEndDCon\", */ T:-1 },\n\t/*::[*/0x01F1/*::]*/: { /* n:\"BrtBeginDRefs\", */ T:1 },\n\t/*::[*/0x01F2/*::]*/: { /* n:\"BrtEndDRefs\", */ T:-1 },\n\t/*::[*/0x01F3/*::]*/: { /* n:\"BrtDRef\" */ },\n\t/*::[*/0x01F4/*::]*/: { /* n:\"BrtBeginScenMan\", */ T:1 },\n\t/*::[*/0x01F5/*::]*/: { /* n:\"BrtEndScenMan\", */ T:-1 },\n\t/*::[*/0x01F6/*::]*/: { /* n:\"BrtBeginSct\", */ T:1 },\n\t/*::[*/0x01F7/*::]*/: { /* n:\"BrtEndSct\", */ T:-1 },\n\t/*::[*/0x01F8/*::]*/: { /* n:\"BrtSlc\" */ },\n\t/*::[*/0x01F9/*::]*/: { /* n:\"BrtBeginDXFs\", */ T:1 },\n\t/*::[*/0x01FA/*::]*/: { /* n:\"BrtEndDXFs\", */ T:-1 },\n\t/*::[*/0x01FB/*::]*/: { /* n:\"BrtDXF\" */ },\n\t/*::[*/0x01FC/*::]*/: { /* n:\"BrtBeginTableStyles\", */ T:1 },\n\t/*::[*/0x01FD/*::]*/: { /* n:\"BrtEndTableStyles\", */ T:-1 },\n\t/*::[*/0x01FE/*::]*/: { /* n:\"BrtBeginTableStyle\", */ T:1 },\n\t/*::[*/0x01FF/*::]*/: { /* n:\"BrtEndTableStyle\", */ T:-1 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"BrtTableStyleElement\" */ },\n\t/*::[*/0x0201/*::]*/: { /* n:\"BrtTableStyleClient\" */ },\n\t/*::[*/0x0202/*::]*/: { /* n:\"BrtBeginVolDeps\", */ T:1 },\n\t/*::[*/0x0203/*::]*/: { /* n:\"BrtEndVolDeps\", */ T:-1 },\n\t/*::[*/0x0204/*::]*/: { /* n:\"BrtBeginVolType\", */ T:1 },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BrtEndVolType\", */ T:-1 },\n\t/*::[*/0x0206/*::]*/: { /* n:\"BrtBeginVolMain\", */ T:1 },\n\t/*::[*/0x0207/*::]*/: { /* n:\"BrtEndVolMain\", */ T:-1 },\n\t/*::[*/0x0208/*::]*/: { /* n:\"BrtBeginVolTopic\", */ T:1 },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BrtEndVolTopic\", */ T:-1 },\n\t/*::[*/0x020A/*::]*/: { /* n:\"BrtVolSubtopic\" */ },\n\t/*::[*/0x020B/*::]*/: { /* n:\"BrtVolRef\" */ },\n\t/*::[*/0x020C/*::]*/: { /* n:\"BrtVolNum\" */ },\n\t/*::[*/0x020D/*::]*/: { /* n:\"BrtVolErr\" */ },\n\t/*::[*/0x020E/*::]*/: { /* n:\"BrtVolStr\" */ },\n\t/*::[*/0x020F/*::]*/: { /* n:\"BrtVolBool\" */ },\n\t/*::[*/0x0210/*::]*/: { /* n:\"BrtBeginCalcChain$\", */ T:1 },\n\t/*::[*/0x0211/*::]*/: { /* n:\"BrtEndCalcChain$\", */ T:-1 },\n\t/*::[*/0x0212/*::]*/: { /* n:\"BrtBeginSortState\", */ T:1 },\n\t/*::[*/0x0213/*::]*/: { /* n:\"BrtEndSortState\", */ T:-1 },\n\t/*::[*/0x0214/*::]*/: { /* n:\"BrtBeginSortCond\", */ T:1 },\n\t/*::[*/0x0215/*::]*/: { /* n:\"BrtEndSortCond\", */ T:-1 },\n\t/*::[*/0x0216/*::]*/: { /* n:\"BrtBookProtection\" */ },\n\t/*::[*/0x0217/*::]*/: { /* n:\"BrtSheetProtection\" */ },\n\t/*::[*/0x0218/*::]*/: { /* n:\"BrtRangeProtection\" */ },\n\t/*::[*/0x0219/*::]*/: { /* n:\"BrtPhoneticInfo\" */ },\n\t/*::[*/0x021A/*::]*/: { /* n:\"BrtBeginECTxtWiz\", */ T:1 },\n\t/*::[*/0x021B/*::]*/: { /* n:\"BrtEndECTxtWiz\", */ T:-1 },\n\t/*::[*/0x021C/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst\", */ T:1 },\n\t/*::[*/0x021D/*::]*/: { /* n:\"BrtEndECTWFldInfoLst\", */ T:-1 },\n\t/*::[*/0x021E/*::]*/: { /* n:\"BrtBeginECTwFldInfo\", */ T:1 },\n\t/*::[*/0x0224/*::]*/: { /* n:\"BrtFileSharing\" */ },\n\t/*::[*/0x0225/*::]*/: { /* n:\"BrtOleSize\" */ },\n\t/*::[*/0x0226/*::]*/: { /* n:\"BrtDrawing\", */ f:parse_RelID },\n\t/*::[*/0x0227/*::]*/: { /* n:\"BrtLegacyDrawing\" */ },\n\t/*::[*/0x0228/*::]*/: { /* n:\"BrtLegacyDrawingHF\" */ },\n\t/*::[*/0x0229/*::]*/: { /* n:\"BrtWebOpt\" */ },\n\t/*::[*/0x022A/*::]*/: { /* n:\"BrtBeginWebPubItems\", */ T:1 },\n\t/*::[*/0x022B/*::]*/: { /* n:\"BrtEndWebPubItems\", */ T:-1 },\n\t/*::[*/0x022C/*::]*/: { /* n:\"BrtBeginWebPubItem\", */ T:1 },\n\t/*::[*/0x022D/*::]*/: { /* n:\"BrtEndWebPubItem\", */ T:-1 },\n\t/*::[*/0x022E/*::]*/: { /* n:\"BrtBeginSXCondFmt\", */ T:1 },\n\t/*::[*/0x022F/*::]*/: { /* n:\"BrtEndSXCondFmt\", */ T:-1 },\n\t/*::[*/0x0230/*::]*/: { /* n:\"BrtBeginSXCondFmts\", */ T:1 },\n\t/*::[*/0x0231/*::]*/: { /* n:\"BrtEndSXCondFmts\", */ T:-1 },\n\t/*::[*/0x0232/*::]*/: { /* n:\"BrtBkHim\" */ },\n\t/*::[*/0x0234/*::]*/: { /* n:\"BrtColor\" */ },\n\t/*::[*/0x0235/*::]*/: { /* n:\"BrtBeginIndexedColors\", */ T:1 },\n\t/*::[*/0x0236/*::]*/: { /* n:\"BrtEndIndexedColors\", */ T:-1 },\n\t/*::[*/0x0239/*::]*/: { /* n:\"BrtBeginMRUColors\", */ T:1 },\n\t/*::[*/0x023A/*::]*/: { /* n:\"BrtEndMRUColors\", */ T:-1 },\n\t/*::[*/0x023C/*::]*/: { /* n:\"BrtMRUColor\" */ },\n\t/*::[*/0x023D/*::]*/: { /* n:\"BrtBeginDVals\", */ T:1 },\n\t/*::[*/0x023E/*::]*/: { /* n:\"BrtEndDVals\", */ T:-1 },\n\t/*::[*/0x0241/*::]*/: { /* n:\"BrtSupNameStart\" */ },\n\t/*::[*/0x0242/*::]*/: { /* n:\"BrtSupNameValueStart\" */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BrtSupNameValueEnd\" */ },\n\t/*::[*/0x0244/*::]*/: { /* n:\"BrtSupNameNum\" */ },\n\t/*::[*/0x0245/*::]*/: { /* n:\"BrtSupNameErr\" */ },\n\t/*::[*/0x0246/*::]*/: { /* n:\"BrtSupNameSt\" */ },\n\t/*::[*/0x0247/*::]*/: { /* n:\"BrtSupNameNil\" */ },\n\t/*::[*/0x0248/*::]*/: { /* n:\"BrtSupNameBool\" */ },\n\t/*::[*/0x0249/*::]*/: { /* n:\"BrtSupNameFmla\" */ },\n\t/*::[*/0x024A/*::]*/: { /* n:\"BrtSupNameBits\" */ },\n\t/*::[*/0x024B/*::]*/: { /* n:\"BrtSupNameEnd\" */ },\n\t/*::[*/0x024C/*::]*/: { /* n:\"BrtEndSupBook\", */ T:-1 },\n\t/*::[*/0x024D/*::]*/: { /* n:\"BrtCellSmartTagProperty\" */ },\n\t/*::[*/0x024E/*::]*/: { /* n:\"BrtBeginCellSmartTag\", */ T:1 },\n\t/*::[*/0x024F/*::]*/: { /* n:\"BrtEndCellSmartTag\", */ T:-1 },\n\t/*::[*/0x0250/*::]*/: { /* n:\"BrtBeginCellSmartTags\", */ T:1 },\n\t/*::[*/0x0251/*::]*/: { /* n:\"BrtEndCellSmartTags\", */ T:-1 },\n\t/*::[*/0x0252/*::]*/: { /* n:\"BrtBeginSmartTags\", */ T:1 },\n\t/*::[*/0x0253/*::]*/: { /* n:\"BrtEndSmartTags\", */ T:-1 },\n\t/*::[*/0x0254/*::]*/: { /* n:\"BrtSmartTagType\" */ },\n\t/*::[*/0x0255/*::]*/: { /* n:\"BrtBeginSmartTagTypes\", */ T:1 },\n\t/*::[*/0x0256/*::]*/: { /* n:\"BrtEndSmartTagTypes\", */ T:-1 },\n\t/*::[*/0x0257/*::]*/: { /* n:\"BrtBeginSXFilters\", */ T:1 },\n\t/*::[*/0x0258/*::]*/: { /* n:\"BrtEndSXFilters\", */ T:-1 },\n\t/*::[*/0x0259/*::]*/: { /* n:\"BrtBeginSXFILTER\", */ T:1 },\n\t/*::[*/0x025A/*::]*/: { /* n:\"BrtEndSXFilter\", */ T:-1 },\n\t/*::[*/0x025B/*::]*/: { /* n:\"BrtBeginFills\", */ T:1 },\n\t/*::[*/0x025C/*::]*/: { /* n:\"BrtEndFills\", */ T:-1 },\n\t/*::[*/0x025D/*::]*/: { /* n:\"BrtBeginCellWatches\", */ T:1 },\n\t/*::[*/0x025E/*::]*/: { /* n:\"BrtEndCellWatches\", */ T:-1 },\n\t/*::[*/0x025F/*::]*/: { /* n:\"BrtCellWatch\" */ },\n\t/*::[*/0x0260/*::]*/: { /* n:\"BrtBeginCRErrs\", */ T:1 },\n\t/*::[*/0x0261/*::]*/: { /* n:\"BrtEndCRErrs\", */ T:-1 },\n\t/*::[*/0x0262/*::]*/: { /* n:\"BrtCrashRecErr\" */ },\n\t/*::[*/0x0263/*::]*/: { /* n:\"BrtBeginFonts\", */ T:1 },\n\t/*::[*/0x0264/*::]*/: { /* n:\"BrtEndFonts\", */ T:-1 },\n\t/*::[*/0x0265/*::]*/: { /* n:\"BrtBeginBorders\", */ T:1 },\n\t/*::[*/0x0266/*::]*/: { /* n:\"BrtEndBorders\", */ T:-1 },\n\t/*::[*/0x0267/*::]*/: { /* n:\"BrtBeginFmts\", */ T:1 },\n\t/*::[*/0x0268/*::]*/: { /* n:\"BrtEndFmts\", */ T:-1 },\n\t/*::[*/0x0269/*::]*/: { /* n:\"BrtBeginCellXFs\", */ T:1 },\n\t/*::[*/0x026A/*::]*/: { /* n:\"BrtEndCellXFs\", */ T:-1 },\n\t/*::[*/0x026B/*::]*/: { /* n:\"BrtBeginStyles\", */ T:1 },\n\t/*::[*/0x026C/*::]*/: { /* n:\"BrtEndStyles\", */ T:-1 },\n\t/*::[*/0x0271/*::]*/: { /* n:\"BrtBigName\" */ },\n\t/*::[*/0x0272/*::]*/: { /* n:\"BrtBeginCellStyleXFs\", */ T:1 },\n\t/*::[*/0x0273/*::]*/: { /* n:\"BrtEndCellStyleXFs\", */ T:-1 },\n\t/*::[*/0x0274/*::]*/: { /* n:\"BrtBeginComments\", */ T:1 },\n\t/*::[*/0x0275/*::]*/: { /* n:\"BrtEndComments\", */ T:-1 },\n\t/*::[*/0x0276/*::]*/: { /* n:\"BrtBeginCommentAuthors\", */ T:1 },\n\t/*::[*/0x0277/*::]*/: { /* n:\"BrtEndCommentAuthors\", */ T:-1 },\n\t/*::[*/0x0278/*::]*/: { /* n:\"BrtCommentAuthor\", */ f:parse_BrtCommentAuthor },\n\t/*::[*/0x0279/*::]*/: { /* n:\"BrtBeginCommentList\", */ T:1 },\n\t/*::[*/0x027A/*::]*/: { /* n:\"BrtEndCommentList\", */ T:-1 },\n\t/*::[*/0x027B/*::]*/: { /* n:\"BrtBeginComment\", */ T:1, f:parse_BrtBeginComment},\n\t/*::[*/0x027C/*::]*/: { /* n:\"BrtEndComment\", */ T:-1 },\n\t/*::[*/0x027D/*::]*/: { /* n:\"BrtCommentText\", */ f:parse_BrtCommentText },\n\t/*::[*/0x027E/*::]*/: { /* n:\"BrtBeginOleObjects\", */ T:1 },\n\t/*::[*/0x027F/*::]*/: { /* n:\"BrtOleObject\" */ },\n\t/*::[*/0x0280/*::]*/: { /* n:\"BrtEndOleObjects\", */ T:-1 },\n\t/*::[*/0x0281/*::]*/: { /* n:\"BrtBeginSxrules\", */ T:1 },\n\t/*::[*/0x0282/*::]*/: { /* n:\"BrtEndSxRules\", */ T:-1 },\n\t/*::[*/0x0283/*::]*/: { /* n:\"BrtBeginActiveXControls\", */ T:1 },\n\t/*::[*/0x0284/*::]*/: { /* n:\"BrtActiveX\" */ },\n\t/*::[*/0x0285/*::]*/: { /* n:\"BrtEndActiveXControls\", */ T:-1 },\n\t/*::[*/0x0286/*::]*/: { /* n:\"BrtBeginPCDSDTCEMembersSortBy\", */ T:1 },\n\t/*::[*/0x0288/*::]*/: { /* n:\"BrtBeginCellIgnoreECs\", */ T:1 },\n\t/*::[*/0x0289/*::]*/: { /* n:\"BrtCellIgnoreEC\" */ },\n\t/*::[*/0x028A/*::]*/: { /* n:\"BrtEndCellIgnoreECs\", */ T:-1 },\n\t/*::[*/0x028B/*::]*/: { /* n:\"BrtCsProp\", */ f:parse_BrtCsProp },\n\t/*::[*/0x028C/*::]*/: { /* n:\"BrtCsPageSetup\" */ },\n\t/*::[*/0x028D/*::]*/: { /* n:\"BrtBeginUserCsViews\", */ T:1 },\n\t/*::[*/0x028E/*::]*/: { /* n:\"BrtEndUserCsViews\", */ T:-1 },\n\t/*::[*/0x028F/*::]*/: { /* n:\"BrtBeginUserCsView\", */ T:1 },\n\t/*::[*/0x0290/*::]*/: { /* n:\"BrtEndUserCsView\", */ T:-1 },\n\t/*::[*/0x0291/*::]*/: { /* n:\"BrtBeginPcdSFCIEntries\", */ T:1 },\n\t/*::[*/0x0292/*::]*/: { /* n:\"BrtEndPCDSFCIEntries\", */ T:-1 },\n\t/*::[*/0x0293/*::]*/: { /* n:\"BrtPCDSFCIEntry\" */ },\n\t/*::[*/0x0294/*::]*/: { /* n:\"BrtBeginListParts\", */ T:1 },\n\t/*::[*/0x0295/*::]*/: { /* n:\"BrtListPart\" */ },\n\t/*::[*/0x0296/*::]*/: { /* n:\"BrtEndListParts\", */ T:-1 },\n\t/*::[*/0x0297/*::]*/: { /* n:\"BrtSheetCalcProp\" */ },\n\t/*::[*/0x0298/*::]*/: { /* n:\"BrtBeginFnGroup\", */ T:1 },\n\t/*::[*/0x0299/*::]*/: { /* n:\"BrtFnGroup\" */ },\n\t/*::[*/0x029A/*::]*/: { /* n:\"BrtEndFnGroup\", */ T:-1 },\n\t/*::[*/0x029B/*::]*/: { /* n:\"BrtSupAddin\" */ },\n\t/*::[*/0x029C/*::]*/: { /* n:\"BrtSXTDMPOrder\" */ },\n\t/*::[*/0x029D/*::]*/: { /* n:\"BrtCsProtection\" */ },\n\t/*::[*/0x029F/*::]*/: { /* n:\"BrtBeginWsSortMap\", */ T:1 },\n\t/*::[*/0x02A0/*::]*/: { /* n:\"BrtEndWsSortMap\", */ T:-1 },\n\t/*::[*/0x02A1/*::]*/: { /* n:\"BrtBeginRRSort\", */ T:1 },\n\t/*::[*/0x02A2/*::]*/: { /* n:\"BrtEndRRSort\", */ T:-1 },\n\t/*::[*/0x02A3/*::]*/: { /* n:\"BrtRRSortItem\" */ },\n\t/*::[*/0x02A4/*::]*/: { /* n:\"BrtFileSharingIso\" */ },\n\t/*::[*/0x02A5/*::]*/: { /* n:\"BrtBookProtectionIso\" */ },\n\t/*::[*/0x02A6/*::]*/: { /* n:\"BrtSheetProtectionIso\" */ },\n\t/*::[*/0x02A7/*::]*/: { /* n:\"BrtCsProtectionIso\" */ },\n\t/*::[*/0x02A8/*::]*/: { /* n:\"BrtRangeProtectionIso\" */ },\n\t/*::[*/0x02A9/*::]*/: { /* n:\"BrtDValList\" */ },\n\t/*::[*/0x0400/*::]*/: { /* n:\"BrtRwDescent\" */ },\n\t/*::[*/0x0401/*::]*/: { /* n:\"BrtKnownFonts\" */ },\n\t/*::[*/0x0402/*::]*/: { /* n:\"BrtBeginSXTupleSet\", */ T:1 },\n\t/*::[*/0x0403/*::]*/: { /* n:\"BrtEndSXTupleSet\", */ T:-1 },\n\t/*::[*/0x0404/*::]*/: { /* n:\"BrtBeginSXTupleSetHeader\", */ T:1 },\n\t/*::[*/0x0405/*::]*/: { /* n:\"BrtEndSXTupleSetHeader\", */ T:-1 },\n\t/*::[*/0x0406/*::]*/: { /* n:\"BrtSXTupleSetHeaderItem\" */ },\n\t/*::[*/0x0407/*::]*/: { /* n:\"BrtBeginSXTupleSetData\", */ T:1 },\n\t/*::[*/0x0408/*::]*/: { /* n:\"BrtEndSXTupleSetData\", */ T:-1 },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BrtBeginSXTupleSetRow\", */ T:1 },\n\t/*::[*/0x040A/*::]*/: { /* n:\"BrtEndSXTupleSetRow\", */ T:-1 },\n\t/*::[*/0x040B/*::]*/: { /* n:\"BrtSXTupleSetRowItem\" */ },\n\t/*::[*/0x040C/*::]*/: { /* n:\"BrtNameExt\" */ },\n\t/*::[*/0x040D/*::]*/: { /* n:\"BrtPCDH14\" */ },\n\t/*::[*/0x040E/*::]*/: { /* n:\"BrtBeginPCDCalcMem14\", */ T:1 },\n\t/*::[*/0x040F/*::]*/: { /* n:\"BrtEndPCDCalcMem14\", */ T:-1 },\n\t/*::[*/0x0410/*::]*/: { /* n:\"BrtSXTH14\" */ },\n\t/*::[*/0x0411/*::]*/: { /* n:\"BrtBeginSparklineGroup\", */ T:1 },\n\t/*::[*/0x0412/*::]*/: { /* n:\"BrtEndSparklineGroup\", */ T:-1 },\n\t/*::[*/0x0413/*::]*/: { /* n:\"BrtSparkline\" */ },\n\t/*::[*/0x0414/*::]*/: { /* n:\"BrtSXDI14\" */ },\n\t/*::[*/0x0415/*::]*/: { /* n:\"BrtWsFmtInfoEx14\" */ },\n\t/*::[*/0x0416/*::]*/: { /* n:\"BrtBeginConditionalFormatting14\", */ T:1 },\n\t/*::[*/0x0417/*::]*/: { /* n:\"BrtEndConditionalFormatting14\", */ T:-1 },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BrtBeginCFRule14\", */ T:1 },\n\t/*::[*/0x0419/*::]*/: { /* n:\"BrtEndCFRule14\", */ T:-1 },\n\t/*::[*/0x041A/*::]*/: { /* n:\"BrtCFVO14\" */ },\n\t/*::[*/0x041B/*::]*/: { /* n:\"BrtBeginDatabar14\", */ T:1 },\n\t/*::[*/0x041C/*::]*/: { /* n:\"BrtBeginIconSet14\", */ T:1 },\n\t/*::[*/0x041D/*::]*/: { /* n:\"BrtDVal14\", */ f: parse_BrtDVal14 },\n\t/*::[*/0x041E/*::]*/: { /* n:\"BrtBeginDVals14\", */ T:1 },\n\t/*::[*/0x041F/*::]*/: { /* n:\"BrtColor14\" */ },\n\t/*::[*/0x0420/*::]*/: { /* n:\"BrtBeginSparklines\", */ T:1 },\n\t/*::[*/0x0421/*::]*/: { /* n:\"BrtEndSparklines\", */ T:-1 },\n\t/*::[*/0x0422/*::]*/: { /* n:\"BrtBeginSparklineGroups\", */ T:1 },\n\t/*::[*/0x0423/*::]*/: { /* n:\"BrtEndSparklineGroups\", */ T:-1 },\n\t/*::[*/0x0425/*::]*/: { /* n:\"BrtSXVD14\" */ },\n\t/*::[*/0x0426/*::]*/: { /* n:\"BrtBeginSXView14\", */ T:1 },\n\t/*::[*/0x0427/*::]*/: { /* n:\"BrtEndSXView14\", */ T:-1 },\n\t/*::[*/0x0428/*::]*/: { /* n:\"BrtBeginSXView16\", */ T:1 },\n\t/*::[*/0x0429/*::]*/: { /* n:\"BrtEndSXView16\", */ T:-1 },\n\t/*::[*/0x042A/*::]*/: { /* n:\"BrtBeginPCD14\", */ T:1 },\n\t/*::[*/0x042B/*::]*/: { /* n:\"BrtEndPCD14\", */ T:-1 },\n\t/*::[*/0x042C/*::]*/: { /* n:\"BrtBeginExtConn14\", */ T:1 },\n\t/*::[*/0x042D/*::]*/: { /* n:\"BrtEndExtConn14\", */ T:-1 },\n\t/*::[*/0x042E/*::]*/: { /* n:\"BrtBeginSlicerCacheIDs\", */ T:1 },\n\t/*::[*/0x042F/*::]*/: { /* n:\"BrtEndSlicerCacheIDs\", */ T:-1 },\n\t/*::[*/0x0430/*::]*/: { /* n:\"BrtBeginSlicerCacheID\", */ T:1 },\n\t/*::[*/0x0431/*::]*/: { /* n:\"BrtEndSlicerCacheID\", */ T:-1 },\n\t/*::[*/0x0433/*::]*/: { /* n:\"BrtBeginSlicerCache\", */ T:1 },\n\t/*::[*/0x0434/*::]*/: { /* n:\"BrtEndSlicerCache\", */ T:-1 },\n\t/*::[*/0x0435/*::]*/: { /* n:\"BrtBeginSlicerCacheDef\", */ T:1 },\n\t/*::[*/0x0436/*::]*/: { /* n:\"BrtEndSlicerCacheDef\", */ T:-1 },\n\t/*::[*/0x0437/*::]*/: { /* n:\"BrtBeginSlicersEx\", */ T:1 },\n\t/*::[*/0x0438/*::]*/: { /* n:\"BrtEndSlicersEx\", */ T:-1 },\n\t/*::[*/0x0439/*::]*/: { /* n:\"BrtBeginSlicerEx\", */ T:1 },\n\t/*::[*/0x043A/*::]*/: { /* n:\"BrtEndSlicerEx\", */ T:-1 },\n\t/*::[*/0x043B/*::]*/: { /* n:\"BrtBeginSlicer\", */ T:1 },\n\t/*::[*/0x043C/*::]*/: { /* n:\"BrtEndSlicer\", */ T:-1 },\n\t/*::[*/0x043D/*::]*/: { /* n:\"BrtSlicerCachePivotTables\" */ },\n\t/*::[*/0x043E/*::]*/: { /* n:\"BrtBeginSlicerCacheOlapImpl\", */ T:1 },\n\t/*::[*/0x043F/*::]*/: { /* n:\"BrtEndSlicerCacheOlapImpl\", */ T:-1 },\n\t/*::[*/0x0440/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelsData\", */ T:1 },\n\t/*::[*/0x0441/*::]*/: { /* n:\"BrtEndSlicerCacheLevelsData\", */ T:-1 },\n\t/*::[*/0x0442/*::]*/: { /* n:\"BrtBeginSlicerCacheLevelData\", */ T:1 },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BrtEndSlicerCacheLevelData\", */ T:-1 },\n\t/*::[*/0x0444/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRanges\", */ T:1 },\n\t/*::[*/0x0445/*::]*/: { /* n:\"BrtEndSlicerCacheSiRanges\", */ T:-1 },\n\t/*::[*/0x0446/*::]*/: { /* n:\"BrtBeginSlicerCacheSiRange\", */ T:1 },\n\t/*::[*/0x0447/*::]*/: { /* n:\"BrtEndSlicerCacheSiRange\", */ T:-1 },\n\t/*::[*/0x0448/*::]*/: { /* n:\"BrtSlicerCacheOlapItem\" */ },\n\t/*::[*/0x0449/*::]*/: { /* n:\"BrtBeginSlicerCacheSelections\", */ T:1 },\n\t/*::[*/0x044A/*::]*/: { /* n:\"BrtSlicerCacheSelection\" */ },\n\t/*::[*/0x044B/*::]*/: { /* n:\"BrtEndSlicerCacheSelections\", */ T:-1 },\n\t/*::[*/0x044C/*::]*/: { /* n:\"BrtBeginSlicerCacheNative\", */ T:1 },\n\t/*::[*/0x044D/*::]*/: { /* n:\"BrtEndSlicerCacheNative\", */ T:-1 },\n\t/*::[*/0x044E/*::]*/: { /* n:\"BrtSlicerCacheNativeItem\" */ },\n\t/*::[*/0x044F/*::]*/: { /* n:\"BrtRangeProtection14\" */ },\n\t/*::[*/0x0450/*::]*/: { /* n:\"BrtRangeProtectionIso14\" */ },\n\t/*::[*/0x0451/*::]*/: { /* n:\"BrtCellIgnoreEC14\" */ },\n\t/*::[*/0x0457/*::]*/: { /* n:\"BrtList14\" */ },\n\t/*::[*/0x0458/*::]*/: { /* n:\"BrtCFIcon\" */ },\n\t/*::[*/0x0459/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x045A/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x045B/*::]*/: { /* n:\"BrtBeginSlicers\", */ T:1 },\n\t/*::[*/0x045C/*::]*/: { /* n:\"BrtEndSlicers\", */ T:-1 },\n\t/*::[*/0x045D/*::]*/: { /* n:\"BrtWbProp14\" */ },\n\t/*::[*/0x045E/*::]*/: { /* n:\"BrtBeginSXEdit\", */ T:1 },\n\t/*::[*/0x045F/*::]*/: { /* n:\"BrtEndSXEdit\", */ T:-1 },\n\t/*::[*/0x0460/*::]*/: { /* n:\"BrtBeginSXEdits\", */ T:1 },\n\t/*::[*/0x0461/*::]*/: { /* n:\"BrtEndSXEdits\", */ T:-1 },\n\t/*::[*/0x0462/*::]*/: { /* n:\"BrtBeginSXChange\", */ T:1 },\n\t/*::[*/0x0463/*::]*/: { /* n:\"BrtEndSXChange\", */ T:-1 },\n\t/*::[*/0x0464/*::]*/: { /* n:\"BrtBeginSXChanges\", */ T:1 },\n\t/*::[*/0x0465/*::]*/: { /* n:\"BrtEndSXChanges\", */ T:-1 },\n\t/*::[*/0x0466/*::]*/: { /* n:\"BrtSXTupleItems\" */ },\n\t/*::[*/0x0468/*::]*/: { /* n:\"BrtBeginSlicerStyle\", */ T:1 },\n\t/*::[*/0x0469/*::]*/: { /* n:\"BrtEndSlicerStyle\", */ T:-1 },\n\t/*::[*/0x046A/*::]*/: { /* n:\"BrtSlicerStyleElement\" */ },\n\t/*::[*/0x046B/*::]*/: { /* n:\"BrtBeginStyleSheetExt14\", */ T:1 },\n\t/*::[*/0x046C/*::]*/: { /* n:\"BrtEndStyleSheetExt14\", */ T:-1 },\n\t/*::[*/0x046D/*::]*/: { /* n:\"BrtBeginSlicerCachesPivotCacheID\", */ T:1 },\n\t/*::[*/0x046E/*::]*/: { /* n:\"BrtEndSlicerCachesPivotCacheID\", */ T:-1 },\n\t/*::[*/0x046F/*::]*/: { /* n:\"BrtBeginConditionalFormattings\", */ T:1 },\n\t/*::[*/0x0470/*::]*/: { /* n:\"BrtEndConditionalFormattings\", */ T:-1 },\n\t/*::[*/0x0471/*::]*/: { /* n:\"BrtBeginPCDCalcMemExt\", */ T:1 },\n\t/*::[*/0x0472/*::]*/: { /* n:\"BrtEndPCDCalcMemExt\", */ T:-1 },\n\t/*::[*/0x0473/*::]*/: { /* n:\"BrtBeginPCDCalcMemsExt\", */ T:1 },\n\t/*::[*/0x0474/*::]*/: { /* n:\"BrtEndPCDCalcMemsExt\", */ T:-1 },\n\t/*::[*/0x0475/*::]*/: { /* n:\"BrtPCDField14\" */ },\n\t/*::[*/0x0476/*::]*/: { /* n:\"BrtBeginSlicerStyles\", */ T:1 },\n\t/*::[*/0x0477/*::]*/: { /* n:\"BrtEndSlicerStyles\", */ T:-1 },\n\t/*::[*/0x0478/*::]*/: { /* n:\"BrtBeginSlicerStyleElements\", */ T:1 },\n\t/*::[*/0x0479/*::]*/: { /* n:\"BrtEndSlicerStyleElements\", */ T:-1 },\n\t/*::[*/0x047A/*::]*/: { /* n:\"BrtCFRuleExt\" */ },\n\t/*::[*/0x047B/*::]*/: { /* n:\"BrtBeginSXCondFmt14\", */ T:1 },\n\t/*::[*/0x047C/*::]*/: { /* n:\"BrtEndSXCondFmt14\", */ T:-1 },\n\t/*::[*/0x047D/*::]*/: { /* n:\"BrtBeginSXCondFmts14\", */ T:1 },\n\t/*::[*/0x047E/*::]*/: { /* n:\"BrtEndSXCondFmts14\", */ T:-1 },\n\t/*::[*/0x0480/*::]*/: { /* n:\"BrtBeginSortCond14\", */ T:1 },\n\t/*::[*/0x0481/*::]*/: { /* n:\"BrtEndSortCond14\", */ T:-1 },\n\t/*::[*/0x0482/*::]*/: { /* n:\"BrtEndDVals14\", */ T:-1 },\n\t/*::[*/0x0483/*::]*/: { /* n:\"BrtEndIconSet14\", */ T:-1 },\n\t/*::[*/0x0484/*::]*/: { /* n:\"BrtEndDatabar14\", */ T:-1 },\n\t/*::[*/0x0485/*::]*/: { /* n:\"BrtBeginColorScale14\", */ T:1 },\n\t/*::[*/0x0486/*::]*/: { /* n:\"BrtEndColorScale14\", */ T:-1 },\n\t/*::[*/0x0487/*::]*/: { /* n:\"BrtBeginSxrules14\", */ T:1 },\n\t/*::[*/0x0488/*::]*/: { /* n:\"BrtEndSxrules14\", */ T:-1 },\n\t/*::[*/0x0489/*::]*/: { /* n:\"BrtBeginPRule14\", */ T:1 },\n\t/*::[*/0x048A/*::]*/: { /* n:\"BrtEndPRule14\", */ T:-1 },\n\t/*::[*/0x048B/*::]*/: { /* n:\"BrtBeginPRFilters14\", */ T:1 },\n\t/*::[*/0x048C/*::]*/: { /* n:\"BrtEndPRFilters14\", */ T:-1 },\n\t/*::[*/0x048D/*::]*/: { /* n:\"BrtBeginPRFilter14\", */ T:1 },\n\t/*::[*/0x048E/*::]*/: { /* n:\"BrtEndPRFilter14\", */ T:-1 },\n\t/*::[*/0x048F/*::]*/: { /* n:\"BrtBeginPRFItem14\", */ T:1 },\n\t/*::[*/0x0490/*::]*/: { /* n:\"BrtEndPRFItem14\", */ T:-1 },\n\t/*::[*/0x0491/*::]*/: { /* n:\"BrtBeginCellIgnoreECs14\", */ T:1 },\n\t/*::[*/0x0492/*::]*/: { /* n:\"BrtEndCellIgnoreECs14\", */ T:-1 },\n\t/*::[*/0x0493/*::]*/: { /* n:\"BrtDxf14\" */ },\n\t/*::[*/0x0494/*::]*/: { /* n:\"BrtBeginDxF14s\", */ T:1 },\n\t/*::[*/0x0495/*::]*/: { /* n:\"BrtEndDxf14s\", */ T:-1 },\n\t/*::[*/0x0499/*::]*/: { /* n:\"BrtFilter14\" */ },\n\t/*::[*/0x049A/*::]*/: { /* n:\"BrtBeginCustomFilters14\", */ T:1 },\n\t/*::[*/0x049C/*::]*/: { /* n:\"BrtCustomFilter14\" */ },\n\t/*::[*/0x049D/*::]*/: { /* n:\"BrtIconFilter14\" */ },\n\t/*::[*/0x049E/*::]*/: { /* n:\"BrtPivotCacheConnectionName\" */ },\n\t/*::[*/0x0800/*::]*/: { /* n:\"BrtBeginDecoupledPivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0801/*::]*/: { /* n:\"BrtEndDecoupledPivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0802/*::]*/: { /* n:\"BrtDecoupledPivotCacheID\" */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"BrtBeginPivotTableRefs\", */ T:1 },\n\t/*::[*/0x0804/*::]*/: { /* n:\"BrtEndPivotTableRefs\", */ T:-1 },\n\t/*::[*/0x0805/*::]*/: { /* n:\"BrtPivotTableRef\" */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"BrtSlicerCacheBookPivotTables\" */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"BrtBeginSxvcells\", */ T:1 },\n\t/*::[*/0x0808/*::]*/: { /* n:\"BrtEndSxvcells\", */ T:-1 },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BrtBeginSxRow\", */ T:1 },\n\t/*::[*/0x080A/*::]*/: { /* n:\"BrtEndSxRow\", */ T:-1 },\n\t/*::[*/0x080C/*::]*/: { /* n:\"BrtPcdCalcMem15\" */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"BrtQsi15\" */ },\n\t/*::[*/0x0814/*::]*/: { /* n:\"BrtBeginWebExtensions\", */ T:1 },\n\t/*::[*/0x0815/*::]*/: { /* n:\"BrtEndWebExtensions\", */ T:-1 },\n\t/*::[*/0x0816/*::]*/: { /* n:\"BrtWebExtension\" */ },\n\t/*::[*/0x0817/*::]*/: { /* n:\"BrtAbsPath15\" */ },\n\t/*::[*/0x0818/*::]*/: { /* n:\"BrtBeginPivotTableUISettings\", */ T:1 },\n\t/*::[*/0x0819/*::]*/: { /* n:\"BrtEndPivotTableUISettings\", */ T:-1 },\n\t/*::[*/0x081B/*::]*/: { /* n:\"BrtTableSlicerCacheIDs\" */ },\n\t/*::[*/0x081C/*::]*/: { /* n:\"BrtTableSlicerCacheID\" */ },\n\t/*::[*/0x081D/*::]*/: { /* n:\"BrtBeginTableSlicerCache\", */ T:1 },\n\t/*::[*/0x081E/*::]*/: { /* n:\"BrtEndTableSlicerCache\", */ T:-1 },\n\t/*::[*/0x081F/*::]*/: { /* n:\"BrtSxFilter15\" */ },\n\t/*::[*/0x0820/*::]*/: { /* n:\"BrtBeginTimelineCachePivotCacheIDs\", */ T:1 },\n\t/*::[*/0x0821/*::]*/: { /* n:\"BrtEndTimelineCachePivotCacheIDs\", */ T:-1 },\n\t/*::[*/0x0822/*::]*/: { /* n:\"BrtTimelineCachePivotCacheID\" */ },\n\t/*::[*/0x0823/*::]*/: { /* n:\"BrtBeginTimelineCacheIDs\", */ T:1 },\n\t/*::[*/0x0824/*::]*/: { /* n:\"BrtEndTimelineCacheIDs\", */ T:-1 },\n\t/*::[*/0x0825/*::]*/: { /* n:\"BrtBeginTimelineCacheID\", */ T:1 },\n\t/*::[*/0x0826/*::]*/: { /* n:\"BrtEndTimelineCacheID\", */ T:-1 },\n\t/*::[*/0x0827/*::]*/: { /* n:\"BrtBeginTimelinesEx\", */ T:1 },\n\t/*::[*/0x0828/*::]*/: { /* n:\"BrtEndTimelinesEx\", */ T:-1 },\n\t/*::[*/0x0829/*::]*/: { /* n:\"BrtBeginTimelineEx\", */ T:1 },\n\t/*::[*/0x082A/*::]*/: { /* n:\"BrtEndTimelineEx\", */ T:-1 },\n\t/*::[*/0x082B/*::]*/: { /* n:\"BrtWorkBookPr15\" */ },\n\t/*::[*/0x082C/*::]*/: { /* n:\"BrtPCDH15\" */ },\n\t/*::[*/0x082D/*::]*/: { /* n:\"BrtBeginTimelineStyle\", */ T:1 },\n\t/*::[*/0x082E/*::]*/: { /* n:\"BrtEndTimelineStyle\", */ T:-1 },\n\t/*::[*/0x082F/*::]*/: { /* n:\"BrtTimelineStyleElement\" */ },\n\t/*::[*/0x0830/*::]*/: { /* n:\"BrtBeginTimelineStylesheetExt15\", */ T:1 },\n\t/*::[*/0x0831/*::]*/: { /* n:\"BrtEndTimelineStylesheetExt15\", */ T:-1 },\n\t/*::[*/0x0832/*::]*/: { /* n:\"BrtBeginTimelineStyles\", */ T:1 },\n\t/*::[*/0x0833/*::]*/: { /* n:\"BrtEndTimelineStyles\", */ T:-1 },\n\t/*::[*/0x0834/*::]*/: { /* n:\"BrtBeginTimelineStyleElements\", */ T:1 },\n\t/*::[*/0x0835/*::]*/: { /* n:\"BrtEndTimelineStyleElements\", */ T:-1 },\n\t/*::[*/0x0836/*::]*/: { /* n:\"BrtDxf15\" */ },\n\t/*::[*/0x0837/*::]*/: { /* n:\"BrtBeginDxfs15\", */ T:1 },\n\t/*::[*/0x0838/*::]*/: { /* n:\"BrtEndDxfs15\", */ T:-1 },\n\t/*::[*/0x0839/*::]*/: { /* n:\"BrtSlicerCacheHideItemsWithNoData\" */ },\n\t/*::[*/0x083A/*::]*/: { /* n:\"BrtBeginItemUniqueNames\", */ T:1 },\n\t/*::[*/0x083B/*::]*/: { /* n:\"BrtEndItemUniqueNames\", */ T:-1 },\n\t/*::[*/0x083C/*::]*/: { /* n:\"BrtItemUniqueName\" */ },\n\t/*::[*/0x083D/*::]*/: { /* n:\"BrtBeginExtConn15\", */ T:1 },\n\t/*::[*/0x083E/*::]*/: { /* n:\"BrtEndExtConn15\", */ T:-1 },\n\t/*::[*/0x083F/*::]*/: { /* n:\"BrtBeginOledbPr15\", */ T:1 },\n\t/*::[*/0x0840/*::]*/: { /* n:\"BrtEndOledbPr15\", */ T:-1 },\n\t/*::[*/0x0841/*::]*/: { /* n:\"BrtBeginDataFeedPr15\", */ T:1 },\n\t/*::[*/0x0842/*::]*/: { /* n:\"BrtEndDataFeedPr15\", */ T:-1 },\n\t/*::[*/0x0843/*::]*/: { /* n:\"BrtTextPr15\" */ },\n\t/*::[*/0x0844/*::]*/: { /* n:\"BrtRangePr15\" */ },\n\t/*::[*/0x0845/*::]*/: { /* n:\"BrtDbCommand15\" */ },\n\t/*::[*/0x0846/*::]*/: { /* n:\"BrtBeginDbTables15\", */ T:1 },\n\t/*::[*/0x0847/*::]*/: { /* n:\"BrtEndDbTables15\", */ T:-1 },\n\t/*::[*/0x0848/*::]*/: { /* n:\"BrtDbTable15\" */ },\n\t/*::[*/0x0849/*::]*/: { /* n:\"BrtBeginDataModel\", */ T:1 },\n\t/*::[*/0x084A/*::]*/: { /* n:\"BrtEndDataModel\", */ T:-1 },\n\t/*::[*/0x084B/*::]*/: { /* n:\"BrtBeginModelTables\", */ T:1 },\n\t/*::[*/0x084C/*::]*/: { /* n:\"BrtEndModelTables\", */ T:-1 },\n\t/*::[*/0x084D/*::]*/: { /* n:\"BrtModelTable\" */ },\n\t/*::[*/0x084E/*::]*/: { /* n:\"BrtBeginModelRelationships\", */ T:1 },\n\t/*::[*/0x084F/*::]*/: { /* n:\"BrtEndModelRelationships\", */ T:-1 },\n\t/*::[*/0x0850/*::]*/: { /* n:\"BrtModelRelationship\" */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"BrtBeginECTxtWiz15\", */ T:1 },\n\t/*::[*/0x0852/*::]*/: { /* n:\"BrtEndECTxtWiz15\", */ T:-1 },\n\t/*::[*/0x0853/*::]*/: { /* n:\"BrtBeginECTWFldInfoLst15\", */ T:1 },\n\t/*::[*/0x0854/*::]*/: { /* n:\"BrtEndECTWFldInfoLst15\", */ T:-1 },\n\t/*::[*/0x0855/*::]*/: { /* n:\"BrtBeginECTWFldInfo15\", */ T:1 },\n\t/*::[*/0x0856/*::]*/: { /* n:\"BrtFieldListActiveItem\" */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"BrtPivotCacheIdVersion\" */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"BrtSXDI15\" */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"BrtBeginModelTimeGroupings\", */ T:1 },\n\t/*::[*/0x085A/*::]*/: { /* n:\"BrtEndModelTimeGroupings\", */ T:-1 },\n\t/*::[*/0x085B/*::]*/: { /* n:\"BrtBeginModelTimeGrouping\", */ T:1 },\n\t/*::[*/0x085C/*::]*/: { /* n:\"BrtEndModelTimeGrouping\", */ T:-1 },\n\t/*::[*/0x085D/*::]*/: { /* n:\"BrtModelTimeGroupingCalcCol\" */ },\n\t/*::[*/0x0C00/*::]*/: { /* n:\"BrtUid\" */ },\n\t/*::[*/0x0C01/*::]*/: { /* n:\"BrtRevisionPtr\" */ },\n\t/*::[*/0x1000/*::]*/: { /* n:\"BrtBeginDynamicArrayPr\", */ T:1 },\n\t/*::[*/0x1001/*::]*/: { /* n:\"BrtEndDynamicArrayPr\", */ T:-1 },\n\t/*::[*/0x138A/*::]*/: { /* n:\"BrtBeginRichValueBlock\", */ T:1 },\n\t/*::[*/0x138B/*::]*/: { /* n:\"BrtEndRichValueBlock\", */ T:-1 },\n\t/*::[*/0x13D9/*::]*/: { /* n:\"BrtBeginRichFilters\", */ T:1 },\n\t/*::[*/0x13DA/*::]*/: { /* n:\"BrtEndRichFilters\", */ T:-1 },\n\t/*::[*/0x13DB/*::]*/: { /* n:\"BrtRichFilter\" */ },\n\t/*::[*/0x13DC/*::]*/: { /* n:\"BrtBeginRichFilterColumn\", */ T:1 },\n\t/*::[*/0x13DD/*::]*/: { /* n:\"BrtEndRichFilterColumn\", */ T:-1 },\n\t/*::[*/0x13DE/*::]*/: { /* n:\"BrtBeginCustomRichFilters\", */ T:1 },\n\t/*::[*/0x13DF/*::]*/: { /* n:\"BrtEndCustomRichFilters\", */ T:-1 },\n\t/*::[*/0x13E0/*::]*/: { /* n:\"BrtCustomRichFilter\" */ },\n\t/*::[*/0x13E1/*::]*/: { /* n:\"BrtTop10RichFilter\" */ },\n\t/*::[*/0x13E2/*::]*/: { /* n:\"BrtDynamicRichFilter\" */ },\n\t/*::[*/0x13E4/*::]*/: { /* n:\"BrtBeginRichSortCondition\", */ T:1 },\n\t/*::[*/0x13E5/*::]*/: { /* n:\"BrtEndRichSortCondition\", */ T:-1 },\n\t/*::[*/0x13E6/*::]*/: { /* n:\"BrtRichFilterDateGroupItem\" */ },\n\t/*::[*/0x13E7/*::]*/: { /* n:\"BrtBeginCalcFeatures\", */ T:1 },\n\t/*::[*/0x13E8/*::]*/: { /* n:\"BrtEndCalcFeatures\", */ T:-1 },\n\t/*::[*/0x13E9/*::]*/: { /* n:\"BrtCalcFeature\" */ },\n\t/*::[*/0x13EB/*::]*/: { /* n:\"BrtExternalLinksPr\" */ },\n\t/*::[*/0xFFFF/*::]*/: { n:\"\" }\n};\n\n/* [MS-XLS] 2.3 Record Enumeration (and other sources) */\nvar XLSRecordEnum = {\n\t/* [MS-XLS] 2.3 Record Enumeration 2021-08-17 */\n\t/*::[*/0x0006/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x000a/*::]*/: { /* n:\"EOF\", */ f:parsenoop2 },\n\t/*::[*/0x000c/*::]*/: { /* n:\"CalcCount\", */ f:parseuint16 }, //\n\t/*::[*/0x000d/*::]*/: { /* n:\"CalcMode\", */ f:parseuint16 }, //\n\t/*::[*/0x000e/*::]*/: { /* n:\"CalcPrecision\", */ f:parsebool }, //\n\t/*::[*/0x000f/*::]*/: { /* n:\"CalcRefMode\", */ f:parsebool }, //\n\t/*::[*/0x0010/*::]*/: { /* n:\"CalcDelta\", */ f:parse_Xnum }, //\n\t/*::[*/0x0011/*::]*/: { /* n:\"CalcIter\", */ f:parsebool }, //\n\t/*::[*/0x0012/*::]*/: { /* n:\"Protect\", */ f:parsebool },\n\t/*::[*/0x0013/*::]*/: { /* n:\"Password\", */ f:parseuint16 },\n\t/*::[*/0x0014/*::]*/: { /* n:\"Header\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0015/*::]*/: { /* n:\"Footer\", */ f:parse_XLHeaderFooter },\n\t/*::[*/0x0017/*::]*/: { /* n:\"ExternSheet\", */ f:parse_ExternSheet },\n\t/*::[*/0x0018/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0019/*::]*/: { /* n:\"WinProtect\", */ f:parsebool },\n\t/*::[*/0x001a/*::]*/: { /* n:\"VerticalPageBreaks\", */ },\n\t/*::[*/0x001b/*::]*/: { /* n:\"HorizontalPageBreaks\", */ },\n\t/*::[*/0x001c/*::]*/: { /* n:\"Note\", */ f:parse_Note },\n\t/*::[*/0x001d/*::]*/: { /* n:\"Selection\", */ },\n\t/*::[*/0x0022/*::]*/: { /* n:\"Date1904\", */ f:parsebool },\n\t/*::[*/0x0023/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0026/*::]*/: { /* n:\"LeftMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0027/*::]*/: { /* n:\"RightMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0028/*::]*/: { /* n:\"TopMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x0029/*::]*/: { /* n:\"BottomMargin\", */ f:parse_Xnum }, // *\n\t/*::[*/0x002a/*::]*/: { /* n:\"PrintRowCol\", */ f:parsebool },\n\t/*::[*/0x002b/*::]*/: { /* n:\"PrintGrid\", */ f:parsebool },\n\t/*::[*/0x002f/*::]*/: { /* n:\"FilePass\", */ f:parse_FilePass },\n\t/*::[*/0x0031/*::]*/: { /* n:\"Font\", */ f:parse_Font },\n\t/*::[*/0x0033/*::]*/: { /* n:\"PrintSize\", */ f:parseuint16 },\n\t/*::[*/0x003c/*::]*/: { /* n:\"Continue\", */ },\n\t/*::[*/0x003d/*::]*/: { /* n:\"Window1\", */ f:parse_Window1 },\n\t/*::[*/0x0040/*::]*/: { /* n:\"Backup\", */ f:parsebool },\n\t/*::[*/0x0041/*::]*/: { /* n:\"Pane\", */ f:parse_Pane },\n\t/*::[*/0x0042/*::]*/: { /* n:\"CodePage\", */ f:parseuint16 },\n\t/*::[*/0x004d/*::]*/: { /* n:\"Pls\", */ },\n\t/*::[*/0x0050/*::]*/: { /* n:\"DCon\", */ },\n\t/*::[*/0x0051/*::]*/: { /* n:\"DConRef\", */ },\n\t/*::[*/0x0052/*::]*/: { /* n:\"DConName\", */ },\n\t/*::[*/0x0055/*::]*/: { /* n:\"DefColWidth\", */ f:parseuint16 },\n\t/*::[*/0x0059/*::]*/: { /* n:\"XCT\", */ },\n\t/*::[*/0x005a/*::]*/: { /* n:\"CRN\", */ },\n\t/*::[*/0x005b/*::]*/: { /* n:\"FileSharing\", */ },\n\t/*::[*/0x005c/*::]*/: { /* n:\"WriteAccess\", */ f:parse_WriteAccess },\n\t/*::[*/0x005d/*::]*/: { /* n:\"Obj\", */ f:parse_Obj },\n\t/*::[*/0x005e/*::]*/: { /* n:\"Uncalced\", */ },\n\t/*::[*/0x005f/*::]*/: { /* n:\"CalcSaveRecalc\", */ f:parsebool }, //\n\t/*::[*/0x0060/*::]*/: { /* n:\"Template\", */ },\n\t/*::[*/0x0061/*::]*/: { /* n:\"Intl\", */ },\n\t/*::[*/0x0063/*::]*/: { /* n:\"ObjProtect\", */ f:parsebool },\n\t/*::[*/0x007d/*::]*/: { /* n:\"ColInfo\", */ f:parse_ColInfo },\n\t/*::[*/0x0080/*::]*/: { /* n:\"Guts\", */ f:parse_Guts },\n\t/*::[*/0x0081/*::]*/: { /* n:\"WsBool\", */ f:parse_WsBool },\n\t/*::[*/0x0082/*::]*/: { /* n:\"GridSet\", */ f:parseuint16 },\n\t/*::[*/0x0083/*::]*/: { /* n:\"HCenter\", */ f:parsebool },\n\t/*::[*/0x0084/*::]*/: { /* n:\"VCenter\", */ f:parsebool },\n\t/*::[*/0x0085/*::]*/: { /* n:\"BoundSheet8\", */ f:parse_BoundSheet8 },\n\t/*::[*/0x0086/*::]*/: { /* n:\"WriteProtect\", */ },\n\t/*::[*/0x008c/*::]*/: { /* n:\"Country\", */ f:parse_Country },\n\t/*::[*/0x008d/*::]*/: { /* n:\"HideObj\", */ f:parseuint16 },\n\t/*::[*/0x0090/*::]*/: { /* n:\"Sort\", */ },\n\t/*::[*/0x0092/*::]*/: { /* n:\"Palette\", */ f:parse_Palette },\n\t/*::[*/0x0097/*::]*/: { /* n:\"Sync\", */ },\n\t/*::[*/0x0098/*::]*/: { /* n:\"LPr\", */ },\n\t/*::[*/0x0099/*::]*/: { /* n:\"DxGCol\", */ },\n\t/*::[*/0x009a/*::]*/: { /* n:\"FnGroupName\", */ },\n\t/*::[*/0x009b/*::]*/: { /* n:\"FilterMode\", */ },\n\t/*::[*/0x009c/*::]*/: { /* n:\"BuiltInFnGroupCount\", */ f:parseuint16 },\n\t/*::[*/0x009d/*::]*/: { /* n:\"AutoFilterInfo\", */ },\n\t/*::[*/0x009e/*::]*/: { /* n:\"AutoFilter\", */ },\n\t/*::[*/0x00a0/*::]*/: { /* n:\"Scl\", */ f:parse_Scl },\n\t/*::[*/0x00a1/*::]*/: { /* n:\"Setup\", */ f:parse_Setup },\n\t/*::[*/0x00ae/*::]*/: { /* n:\"ScenMan\", */ },\n\t/*::[*/0x00af/*::]*/: { /* n:\"SCENARIO\", */ },\n\t/*::[*/0x00b0/*::]*/: { /* n:\"SxView\", */ },\n\t/*::[*/0x00b1/*::]*/: { /* n:\"Sxvd\", */ },\n\t/*::[*/0x00b2/*::]*/: { /* n:\"SXVI\", */ },\n\t/*::[*/0x00b4/*::]*/: { /* n:\"SxIvd\", */ },\n\t/*::[*/0x00b5/*::]*/: { /* n:\"SXLI\", */ },\n\t/*::[*/0x00b6/*::]*/: { /* n:\"SXPI\", */ },\n\t/*::[*/0x00b8/*::]*/: { /* n:\"DocRoute\", */ },\n\t/*::[*/0x00b9/*::]*/: { /* n:\"RecipName\", */ },\n\t/*::[*/0x00bd/*::]*/: { /* n:\"MulRk\", */ f:parse_MulRk },\n\t/*::[*/0x00be/*::]*/: { /* n:\"MulBlank\", */ f:parse_MulBlank },\n\t/*::[*/0x00c1/*::]*/: { /* n:\"Mms\", */ f:parsenoop2 },\n\t/*::[*/0x00c5/*::]*/: { /* n:\"SXDI\", */ },\n\t/*::[*/0x00c6/*::]*/: { /* n:\"SXDB\", */ },\n\t/*::[*/0x00c7/*::]*/: { /* n:\"SXFDB\", */ },\n\t/*::[*/0x00c8/*::]*/: { /* n:\"SXDBB\", */ },\n\t/*::[*/0x00c9/*::]*/: { /* n:\"SXNum\", */ },\n\t/*::[*/0x00ca/*::]*/: { /* n:\"SxBool\", */ f:parsebool },\n\t/*::[*/0x00cb/*::]*/: { /* n:\"SxErr\", */ },\n\t/*::[*/0x00cc/*::]*/: { /* n:\"SXInt\", */ },\n\t/*::[*/0x00cd/*::]*/: { /* n:\"SXString\", */ },\n\t/*::[*/0x00ce/*::]*/: { /* n:\"SXDtr\", */ },\n\t/*::[*/0x00cf/*::]*/: { /* n:\"SxNil\", */ },\n\t/*::[*/0x00d0/*::]*/: { /* n:\"SXTbl\", */ },\n\t/*::[*/0x00d1/*::]*/: { /* n:\"SXTBRGIITM\", */ },\n\t/*::[*/0x00d2/*::]*/: { /* n:\"SxTbpg\", */ },\n\t/*::[*/0x00d3/*::]*/: { /* n:\"ObProj\", */ },\n\t/*::[*/0x00d5/*::]*/: { /* n:\"SXStreamID\", */ },\n\t/*::[*/0x00d7/*::]*/: { /* n:\"DBCell\", */ },\n\t/*::[*/0x00d8/*::]*/: { /* n:\"SXRng\", */ },\n\t/*::[*/0x00d9/*::]*/: { /* n:\"SxIsxoper\", */ },\n\t/*::[*/0x00da/*::]*/: { /* n:\"BookBool\", */ f:parseuint16 },\n\t/*::[*/0x00dc/*::]*/: { /* n:\"DbOrParamQry\", */ },\n\t/*::[*/0x00dd/*::]*/: { /* n:\"ScenarioProtect\", */ f:parsebool },\n\t/*::[*/0x00de/*::]*/: { /* n:\"OleObjectSize\", */ },\n\t/*::[*/0x00e0/*::]*/: { /* n:\"XF\", */ f:parse_XF },\n\t/*::[*/0x00e1/*::]*/: { /* n:\"InterfaceHdr\", */ f:parse_InterfaceHdr },\n\t/*::[*/0x00e2/*::]*/: { /* n:\"InterfaceEnd\", */ f:parsenoop2 },\n\t/*::[*/0x00e3/*::]*/: { /* n:\"SXVS\", */ },\n\t/*::[*/0x00e5/*::]*/: { /* n:\"MergeCells\", */ f:parse_MergeCells },\n\t/*::[*/0x00e9/*::]*/: { /* n:\"BkHim\", */ },\n\t/*::[*/0x00eb/*::]*/: { /* n:\"MsoDrawingGroup\", */ },\n\t/*::[*/0x00ec/*::]*/: { /* n:\"MsoDrawing\", */ },\n\t/*::[*/0x00ed/*::]*/: { /* n:\"MsoDrawingSelection\", */ },\n\t/*::[*/0x00ef/*::]*/: { /* n:\"PhoneticInfo\", */ },\n\t/*::[*/0x00f0/*::]*/: { /* n:\"SxRule\", */ },\n\t/*::[*/0x00f1/*::]*/: { /* n:\"SXEx\", */ },\n\t/*::[*/0x00f2/*::]*/: { /* n:\"SxFilt\", */ },\n\t/*::[*/0x00f4/*::]*/: { /* n:\"SxDXF\", */ },\n\t/*::[*/0x00f5/*::]*/: { /* n:\"SxItm\", */ },\n\t/*::[*/0x00f6/*::]*/: { /* n:\"SxName\", */ },\n\t/*::[*/0x00f7/*::]*/: { /* n:\"SxSelect\", */ },\n\t/*::[*/0x00f8/*::]*/: { /* n:\"SXPair\", */ },\n\t/*::[*/0x00f9/*::]*/: { /* n:\"SxFmla\", */ },\n\t/*::[*/0x00fb/*::]*/: { /* n:\"SxFormat\", */ },\n\t/*::[*/0x00fc/*::]*/: { /* n:\"SST\", */ f:parse_SST },\n\t/*::[*/0x00fd/*::]*/: { /* n:\"LabelSst\", */ f:parse_LabelSst },\n\t/*::[*/0x00ff/*::]*/: { /* n:\"ExtSST\", */ f:parse_ExtSST },\n\t/*::[*/0x0100/*::]*/: { /* n:\"SXVDEx\", */ },\n\t/*::[*/0x0103/*::]*/: { /* n:\"SXFormula\", */ },\n\t/*::[*/0x0122/*::]*/: { /* n:\"SXDBEx\", */ },\n\t/*::[*/0x0137/*::]*/: { /* n:\"RRDInsDel\", */ },\n\t/*::[*/0x0138/*::]*/: { /* n:\"RRDHead\", */ },\n\t/*::[*/0x013b/*::]*/: { /* n:\"RRDChgCell\", */ },\n\t/*::[*/0x013d/*::]*/: { /* n:\"RRTabId\", */ f:parseuint16a },\n\t/*::[*/0x013e/*::]*/: { /* n:\"RRDRenSheet\", */ },\n\t/*::[*/0x013f/*::]*/: { /* n:\"RRSort\", */ },\n\t/*::[*/0x0140/*::]*/: { /* n:\"RRDMove\", */ },\n\t/*::[*/0x014a/*::]*/: { /* n:\"RRFormat\", */ },\n\t/*::[*/0x014b/*::]*/: { /* n:\"RRAutoFmt\", */ },\n\t/*::[*/0x014d/*::]*/: { /* n:\"RRInsertSh\", */ },\n\t/*::[*/0x014e/*::]*/: { /* n:\"RRDMoveBegin\", */ },\n\t/*::[*/0x014f/*::]*/: { /* n:\"RRDMoveEnd\", */ },\n\t/*::[*/0x0150/*::]*/: { /* n:\"RRDInsDelBegin\", */ },\n\t/*::[*/0x0151/*::]*/: { /* n:\"RRDInsDelEnd\", */ },\n\t/*::[*/0x0152/*::]*/: { /* n:\"RRDConflict\", */ },\n\t/*::[*/0x0153/*::]*/: { /* n:\"RRDDefName\", */ },\n\t/*::[*/0x0154/*::]*/: { /* n:\"RRDRstEtxp\", */ },\n\t/*::[*/0x015f/*::]*/: { /* n:\"LRng\", */ },\n\t/*::[*/0x0160/*::]*/: { /* n:\"UsesELFs\", */ f:parsebool },\n\t/*::[*/0x0161/*::]*/: { /* n:\"DSF\", */ f:parsenoop2 },\n\t/*::[*/0x0191/*::]*/: { /* n:\"CUsr\", */ },\n\t/*::[*/0x0192/*::]*/: { /* n:\"CbUsr\", */ },\n\t/*::[*/0x0193/*::]*/: { /* n:\"UsrInfo\", */ },\n\t/*::[*/0x0194/*::]*/: { /* n:\"UsrExcl\", */ },\n\t/*::[*/0x0195/*::]*/: { /* n:\"FileLock\", */ },\n\t/*::[*/0x0196/*::]*/: { /* n:\"RRDInfo\", */ },\n\t/*::[*/0x0197/*::]*/: { /* n:\"BCUsrs\", */ },\n\t/*::[*/0x0198/*::]*/: { /* n:\"UsrChk\", */ },\n\t/*::[*/0x01a9/*::]*/: { /* n:\"UserBView\", */ },\n\t/*::[*/0x01aa/*::]*/: { /* n:\"UserSViewBegin\", */ },\n\t/*::[*/0x01ab/*::]*/: { /* n:\"UserSViewEnd\", */ },\n\t/*::[*/0x01ac/*::]*/: { /* n:\"RRDUserView\", */ },\n\t/*::[*/0x01ad/*::]*/: { /* n:\"Qsi\", */ },\n\t/*::[*/0x01ae/*::]*/: { /* n:\"SupBook\", */ f:parse_SupBook },\n\t/*::[*/0x01af/*::]*/: { /* n:\"Prot4Rev\", */ f:parsebool },\n\t/*::[*/0x01b0/*::]*/: { /* n:\"CondFmt\", */ },\n\t/*::[*/0x01b1/*::]*/: { /* n:\"CF\", */ },\n\t/*::[*/0x01b2/*::]*/: { /* n:\"DVal\", */ },\n\t/*::[*/0x01b5/*::]*/: { /* n:\"DConBin\", */ },\n\t/*::[*/0x01b6/*::]*/: { /* n:\"TxO\", */ f:parse_TxO },\n\t/*::[*/0x01b7/*::]*/: { /* n:\"RefreshAll\", */ f:parsebool }, //\n\t/*::[*/0x01b8/*::]*/: { /* n:\"HLink\", */ f:parse_HLink },\n\t/*::[*/0x01b9/*::]*/: { /* n:\"Lel\", */ },\n\t/*::[*/0x01ba/*::]*/: { /* n:\"CodeName\", */ f:parse_XLUnicodeString },\n\t/*::[*/0x01bb/*::]*/: { /* n:\"SXFDBType\", */ },\n\t/*::[*/0x01bc/*::]*/: { /* n:\"Prot4RevPass\", */ f:parseuint16 },\n\t/*::[*/0x01bd/*::]*/: { /* n:\"ObNoMacros\", */ },\n\t/*::[*/0x01be/*::]*/: { /* n:\"Dv\", */ },\n\t/*::[*/0x01c0/*::]*/: { /* n:\"Excel9File\", */ f:parsenoop2 },\n\t/*::[*/0x01c1/*::]*/: { /* n:\"RecalcId\", */ f:parse_RecalcId, r:2},\n\t/*::[*/0x01c2/*::]*/: { /* n:\"EntExU2\", */ f:parsenoop2 },\n\t/*::[*/0x0200/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0201/*::]*/: { /* n:\"Blank\", */ f:parse_Blank },\n\t/*::[*/0x0203/*::]*/: { /* n:\"Number\", */ f:parse_Number },\n\t/*::[*/0x0204/*::]*/: { /* n:\"Label\", */ f:parse_Label },\n\t/*::[*/0x0205/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0207/*::]*/: { /* n:\"String\", */ f:parse_String },\n\t/*::[*/0x0208/*::]*/: { /* n:\"Row\", */ f:parse_Row },\n\t/*::[*/0x020b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0221/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0225/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t/*::[*/0x0236/*::]*/: { /* n:\"Table\", */ },\n\t/*::[*/0x023e/*::]*/: { /* n:\"Window2\", */ f:parse_Window2 },\n\t/*::[*/0x027e/*::]*/: { /* n:\"RK\", */ f:parse_RK },\n\t/*::[*/0x0293/*::]*/: { /* n:\"Style\", */ },\n\t/*::[*/0x0418/*::]*/: { /* n:\"BigName\", */ },\n\t/*::[*/0x041e/*::]*/: { /* n:\"Format\", */ f:parse_Format },\n\t/*::[*/0x043c/*::]*/: { /* n:\"ContinueBigName\", */ },\n\t/*::[*/0x04bc/*::]*/: { /* n:\"ShrFmla\", */ f:parse_ShrFmla },\n\t/*::[*/0x0800/*::]*/: { /* n:\"HLinkTooltip\", */ f:parse_HLinkTooltip },\n\t/*::[*/0x0801/*::]*/: { /* n:\"WebPub\", */ },\n\t/*::[*/0x0802/*::]*/: { /* n:\"QsiSXTag\", */ },\n\t/*::[*/0x0803/*::]*/: { /* n:\"DBQueryExt\", */ },\n\t/*::[*/0x0804/*::]*/: { /* n:\"ExtString\", */ },\n\t/*::[*/0x0805/*::]*/: { /* n:\"TxtQry\", */ },\n\t/*::[*/0x0806/*::]*/: { /* n:\"Qsir\", */ },\n\t/*::[*/0x0807/*::]*/: { /* n:\"Qsif\", */ },\n\t/*::[*/0x0808/*::]*/: { /* n:\"RRDTQSIF\", */ },\n\t/*::[*/0x0809/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x080a/*::]*/: { /* n:\"OleDbConn\", */ },\n\t/*::[*/0x080b/*::]*/: { /* n:\"WOpt\", */ },\n\t/*::[*/0x080c/*::]*/: { /* n:\"SXViewEx\", */ },\n\t/*::[*/0x080d/*::]*/: { /* n:\"SXTH\", */ },\n\t/*::[*/0x080e/*::]*/: { /* n:\"SXPIEx\", */ },\n\t/*::[*/0x080f/*::]*/: { /* n:\"SXVDTEx\", */ },\n\t/*::[*/0x0810/*::]*/: { /* n:\"SXViewEx9\", */ },\n\t/*::[*/0x0812/*::]*/: { /* n:\"ContinueFrt\", */ },\n\t/*::[*/0x0813/*::]*/: { /* n:\"RealTimeData\", */ },\n\t/*::[*/0x0850/*::]*/: { /* n:\"ChartFrtInfo\", */ },\n\t/*::[*/0x0851/*::]*/: { /* n:\"FrtWrapper\", */ },\n\t/*::[*/0x0852/*::]*/: { /* n:\"StartBlock\", */ },\n\t/*::[*/0x0853/*::]*/: { /* n:\"EndBlock\", */ },\n\t/*::[*/0x0854/*::]*/: { /* n:\"StartObject\", */ },\n\t/*::[*/0x0855/*::]*/: { /* n:\"EndObject\", */ },\n\t/*::[*/0x0856/*::]*/: { /* n:\"CatLab\", */ },\n\t/*::[*/0x0857/*::]*/: { /* n:\"YMult\", */ },\n\t/*::[*/0x0858/*::]*/: { /* n:\"SXViewLink\", */ },\n\t/*::[*/0x0859/*::]*/: { /* n:\"PivotChartBits\", */ },\n\t/*::[*/0x085a/*::]*/: { /* n:\"FrtFontList\", */ },\n\t/*::[*/0x0862/*::]*/: { /* n:\"SheetExt\", */ },\n\t/*::[*/0x0863/*::]*/: { /* n:\"BookExt\", */ r:12},\n\t/*::[*/0x0864/*::]*/: { /* n:\"SXAddl\", */ },\n\t/*::[*/0x0865/*::]*/: { /* n:\"CrErr\", */ },\n\t/*::[*/0x0866/*::]*/: { /* n:\"HFPicture\", */ },\n\t/*::[*/0x0867/*::]*/: { /* n:\"FeatHdr\", */ f:parsenoop2 },\n\t/*::[*/0x0868/*::]*/: { /* n:\"Feat\", */ },\n\t/*::[*/0x086a/*::]*/: { /* n:\"DataLabExt\", */ },\n\t/*::[*/0x086b/*::]*/: { /* n:\"DataLabExtContents\", */ },\n\t/*::[*/0x086c/*::]*/: { /* n:\"CellWatch\", */ },\n\t/*::[*/0x0871/*::]*/: { /* n:\"FeatHdr11\", */ },\n\t/*::[*/0x0872/*::]*/: { /* n:\"Feature11\", */ },\n\t/*::[*/0x0874/*::]*/: { /* n:\"DropDownObjIds\", */ },\n\t/*::[*/0x0875/*::]*/: { /* n:\"ContinueFrt11\", */ },\n\t/*::[*/0x0876/*::]*/: { /* n:\"DConn\", */ },\n\t/*::[*/0x0877/*::]*/: { /* n:\"List12\", */ },\n\t/*::[*/0x0878/*::]*/: { /* n:\"Feature12\", */ },\n\t/*::[*/0x0879/*::]*/: { /* n:\"CondFmt12\", */ },\n\t/*::[*/0x087a/*::]*/: { /* n:\"CF12\", */ },\n\t/*::[*/0x087b/*::]*/: { /* n:\"CFEx\", */ },\n\t/*::[*/0x087c/*::]*/: { /* n:\"XFCRC\", */ f:parse_XFCRC, r:12 },\n\t/*::[*/0x087d/*::]*/: { /* n:\"XFExt\", */ f:parse_XFExt, r:12 },\n\t/*::[*/0x087e/*::]*/: { /* n:\"AutoFilter12\", */ },\n\t/*::[*/0x087f/*::]*/: { /* n:\"ContinueFrt12\", */ },\n\t/*::[*/0x0884/*::]*/: { /* n:\"MDTInfo\", */ },\n\t/*::[*/0x0885/*::]*/: { /* n:\"MDXStr\", */ },\n\t/*::[*/0x0886/*::]*/: { /* n:\"MDXTuple\", */ },\n\t/*::[*/0x0887/*::]*/: { /* n:\"MDXSet\", */ },\n\t/*::[*/0x0888/*::]*/: { /* n:\"MDXProp\", */ },\n\t/*::[*/0x0889/*::]*/: { /* n:\"MDXKPI\", */ },\n\t/*::[*/0x088a/*::]*/: { /* n:\"MDB\", */ },\n\t/*::[*/0x088b/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x088c/*::]*/: { /* n:\"Compat12\", */ f:parsebool, r:12 },\n\t/*::[*/0x088d/*::]*/: { /* n:\"DXF\", */ },\n\t/*::[*/0x088e/*::]*/: { /* n:\"TableStyles\", */ r:12 },\n\t/*::[*/0x088f/*::]*/: { /* n:\"TableStyle\", */ },\n\t/*::[*/0x0890/*::]*/: { /* n:\"TableStyleElement\", */ },\n\t/*::[*/0x0892/*::]*/: { /* n:\"StyleExt\", */ },\n\t/*::[*/0x0893/*::]*/: { /* n:\"NamePublish\", */ },\n\t/*::[*/0x0894/*::]*/: { /* n:\"NameCmt\", */ f:parse_NameCmt, r:12 },\n\t/*::[*/0x0895/*::]*/: { /* n:\"SortData\", */ },\n\t/*::[*/0x0896/*::]*/: { /* n:\"Theme\", */ f:parse_Theme, r:12 },\n\t/*::[*/0x0897/*::]*/: { /* n:\"GUIDTypeLib\", */ },\n\t/*::[*/0x0898/*::]*/: { /* n:\"FnGrp12\", */ },\n\t/*::[*/0x0899/*::]*/: { /* n:\"NameFnGrp12\", */ },\n\t/*::[*/0x089a/*::]*/: { /* n:\"MTRSettings\", */ f:parse_MTRSettings, r:12 },\n\t/*::[*/0x089b/*::]*/: { /* n:\"CompressPictures\", */ f:parsenoop2 },\n\t/*::[*/0x089c/*::]*/: { /* n:\"HeaderFooter\", */ },\n\t/*::[*/0x089d/*::]*/: { /* n:\"CrtLayout12\", */ },\n\t/*::[*/0x089e/*::]*/: { /* n:\"CrtMlFrt\", */ },\n\t/*::[*/0x089f/*::]*/: { /* n:\"CrtMlFrtContinue\", */ },\n\t/*::[*/0x08a3/*::]*/: { /* n:\"ForceFullCalculation\", */ f:parse_ForceFullCalculation },\n\t/*::[*/0x08a4/*::]*/: { /* n:\"ShapePropsStream\", */ },\n\t/*::[*/0x08a5/*::]*/: { /* n:\"TextPropsStream\", */ },\n\t/*::[*/0x08a6/*::]*/: { /* n:\"RichTextStream\", */ },\n\t/*::[*/0x08a7/*::]*/: { /* n:\"CrtLayout12A\", */ },\n\t/*::[*/0x1001/*::]*/: { /* n:\"Units\", */ },\n\t/*::[*/0x1002/*::]*/: { /* n:\"Chart\", */ },\n\t/*::[*/0x1003/*::]*/: { /* n:\"Series\", */ },\n\t/*::[*/0x1006/*::]*/: { /* n:\"DataFormat\", */ },\n\t/*::[*/0x1007/*::]*/: { /* n:\"LineFormat\", */ },\n\t/*::[*/0x1009/*::]*/: { /* n:\"MarkerFormat\", */ },\n\t/*::[*/0x100a/*::]*/: { /* n:\"AreaFormat\", */ },\n\t/*::[*/0x100b/*::]*/: { /* n:\"PieFormat\", */ },\n\t/*::[*/0x100c/*::]*/: { /* n:\"AttachedLabel\", */ },\n\t/*::[*/0x100d/*::]*/: { /* n:\"SeriesText\", */ },\n\t/*::[*/0x1014/*::]*/: { /* n:\"ChartFormat\", */ },\n\t/*::[*/0x1015/*::]*/: { /* n:\"Legend\", */ },\n\t/*::[*/0x1016/*::]*/: { /* n:\"SeriesList\", */ },\n\t/*::[*/0x1017/*::]*/: { /* n:\"Bar\", */ },\n\t/*::[*/0x1018/*::]*/: { /* n:\"Line\", */ },\n\t/*::[*/0x1019/*::]*/: { /* n:\"Pie\", */ },\n\t/*::[*/0x101a/*::]*/: { /* n:\"Area\", */ },\n\t/*::[*/0x101b/*::]*/: { /* n:\"Scatter\", */ },\n\t/*::[*/0x101c/*::]*/: { /* n:\"CrtLine\", */ },\n\t/*::[*/0x101d/*::]*/: { /* n:\"Axis\", */ },\n\t/*::[*/0x101e/*::]*/: { /* n:\"Tick\", */ },\n\t/*::[*/0x101f/*::]*/: { /* n:\"ValueRange\", */ },\n\t/*::[*/0x1020/*::]*/: { /* n:\"CatSerRange\", */ },\n\t/*::[*/0x1021/*::]*/: { /* n:\"AxisLine\", */ },\n\t/*::[*/0x1022/*::]*/: { /* n:\"CrtLink\", */ },\n\t/*::[*/0x1024/*::]*/: { /* n:\"DefaultText\", */ },\n\t/*::[*/0x1025/*::]*/: { /* n:\"Text\", */ },\n\t/*::[*/0x1026/*::]*/: { /* n:\"FontX\", */ f:parseuint16 },\n\t/*::[*/0x1027/*::]*/: { /* n:\"ObjectLink\", */ },\n\t/*::[*/0x1032/*::]*/: { /* n:\"Frame\", */ },\n\t/*::[*/0x1033/*::]*/: { /* n:\"Begin\", */ },\n\t/*::[*/0x1034/*::]*/: { /* n:\"End\", */ },\n\t/*::[*/0x1035/*::]*/: { /* n:\"PlotArea\", */ },\n\t/*::[*/0x103a/*::]*/: { /* n:\"Chart3d\", */ },\n\t/*::[*/0x103c/*::]*/: { /* n:\"PicF\", */ },\n\t/*::[*/0x103d/*::]*/: { /* n:\"DropBar\", */ },\n\t/*::[*/0x103e/*::]*/: { /* n:\"Radar\", */ },\n\t/*::[*/0x103f/*::]*/: { /* n:\"Surf\", */ },\n\t/*::[*/0x1040/*::]*/: { /* n:\"RadarArea\", */ },\n\t/*::[*/0x1041/*::]*/: { /* n:\"AxisParent\", */ },\n\t/*::[*/0x1043/*::]*/: { /* n:\"LegendException\", */ },\n\t/*::[*/0x1044/*::]*/: { /* n:\"ShtProps\", */ f:parse_ShtProps },\n\t/*::[*/0x1045/*::]*/: { /* n:\"SerToCrt\", */ },\n\t/*::[*/0x1046/*::]*/: { /* n:\"AxesUsed\", */ },\n\t/*::[*/0x1048/*::]*/: { /* n:\"SBaseRef\", */ },\n\t/*::[*/0x104a/*::]*/: { /* n:\"SerParent\", */ },\n\t/*::[*/0x104b/*::]*/: { /* n:\"SerAuxTrend\", */ },\n\t/*::[*/0x104e/*::]*/: { /* n:\"IFmtRecord\", */ },\n\t/*::[*/0x104f/*::]*/: { /* n:\"Pos\", */ },\n\t/*::[*/0x1050/*::]*/: { /* n:\"AlRuns\", */ },\n\t/*::[*/0x1051/*::]*/: { /* n:\"BRAI\", */ },\n\t/*::[*/0x105b/*::]*/: { /* n:\"SerAuxErrBar\", */ },\n\t/*::[*/0x105c/*::]*/: { /* n:\"ClrtClient\", */ f:parse_ClrtClient },\n\t/*::[*/0x105d/*::]*/: { /* n:\"SerFmt\", */ },\n\t/*::[*/0x105f/*::]*/: { /* n:\"Chart3DBarShape\", */ },\n\t/*::[*/0x1060/*::]*/: { /* n:\"Fbi\", */ },\n\t/*::[*/0x1061/*::]*/: { /* n:\"BopPop\", */ },\n\t/*::[*/0x1062/*::]*/: { /* n:\"AxcExt\", */ },\n\t/*::[*/0x1063/*::]*/: { /* n:\"Dat\", */ },\n\t/*::[*/0x1064/*::]*/: { /* n:\"PlotGrowth\", */ },\n\t/*::[*/0x1065/*::]*/: { /* n:\"SIIndex\", */ },\n\t/*::[*/0x1066/*::]*/: { /* n:\"GelFrame\", */ },\n\t/*::[*/0x1067/*::]*/: { /* n:\"BopPopCustom\", */ },\n\t/*::[*/0x1068/*::]*/: { /* n:\"Fbi2\", */ },\n\n\t/*::[*/0x0000/*::]*/: { /* n:\"Dimensions\", */ f:parse_Dimensions },\n\t/*::[*/0x0001/*::]*/: { /* n:\"BIFF2BLANK\", */ },\n\t/*::[*/0x0002/*::]*/: { /* n:\"BIFF2INT\", */ f:parse_BIFF2INT },\n\t/*::[*/0x0003/*::]*/: { /* n:\"BIFF2NUM\", */ f:parse_BIFF2NUM },\n\t/*::[*/0x0004/*::]*/: { /* n:\"BIFF2STR\", */ f:parse_BIFF2STR },\n\t/*::[*/0x0005/*::]*/: { /* n:\"BoolErr\", */ f:parse_BoolErr },\n\t/*::[*/0x0007/*::]*/: { /* n:\"String\", */ f:parse_BIFF2STRING },\n\t/*::[*/0x0008/*::]*/: { /* n:\"BIFF2ROW\", */ },\n\t/*::[*/0x0009/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x000b/*::]*/: { /* n:\"Index\", */ },\n\t/*::[*/0x0016/*::]*/: { /* n:\"ExternCount\", */ f:parseuint16 },\n\t/*::[*/0x001e/*::]*/: { /* n:\"BIFF2FORMAT\", */ f:parse_BIFF2Format },\n\t/*::[*/0x001f/*::]*/: { /* n:\"BIFF2FMTCNT\", */ }, /* 16-bit cnt of BIFF2FORMAT records */\n\t/*::[*/0x0020/*::]*/: { /* n:\"BIFF2COLINFO\", */ },\n\t/*::[*/0x0021/*::]*/: { /* n:\"Array\", */ f:parse_Array },\n\t/*::[*/0x0024/*::]*/: { /* n:\"COLWIDTH\", */ },\n\t/*::[*/0x0025/*::]*/: { /* n:\"DefaultRowHeight\", */ f:parse_DefaultRowHeight },\n\t// 0x2c ??\n\t// 0x2d ??\n\t// 0x2e ??\n\t// 0x30 FONTCOUNT: number of fonts\n\t/*::[*/0x0032/*::]*/: { /* n:\"BIFF2FONTXTRA\", */ f:parse_BIFF2FONTXTRA },\n\t// 0x35: INFOOPTS\n\t// 0x36: TABLE (BIFF2 only)\n\t// 0x37: TABLE2 (BIFF2 only)\n\t// 0x38: WNDESK\n\t// 0x39 ??\n\t// 0x3a: BEGINPREF\n\t// 0x3b: ENDPREF\n\t/*::[*/0x003e/*::]*/: { /* n:\"BIFF2WINDOW2\", */ },\n\t// 0x3f ??\n\t// 0x46: SHOWSCROLL\n\t// 0x47: SHOWFORMULA\n\t// 0x48: STATUSBAR\n\t// 0x49: SHORTMENUS\n\t// 0x4A:\n\t// 0x4B:\n\t// 0x4C:\n\t// 0x4E:\n\t// 0x4F:\n\t// 0x58: TOOLBAR (BIFF3)\n\n\t/* - - - */\n\t/*::[*/0x0034/*::]*/: { /* n:\"DDEObjName\", */ },\n\t/*::[*/0x0043/*::]*/: { /* n:\"BIFF2XF\", */ },\n\t/*::[*/0x0044/*::]*/: { /* n:\"BIFF2XFINDEX\", */ f:parseuint16 },\n\t/*::[*/0x0045/*::]*/: { /* n:\"BIFF2FONTCLR\", */ },\n\t/*::[*/0x0056/*::]*/: { /* n:\"BIFF4FMTCNT\", */ }, /* 16-bit cnt, similar to BIFF2 */\n\t/*::[*/0x007e/*::]*/: { /* n:\"RK\", */ }, /* Not necessarily same as 0x027e */\n\t/*::[*/0x007f/*::]*/: { /* n:\"ImData\", */ f:parse_ImData },\n\t/*::[*/0x0087/*::]*/: { /* n:\"Addin\", */ },\n\t/*::[*/0x0088/*::]*/: { /* n:\"Edg\", */ },\n\t/*::[*/0x0089/*::]*/: { /* n:\"Pub\", */ },\n\t// 0x8A\n\t// 0x8B LH: alternate menu key flag (BIFF3/4)\n\t// 0x8E\n\t// 0x8F\n\t/*::[*/0x0091/*::]*/: { /* n:\"Sub\", */ },\n\t// 0x93 STYLE\n\t/*::[*/0x0094/*::]*/: { /* n:\"LHRecord\", */ },\n\t/*::[*/0x0095/*::]*/: { /* n:\"LHNGraph\", */ },\n\t/*::[*/0x0096/*::]*/: { /* n:\"Sound\", */ },\n\t// 0xA2 FNPROTO: function prototypes (BIFF4)\n\t// 0xA3\n\t// 0xA8\n\t/*::[*/0x00a9/*::]*/: { /* n:\"CoordList\", */ },\n\t/*::[*/0x00ab/*::]*/: { /* n:\"GCW\", */ },\n\t/*::[*/0x00bc/*::]*/: { /* n:\"ShrFmla\", */ }, /* Not necessarily same as 0x04bc */\n\t/*::[*/0x00bf/*::]*/: { /* n:\"ToolbarHdr\", */ },\n\t/*::[*/0x00c0/*::]*/: { /* n:\"ToolbarEnd\", */ },\n\t/*::[*/0x00c2/*::]*/: { /* n:\"AddMenu\", */ },\n\t/*::[*/0x00c3/*::]*/: { /* n:\"DelMenu\", */ },\n\t/*::[*/0x00d6/*::]*/: { /* n:\"RString\", */ f:parse_RString },\n\t/*::[*/0x00df/*::]*/: { /* n:\"UDDesc\", */ },\n\t/*::[*/0x00ea/*::]*/: { /* n:\"TabIdConf\", */ },\n\t/*::[*/0x0162/*::]*/: { /* n:\"XL5Modify\", */ },\n\t/*::[*/0x01a5/*::]*/: { /* n:\"FileSharing2\", */ },\n\t/*::[*/0x0206/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0209/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0218/*::]*/: { /* n:\"Lbl\", */ f:parse_Lbl },\n\t/*::[*/0x0223/*::]*/: { /* n:\"ExternName\", */ f:parse_ExternName },\n\t/*::[*/0x0231/*::]*/: { /* n:\"Font\", */ },\n\t/*::[*/0x0243/*::]*/: { /* n:\"BIFF3XF\", */ },\n\t/*::[*/0x0406/*::]*/: { /* n:\"Formula\", */ f:parse_Formula },\n\t/*::[*/0x0409/*::]*/: { /* n:\"BOF\", */ f:parse_BOF },\n\t/*::[*/0x0443/*::]*/: { /* n:\"BIFF4XF\", */ },\n\t/*::[*/0x086d/*::]*/: { /* n:\"FeatInfo\", */ },\n\t/*::[*/0x0873/*::]*/: { /* n:\"FeatInfo11\", */ },\n\t/*::[*/0x0881/*::]*/: { /* n:\"SXAddl12\", */ },\n\t/*::[*/0x08c0/*::]*/: { /* n:\"AutoWebPub\", */ },\n\t/*::[*/0x08c1/*::]*/: { /* n:\"ListObj\", */ },\n\t/*::[*/0x08c2/*::]*/: { /* n:\"ListField\", */ },\n\t/*::[*/0x08c3/*::]*/: { /* n:\"ListDV\", */ },\n\t/*::[*/0x08c4/*::]*/: { /* n:\"ListCondFmt\", */ },\n\t/*::[*/0x08c5/*::]*/: { /* n:\"ListCF\", */ },\n\t/*::[*/0x08c6/*::]*/: { /* n:\"FMQry\", */ },\n\t/*::[*/0x08c7/*::]*/: { /* n:\"FMSQry\", */ },\n\t/*::[*/0x08c8/*::]*/: { /* n:\"PLV\", */ },\n\t/*::[*/0x08c9/*::]*/: { /* n:\"LnExt\", */ },\n\t/*::[*/0x08ca/*::]*/: { /* n:\"MkrExt\", */ },\n\t/*::[*/0x08cb/*::]*/: { /* n:\"CrtCoopt\", */ },\n\t/*::[*/0x08d6/*::]*/: { /* n:\"FRTArchId$\", */ r:12 },\n\n\t/*::[*/0x7262/*::]*/: {}\n};\n\nfunction write_biff_rec(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar t/*:number*/ = type;\n\tif(isNaN(t)) return;\n\tvar len = length || (payload||[]).length || 0;\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, len);\n\tif(/*:: len != null &&*/len > 0 && is_buf(payload)) ba.push(payload);\n}\n\nfunction write_biff_continue(ba/*:BufArray*/, type/*:number*/, payload, length/*:?number*/)/*:void*/ {\n\tvar len = length || (payload||[]).length || 0;\n\tif(len <= 8224) return write_biff_rec(ba, type, payload, len);\n\tvar t = type;\n\tif(isNaN(t)) return;\n\tvar parts = payload.parts || [], sidx = 0;\n\tvar i = 0, w = 0;\n\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\tvar o = ba.next(4);\n\to.write_shift(2, t);\n\to.write_shift(2, w);\n\tba.push(payload.slice(i, i + w));\n\ti += w;\n\twhile(i < len) {\n\t\to = ba.next(4);\n\t\to.write_shift(2, 0x3c); // TODO: figure out correct continue type\n\t\tw = 0;\n\t\twhile(w + (parts[sidx] || 8224) <= 8224) { w+= (parts[sidx] || 8224); sidx++; }\n\t\to.write_shift(2, w);\n\t\tba.push(payload.slice(i, i+w)); i+= w;\n\t}\n}\n\nfunction write_BIFF2Cell(out, r/*:number*/, c/*:number*/) {\n\tif(!out) out = new_buf(7);\n\tout.write_shift(2, r);\n\tout.write_shift(2, c);\n\tout.write_shift(2, 0);\n\tout.write_shift(1, 0);\n\treturn out;\n}\n\nfunction write_BIFF2BERR(r/*:number*/, c/*:number*/, val, t/*:?string*/) {\n\tvar out = new_buf(9);\n\twrite_BIFF2Cell(out, r, c);\n\twrite_Bes(val, t || 'b', out);\n\treturn out;\n}\n\n/* TODO: codepage, large strings */\nfunction write_BIFF2LABEL(r/*:number*/, c/*:number*/, val) {\n\tvar out = new_buf(8 + 2*val.length);\n\twrite_BIFF2Cell(out, r, c);\n\tout.write_shift(1, val.length);\n\tout.write_shift(val.length, val, 'sbcs');\n\treturn out.l < out.length ? out.slice(0, out.l) : out;\n}\n\nfunction write_ws_biff2_cell(ba/*:BufArray*/, cell/*:Cell*/, R/*:number*/, C/*:number*//*::, opts*/) {\n\tif(cell.v != null) switch(cell.t) {\n\t\tcase 'd': case 'n':\n\t\t\tvar v = cell.t == 'd' ? datenum(parseDate(cell.v)) : cell.v;\n\t\t\tif((v == (v|0)) && (v >= 0) && (v < 65536))\n\t\t\t\twrite_biff_rec(ba, 0x0002, write_BIFF2INT(R, C, v));\n\t\t\telse\n\t\t\t\twrite_biff_rec(ba, 0x0003, write_BIFF2NUM(R,C, v));\n\t\t\treturn;\n\t\tcase 'b': case 'e': write_biff_rec(ba, 0x0005, write_BIFF2BERR(R, C, cell.v, cell.t)); return;\n\t\t/* TODO: codepage, sst */\n\t\tcase 's': case 'str':\n\t\t\twrite_biff_rec(ba, 0x0004, write_BIFF2LABEL(R, C, (cell.v||\"\").slice(0,255)));\n\t\t\treturn;\n\t}\n\twrite_biff_rec(ba, 0x0001, write_BIFF2Cell(null, R, C));\n}\n\nfunction write_ws_biff2(ba/*:BufArray*/, ws/*:Worksheet*/, idx/*:number*/, opts/*::, wb:Workbook*/) {\n\tvar dense = Array.isArray(ws);\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\"), ref/*:string*/, rr = \"\", cols/*:Array*/ = [];\n\tif(range.e.c > 0xFF || range.e.r > 0x3FFF) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, 0x3FFF);\n\t\tref = encode_range(range);\n\t}\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff2_cell(ba, cell, R, C, opts);\n\t\t}\n\t}\n}\n\n/* Based on test files */\nfunction write_biff2_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tif(DENSE != null && o.dense == null) o.dense = DENSE;\n\tvar ba = buf_array();\n\tvar idx = 0;\n\tfor(var i=0;i*/ = [];\n\tvar range = safe_decode_range(ws['!ref'] || \"A1\");\n\tvar MAX_ROWS = b8 ? 65536 : 16384;\n\tif(range.e.c > 0xFF || range.e.r >= MAX_ROWS) {\n\t\tif(opts.WTF) throw new Error(\"Range \" + (ws['!ref'] || \"A1\") + \" exceeds format limit A1:IV16384\");\n\t\trange.e.c = Math.min(range.e.c, 0xFF);\n\t\trange.e.r = Math.min(range.e.c, MAX_ROWS-1);\n\t}\n\n\twrite_biff_rec(ba, 0x0809, write_BOF(wb, 0x10, opts));\n\t/* [Uncalced] Index */\n\twrite_biff_rec(ba, 0x000d /* CalcMode */, writeuint16(1));\n\twrite_biff_rec(ba, 0x000c /* CalcCount */, writeuint16(100));\n\twrite_biff_rec(ba, 0x000f /* CalcRefMode */, writebool(true));\n\twrite_biff_rec(ba, 0x0011 /* CalcIter */, writebool(false));\n\twrite_biff_rec(ba, 0x0010 /* CalcDelta */, write_Xnum(0.001));\n\twrite_biff_rec(ba, 0x005f /* CalcSaveRecalc */, writebool(true));\n\twrite_biff_rec(ba, 0x002a /* PrintRowCol */, writebool(false));\n\twrite_biff_rec(ba, 0x002b /* PrintGrid */, writebool(false));\n\twrite_biff_rec(ba, 0x0082 /* GridSet */, writeuint16(1));\n\twrite_biff_rec(ba, 0x0080 /* Guts */, write_Guts([0,0]));\n\t/* DefaultRowHeight WsBool [Sync] [LPr] [HorizontalPageBreaks] [VerticalPageBreaks] */\n\t/* Header (string) */\n\t/* Footer (string) */\n\twrite_biff_rec(ba, 0x0083 /* HCenter */, writebool(false));\n\twrite_biff_rec(ba, 0x0084 /* VCenter */, writebool(false));\n\t/* ... */\n\tif(b8) write_ws_cols_biff8(ba, ws[\"!cols\"]);\n\t/* ... */\n\twrite_biff_rec(ba, 0x200, write_Dimensions(range, opts));\n\t/* ... */\n\n\tif(b8) ws['!links'] = [];\n\tfor(var R = range.s.r; R <= range.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(var C = range.s.c; C <= range.e.c; ++C) {\n\t\t\tif(R === range.s.r) cols[C] = encode_col(C);\n\t\t\tref = cols[C] + rr;\n\t\t\tvar cell = dense ? (ws[R]||[])[C] : ws[ref];\n\t\t\tif(!cell) continue;\n\t\t\t/* write cell */\n\t\t\twrite_ws_biff8_cell(ba, cell, R, C, opts);\n\t\t\tif(b8 && cell.l) ws['!links'].push([ref, cell.l]);\n\t\t}\n\t}\n\tvar cname/*:string*/ = _sheet.CodeName || _sheet.name || s;\n\t/* ... */\n\tif(b8) write_biff_rec(ba, 0x023e /* Window2 */, write_Window2((_WB.Views||[])[0]));\n\t/* ... */\n\tif(b8 && (ws['!merges']||[]).length) write_biff_rec(ba, 0x00e5 /* MergeCells */, write_MergeCells(ws['!merges']));\n\t/* [LRng] *QUERYTABLE [PHONETICINFO] CONDFMTS */\n\tif(b8) write_ws_biff8_hlinks(ba, ws);\n\t/* [DVAL] */\n\twrite_biff_rec(ba, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t/* *WebPub *CellWatch [SheetExt] */\n\tif(b8) write_FEAT(ba, ws);\n\t/* *FEAT11 *RECORD12 */\n\twrite_biff_rec(ba, 0x000a /* EOF */);\n\treturn ba.end();\n}\n\n/* [MS-XLS] 2.1.7.20.3 */\nfunction write_biff8_global(wb/*:Workbook*/, bufs, opts/*:WriteOpts*/) {\n\tvar A = buf_array();\n\tvar _WB/*:WBWBProps*/ = ((wb||{}).Workbook||{}/*:any*/);\n\tvar _sheets/*:Array*/ = (_WB.Sheets||[]);\n\tvar _wb/*:WBProps*/ = /*::((*/_WB.WBProps||{/*::CodeName:\"ThisWorkbook\"*/}/*:: ):any)*/;\n\tvar b8 = opts.biff == 8, b5 = opts.biff == 5;\n\twrite_biff_rec(A, 0x0809, write_BOF(wb, 0x05, opts));\n\tif(opts.bookType == \"xla\") write_biff_rec(A, 0x0087 /* Addin */);\n\twrite_biff_rec(A, 0x00e1 /* InterfaceHdr */, b8 ? writeuint16(0x04b0) : null);\n\twrite_biff_rec(A, 0x00c1 /* Mms */, writezeroes(2));\n\tif(b5) write_biff_rec(A, 0x00bf /* ToolbarHdr */);\n\tif(b5) write_biff_rec(A, 0x00c0 /* ToolbarEnd */);\n\twrite_biff_rec(A, 0x00e2 /* InterfaceEnd */);\n\twrite_biff_rec(A, 0x005c /* WriteAccess */, write_WriteAccess(\"SheetJS\", opts));\n\t/* [FileSharing] */\n\twrite_biff_rec(A, 0x0042 /* CodePage */, writeuint16(b8 ? 0x04b0 : 0x04E4));\n\t/* *2047 Lel */\n\tif(b8) write_biff_rec(A, 0x0161 /* DSF */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01c0 /* Excel9File */);\n\twrite_biff_rec(A, 0x013d /* RRTabId */, write_RRTabId(wb.SheetNames.length));\n\tif(b8 && wb.vbaraw) write_biff_rec(A, 0x00d3 /* ObProj */);\n\t/* [ObNoMacros] */\n\tif(b8 && wb.vbaraw) {\n\t\tvar cname/*:string*/ = _wb.CodeName || \"ThisWorkbook\";\n\t\twrite_biff_rec(A, 0x01ba /* CodeName */, write_XLUnicodeString(cname, opts));\n\t}\n\twrite_biff_rec(A, 0x009c /* BuiltInFnGroupCount */, writeuint16(0x11));\n\t/* *FnGroupName *FnGrp12 */\n\t/* *Lbl */\n\t/* [OleObjectSize] */\n\twrite_biff_rec(A, 0x0019 /* WinProtect */, writebool(false));\n\twrite_biff_rec(A, 0x0012 /* Protect */, writebool(false));\n\twrite_biff_rec(A, 0x0013 /* Password */, writeuint16(0));\n\tif(b8) write_biff_rec(A, 0x01af /* Prot4Rev */, writebool(false));\n\tif(b8) write_biff_rec(A, 0x01bc /* Prot4RevPass */, writeuint16(0));\n\twrite_biff_rec(A, 0x003d /* Window1 */, write_Window1(opts));\n\twrite_biff_rec(A, 0x0040 /* Backup */, writebool(false));\n\twrite_biff_rec(A, 0x008d /* HideObj */, writeuint16(0));\n\twrite_biff_rec(A, 0x0022 /* Date1904 */, writebool(safe1904(wb)==\"true\"));\n\twrite_biff_rec(A, 0x000e /* CalcPrecision */, writebool(true));\n\tif(b8) write_biff_rec(A, 0x01b7 /* RefreshAll */, writebool(false));\n\twrite_biff_rec(A, 0x00DA /* BookBool */, writeuint16(0));\n\t/* ... */\n\twrite_FONTS_biff8(A, wb, opts);\n\twrite_FMTS_biff8(A, wb.SSF, opts);\n\twrite_CELLXFS_biff8(A, opts);\n\t/* ... */\n\tif(b8) write_biff_rec(A, 0x0160 /* UsesELFs */, writebool(false));\n\tvar a = A.end();\n\n\tvar C = buf_array();\n\t/* METADATA [MTRSettings] [ForceFullCalculation] */\n\tif(b8) write_biff_rec(C, 0x008C, write_Country());\n\t/* *SUPBOOK *LBL *RTD [RecalcId] *HFPicture *MSODRAWINGGROUP */\n\n\t/* BIFF8: [SST *Continue] ExtSST */\n\tif(b8 && opts.Strings) write_biff_continue(C, 0x00FC, write_SST(opts.Strings, opts));\n\n\t/* *WebPub [WOpt] [CrErr] [BookExt] *FeatHdr *DConn [THEME] [CompressPictures] [Compat12] [GUIDTypeLib] */\n\twrite_biff_rec(C, 0x000A /* EOF */);\n\tvar c = C.end();\n\n\tvar B = buf_array();\n\tvar blen = 0, j = 0;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) blen += (b8 ? 12 : 11) + (b8 ? 2 : 1) * wb.SheetNames[j].length;\n\tvar start = a.length + blen + c.length;\n\tfor(j = 0; j < wb.SheetNames.length; ++j) {\n\t\tvar _sheet/*:WBWSProp*/ = _sheets[j] || ({}/*:any*/);\n\t\twrite_biff_rec(B, 0x0085 /* BoundSheet8 */, write_BoundSheet8({pos:start, hs:_sheet.Hidden||0, dt:0, name:wb.SheetNames[j]}, opts));\n\t\tstart += bufs[j].length;\n\t}\n\t/* 1*BoundSheet8 */\n\tvar b = B.end();\n\tif(blen != b.length) throw new Error(\"BS8 \" + blen + \" != \" + b.length);\n\n\tvar out = [];\n\tif(a.length) out.push(a);\n\tif(b.length) out.push(b);\n\tif(c.length) out.push(c);\n\treturn bconcat(out);\n}\n\n/* [MS-XLS] 2.1.7.20 Workbook Stream */\nfunction write_biff8_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tvar o = opts || {};\n\tvar bufs = [];\n\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\to.revssf = evert_num(wb.SSF); o.revssf[wb.SSF[65535]] = 0;\n\t\to.ssf = wb.SSF;\n\t}\n\n\to.Strings = /*::((*/[]/*:: :any):SST)*/; o.Strings.Count = 0; o.Strings.Unique = 0;\n\tfix_write_opts(o);\n\n\to.cellXfs = [];\n\tget_cell_style(o.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tfor(var i = 0; i < wb.SheetNames.length; ++i) bufs[bufs.length] = write_ws_biff8(i, o, wb);\n\tbufs.unshift(write_biff8_global(wb, bufs, o));\n\treturn bconcat(bufs);\n}\n\nfunction write_biff_buf(wb/*:Workbook*/, opts/*:WriteOpts*/) {\n\tfor(var i = 0; i <= wb.SheetNames.length; ++i) {\n\t\tvar ws = wb.Sheets[wb.SheetNames[i]];\n\t\tif(!ws || !ws[\"!ref\"]) continue;\n\t\tvar range = decode_range(ws[\"!ref\"]);\n\t\tif(range.e.c > 255) { // note: 255 is IV\n\t\tif(typeof console != \"undefined\" && console.error) console.error(\"Worksheet '\" + wb.SheetNames[i] + \"' extends beyond column IV (255). Data may be lost.\");\n\t\t}\n\t}\n\n\tvar o = opts || {};\n\tswitch(o.biff || 2) {\n\t\tcase 8: case 5: return write_biff8_buf(wb, opts);\n\t\tcase 4: case 3: case 2: return write_biff2_buf(wb, opts);\n\t}\n\tthrow new Error(\"invalid type \" + o.bookType + \" for BIFF\");\n}\n/* note: browser DOM element cannot see mso- style attrs, must parse */\nfunction html_to_sheet(str/*:string*/, _opts)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\tstr = str.replace(//g, \"\");\n\tvar mtch/*:any*/ = str.match(/\");\n\tvar mtch2/*:any*/ = str.match(/<\\/table/i);\n\tvar i/*:number*/ = mtch.index, j/*:number*/ = mtch2 && mtch2.index || str.length;\n\tvar rows = split_regex(str.slice(i, j), /(:?]*>)/i, \"\");\n\tvar R = -1, C = 0, RS = 0, CS = 0;\n\tvar range/*:Range*/ = {s:{r:10000000, c:10000000},e:{r:0,c:0}};\n\tvar merges/*:Array*/ = [];\n\tfor(i = 0; i < rows.length; ++i) {\n\t\tvar row = rows[i].trim();\n\t\tvar hd = row.slice(0,3).toLowerCase();\n\t\tif(hd == \"/i);\n\t\tfor(j = 0; j < cells.length; ++j) {\n\t\t\tvar cell = cells[j].trim();\n\t\t\tif(!cell.match(/\")) > -1) m = m.slice(cc+1);\n\t\t\tfor(var midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar _merge/*:Range*/ = merges[midx];\n\t\t\t\tif(_merge.s.c == C && _merge.s.r < R && R <= _merge.e.r) { C = _merge.e.c + 1; midx = -1; }\n\t\t\t}\n\t\t\tvar tag = parsexmltag(cell.slice(0, cell.indexOf(\">\")));\n\t\t\tCS = tag.colspan ? +tag.colspan : 1;\n\t\t\tif((RS = +tag.rowspan)>1 || CS>1) merges.push({s:{r:R,c:C},e:{r:R + (RS||1) - 1, c:C + CS - 1}});\n\t\t\tvar _t/*:string*/ = tag.t || tag[\"data-t\"] || \"\";\n\t\t\t/* TODO: generate stub cells */\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tm = htmldecode(m);\n\t\t\tif(range.s.r > R) range.s.r = R; if(range.e.r < R) range.e.r = R;\n\t\t\tif(range.s.c > C) range.s.c = C; if(range.e.c < C) range.e.c = C;\n\t\t\tif(!m.length) { C += CS; continue; }\n\t\t\tvar o/*:Cell*/ = {t:'s', v:m};\n\t\t\tif(opts.raw || !m.trim().length || _t == 's'){}\n\t\t\telse if(m === 'TRUE') o = {t:'b', v:true};\n\t\t\telse if(m === 'FALSE') o = {t:'b', v:false};\n\t\t\telse if(!isNaN(fuzzynum(m))) o = {t:'n', v:fuzzynum(m)};\n\t\t\telse if(!isNaN(fuzzydate(m).getDate())) {\n\t\t\t\to = ({t:'d', v:parseDate(m)}/*:any*/);\n\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t}\n\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = o; }\n\t\t\telse ws[encode_cell({r:R, c:C})] = o;\n\t\t\tC += CS;\n\t\t}\n\t}\n\tws['!ref'] = encode_range(range);\n\tif(merges.length) ws[\"!merges\"] = merges;\n\treturn ws;\n}\nfunction make_html_row(ws/*:Worksheet*/, r/*:Range*/, R/*:number*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar M/*:Array*/ = (ws['!merges'] ||[]);\n\tvar oo/*:Array*/ = [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar RS = 0, CS = 0;\n\t\tfor(var j = 0; j < M.length; ++j) {\n\t\t\tif(M[j].s.r > R || M[j].s.c > C) continue;\n\t\t\tif(M[j].e.r < R || M[j].e.c < C) continue;\n\t\t\tif(M[j].s.r < R || M[j].s.c < C) { RS = -1; break; }\n\t\t\tRS = M[j].e.r - M[j].s.r + 1; CS = M[j].e.c - M[j].s.c + 1; break;\n\t\t}\n\t\tif(RS < 0) continue;\n\t\tvar coord = encode_cell({r:R,c:C});\n\t\tvar cell = o.dense ? (ws[R]||[])[C] : ws[coord];\n\t\t/* TODO: html entities */\n\t\tvar w = (cell && cell.v != null) && (cell.h || escapehtml(cell.w || (format_cell(cell), cell.w) || \"\")) || \"\";\n\t\tvar sp = ({}/*:any*/);\n\t\tif(RS > 1) sp.rowspan = RS;\n\t\tif(CS > 1) sp.colspan = CS;\n\t\tif(o.editable) w = '' + w + '';\n\t\telse if(cell) {\n\t\t\tsp[\"data-t\"] = cell && cell.t || 'z';\n\t\t\tif(cell.v != null) sp[\"data-v\"] = cell.v;\n\t\t\tif(cell.z != null) sp[\"data-z\"] = cell.z;\n\t\t\tif(cell.l && (cell.l.Target || \"#\").charAt(0) != \"#\") w = '' + w + '';\n\t\t}\n\t\tsp.id = (o.id || \"sjs\") + \"-\" + coord;\n\t\too.push(writextag('td', w, sp));\n\t}\n\tvar preamble = \"\";\n\treturn preamble + oo.join(\"\") + \"\";\n}\n\nvar HTML_BEGIN = 'SheetJS Table Export';\nvar HTML_END = '';\n\nfunction html_to_workbook(str/*:string*/, opts)/*:Workbook*/ {\n\tvar mtch = str.match(/[\\s\\S]*?<\\/table>/gi);\n\tif(!mtch || mtch.length == 0) throw new Error(\"Invalid HTML: could not find
\");\n\tif(mtch.length == 1) return sheet_to_workbook(html_to_sheet(mtch[0], opts), opts);\n\tvar wb = book_new();\n\tmtch.forEach(function(s, idx) { book_append_sheet(wb, html_to_sheet(s, opts), \"Sheet\" + (idx+1)); });\n\treturn wb;\n}\n\nfunction make_html_preamble(ws/*:Worksheet*/, R/*:Range*/, o/*:Sheet2HTMLOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\treturn out.join(\"\") + '';\n}\n\nfunction sheet_to_html(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*//*, wb:?Workbook*/)/*:string*/ {\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tvar out/*:Array*/ = [header];\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tout.push(make_html_preamble(ws, r, o));\n\tfor(var R = r.s.r; R <= r.e.r; ++R) out.push(make_html_row(ws, r, R, o));\n\tout.push(\"
\" + footer);\n\treturn out.join(\"\");\n}\n\nfunction sheet_add_dom(ws/*:Worksheet*/, table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tif(DENSE != null) opts.dense = DENSE;\n\tvar or_R = 0, or_C = 0;\n\tif(opts.origin != null) {\n\t\tif(typeof opts.origin == 'number') or_R = opts.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof opts.origin == \"string\" ? decode_cell(opts.origin) : opts.origin;\n\t\t\tor_R = _origin.r; or_C = _origin.c;\n\t\t}\n\t}\n\n\tvar rows/*:HTMLCollection*/ = table.getElementsByTagName('tr');\n\tvar sheetRows = Math.min(opts.sheetRows||10000000, rows.length);\n\tvar range/*:Range*/ = {s:{r:0,c:0},e:{r:or_R,c:or_C}};\n\tif(ws[\"!ref\"]) {\n\t\tvar _range/*:Range*/ = decode_range(ws[\"!ref\"]);\n\t\trange.s.r = Math.min(range.s.r, _range.s.r);\n\t\trange.s.c = Math.min(range.s.c, _range.s.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\tif(or_R == -1) range.e.r = or_R = _range.e.r + 1;\n\t}\n\tvar merges/*:Array*/ = [], midx = 0;\n\tvar rowinfo/*:Array*/ = ws[\"!rows\"] || (ws[\"!rows\"] = []);\n\tvar _R = 0, R = 0, _C = 0, C = 0, RS = 0, CS = 0;\n\tif(!ws[\"!cols\"]) ws['!cols'] = [];\n\tfor(; _R < rows.length && R < sheetRows; ++_R) {\n\t\tvar row/*:HTMLTableRowElement*/ = rows[_R];\n\t\tif (is_dom_element_hidden(row)) {\n\t\t\tif (opts.display) continue;\n\t\t\trowinfo[R] = {hidden: true};\n\t\t}\n\t\tvar elts/*:HTMLCollection*/ = (row.children/*:any*/);\n\t\tfor(_C = C = 0; _C < elts.length; ++_C) {\n\t\t\tvar elt/*:HTMLTableCellElement*/ = elts[_C];\n\t\t\tif (opts.display && is_dom_element_hidden(elt)) continue;\n\t\t\tvar v/*:?string*/ = elt.hasAttribute('data-v') ? elt.getAttribute('data-v') : elt.hasAttribute('v') ? elt.getAttribute('v') : htmldecode(elt.innerHTML);\n\t\t\tvar z/*:?string*/ = elt.getAttribute('data-z') || elt.getAttribute('z');\n\t\t\tfor(midx = 0; midx < merges.length; ++midx) {\n\t\t\t\tvar m/*:Range*/ = merges[midx];\n\t\t\t\tif(m.s.c == C + or_C && m.s.r < R + or_R && R + or_R <= m.e.r) { C = m.e.c+1 - or_C; midx = -1; }\n\t\t\t}\n\t\t\t/* TODO: figure out how to extract nonstandard mso- style */\n\t\t\tCS = +elt.getAttribute(\"colspan\") || 1;\n\t\t\tif( ((RS = (+elt.getAttribute(\"rowspan\") || 1)))>1 || CS>1) merges.push({s:{r:R + or_R,c:C + or_C},e:{r:R + or_R + (RS||1) - 1, c:C + or_C + (CS||1) - 1}});\n\t\t\tvar o/*:Cell*/ = {t:'s', v:v};\n\t\t\tvar _t/*:string*/ = elt.getAttribute(\"data-t\") || elt.getAttribute(\"t\") || \"\";\n\t\t\tif(v != null) {\n\t\t\t\tif(v.length == 0) o.t = _t || 'z';\n\t\t\t\telse if(opts.raw || v.trim().length == 0 || _t == \"s\"){}\n\t\t\t\telse if(v === 'TRUE') o = {t:'b', v:true};\n\t\t\t\telse if(v === 'FALSE') o = {t:'b', v:false};\n\t\t\t\telse if(!isNaN(fuzzynum(v))) o = {t:'n', v:fuzzynum(v)};\n\t\t\t\telse if(!isNaN(fuzzydate(v).getDate())) {\n\t\t\t\t\to = ({t:'d', v:parseDate(v)}/*:any*/);\n\t\t\t\t\tif(!opts.cellDates) o = ({t:'n', v:datenum(o.v)}/*:any*/);\n\t\t\t\t\to.z = opts.dateNF || table_fmt[14];\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(o.z === undefined && z != null) o.z = z;\n\t\t\t/* The first link is used. Links are assumed to be fully specified.\n\t\t\t * TODO: The right way to process relative links is to make a new */\n\t\t\tvar l = \"\", Aelts = elt.getElementsByTagName(\"A\");\n\t\t\tif(Aelts && Aelts.length) for(var Aelti = 0; Aelti < Aelts.length; ++Aelti)\tif(Aelts[Aelti].hasAttribute(\"href\")) {\n\t\t\t\tl = Aelts[Aelti].getAttribute(\"href\"); if(l.charAt(0) != \"#\") break;\n\t\t\t}\n\t\t\tif(l && l.charAt(0) != \"#\") o.l = ({ Target: l });\n\t\t\tif(opts.dense) { if(!ws[R + or_R]) ws[R + or_R] = []; ws[R + or_R][C + or_C] = o; }\n\t\t\telse ws[encode_cell({c:C + or_C, r:R + or_R})] = o;\n\t\t\tif(range.e.c < C + or_C) range.e.c = C + or_C;\n\t\t\tC += CS;\n\t\t}\n\t\t++R;\n\t}\n\tif(merges.length) ws['!merges'] = (ws[\"!merges\"] || []).concat(merges);\n\trange.e.r = Math.max(range.e.r, R - 1 + or_R);\n\tws['!ref'] = encode_range(range);\n\tif(R >= sheetRows) ws['!fullref'] = encode_range((range.e.r = rows.length-_R+R-1 + or_R,range)); // We can count the real number of rows to parse but we don't to improve the performance\n\treturn ws;\n}\n\nfunction parse_dom_table(table/*:HTMLElement*/, _opts/*:?any*/)/*:Worksheet*/ {\n\tvar opts = _opts || {};\n\tvar ws/*:Worksheet*/ = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\treturn sheet_add_dom(ws, table, _opts);\n}\n\nfunction table_to_book(table/*:HTMLElement*/, opts/*:?any*/)/*:Workbook*/ {\n\treturn sheet_to_workbook(parse_dom_table(table, opts), opts);\n}\n\nfunction is_dom_element_hidden(element/*:HTMLElement*/)/*:boolean*/ {\n\tvar display/*:string*/ = '';\n\tvar get_computed_style/*:?function*/ = get_get_computed_style_function(element);\n\tif(get_computed_style) display = get_computed_style(element).getPropertyValue('display');\n\tif(!display) display = element.style && element.style.display;\n\treturn display === 'none';\n}\n\n/* global getComputedStyle */\nfunction get_get_computed_style_function(element/*:HTMLElement*/)/*:?function*/ {\n\t// The proper getComputedStyle implementation is the one defined in the element window\n\tif(element.ownerDocument.defaultView && typeof element.ownerDocument.defaultView.getComputedStyle === 'function') return element.ownerDocument.defaultView.getComputedStyle;\n\t// If it is not available, try to get one from the global namespace\n\tif(typeof getComputedStyle === 'function') return getComputedStyle;\n\treturn null;\n}\n/* OpenDocument */\nfunction parse_text_p(text/*:string*//*::, tag*/)/*:Array*/ {\n\t/* 6.1.2 White Space Characters */\n\tvar fixed = text\n\t\t.replace(/[\\t\\r\\n]/g, \" \").trim().replace(/ +/g, \" \")\n\t\t.replace(//g,\" \")\n\t\t.replace(//g, function($$,$1) { return Array(parseInt($1,10)+1).join(\" \"); })\n\t\t.replace(/]*\\/>/g,\"\\t\")\n\t\t.replace(//g,\"\\n\");\n\tvar v = unescapexml(fixed.replace(/<[^>]*>/g,\"\"));\n\n\treturn [v];\n}\n\nvar number_formats_ods = {\n\t/* ods name: [short ssf fmt, long ssf fmt] */\n\tday: [\"d\", \"dd\"],\n\tmonth: [\"m\", \"mm\"],\n\tyear: [\"y\", \"yy\"],\n\thours: [\"h\", \"hh\"],\n\tminutes: [\"m\", \"mm\"],\n\tseconds: [\"s\", \"ss\"],\n\t\"am-pm\": [\"A/P\", \"AM/PM\"],\n\t\"day-of-week\": [\"ddd\", \"dddd\"],\n\tera: [\"e\", \"ee\"],\n\t/* there is no native representation of LO \"Q\" format */\n\tquarter: [\"\\\\Qm\", \"m\\\\\\\"th quarter\\\"\"]\n};\n\n\nfunction parse_content_xml(d/*:string*/, _opts)/*:Workbook*/ {\n\t\tvar opts = _opts || {};\n\t\tif(DENSE != null && opts.dense == null) opts.dense = DENSE;\n\t\tvar str = xlml_normalize(d);\n\t\tvar state/*:Array*/ = [], tmp;\n\t\tvar tag/*:: = {}*/;\n\t\tvar NFtag = {name:\"\"}, NF = \"\", pidx = 0;\n\t\tvar sheetag/*:: = {name:\"\", '名称':\"\"}*/;\n\t\tvar rowtag/*:: = {'行号':\"\"}*/;\n\t\tvar Sheets = {}, SheetNames/*:Array*/ = [];\n\t\tvar ws = opts.dense ? ([]/*:any*/) : ({}/*:any*/);\n\t\tvar Rn, q/*:: :any = ({t:\"\", v:null, z:null, w:\"\",c:[],}:any)*/;\n\t\tvar ctag = ({value:\"\"}/*:any*/);\n\t\tvar textp = \"\", textpidx = 0, textptag/*:: = {}*/;\n\t\tvar textR = [];\n\t\tvar R = -1, C = -1, range = {s: {r:1000000,c:10000000}, e: {r:0, c:0}};\n\t\tvar row_ol = 0;\n\t\tvar number_format_map = {};\n\t\tvar merges/*:Array*/ = [], mrange = {}, mR = 0, mC = 0;\n\t\tvar rowinfo/*:Array*/ = [], rowpeat = 1, colpeat = 1;\n\t\tvar arrayf/*:Array<[Range, string]>*/ = [];\n\t\tvar WB = {Names:[]};\n\t\tvar atag = ({}/*:any*/);\n\t\tvar _Ref/*:[string, string]*/ = [\"\", \"\"];\n\t\tvar comments/*:Array*/ = [], comment/*:Comment*/ = ({}/*:any*/);\n\t\tvar creator = \"\", creatoridx = 0;\n\t\tvar isstub = false, intable = false;\n\t\tvar i = 0;\n\t\txlmlregex.lastIndex = 0;\n\t\tstr = str.replace(//mg,\"\").replace(//gm,\"\");\n\t\twhile((Rn = xlmlregex.exec(str))) switch((Rn[3]=Rn[3].replace(/_.*$/,\"\"))) {\n\n\t\t\tcase 'table': case '工作表': // 9.1.2 \n\t\t\t\tif(Rn[1]==='/') {\n\t\t\t\t\tif(range.e.c >= range.s.c && range.e.r >= range.s.r) ws['!ref'] = encode_range(range);\n\t\t\t\t\telse ws['!ref'] = \"A1:A1\";\n\t\t\t\t\tif(opts.sheetRows > 0 && opts.sheetRows <= range.e.r) {\n\t\t\t\t\t\tws['!fullref'] = ws['!ref'];\n\t\t\t\t\t\trange.e.r = opts.sheetRows - 1;\n\t\t\t\t\t\tws['!ref'] = encode_range(range);\n\t\t\t\t\t}\n\t\t\t\t\tif(merges.length) ws['!merges'] = merges;\n\t\t\t\t\tif(rowinfo.length) ws[\"!rows\"] = rowinfo;\n\t\t\t\t\tsheetag.name = sheetag['名称'] || sheetag.name;\n\t\t\t\t\tif(typeof JSON !== 'undefined') JSON.stringify(sheetag);\n\t\t\t\t\tSheetNames.push(sheetag.name);\n\t\t\t\t\tSheets[sheetag.name] = ws;\n\t\t\t\t\tintable = false;\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tsheetag = parsexmltag(Rn[0], false);\n\t\t\t\t\tR = C = -1;\n\t\t\t\t\trange.s.r = range.s.c = 10000000; range.e.r = range.e.c = 0;\n\t\t\t\t\tws = opts.dense ? ([]/*:any*/) : ({}/*:any*/); merges = [];\n\t\t\t\t\trowinfo = [];\n\t\t\t\t\tintable = true;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'table-row-group': // 9.1.9 \n\t\t\t\tif(Rn[1] === \"/\") --row_ol; else ++row_ol;\n\t\t\t\tbreak;\n\t\t\tcase 'table-row': case '行': // 9.1.3 \n\t\t\t\tif(Rn[1] === '/') { R+=rowpeat; rowpeat = 1; break; }\n\t\t\t\trowtag = parsexmltag(Rn[0], false);\n\t\t\t\tif(rowtag['行号']) R = rowtag['行号'] - 1; else if(R == -1) R = 0;\n\t\t\t\trowpeat = +rowtag['number-rows-repeated'] || 1;\n\t\t\t\t/* TODO: remove magic */\n\t\t\t\tif(rowpeat < 10) for(i = 0; i < rowpeat; ++i) if(row_ol > 0) rowinfo[R + i] = {level: row_ol};\n\t\t\t\tC = -1; break;\n\t\t\tcase 'covered-table-cell': // 9.1.5 \n\t\t\t\tif(Rn[1] !== '/') ++C;\n\t\t\t\tif(opts.sheetStubs) {\n\t\t\t\t\tif(opts.dense) { if(!ws[R]) ws[R] = []; ws[R][C] = {t:'z'}; }\n\t\t\t\t\telse ws[encode_cell({r:R,c:C})] = {t:'z'};\n\t\t\t\t}\n\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\tbreak; /* stub */\n\t\t\tcase 'table-cell': case '数据':\n\t\t\t\tif(Rn[0].charAt(Rn[0].length-2) === '/') {\n\t\t\t\t\t++C;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tq = ({t:'z', v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(ctag.formula && opts.cellFormula != false) q.f = ods_to_csf_formula(unescapexml(ctag.formula));\n\t\t\t\t\tif((ctag['数据类型'] || ctag['value-type']) == \"string\") {\n\t\t\t\t\t\tq.t = \"s\"; q.v = unescapexml(ctag['string-value'] || \"\");\n\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\tif(!ws[R]) ws[R] = [];\n\t\t\t\t\t\t\tws[R][C] = q;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tws[encode_cell({r:R,c:C})] = q;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tC+= colpeat-1;\n\t\t\t\t} else if(Rn[1]!=='/') {\n\t\t\t\t\t++C;\n\t\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\t\tcolpeat = 1;\n\t\t\t\t\tvar rptR = rowpeat ? R + rowpeat - 1 : R;\n\t\t\t\t\tif(C > range.e.c) range.e.c = C;\n\t\t\t\t\tif(C < range.s.c) range.s.c = C;\n\t\t\t\t\tif(R < range.s.r) range.s.r = R;\n\t\t\t\t\tif(rptR > range.e.r) range.e.r = rptR;\n\t\t\t\t\tctag = parsexmltag(Rn[0], false);\n\t\t\t\t\tcomments = []; comment = ({}/*:any*/);\n\t\t\t\t\tq = ({t:ctag['数据类型'] || ctag['value-type'], v:null/*:: , z:null, w:\"\",c:[]*/}/*:any*/);\n\t\t\t\t\tif(opts.cellFormula) {\n\t\t\t\t\t\tif(ctag.formula) ctag.formula = unescapexml(ctag.formula);\n\t\t\t\t\t\tif(ctag['number-matrix-columns-spanned'] && ctag['number-matrix-rows-spanned']) {\n\t\t\t\t\t\t\tmR = parseInt(ctag['number-matrix-rows-spanned'],10) || 0;\n\t\t\t\t\t\t\tmC = parseInt(ctag['number-matrix-columns-spanned'],10) || 0;\n\t\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\t\tq.F = encode_range(mrange);\n\t\t\t\t\t\t\tarrayf.push([mrange, q.F]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(ctag.formula) q.f = ods_to_csf_formula(ctag.formula);\n\t\t\t\t\t\telse for(i = 0; i < arrayf.length; ++i)\n\t\t\t\t\t\t\tif(R >= arrayf[i][0].s.r && R <= arrayf[i][0].e.r)\n\t\t\t\t\t\t\t\tif(C >= arrayf[i][0].s.c && C <= arrayf[i][0].e.c)\n\t\t\t\t\t\t\t\t\tq.F = arrayf[i][1];\n\t\t\t\t\t}\n\t\t\t\t\tif(ctag['number-columns-spanned'] || ctag['number-rows-spanned']) {\n\t\t\t\t\t\tmR = parseInt(ctag['number-rows-spanned'],10) || 0;\n\t\t\t\t\t\tmC = parseInt(ctag['number-columns-spanned'],10) || 0;\n\t\t\t\t\t\tmrange = {s: {r:R,c:C}, e:{r:R + mR-1,c:C + mC-1}};\n\t\t\t\t\t\tmerges.push(mrange);\n\t\t\t\t\t}\n\n\t\t\t\t\t/* 19.675.2 table:number-columns-repeated */\n\t\t\t\t\tif(ctag['number-columns-repeated']) colpeat = parseInt(ctag['number-columns-repeated'], 10);\n\n\t\t\t\t\t/* 19.385 office:value-type */\n\t\t\t\t\tswitch(q.t) {\n\t\t\t\t\t\tcase 'boolean': q.t = 'b'; q.v = parsexmlbool(ctag['boolean-value']); break;\n\t\t\t\t\t\tcase 'float': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'percentage': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'currency': q.t = 'n'; q.v = parseFloat(ctag.value); break;\n\t\t\t\t\t\tcase 'date': q.t = 'd'; q.v = parseDate(ctag['date-value']);\n\t\t\t\t\t\t\tif(!opts.cellDates) { q.t = 'n'; q.v = datenum(q.v); }\n\t\t\t\t\t\t\tq.z = 'm/d/yy'; break;\n\t\t\t\t\t\tcase 'time': q.t = 'n'; q.v = parse_isodur(ctag['time-value'])/86400;\n\t\t\t\t\t\t\tif(opts.cellDates) { q.t = 'd'; q.v = numdate(q.v); }\n\t\t\t\t\t\t\tq.z = 'HH:MM:SS'; break;\n\t\t\t\t\t\tcase 'number': q.t = 'n'; q.v = parseFloat(ctag['数据数值']); break;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tif(q.t === 'string' || q.t === 'text' || !q.t) {\n\t\t\t\t\t\t\t\tq.t = 's';\n\t\t\t\t\t\t\t\tif(ctag['string-value'] != null) { textp = unescapexml(ctag['string-value']); textR = []; }\n\t\t\t\t\t\t\t} else throw new Error('Unsupported value type ' + q.t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tisstub = false;\n\t\t\t\t\tif(q.t === 's') {\n\t\t\t\t\t\tq.v = textp || '';\n\t\t\t\t\t\tif(textR.length) q.R = textR;\n\t\t\t\t\t\tisstub = textpidx == 0;\n\t\t\t\t\t}\n\t\t\t\t\tif(atag.Target) q.l = atag;\n\t\t\t\t\tif(comments.length > 0) { q.c = comments; comments = []; }\n\t\t\t\t\tif(textp && opts.cellText !== false) q.w = textp;\n\t\t\t\t\tif(isstub) { q.t = \"z\"; delete q.v; }\n\t\t\t\t\tif(!isstub || opts.sheetStubs) {\n\t\t\t\t\t\tif(!(opts.sheetRows && opts.sheetRows <= R)) {\n\t\t\t\t\t\t\tfor(var rpt = 0; rpt < rowpeat; ++rpt) {\n\t\t\t\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\t\t\t\tif(opts.dense) {\n\t\t\t\t\t\t\t\t\tif(!ws[R + rpt]) ws[R + rpt] = [];\n\t\t\t\t\t\t\t\t\tws[R + rpt][C] = rpt == 0 ? q : dup(q);\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[R + rpt][C + colpeat] = dup(q);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tws[encode_cell({r:R + rpt,c:C})] = q;\n\t\t\t\t\t\t\t\t\twhile(--colpeat > 0) ws[encode_cell({r:R + rpt,c:C + colpeat})] = dup(q);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif(range.e.c <= C) range.e.c = C;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcolpeat = parseInt(ctag['number-columns-repeated']||\"1\", 10);\n\t\t\t\t\tC += colpeat-1; colpeat = 0;\n\t\t\t\t\tq = {/*:: t:\"\", v:null, z:null, w:\"\",c:[]*/};\n\t\t\t\t\ttextp = \"\"; textR = [];\n\t\t\t\t}\n\t\t\t\tatag = ({}/*:any*/);\n\t\t\t\tbreak; // 9.1.4 \n\n\t\t\t/* pure state */\n\t\t\tcase 'document': // TODO: is the root for FODS\n\t\t\tcase 'document-content': case '电子表格文档': // 3.1.3.2 \n\t\t\tcase 'spreadsheet': case '主体': // 3.7 \n\t\t\tcase 'scripts': // 3.12 \n\t\t\tcase 'styles': // TODO \n\t\t\tcase 'font-face-decls': // 3.14 \n\t\t\tcase 'master-styles': // 3.15.4 -- relevant for FODS\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], true]);\n\t\t\t\tbreak;\n\n\t\t\tcase 'annotation': // 14.1 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t\tcomment.t = textp;\n\t\t\t\t\tif(textR.length) /*::(*/comment/*:: :any)*/.R = textR;\n\t\t\t\t\tcomment.a = creator;\n\t\t\t\t\tcomments.push(comment);\n\t\t\t\t}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') {state.push([Rn[3], false]);}\n\t\t\t\tcreator = \"\"; creatoridx = 0;\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'creator': // 4.3.2.7 \n\t\t\t\tif(Rn[1]==='/') { creator = str.slice(creatoridx,Rn.index); }\n\t\t\t\telse creatoridx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\t/* ignore state */\n\t\t\tcase 'meta': case '元数据': // TODO: FODS/UOF\n\t\t\tcase 'settings': // TODO: \n\t\t\tcase 'config-item-set': // TODO: \n\t\t\tcase 'config-item-map-indexed': // TODO: \n\t\t\tcase 'config-item-map-entry': // TODO: \n\t\t\tcase 'config-item-map-named': // TODO: \n\t\t\tcase 'shapes': // 9.2.8 \n\t\t\tcase 'frame': // 10.4.2 \n\t\t\tcase 'text-box': // 10.4.3 \n\t\t\tcase 'image': // 10.4.4 \n\t\t\tcase 'data-pilot-tables': // 9.6.2 \n\t\t\tcase 'list-style': // 16.30 \n\t\t\tcase 'form': // 13.13 \n\t\t\tcase 'dde-links': // 9.8 \n\t\t\tcase 'event-listeners': // TODO\n\t\t\tcase 'chart': // TODO\n\t\t\t\tif(Rn[1]==='/'){if((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;}\n\t\t\t\telse if(Rn[0].charAt(Rn[0].length-2) !== '/') state.push([Rn[3], false]);\n\t\t\t\ttextp = \"\"; textpidx = 0; textR = [];\n\t\t\t\tbreak;\n\n\t\t\tcase 'scientific-number': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-symbol': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'currency-style': // TODO: \n\t\t\t\tbreak;\n\t\t\tcase 'number-style': // 16.27.2 \n\t\t\tcase 'percentage-style': // 16.27.9 \n\t\t\tcase 'date-style': // 16.27.10 \n\t\t\tcase 'time-style': // 16.27.18 \n\t\t\t\tif(Rn[1]==='/'){\n\t\t\t\t\tnumber_format_map[NFtag.name] = NF;\n\t\t\t\t\tif((tmp=state.pop())[0]!==Rn[3]) throw \"Bad state: \"+tmp;\n\t\t\t\t} else if(Rn[0].charAt(Rn[0].length-2) !== '/') {\n\t\t\t\t\tNF = \"\";\n\t\t\t\t\tNFtag = parsexmltag(Rn[0], false);\n\t\t\t\t\tstate.push([Rn[3], true]);\n\t\t\t\t} break;\n\n\t\t\tcase 'script': break; // 3.13 \n\t\t\tcase 'libraries': break; // TODO: \n\t\t\tcase 'automatic-styles': break; // 3.15.3 \n\n\t\t\tcase 'default-style': // TODO: \n\t\t\tcase 'page-layout': break; // TODO: \n\t\t\tcase 'style': // 16.2 \n\t\t\t\tbreak;\n\t\t\tcase 'map': break; // 16.3 \n\t\t\tcase 'font-face': break; // 16.21 \n\n\t\t\tcase 'paragraph-properties': break; // 17.6 \n\t\t\tcase 'table-properties': break; // 17.15 \n\t\t\tcase 'table-column-properties': break; // 17.16 \n\t\t\tcase 'table-row-properties': break; // 17.17 \n\t\t\tcase 'table-cell-properties': break; // 17.18 \n\n\t\t\tcase 'number': // 16.27.3 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'fraction': break; // TODO 16.27.6 \n\n\t\t\tcase 'day': // 16.27.11 \n\t\t\tcase 'month': // 16.27.12 \n\t\t\tcase 'year': // 16.27.13 \n\t\t\tcase 'era': // 16.27.14 \n\t\t\tcase 'day-of-week': // 16.27.15 \n\t\t\tcase 'week-of-year': // 16.27.16 \n\t\t\tcase 'quarter': // 16.27.17 \n\t\t\tcase 'hours': // 16.27.19 \n\t\t\tcase 'minutes': // 16.27.20 \n\t\t\tcase 'seconds': // 16.27.21 \n\t\t\tcase 'am-pm': // 16.27.22 \n\t\t\t\tswitch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t\t\tNF += number_formats_ods[Rn[3]][tag.style==='long'?1:0]; break;\n\t\t\t\t} break;\n\n\t\t\tcase 'boolean-style': break; // 16.27.23 \n\t\t\tcase 'boolean': break; // 16.27.24 \n\t\t\tcase 'text-style': break; // 16.27.25 \n\t\t\tcase 'text': // 16.27.26 \n\t\t\t\tif(Rn[0].slice(-2) === \"/>\") break;\n\t\t\t\telse if(Rn[1]===\"/\") switch(state[state.length-1][0]) {\n\t\t\t\t\tcase 'number-style':\n\t\t\t\t\tcase 'date-style':\n\t\t\t\t\tcase 'time-style':\n\t\t\t\t\t\tNF += str.slice(pidx, Rn.index);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\telse pidx = Rn.index + Rn[0].length;\n\t\t\t\tbreak;\n\n\t\t\tcase 'named-range': // 9.4.12 \n\t\t\t\ttag = parsexmltag(Rn[0], false);\n\t\t\t\t_Ref = ods_to_csf_3D(tag['cell-range-address']);\n\t\t\t\tvar nrange = ({Name:tag.name, Ref:_Ref[0] + '!' + _Ref[1]}/*:any*/);\n\t\t\t\tif(intable) nrange.Sheet = SheetNames.length;\n\t\t\t\tWB.Names.push(nrange);\n\t\t\t\tbreak;\n\n\t\t\tcase 'text-content': break; // 16.27.27 \n\t\t\tcase 'text-properties': break; // 16.27.27 \n\t\t\tcase 'embedded-text': break; // 16.27.4 \n\n\t\t\tcase 'body': case '电子表格': break; // 3.3 16.9.6 19.726.3\n\n\t\t\tcase 'forms': break; // 12.25.2 13.2\n\t\t\tcase 'table-column': break; // 9.1.6 \n\t\t\tcase 'table-header-rows': break; // 9.1.7 \n\t\t\tcase 'table-rows': break; // 9.1.12 \n\t\t\t/* TODO: outline levels */\n\t\t\tcase 'table-column-group': break; // 9.1.10 \n\t\t\tcase 'table-header-columns': break; // 9.1.11 \n\t\t\tcase 'table-columns': break; // 9.1.12 \n\n\t\t\tcase 'null-date': break; // 9.4.2 TODO: date1904\n\n\t\t\tcase 'graphic-properties': break; // 17.21 \n\t\t\tcase 'calculation-settings': break; // 9.4.1 \n\t\t\tcase 'named-expressions': break; // 9.4.11 \n\t\t\tcase 'label-range': break; // 9.4.9 \n\t\t\tcase 'label-ranges': break; // 9.4.10 \n\t\t\tcase 'named-expression': break; // 9.4.13 \n\t\t\tcase 'sort': break; // 9.4.19 \n\t\t\tcase 'sort-by': break; // 9.4.20 \n\t\t\tcase 'sort-groups': break; // 9.4.22 \n\n\t\t\tcase 'tab': break; // 6.1.4 \n\t\t\tcase 'line-break': break; // 6.1.5 \n\t\t\tcase 'span': break; // 6.1.7 \n\t\t\tcase 'p': case '文本串': // 5.1.3 \n\t\t\t\tif(['master-styles'].indexOf(state[state.length-1][0]) > -1) break;\n\t\t\t\tif(Rn[1]==='/' && (!ctag || !ctag['string-value'])) {\n\t\t\t\t\tvar ptp = parse_text_p(str.slice(textpidx,Rn.index), textptag);\n\t\t\t\t\ttextp = (textp.length > 0 ? textp + \"\\n\" : \"\") + ptp[0];\n\t\t\t\t} else { textptag = parsexmltag(Rn[0], false); textpidx = Rn.index + Rn[0].length; }\n\t\t\t\tbreak; // \n\t\t\tcase 's': break; // \n\n\t\t\tcase 'database-range': // 9.4.15 \n\t\t\t\tif(Rn[1]==='/') break;\n\t\t\t\ttry {\n\t\t\t\t\t_Ref = ods_to_csf_3D(parsexmltag(Rn[0])['target-range-address']);\n\t\t\t\t\tSheets[_Ref[0]]['!autofilter'] = { ref:_Ref[1] };\n\t\t\t\t} catch(e) {/* empty */}\n\t\t\t\tbreak;\n\n\t\t\tcase 'date': break; // <*:date>\n\n\t\t\tcase 'object': break; // 10.4.6.2 \n\t\t\tcase 'title': case '标题': break; // <*:title> OR \n\t\t\tcase 'desc': break; // <*:desc>\n\t\t\tcase 'binary-data': break; // 10.4.5 TODO: b64 blob\n\n\t\t\t/* 9.2 Advanced Tables */\n\t\t\tcase 'table-source': break; // 9.2.6\n\t\t\tcase 'scenario': break; // 9.2.6\n\n\t\t\tcase 'iteration': break; // 9.4.3 \n\t\t\tcase 'content-validations': break; // 9.4.4 \n\t\t\tcase 'filter': break; // 9.5.2 \n\t\t\tcase 'filter-and': break; // 9.5.3 \n\t\t\tcase 'filter-or': break; // 9.5.4 \n\t\t\tcase 'filter-condition': break; // 9.5.5 \n\n\t\t\tcase 'list-level-style-bullet': break; // 16.31 \n\t\t\tcase 'page-count': break; // TODO \n\t\t\tcase 'time': break; // TODO \n\n\t\t\t/* 9.3 Advanced Table Cells */\n\t\t\tcase 'cell-range-source': break; // 9.3.1 \n\t\t\tcase 'property': break; // 13.8 \n\n\t\t\tcase 'a': // 6.1.8 hyperlink\n\t\t\t\tif(Rn[1]!== '/') {\n\t\t\t\t\tatag = parsexmltag(Rn[0], false);\n\t\t\t\t\tif(!atag.href) break;\n\t\t\t\t\tatag.Target = unescapexml(atag.href); delete atag.href;\n\t\t\t\t\tif(atag.Target.charAt(0) == \"#\" && atag.Target.indexOf(\".\") > -1) {\n\t\t\t\t\t\t_Ref = ods_to_csf_3D(atag.Target.slice(1));\n\t\t\t\t\t\tatag.Target = \"#\" + _Ref[0] + \"!\" + _Ref[1];\n\t\t\t\t\t} else if(atag.Target.match(/^\\.\\.[\\\\\\/]/)) atag.Target = atag.Target.slice(3);\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\t/* non-standard */\n\t\t\tcase 'table-protection': break;\n\t\t\tcase 'data-pilot-grand-total': break; // ',\n\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t\t'',\n\t\t\t'',\n\t\t''\n\t].join(\"\");\n\n\tvar payload = '' + master_styles + '';\n\n\treturn function wso(/*::wb, opts*/) {\n\t\treturn XML_HEADER + payload;\n\t};\n})();\nvar write_content_ods/*:{(wb:any, opts:any):string}*/ = /* @__PURE__ */(function() {\n\t/* 6.1.2 White Space Characters */\n\tvar write_text_p = function(text/*:string*/)/*:string*/ {\n\t\treturn escapexml(text)\n\t\t\t.replace(/ +/g, function($$){return '';})\n\t\t\t.replace(/\\t/g, \"\")\n\t\t\t.replace(/\\n/g, \"\")\n\t\t\t.replace(/^ /, \"\").replace(/ $/, \"\");\n\t};\n\n\tvar null_cell_xml = ' \\n';\n\tvar covered_cell_xml = ' \\n';\n\tvar write_ws = function(ws, wb/*:Workbook*/, i/*:number*//*::, opts*/)/*:string*/ {\n\t\t/* Section 9 Tables */\n\t\tvar o/*:Array*/ = [];\n\t\to.push(' \\n');\n\t\tvar R=0,C=0, range = decode_range(ws['!ref']||\"A1\");\n\t\tvar marr/*:Array*/ = ws['!merges'] || [], mi = 0;\n\t\tvar dense = Array.isArray(ws);\n\t\tif(ws[\"!cols\"]) {\n\t\t\tfor(C = 0; C <= range.e.c; ++C) o.push(' \\n');\n\t\t}\n\t\tvar H = \"\", ROWS = ws[\"!rows\"]||[];\n\t\tfor(R = 0; R < range.s.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t}\n\t\tfor(; R <= range.e.r; ++R) {\n\t\t\tH = ROWS[R] ? ' table:style-name=\"ro' + ROWS[R].ods + '\"' : \"\";\n\t\t\to.push(' \\n');\n\t\t\tfor(C=0; C < range.s.c; ++C) o.push(null_cell_xml);\n\t\t\tfor(; C <= range.e.c; ++C) {\n\t\t\t\tvar skip = false, ct = {}, textp = \"\";\n\t\t\t\tfor(mi = 0; mi != marr.length; ++mi) {\n\t\t\t\t\tif(marr[mi].s.c > C) continue;\n\t\t\t\t\tif(marr[mi].s.r > R) continue;\n\t\t\t\t\tif(marr[mi].e.c < C) continue;\n\t\t\t\t\tif(marr[mi].e.r < R) continue;\n\t\t\t\t\tif(marr[mi].s.c != C || marr[mi].s.r != R) skip = true;\n\t\t\t\t\tct['table:number-columns-spanned'] = (marr[mi].e.c - marr[mi].s.c + 1);\n\t\t\t\t\tct['table:number-rows-spanned'] = (marr[mi].e.r - marr[mi].s.r + 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tif(skip) { o.push(covered_cell_xml); continue; }\n\t\t\t\tvar ref = encode_cell({r:R, c:C}), cell = dense ? (ws[R]||[])[C]: ws[ref];\n\t\t\t\tif(cell && cell.f) {\n\t\t\t\t\tct['table:formula'] = escapexml(csf_to_ods_formula(cell.f));\n\t\t\t\t\tif(cell.F) {\n\t\t\t\t\t\tif(cell.F.slice(0, ref.length) == ref) {\n\t\t\t\t\t\t\tvar _Fref = decode_range(cell.F);\n\t\t\t\t\t\t\tct['table:number-matrix-columns-spanned'] = (_Fref.e.c - _Fref.s.c + 1);\n\t\t\t\t\t\t\tct['table:number-matrix-rows-spanned'] = (_Fref.e.r - _Fref.s.r + 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(!cell) { o.push(null_cell_xml); continue; }\n\t\t\t\tswitch(cell.t) {\n\t\t\t\t\tcase 'b':\n\t\t\t\t\t\ttextp = (cell.v ? 'TRUE' : 'FALSE');\n\t\t\t\t\t\tct['office:value-type'] = \"boolean\";\n\t\t\t\t\t\tct['office:boolean-value'] = (cell.v ? 'true' : 'false');\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'n':\n\t\t\t\t\t\ttextp = (cell.w||String(cell.v||0));\n\t\t\t\t\t\tct['office:value-type'] = \"float\";\n\t\t\t\t\t\tct['office:value'] = (cell.v||0);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 's': case 'str':\n\t\t\t\t\t\ttextp = cell.v == null ? \"\" : cell.v;\n\t\t\t\t\t\tct['office:value-type'] = \"string\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'd':\n\t\t\t\t\t\ttextp = (cell.w||(parseDate(cell.v).toISOString()));\n\t\t\t\t\t\tct['office:value-type'] = \"date\";\n\t\t\t\t\t\tct['office:date-value'] = (parseDate(cell.v).toISOString());\n\t\t\t\t\t\tct['table:style-name'] = \"ce1\";\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t//case 'e':\n\t\t\t\t\tdefault: o.push(null_cell_xml); continue;\n\t\t\t\t}\n\t\t\t\tvar text_p = write_text_p(textp);\n\t\t\t\tif(cell.l && cell.l.Target) {\n\t\t\t\t\tvar _tgt = cell.l.Target;\n\t\t\t\t\t_tgt = _tgt.charAt(0) == \"#\" ? \"#\" + csf_to_ods_3D(_tgt.slice(1)) : _tgt;\n\t\t\t\t\t// TODO: choose correct parent path format based on link delimiters\n\t\t\t\t\tif(_tgt.charAt(0) != \"#\" && !_tgt.match(/^\\w+:/)) _tgt = '../' + _tgt;\n\t\t\t\t\ttext_p = writextag('text:a', text_p, {'xlink:href': _tgt.replace(/&/g, \"&\")});\n\t\t\t\t}\n\t\t\t\to.push(' ' + writextag('table:table-cell', writextag('text:p', text_p, {}), ct) + '\\n');\n\t\t\t}\n\t\t\to.push(' \\n');\n\t\t}\n\t\to.push(' \\n');\n\t\treturn o.join(\"\");\n\t};\n\n\tvar write_automatic_styles_ods = function(o/*:Array*/, wb) {\n\t\to.push(' \\n');\n\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' /\\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* column styles */\n\t\tvar cidx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!cols\"]) {\n\t\t\t\tfor(var C = 0; C < ws[\"!cols\"].length; ++C) if(ws[\"!cols\"][C]) {\n\t\t\t\t\tvar colobj = ws[\"!cols\"][C];\n\t\t\t\t\tif(colobj.width == null && colobj.wpx == null && colobj.wch == null) continue;\n\t\t\t\t\tprocess_col(colobj);\n\t\t\t\t\tcolobj.ods = cidx;\n\t\t\t\t\tvar w = ws[\"!cols\"][C].wpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++cidx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* row styles */\n\t\tvar ridx = 0;\n\t\twb.SheetNames.map(function(n) { return wb.Sheets[n]; }).forEach(function(ws) {\n\t\t\tif(!ws) return;\n\t\t\tif(ws[\"!rows\"]) {\n\t\t\t\tfor(var R = 0; R < ws[\"!rows\"].length; ++R) if(ws[\"!rows\"][R]) {\n\t\t\t\t\tws[\"!rows\"][R].ods = ridx;\n\t\t\t\t\tvar h = ws[\"!rows\"][R].hpx + \"px\";\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\to.push(' \\n');\n\t\t\t\t\t++ridx;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\t/* table */\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\n\t\t/* table cells, text */\n\t\to.push(' \\n');\n\n\t\t/* page-layout */\n\n\t\to.push(' \\n');\n\t};\n\n\treturn function wcx(wb, opts) {\n\t\tvar o = [XML_HEADER];\n\t\t/* 3.1.3.2 */\n\t\tvar attr = wxt_helper({\n\t\t\t'xmlns:office': \"urn:oasis:names:tc:opendocument:xmlns:office:1.0\",\n\t\t\t'xmlns:table': \"urn:oasis:names:tc:opendocument:xmlns:table:1.0\",\n\t\t\t'xmlns:style': \"urn:oasis:names:tc:opendocument:xmlns:style:1.0\",\n\t\t\t'xmlns:text': \"urn:oasis:names:tc:opendocument:xmlns:text:1.0\",\n\t\t\t'xmlns:draw': \"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0\",\n\t\t\t'xmlns:fo': \"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0\",\n\t\t\t'xmlns:xlink': \"http://www.w3.org/1999/xlink\",\n\t\t\t'xmlns:dc': \"http://purl.org/dc/elements/1.1/\",\n\t\t\t'xmlns:meta': \"urn:oasis:names:tc:opendocument:xmlns:meta:1.0\",\n\t\t\t'xmlns:number': \"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0\",\n\t\t\t'xmlns:presentation': \"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0\",\n\t\t\t'xmlns:svg': \"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0\",\n\t\t\t'xmlns:chart': \"urn:oasis:names:tc:opendocument:xmlns:chart:1.0\",\n\t\t\t'xmlns:dr3d': \"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0\",\n\t\t\t'xmlns:math': \"http://www.w3.org/1998/Math/MathML\",\n\t\t\t'xmlns:form': \"urn:oasis:names:tc:opendocument:xmlns:form:1.0\",\n\t\t\t'xmlns:script': \"urn:oasis:names:tc:opendocument:xmlns:script:1.0\",\n\t\t\t'xmlns:ooo': \"http://openoffice.org/2004/office\",\n\t\t\t'xmlns:ooow': \"http://openoffice.org/2004/writer\",\n\t\t\t'xmlns:oooc': \"http://openoffice.org/2004/calc\",\n\t\t\t'xmlns:dom': \"http://www.w3.org/2001/xml-events\",\n\t\t\t'xmlns:xforms': \"http://www.w3.org/2002/xforms\",\n\t\t\t'xmlns:xsd': \"http://www.w3.org/2001/XMLSchema\",\n\t\t\t'xmlns:xsi': \"http://www.w3.org/2001/XMLSchema-instance\",\n\t\t\t'xmlns:sheet': \"urn:oasis:names:tc:opendocument:sh33tjs:1.0\",\n\t\t\t'xmlns:rpt': \"http://openoffice.org/2005/report\",\n\t\t\t'xmlns:of': \"urn:oasis:names:tc:opendocument:xmlns:of:1.2\",\n\t\t\t'xmlns:xhtml': \"http://www.w3.org/1999/xhtml\",\n\t\t\t'xmlns:grddl': \"http://www.w3.org/2003/g/data-view#\",\n\t\t\t'xmlns:tableooo': \"http://openoffice.org/2009/table\",\n\t\t\t'xmlns:drawooo': \"http://openoffice.org/2010/draw\",\n\t\t\t'xmlns:calcext': \"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0\",\n\t\t\t'xmlns:loext': \"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0\",\n\t\t\t'xmlns:field': \"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0\",\n\t\t\t'xmlns:formx': \"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0\",\n\t\t\t'xmlns:css3t': \"http://www.w3.org/TR/css3-text/\",\n\t\t\t'office:version': \"1.2\"\n\t\t});\n\n\t\tvar fods = wxt_helper({\n\t\t\t'xmlns:config': \"urn:oasis:names:tc:opendocument:xmlns:config:1.0\",\n\t\t\t'office:mimetype': \"application/vnd.oasis.opendocument.spreadsheet\"\n\t\t});\n\n\t\tif(opts.bookType == \"fods\") {\n\t\t\to.push('\\n');\n\t\t\to.push(write_meta_ods().replace(/office:document-meta/g, \"office:meta\"));\n\t\t\t// TODO: settings (equiv of settings.xml for ODS)\n\t\t} else o.push('\\n');\n\t\t// o.push(' \\n');\n\t\twrite_automatic_styles_ods(o, wb);\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tfor(var i = 0; i != wb.SheetNames.length; ++i) o.push(write_ws(wb.Sheets[wb.SheetNames[i]], wb, i, opts));\n\t\to.push(' \\n');\n\t\to.push(' \\n');\n\t\tif(opts.bookType == \"fods\") o.push('');\n\t\telse o.push('');\n\t\treturn o.join(\"\");\n\t};\n})();\n\nfunction write_ods(wb/*:any*/, opts/*:any*/) {\n\tif(opts.bookType == \"fods\") return write_content_ods(wb, opts);\n\n\tvar zip = zip_new();\n\tvar f = \"\";\n\n\tvar manifest/*:Array >*/ = [];\n\tvar rdf/*:Array<[string, string]>*/ = [];\n\n\t/* Part 3 Section 3.3 MIME Media Type */\n\tf = \"mimetype\";\n\tzip_add_file(zip, f, \"application/vnd.oasis.opendocument.spreadsheet\");\n\n\t/* Part 1 Section 2.2 Documents */\n\tf = \"content.xml\";\n\tzip_add_file(zip, f, write_content_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"ContentFile\"]);\n\n\t/* TODO: these are hard-coded styles to satiate excel */\n\tf = \"styles.xml\";\n\tzip_add_file(zip, f, write_styles_ods(wb, opts));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"StylesFile\"]);\n\n\t/* TODO: this is hard-coded to satiate excel */\n\tf = \"meta.xml\";\n\tzip_add_file(zip, f, XML_HEADER + write_meta_ods(/*::wb, opts*/));\n\tmanifest.push([f, \"text/xml\"]);\n\trdf.push([f, \"MetadataFile\"]);\n\n\t/* Part 3 Section 6 Metadata Manifest File */\n\tf = \"manifest.rdf\";\n\tzip_add_file(zip, f, write_rdf(rdf/*, opts*/));\n\tmanifest.push([f, \"application/rdf+xml\"]);\n\n\t/* Part 3 Section 4 Manifest File */\n\tf = \"META-INF/manifest.xml\";\n\tzip_add_file(zip, f, write_manifest(manifest/*, opts*/));\n\n\treturn zip;\n}\n\n/*! sheetjs (C) 2013-present SheetJS -- http://sheetjs.com */\nfunction u8_to_dataview(array) {\n return new DataView(array.buffer, array.byteOffset, array.byteLength);\n}\nfunction u8str(u8) {\n return typeof TextDecoder != \"undefined\" ? new TextDecoder().decode(u8) : utf8read(a2s(u8));\n}\nfunction stru8(str) {\n return typeof TextEncoder != \"undefined\" ? new TextEncoder().encode(str) : s2a(utf8write(str));\n}\nfunction u8contains(body, search) {\n outer:\n for (var L = 0; L <= body.length - search.length; ++L) {\n for (var j = 0; j < search.length; ++j)\n if (body[L + j] != search[j])\n continue outer;\n return true;\n }\n return false;\n}\nfunction u8concat(u8a) {\n var len = u8a.reduce(function(acc, x) {\n return acc + x.length;\n }, 0);\n var out = new Uint8Array(len);\n var off = 0;\n u8a.forEach(function(u8) {\n out.set(u8, off);\n off += u8.length;\n });\n return out;\n}\nfunction popcnt(x) {\n x -= x >> 1 & 1431655765;\n x = (x & 858993459) + (x >> 2 & 858993459);\n return (x + (x >> 4) & 252645135) * 16843009 >>> 24;\n}\nfunction readDecimal128LE(buf, offset) {\n var exp = (buf[offset + 15] & 127) << 7 | buf[offset + 14] >> 1;\n var mantissa = buf[offset + 14] & 1;\n for (var j = offset + 13; j >= offset; --j)\n mantissa = mantissa * 256 + buf[j];\n return (buf[offset + 15] & 128 ? -mantissa : mantissa) * Math.pow(10, exp - 6176);\n}\nfunction writeDecimal128LE(buf, offset, value) {\n var exp = Math.floor(value == 0 ? 0 : Math.LOG10E * Math.log(Math.abs(value))) + 6176 - 20;\n var mantissa = value / Math.pow(10, exp - 6176);\n buf[offset + 15] |= exp >> 7;\n buf[offset + 14] |= (exp & 127) << 1;\n for (var i = 0; mantissa >= 1; ++i, mantissa /= 256)\n buf[offset + i] = mantissa & 255;\n buf[offset + 15] |= value >= 0 ? 0 : 128;\n}\nfunction parse_varint49(buf, ptr) {\n var l = ptr ? ptr[0] : 0;\n var usz = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n usz |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n usz |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 28);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 35);\n ++l;\n if (buf[l++] < 128)\n break varint;\n usz += (buf[l] & 127) * Math.pow(2, 42);\n ++l;\n if (buf[l++] < 128)\n break varint;\n }\n if (ptr)\n ptr[0] = l;\n return usz;\n}\nfunction write_varint49(v) {\n var usz = new Uint8Array(7);\n usz[0] = v & 127;\n var L = 1;\n sz:\n if (v > 127) {\n usz[L - 1] |= 128;\n usz[L] = v >> 7 & 127;\n ++L;\n if (v <= 16383)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 14 & 127;\n ++L;\n if (v <= 2097151)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v >> 21 & 127;\n ++L;\n if (v <= 268435455)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 256 >>> 21 & 127;\n ++L;\n if (v <= 34359738367)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 65536 >>> 21 & 127;\n ++L;\n if (v <= 4398046511103)\n break sz;\n usz[L - 1] |= 128;\n usz[L] = v / 16777216 >>> 21 & 127;\n ++L;\n }\n return usz.slice(0, L);\n}\nfunction varint_to_i32(buf) {\n var l = 0, i32 = buf[l] & 127;\n varint:\n if (buf[l++] >= 128) {\n i32 |= (buf[l] & 127) << 7;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 14;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 21;\n if (buf[l++] < 128)\n break varint;\n i32 |= (buf[l] & 127) << 28;\n }\n return i32;\n}\nfunction parse_shallow(buf) {\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var off = ptr[0];\n var num = parse_varint49(buf, ptr);\n var type = num & 7;\n num = Math.floor(num / 8);\n var len = 0;\n var res;\n if (num == 0)\n break;\n switch (type) {\n case 0:\n {\n var l = ptr[0];\n while (buf[ptr[0]++] >= 128)\n ;\n res = buf.slice(l, ptr[0]);\n }\n break;\n case 5:\n len = 4;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 1:\n len = 8;\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 2:\n len = parse_varint49(buf, ptr);\n res = buf.slice(ptr[0], ptr[0] + len);\n ptr[0] += len;\n break;\n case 3:\n case 4:\n default:\n throw new Error(\"PB Type \".concat(type, \" for Field \").concat(num, \" at offset \").concat(off));\n }\n var v = { data: res, type: type };\n if (out[num] == null)\n out[num] = [v];\n else\n out[num].push(v);\n }\n return out;\n}\nfunction write_shallow(proto) {\n var out = [];\n proto.forEach(function(field, idx) {\n field.forEach(function(item) {\n if (!item.data)\n return;\n out.push(write_varint49(idx * 8 + item.type));\n if (item.type == 2)\n out.push(write_varint49(item.data.length));\n out.push(item.data);\n });\n });\n return u8concat(out);\n}\nfunction mappa(data, cb) {\n return (data == null ? void 0 : data.map(function(d) {\n return cb(d.data);\n })) || [];\n}\nfunction parse_iwa_file(buf) {\n var _a;\n var out = [], ptr = [0];\n while (ptr[0] < buf.length) {\n var len = parse_varint49(buf, ptr);\n var ai = parse_shallow(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n var res = {\n id: varint_to_i32(ai[1][0].data),\n messages: []\n };\n ai[2].forEach(function(b) {\n var mi = parse_shallow(b.data);\n var fl = varint_to_i32(mi[3][0].data);\n res.messages.push({\n meta: mi,\n data: buf.slice(ptr[0], ptr[0] + fl)\n });\n ptr[0] += fl;\n });\n if ((_a = ai[3]) == null ? void 0 : _a[0])\n res.merge = varint_to_i32(ai[3][0].data) >>> 0 > 0;\n out.push(res);\n }\n return out;\n}\nfunction write_iwa_file(ias) {\n var bufs = [];\n ias.forEach(function(ia) {\n var ai = [];\n ai[1] = [{ data: write_varint49(ia.id), type: 0 }];\n ai[2] = [];\n if (ia.merge != null)\n ai[3] = [{ data: write_varint49(+!!ia.merge), type: 0 }];\n var midata = [];\n ia.messages.forEach(function(mi) {\n midata.push(mi.data);\n mi.meta[3] = [{ type: 0, data: write_varint49(mi.data.length) }];\n ai[2].push({ data: write_shallow(mi.meta), type: 2 });\n });\n var aipayload = write_shallow(ai);\n bufs.push(write_varint49(aipayload.length));\n bufs.push(aipayload);\n midata.forEach(function(mid) {\n return bufs.push(mid);\n });\n });\n return u8concat(bufs);\n}\nfunction parse_snappy_chunk(type, buf) {\n if (type != 0)\n throw new Error(\"Unexpected Snappy chunk type \".concat(type));\n var ptr = [0];\n var usz = parse_varint49(buf, ptr);\n var chunks = [];\n while (ptr[0] < buf.length) {\n var tag = buf[ptr[0]] & 3;\n if (tag == 0) {\n var len = buf[ptr[0]++] >> 2;\n if (len < 60)\n ++len;\n else {\n var c = len - 59;\n len = buf[ptr[0]];\n if (c > 1)\n len |= buf[ptr[0] + 1] << 8;\n if (c > 2)\n len |= buf[ptr[0] + 2] << 16;\n if (c > 3)\n len |= buf[ptr[0] + 3] << 24;\n len >>>= 0;\n len++;\n ptr[0] += c;\n }\n chunks.push(buf.slice(ptr[0], ptr[0] + len));\n ptr[0] += len;\n continue;\n } else {\n var offset = 0, length = 0;\n if (tag == 1) {\n length = (buf[ptr[0]] >> 2 & 7) + 4;\n offset = (buf[ptr[0]++] & 224) << 3;\n offset |= buf[ptr[0]++];\n } else {\n length = (buf[ptr[0]++] >> 2) + 1;\n if (tag == 2) {\n offset = buf[ptr[0]] | buf[ptr[0] + 1] << 8;\n ptr[0] += 2;\n } else {\n offset = (buf[ptr[0]] | buf[ptr[0] + 1] << 8 | buf[ptr[0] + 2] << 16 | buf[ptr[0] + 3] << 24) >>> 0;\n ptr[0] += 4;\n }\n }\n chunks = [u8concat(chunks)];\n if (offset == 0)\n throw new Error(\"Invalid offset 0\");\n if (offset > chunks[0].length)\n throw new Error(\"Invalid offset beyond length\");\n if (length >= offset) {\n chunks.push(chunks[0].slice(-offset));\n length -= offset;\n while (length >= chunks[chunks.length - 1].length) {\n chunks.push(chunks[chunks.length - 1]);\n length -= chunks[chunks.length - 1].length;\n }\n }\n chunks.push(chunks[0].slice(-offset, -offset + length));\n }\n }\n var o = u8concat(chunks);\n if (o.length != usz)\n throw new Error(\"Unexpected length: \".concat(o.length, \" != \").concat(usz));\n return o;\n}\nfunction decompress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var t = buf[l++];\n var len = buf[l] | buf[l + 1] << 8 | buf[l + 2] << 16;\n l += 3;\n out.push(parse_snappy_chunk(t, buf.slice(l, l + len)));\n l += len;\n }\n if (l !== buf.length)\n throw new Error(\"data is not a valid framed stream!\");\n return u8concat(out);\n}\nfunction compress_iwa_file(buf) {\n var out = [];\n var l = 0;\n while (l < buf.length) {\n var c = Math.min(buf.length - l, 268435455);\n var frame = new Uint8Array(4);\n out.push(frame);\n var usz = write_varint49(c);\n var L = usz.length;\n out.push(usz);\n if (c <= 60) {\n L++;\n out.push(new Uint8Array([c - 1 << 2]));\n } else if (c <= 256) {\n L += 2;\n out.push(new Uint8Array([240, c - 1 & 255]));\n } else if (c <= 65536) {\n L += 3;\n out.push(new Uint8Array([244, c - 1 & 255, c - 1 >> 8 & 255]));\n } else if (c <= 16777216) {\n L += 4;\n out.push(new Uint8Array([248, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255]));\n } else if (c <= 4294967296) {\n L += 5;\n out.push(new Uint8Array([252, c - 1 & 255, c - 1 >> 8 & 255, c - 1 >> 16 & 255, c - 1 >>> 24 & 255]));\n }\n out.push(buf.slice(l, l + c));\n L += c;\n frame[0] = 0;\n frame[1] = L & 255;\n frame[2] = L >> 8 & 255;\n frame[3] = L >> 16 & 255;\n l += c;\n }\n return u8concat(out);\n}\nfunction parse_old_storage(buf, sst, rsst, v) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(4, true);\n var data_offset = (v > 1 ? 12 : 8) + popcnt(flags & (v > 1 ? 3470 : 398)) * 4;\n var ridx = -1, sidx = -1, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 512) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n data_offset += popcnt(flags & (v > 1 ? 12288 : 4096)) * 4;\n if (flags & 16) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 32) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 64) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n var ret;\n switch (buf[2]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: ieee };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else if (sidx > -1)\n ret = { t: \"s\", v: sst[sidx] };\n else if (!isNaN(ieee))\n ret = { t: \"n\", v: ieee };\n else\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction parse_new_storage(buf, sst, rsst) {\n var dv = u8_to_dataview(buf);\n var flags = dv.getUint32(8, true);\n var data_offset = 12;\n var ridx = -1, sidx = -1, d128 = NaN, ieee = NaN, dt = new Date(2001, 0, 1);\n if (flags & 1) {\n d128 = readDecimal128LE(buf, data_offset);\n data_offset += 16;\n }\n if (flags & 2) {\n ieee = dv.getFloat64(data_offset, true);\n data_offset += 8;\n }\n if (flags & 4) {\n dt.setTime(dt.getTime() + dv.getFloat64(data_offset, true) * 1e3);\n data_offset += 8;\n }\n if (flags & 8) {\n sidx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n if (flags & 16) {\n ridx = dv.getUint32(data_offset, true);\n data_offset += 4;\n }\n var ret;\n switch (buf[1]) {\n case 0:\n break;\n case 2:\n ret = { t: \"n\", v: d128 };\n break;\n case 3:\n ret = { t: \"s\", v: sst[sidx] };\n break;\n case 5:\n ret = { t: \"d\", v: dt };\n break;\n case 6:\n ret = { t: \"b\", v: ieee > 0 };\n break;\n case 7:\n ret = { t: \"n\", v: ieee / 86400 };\n break;\n case 8:\n ret = { t: \"e\", v: 0 };\n break;\n case 9:\n {\n if (ridx > -1)\n ret = { t: \"s\", v: rsst[ridx] };\n else\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n break;\n case 10:\n ret = { t: \"n\", v: d128 };\n break;\n default:\n throw new Error(\"Unsupported cell type \".concat(buf[1], \" : \").concat(flags & 31, \" : \").concat(buf.slice(0, 4)));\n }\n return ret;\n}\nfunction write_new_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 5;\n switch (cell.t) {\n case \"n\":\n out[1] = 2;\n writeDecimal128LE(out, l, cell.v);\n flags |= 1;\n l += 16;\n break;\n case \"b\":\n out[1] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 2;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[1] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 8;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(8, flags, true);\n return out.slice(0, l);\n}\nfunction write_old_storage(cell, sst) {\n var out = new Uint8Array(32), dv = u8_to_dataview(out), l = 12, flags = 0;\n out[0] = 3;\n switch (cell.t) {\n case \"n\":\n out[2] = 2;\n dv.setFloat64(l, cell.v, true);\n flags |= 32;\n l += 8;\n break;\n case \"b\":\n out[2] = 6;\n dv.setFloat64(l, cell.v ? 1 : 0, true);\n flags |= 32;\n l += 8;\n break;\n case \"s\":\n if (sst.indexOf(cell.v) == -1)\n throw new Error(\"Value \".concat(cell.v, \" missing from SST!\"));\n out[2] = 3;\n dv.setUint32(l, sst.indexOf(cell.v), true);\n flags |= 16;\n l += 4;\n break;\n default:\n throw \"unsupported cell type \" + cell.t;\n }\n dv.setUint32(4, flags, true);\n return out.slice(0, l);\n}\nfunction parse_cell_storage(buf, sst, rsst) {\n switch (buf[0]) {\n case 0:\n case 1:\n case 2:\n case 3:\n return parse_old_storage(buf, sst, rsst, buf[0]);\n case 5:\n return parse_new_storage(buf, sst, rsst);\n default:\n throw new Error(\"Unsupported payload version \".concat(buf[0]));\n }\n}\nfunction parse_TSP_Reference(buf) {\n var pb = parse_shallow(buf);\n return parse_varint49(pb[1][0].data);\n}\nfunction write_TSP_Reference(idx) {\n var out = [];\n out[1] = [{ type: 0, data: write_varint49(idx) }];\n return write_shallow(out);\n}\nfunction parse_TST_TableDataList(M, root) {\n var pb = parse_shallow(root.data);\n var type = varint_to_i32(pb[1][0].data);\n var entries = pb[3];\n var data = [];\n (entries || []).forEach(function(entry) {\n var le = parse_shallow(entry.data);\n var key = varint_to_i32(le[1][0].data) >>> 0;\n switch (type) {\n case 1:\n data[key] = u8str(le[3][0].data);\n break;\n case 8:\n {\n var rt = M[parse_TSP_Reference(le[9][0].data)][0];\n var rtp = parse_shallow(rt.data);\n var rtpref = M[parse_TSP_Reference(rtp[1][0].data)][0];\n var mtype = varint_to_i32(rtpref.meta[1][0].data);\n if (mtype != 2001)\n throw new Error(\"2000 unexpected reference to \".concat(mtype));\n var tswpsa = parse_shallow(rtpref.data);\n data[key] = tswpsa[3].map(function(x) {\n return u8str(x.data);\n }).join(\"\");\n }\n break;\n }\n });\n return data;\n}\nfunction parse_TST_TileRowInfo(u8, type) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;\n var pb = parse_shallow(u8);\n var R = varint_to_i32(pb[1][0].data) >>> 0;\n var cnt = varint_to_i32(pb[2][0].data) >>> 0;\n var wide_offsets = ((_b = (_a = pb[8]) == null ? void 0 : _a[0]) == null ? void 0 : _b.data) && varint_to_i32(pb[8][0].data) > 0 || false;\n var used_storage_u8, used_storage;\n if (((_d = (_c = pb[7]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && type != 0) {\n used_storage_u8 = (_f = (_e = pb[7]) == null ? void 0 : _e[0]) == null ? void 0 : _f.data;\n used_storage = (_h = (_g = pb[6]) == null ? void 0 : _g[0]) == null ? void 0 : _h.data;\n } else if (((_j = (_i = pb[4]) == null ? void 0 : _i[0]) == null ? void 0 : _j.data) && type != 1) {\n used_storage_u8 = (_l = (_k = pb[4]) == null ? void 0 : _k[0]) == null ? void 0 : _l.data;\n used_storage = (_n = (_m = pb[3]) == null ? void 0 : _m[0]) == null ? void 0 : _n.data;\n } else\n throw \"NUMBERS Tile missing \".concat(type, \" cell storage\");\n var width = wide_offsets ? 4 : 1;\n var used_storage_offsets = u8_to_dataview(used_storage_u8);\n var offsets = [];\n for (var C = 0; C < used_storage_u8.length / 2; ++C) {\n var off = used_storage_offsets.getUint16(C * 2, true);\n if (off < 65535)\n offsets.push([C, off]);\n }\n if (offsets.length != cnt)\n throw \"Expected \".concat(cnt, \" cells, found \").concat(offsets.length);\n var cells = [];\n for (C = 0; C < offsets.length - 1; ++C)\n cells[offsets[C][0]] = used_storage.subarray(offsets[C][1] * width, offsets[C + 1][1] * width);\n if (offsets.length >= 1)\n cells[offsets[offsets.length - 1][0]] = used_storage.subarray(offsets[offsets.length - 1][1] * width);\n return { R: R, cells: cells };\n}\nfunction parse_TST_Tile(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var storage = ((_a = pb == null ? void 0 : pb[7]) == null ? void 0 : _a[0]) ? varint_to_i32(pb[7][0].data) >>> 0 > 0 ? 1 : 0 : -1;\n var ri = mappa(pb[5], function(u8) {\n return parse_TST_TileRowInfo(u8, storage);\n });\n return {\n nrows: varint_to_i32(pb[4][0].data) >>> 0,\n data: ri.reduce(function(acc, x) {\n if (!acc[x.R])\n acc[x.R] = [];\n x.cells.forEach(function(cell, C) {\n if (acc[x.R][C])\n throw new Error(\"Duplicate cell r=\".concat(x.R, \" c=\").concat(C));\n acc[x.R][C] = cell;\n });\n return acc;\n }, [])\n };\n}\nfunction parse_TST_TableModelArchive(M, root, ws) {\n var _a;\n var pb = parse_shallow(root.data);\n var range = { s: { r: 0, c: 0 }, e: { r: 0, c: 0 } };\n range.e.r = (varint_to_i32(pb[6][0].data) >>> 0) - 1;\n if (range.e.r < 0)\n throw new Error(\"Invalid row varint \".concat(pb[6][0].data));\n range.e.c = (varint_to_i32(pb[7][0].data) >>> 0) - 1;\n if (range.e.c < 0)\n throw new Error(\"Invalid col varint \".concat(pb[7][0].data));\n ws[\"!ref\"] = encode_range(range);\n var store = parse_shallow(pb[4][0].data);\n var sst = parse_TST_TableDataList(M, M[parse_TSP_Reference(store[4][0].data)][0]);\n var rsst = ((_a = store[17]) == null ? void 0 : _a[0]) ? parse_TST_TableDataList(M, M[parse_TSP_Reference(store[17][0].data)][0]) : [];\n var tile = parse_shallow(store[3][0].data);\n var _R = 0;\n tile[1].forEach(function(t) {\n var tl = parse_shallow(t.data);\n var ref = M[parse_TSP_Reference(tl[2][0].data)][0];\n var mtype = varint_to_i32(ref.meta[1][0].data);\n if (mtype != 6002)\n throw new Error(\"6001 unexpected reference to \".concat(mtype));\n var _tile = parse_TST_Tile(M, ref);\n _tile.data.forEach(function(row, R) {\n row.forEach(function(buf, C) {\n var addr = encode_cell({ r: _R + R, c: C });\n var res = parse_cell_storage(buf, sst, rsst);\n if (res)\n ws[addr] = res;\n });\n });\n _R += _tile.nrows;\n });\n}\nfunction parse_TST_TableInfoArchive(M, root) {\n var pb = parse_shallow(root.data);\n var out = { \"!ref\": \"A1\" };\n var tableref = M[parse_TSP_Reference(pb[2][0].data)];\n var mtype = varint_to_i32(tableref[0].meta[1][0].data);\n if (mtype != 6001)\n throw new Error(\"6000 unexpected reference to \".concat(mtype));\n parse_TST_TableModelArchive(M, tableref[0], out);\n return out;\n}\nfunction parse_TN_SheetArchive(M, root) {\n var _a;\n var pb = parse_shallow(root.data);\n var out = {\n name: ((_a = pb[1]) == null ? void 0 : _a[0]) ? u8str(pb[1][0].data) : \"\",\n sheets: []\n };\n var shapeoffs = mappa(pb[2], parse_TSP_Reference);\n shapeoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 6e3)\n out.sheets.push(parse_TST_TableInfoArchive(M, m));\n });\n });\n return out;\n}\nfunction parse_TN_DocumentArchive(M, root) {\n var out = book_new();\n var pb = parse_shallow(root.data);\n var sheetoffs = mappa(pb[1], parse_TSP_Reference);\n sheetoffs.forEach(function(off) {\n M[off].forEach(function(m) {\n var mtype = varint_to_i32(m.meta[1][0].data);\n if (mtype == 2) {\n var root2 = parse_TN_SheetArchive(M, m);\n root2.sheets.forEach(function(sheet, idx) {\n book_append_sheet(out, sheet, idx == 0 ? root2.name : root2.name + \"_\" + idx, true);\n });\n }\n });\n });\n if (out.SheetNames.length == 0)\n throw new Error(\"Empty NUMBERS file\");\n return out;\n}\nfunction parse_numbers_iwa(cfb) {\n var _a, _b, _c, _d;\n var M = {}, indices = [];\n cfb.FullPaths.forEach(function(p) {\n if (p.match(/\\.iwpv2/))\n throw new Error(\"Unsupported password protection\");\n });\n cfb.FileIndex.forEach(function(s) {\n if (!s.name.match(/\\.iwa$/))\n return;\n var o;\n try {\n o = decompress_iwa_file(s.content);\n } catch (e) {\n return console.log(\"?? \" + s.content.length + \" \" + (e.message || e));\n }\n var packets;\n try {\n packets = parse_iwa_file(o);\n } catch (e) {\n return console.log(\"## \" + (e.message || e));\n }\n packets.forEach(function(packet) {\n M[packet.id] = packet.messages;\n indices.push(packet.id);\n });\n });\n if (!indices.length)\n throw new Error(\"File has no messages\");\n var docroot = ((_d = (_c = (_b = (_a = M == null ? void 0 : M[1]) == null ? void 0 : _a[0]) == null ? void 0 : _b.meta) == null ? void 0 : _c[1]) == null ? void 0 : _d[0].data) && varint_to_i32(M[1][0].meta[1][0].data) == 1 && M[1][0];\n if (!docroot)\n indices.forEach(function(idx) {\n M[idx].forEach(function(iwam) {\n var mtype = varint_to_i32(iwam.meta[1][0].data) >>> 0;\n if (mtype == 1) {\n if (!docroot)\n docroot = iwam;\n else\n throw new Error(\"Document has multiple roots\");\n }\n });\n });\n if (!docroot)\n throw new Error(\"Cannot find Document root\");\n return parse_TN_DocumentArchive(M, docroot);\n}\nfunction write_tile_row(tri, data, SST) {\n var _a, _b, _c, _d;\n if (!((_a = tri[6]) == null ? void 0 : _a[0]) || !((_b = tri[7]) == null ? void 0 : _b[0]))\n throw \"Mutation only works on post-BNC storages!\";\n var wide_offsets = ((_d = (_c = tri[8]) == null ? void 0 : _c[0]) == null ? void 0 : _d.data) && varint_to_i32(tri[8][0].data) > 0 || false;\n if (wide_offsets)\n throw \"Math only works with normal offsets\";\n var cnt = 0;\n var dv = u8_to_dataview(tri[7][0].data), last_offset = 0, cell_storage = [];\n var _dv = u8_to_dataview(tri[4][0].data), _last_offset = 0, _cell_storage = [];\n for (var C = 0; C < data.length; ++C) {\n if (data[C] == null) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535);\n continue;\n }\n dv.setUint16(C * 2, last_offset, true);\n _dv.setUint16(C * 2, _last_offset, true);\n var celload, _celload;\n switch (typeof data[C]) {\n case \"string\":\n celload = write_new_storage({ t: \"s\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"s\", v: data[C] }, SST);\n break;\n case \"number\":\n celload = write_new_storage({ t: \"n\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"n\", v: data[C] }, SST);\n break;\n case \"boolean\":\n celload = write_new_storage({ t: \"b\", v: data[C] }, SST);\n _celload = write_old_storage({ t: \"b\", v: data[C] }, SST);\n break;\n default:\n throw new Error(\"Unsupported value \" + data[C]);\n }\n cell_storage.push(celload);\n last_offset += celload.length;\n _cell_storage.push(_celload);\n _last_offset += _celload.length;\n ++cnt;\n }\n tri[2][0].data = write_varint49(cnt);\n for (; C < tri[7][0].data.length / 2; ++C) {\n dv.setUint16(C * 2, 65535, true);\n _dv.setUint16(C * 2, 65535, true);\n }\n tri[6][0].data = u8concat(cell_storage);\n tri[3][0].data = u8concat(_cell_storage);\n return cnt;\n}\nfunction write_numbers_iwa(wb, opts) {\n if (!opts || !opts.numbers)\n throw new Error(\"Must pass a `numbers` option -- check the README\");\n var ws = wb.Sheets[wb.SheetNames[0]];\n if (wb.SheetNames.length > 1)\n console.error(\"The Numbers writer currently writes only the first table\");\n var range = decode_range(ws[\"!ref\"]);\n range.s.r = range.s.c = 0;\n var trunc = false;\n if (range.e.c > 9) {\n trunc = true;\n range.e.c = 9;\n }\n if (range.e.r > 49) {\n trunc = true;\n range.e.r = 49;\n }\n if (trunc)\n console.error(\"The Numbers writer is currently limited to \".concat(encode_range(range)));\n var data = sheet_to_json(ws, { range: range, header: 1 });\n var SST = [\"~Sh33tJ5~\"];\n data.forEach(function(row) {\n return row.forEach(function(cell) {\n if (typeof cell == \"string\")\n SST.push(cell);\n });\n });\n var dependents = {};\n var indices = [];\n var cfb = CFB.read(opts.numbers, { type: \"base64\" });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (fi.type != 2)\n return;\n if (!fi.name.match(/\\.iwa/))\n return;\n var old_content = fi.content;\n var raw1 = decompress_iwa_file(old_content);\n var x2 = parse_iwa_file(raw1);\n x2.forEach(function(packet2) {\n indices.push(packet2.id);\n dependents[packet2.id] = { deps: [], location: fp, type: varint_to_i32(packet2.messages[0].meta[1][0].data) };\n });\n });\n indices.sort(function(x2, y2) {\n return x2 - y2;\n });\n var indices_varint = indices.filter(function(x2) {\n return x2 > 1;\n }).map(function(x2) {\n return [x2, write_varint49(x2)];\n });\n cfb.FileIndex.map(function(fi, idx) {\n return [fi, cfb.FullPaths[idx]];\n }).forEach(function(row) {\n var fi = row[0], fp = row[1];\n if (!fi.name.match(/\\.iwa/))\n return;\n var x2 = parse_iwa_file(decompress_iwa_file(fi.content));\n x2.forEach(function(ia) {\n ia.messages.forEach(function(m) {\n indices_varint.forEach(function(ivi) {\n if (ia.messages.some(function(mess) {\n return varint_to_i32(mess.meta[1][0].data) != 11006 && u8contains(mess.data, ivi[1]);\n })) {\n dependents[ivi[0]].deps.push(ia.id);\n }\n });\n });\n });\n });\n function get_unique_msgid() {\n for (var i = 927262; i < 2e6; ++i)\n if (!dependents[i])\n return i;\n throw new Error(\"Too many messages\");\n }\n var entry = CFB.find(cfb, dependents[1].location);\n var x = parse_iwa_file(decompress_iwa_file(entry.content));\n var docroot;\n for (var xi = 0; xi < x.length; ++xi) {\n var packet = x[xi];\n if (packet.id == 1)\n docroot = packet;\n }\n var sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[1][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n sheetrootref = parse_TSP_Reference(parse_shallow(docroot.messages[0].data)[2][0].data);\n entry = CFB.find(cfb, dependents[sheetrootref].location);\n x = parse_iwa_file(decompress_iwa_file(entry.content));\n for (xi = 0; xi < x.length; ++xi) {\n packet = x[xi];\n if (packet.id == sheetrootref)\n docroot = packet;\n }\n var pb = parse_shallow(docroot.messages[0].data);\n {\n pb[6][0].data = write_varint49(range.e.r + 1);\n pb[7][0].data = write_varint49(range.e.c + 1);\n var cruidsref = parse_TSP_Reference(pb[46][0].data);\n var oldbucket = CFB.find(cfb, dependents[cruidsref].location);\n var _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n for (var j = 0; j < _x.length; ++j) {\n if (_x[j].id == cruidsref)\n break;\n }\n if (_x[j].id != cruidsref)\n throw \"Bad ColumnRowUIDMapArchive\";\n var cruids = parse_shallow(_x[j].messages[0].data);\n cruids[1] = [];\n cruids[2] = [], cruids[3] = [];\n for (var C = 0; C <= range.e.c; ++C) {\n var uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(C + 420690) }];\n cruids[1].push({ type: 2, data: write_shallow(uuid) });\n cruids[2].push({ type: 0, data: write_varint49(C) });\n cruids[3].push({ type: 0, data: write_varint49(C) });\n }\n cruids[4] = [];\n cruids[5] = [], cruids[6] = [];\n for (var R = 0; R <= range.e.r; ++R) {\n uuid = [];\n uuid[1] = uuid[2] = [{ type: 0, data: write_varint49(R + 726270) }];\n cruids[4].push({ type: 2, data: write_shallow(uuid) });\n cruids[5].push({ type: 0, data: write_varint49(R) });\n cruids[6].push({ type: 0, data: write_varint49(R) });\n }\n _x[j].messages[0].data = write_shallow(cruids);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n delete pb[46];\n var store = parse_shallow(pb[4][0].data);\n {\n store[7][0].data = write_varint49(range.e.r + 1);\n var row_headers = parse_shallow(store[1][0].data);\n var row_header_ref = parse_TSP_Reference(row_headers[2][0].data);\n oldbucket = CFB.find(cfb, dependents[row_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != row_header_ref)\n throw \"Bad HeaderStorageBucket\";\n var base_bucket = parse_shallow(_x[0].messages[0].data);\n for (R = 0; R < data.length; ++R) {\n var _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(R);\n _bucket[4][0].data = write_varint49(data[R].length);\n base_bucket[2][R] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var col_header_ref = parse_TSP_Reference(store[2][0].data);\n oldbucket = CFB.find(cfb, dependents[col_header_ref].location);\n _x = parse_iwa_file(decompress_iwa_file(oldbucket.content));\n {\n if (_x[0].id != col_header_ref)\n throw \"Bad HeaderStorageBucket\";\n base_bucket = parse_shallow(_x[0].messages[0].data);\n for (C = 0; C <= range.e.c; ++C) {\n _bucket = parse_shallow(base_bucket[2][0].data);\n _bucket[1][0].data = write_varint49(C);\n _bucket[4][0].data = write_varint49(range.e.r + 1);\n base_bucket[2][C] = { type: base_bucket[2][0].type, data: write_shallow(_bucket) };\n }\n _x[0].messages[0].data = write_shallow(base_bucket);\n }\n oldbucket.content = compress_iwa_file(write_iwa_file(_x));\n oldbucket.size = oldbucket.content.length;\n var sstref = parse_TSP_Reference(store[4][0].data);\n (function() {\n var sentry = CFB.find(cfb, dependents[sstref].location);\n var sx = parse_iwa_file(decompress_iwa_file(sentry.content));\n var sstroot;\n for (var sxi = 0; sxi < sx.length; ++sxi) {\n var packet2 = sx[sxi];\n if (packet2.id == sstref)\n sstroot = packet2;\n }\n var sstdata = parse_shallow(sstroot.messages[0].data);\n {\n sstdata[3] = [];\n var newsst = [];\n SST.forEach(function(str, i) {\n newsst[1] = [{ type: 0, data: write_varint49(i) }];\n newsst[2] = [{ type: 0, data: write_varint49(1) }];\n newsst[3] = [{ type: 2, data: stru8(str) }];\n sstdata[3].push({ type: 2, data: write_shallow(newsst) });\n });\n }\n sstroot.messages[0].data = write_shallow(sstdata);\n var sy = write_iwa_file(sx);\n var raw32 = compress_iwa_file(sy);\n sentry.content = raw32;\n sentry.size = sentry.content.length;\n })();\n var tile = parse_shallow(store[3][0].data);\n {\n var t = tile[1][0];\n delete tile[2];\n var tl = parse_shallow(t.data);\n {\n var tileref = parse_TSP_Reference(tl[2][0].data);\n (function() {\n var tentry = CFB.find(cfb, dependents[tileref].location);\n var tx = parse_iwa_file(decompress_iwa_file(tentry.content));\n var tileroot;\n for (var sxi = 0; sxi < tx.length; ++sxi) {\n var packet2 = tx[sxi];\n if (packet2.id == tileref)\n tileroot = packet2;\n }\n var tiledata = parse_shallow(tileroot.messages[0].data);\n {\n delete tiledata[6];\n delete tile[7];\n var rowload = new Uint8Array(tiledata[5][0].data);\n tiledata[5] = [];\n var cnt = 0;\n for (var R2 = 0; R2 <= range.e.r; ++R2) {\n var tilerow = parse_shallow(rowload);\n cnt += write_tile_row(tilerow, data[R2], SST);\n tilerow[1][0].data = write_varint49(R2);\n tiledata[5].push({ data: write_shallow(tilerow), type: 2 });\n }\n tiledata[1] = [{ type: 0, data: write_varint49(range.e.c + 1) }];\n tiledata[2] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n tiledata[3] = [{ type: 0, data: write_varint49(cnt) }];\n tiledata[4] = [{ type: 0, data: write_varint49(range.e.r + 1) }];\n }\n tileroot.messages[0].data = write_shallow(tiledata);\n var ty = write_iwa_file(tx);\n var raw32 = compress_iwa_file(ty);\n tentry.content = raw32;\n tentry.size = tentry.content.length;\n })();\n }\n t.data = write_shallow(tl);\n }\n store[3][0].data = write_shallow(tile);\n }\n pb[4][0].data = write_shallow(store);\n }\n docroot.messages[0].data = write_shallow(pb);\n var y = write_iwa_file(x);\n var raw3 = compress_iwa_file(y);\n entry.content = raw3;\n entry.size = entry.content.length;\n return cfb;\n}\nfunction fix_opts_func(defaults/*:Array >*/)/*:{(o:any):void}*/ {\n\treturn function fix_opts(opts) {\n\t\tfor(var i = 0; i != defaults.length; ++i) {\n\t\t\tvar d = defaults[i];\n\t\t\tif(opts[d[0]] === undefined) opts[d[0]] = d[1];\n\t\t\tif(d[2] === 'n') opts[d[0]] = Number(opts[d[0]]);\n\t\t}\n\t};\n}\n\nfunction fix_read_opts(opts) {\nfix_opts_func([\n\t['cellNF', false], /* emit cell number format string as .z */\n\t['cellHTML', true], /* emit html string as .h */\n\t['cellFormula', true], /* emit formulae as .f */\n\t['cellStyles', false], /* emits style/theme as .s */\n\t['cellText', true], /* emit formatted text as .w */\n\t['cellDates', false], /* emit date cells with type `d` */\n\n\t['sheetStubs', false], /* emit empty cells */\n\t['sheetRows', 0, 'n'], /* read n rows (0 = read all rows) */\n\n\t['bookDeps', false], /* parse calculation chains */\n\t['bookSheets', false], /* only try to get sheet names (no Sheets) */\n\t['bookProps', false], /* only try to get properties (no Sheets) */\n\t['bookFiles', false], /* include raw file structure (keys, files, cfb) */\n\t['bookVBA', false], /* include vba raw data (vbaraw) */\n\n\t['password',''], /* password */\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\n\nfunction fix_write_opts(opts) {\nfix_opts_func([\n\t['cellDates', false], /* write date cells with type `d` */\n\n\t['bookSST', false], /* Generate Shared String Table */\n\n\t['bookType', 'xlsx'], /* Type of workbook (xlsx/m/b) */\n\n\t['compression', false], /* Use file compression */\n\n\t['WTF', false] /* WTF mode (throws errors) */\n])(opts);\n}\nfunction get_sheet_type(n/*:string*/)/*:string*/ {\n\tif(RELS.WS.indexOf(n) > -1) return \"sheet\";\n\tif(RELS.CS && n == RELS.CS) return \"chart\";\n\tif(RELS.DS && n == RELS.DS) return \"dialog\";\n\tif(RELS.MS && n == RELS.MS) return \"macro\";\n\treturn (n && n.length) ? n : \"sheet\";\n}\nfunction safe_parse_wbrels(wbrels, sheets) {\n\tif(!wbrels) return 0;\n\ttry {\n\t\twbrels = sheets.map(function pwbr(w) { if(!w.id) w.id = w.strRelID; return [w.name, wbrels['!id'][w.id].Target, get_sheet_type(wbrels['!id'][w.id].Type)]; });\n\t} catch(e) { return null; }\n\treturn !wbrels || wbrels.length === 0 ? null : wbrels;\n}\n\nfunction safe_parse_sheet(zip, path/*:string*/, relsPath/*:string*/, sheet, idx/*:number*/, sheetRels, sheets, stype/*:string*/, opts, wb, themes, styles) {\n\ttry {\n\t\tsheetRels[sheet]=parse_rels(getzipstr(zip, relsPath, true), path);\n\t\tvar data = getzipdata(zip, path);\n\t\tvar _ws;\n\t\tswitch(stype) {\n\t\t\tcase 'sheet': _ws = parse_ws(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'chart': _ws = parse_cs(data, path, idx, opts, sheetRels[sheet], wb, themes, styles);\n\t\t\t\tif(!_ws || !_ws['!drawel']) break;\n\t\t\t\tvar dfile = resolve_path(_ws['!drawel'].Target, path);\n\t\t\t\tvar drelsp = get_rels_path(dfile);\n\t\t\t\tvar draw = parse_drawing(getzipstr(zip, dfile, true), parse_rels(getzipstr(zip, drelsp, true), dfile));\n\t\t\t\tvar chartp = resolve_path(draw, dfile);\n\t\t\t\tvar crelsp = get_rels_path(chartp);\n\t\t\t\t_ws = parse_chart(getzipstr(zip, chartp, true), chartp, opts, parse_rels(getzipstr(zip, crelsp, true), chartp), wb, _ws);\n\t\t\t\tbreak;\n\t\t\tcase 'macro': _ws = parse_ms(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tcase 'dialog': _ws = parse_ds(data, path, idx, opts, sheetRels[sheet], wb, themes, styles); break;\n\t\t\tdefault: throw new Error(\"Unrecognized sheet type \" + stype);\n\t\t}\n\t\tsheets[sheet] = _ws;\n\n\t\t/* scan rels for comments and threaded comments */\n\t\tvar tcomments = [];\n\t\tif(sheetRels && sheetRels[sheet]) keys(sheetRels[sheet]).forEach(function(n) {\n\t\t\tvar dfile = \"\";\n\t\t\tif(sheetRels[sheet][n].Type == RELS.CMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\tvar comments = parse_cmnt(getzipdata(zip, dfile, true), dfile, opts);\n\t\t\t\tif(!comments || !comments.length) return;\n\t\t\t\tsheet_insert_comments(_ws, comments, false);\n\t\t\t}\n\t\t\tif(sheetRels[sheet][n].Type == RELS.TCMNT) {\n\t\t\t\tdfile = resolve_path(sheetRels[sheet][n].Target, path);\n\t\t\t\ttcomments = tcomments.concat(parse_tcmnt_xml(getzipdata(zip, dfile, true), opts));\n\t\t\t}\n\t\t});\n\t\tif(tcomments && tcomments.length) sheet_insert_comments(_ws, tcomments, true, opts.people || []);\n\t} catch(e) { if(opts.WTF) throw e; }\n}\n\nfunction strip_front_slash(x/*:string*/)/*:string*/ { return x.charAt(0) == '/' ? x.slice(1) : x; }\n\nfunction parse_zip(zip/*:ZIP*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tmake_ssf();\n\topts = opts || {};\n\tfix_read_opts(opts);\n\n\t/* OpenDocument Part 3 Section 2.2.1 OpenDocument Package */\n\tif(safegetzipfile(zip, 'META-INF/manifest.xml')) return parse_ods(zip, opts);\n\t/* UOC */\n\tif(safegetzipfile(zip, 'objectdata.xml')) return parse_ods(zip, opts);\n\t/* Numbers */\n\tif(safegetzipfile(zip, 'Index/Document.iwa')) {\n\t\tif(typeof Uint8Array == \"undefined\") throw new Error('NUMBERS file parsing requires Uint8Array support');\n\t\tif(typeof parse_numbers_iwa != \"undefined\") {\n\t\t\tif(zip.FileIndex) return parse_numbers_iwa(zip);\n\t\t\tvar _zip = CFB.utils.cfb_new();\n\t\t\tzipentries(zip).forEach(function(e) { zip_add_file(_zip, e, getzipbin(zip, e)); });\n\t\t\treturn parse_numbers_iwa(_zip);\n\t\t}\n\t\tthrow new Error('Unsupported NUMBERS file');\n\t}\n\tif(!safegetzipfile(zip, '[Content_Types].xml')) {\n\t\tif(safegetzipfile(zip, 'index.xml.gz')) throw new Error('Unsupported NUMBERS 08 file');\n\t\tif(safegetzipfile(zip, 'index.xml')) throw new Error('Unsupported NUMBERS 09 file');\n\t\tthrow new Error('Unsupported ZIP file');\n\t}\n\n\tvar entries = zipentries(zip);\n\tvar dir = parse_ct((getzipstr(zip, '[Content_Types].xml')/*:?any*/));\n\tvar xlsb = false;\n\tvar sheets, binname;\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.xml\";\n\t\tif(getzipdata(zip,binname, true)) dir.workbooks.push(binname);\n\t}\n\tif(dir.workbooks.length === 0) {\n\t\tbinname = \"xl/workbook.bin\";\n\t\tif(!getzipdata(zip,binname,true)) throw new Error(\"Could not find workbook\");\n\t\tdir.workbooks.push(binname);\n\t\txlsb = true;\n\t}\n\tif(dir.workbooks[0].slice(-3) == \"bin\") xlsb = true;\n\n\tvar themes = ({}/*:any*/);\n\tvar styles = ({}/*:any*/);\n\tif(!opts.bookSheets && !opts.bookProps) {\n\t\tstrs = [];\n\t\tif(dir.sst) try { strs=parse_sst(getzipdata(zip, strip_front_slash(dir.sst)), dir.sst, opts); } catch(e) { if(opts.WTF) throw e; }\n\n\t\tif(opts.cellStyles && dir.themes.length) themes = parse_theme(getzipstr(zip, dir.themes[0].replace(/^\\//,''), true)||\"\",dir.themes[0], opts);\n\n\t\tif(dir.style) styles = parse_sty(getzipdata(zip, strip_front_slash(dir.style)), dir.style, themes, opts);\n\t}\n\n\t/*var externbooks = */dir.links.map(function(link) {\n\t\ttry {\n\t\t\tvar rels = parse_rels(getzipstr(zip, get_rels_path(strip_front_slash(link))), link);\n\t\t\treturn parse_xlink(getzipdata(zip, strip_front_slash(link)), rels, link, opts);\n\t\t} catch(e) {}\n\t});\n\n\tvar wb = parse_wb(getzipdata(zip, strip_front_slash(dir.workbooks[0])), dir.workbooks[0], opts);\n\n\tvar props = {}, propdata = \"\";\n\n\tif(dir.coreprops.length) {\n\t\tpropdata = getzipdata(zip, strip_front_slash(dir.coreprops[0]), true);\n\t\tif(propdata) props = parse_core_props(propdata);\n\t\tif(dir.extprops.length !== 0) {\n\t\t\tpropdata = getzipdata(zip, strip_front_slash(dir.extprops[0]), true);\n\t\t\tif(propdata) parse_ext_props(propdata, props, opts);\n\t\t}\n\t}\n\n\tvar custprops = {};\n\tif(!opts.bookSheets || opts.bookProps) {\n\t\tif (dir.custprops.length !== 0) {\n\t\t\tpropdata = getzipstr(zip, strip_front_slash(dir.custprops[0]), true);\n\t\t\tif(propdata) custprops = parse_cust_props(propdata, opts);\n\t\t}\n\t}\n\n\tvar out = ({}/*:any*/);\n\tif(opts.bookSheets || opts.bookProps) {\n\t\tif(wb.Sheets) sheets = wb.Sheets.map(function pluck(x){ return x.name; });\n\t\telse if(props.Worksheets && props.SheetNames.length > 0) sheets=props.SheetNames;\n\t\tif(opts.bookProps) { out.Props = props; out.Custprops = custprops; }\n\t\tif(opts.bookSheets && typeof sheets !== 'undefined') out.SheetNames = sheets;\n\t\tif(opts.bookSheets ? out.SheetNames : opts.bookProps) return out;\n\t}\n\tsheets = {};\n\n\tvar deps = {};\n\tif(opts.bookDeps && dir.calcchain) deps=parse_cc(getzipdata(zip, strip_front_slash(dir.calcchain)),dir.calcchain,opts);\n\n\tvar i=0;\n\tvar sheetRels = ({}/*:any*/);\n\tvar path, relsPath;\n\n\t{\n\t\tvar wbsheets = wb.Sheets;\n\t\tprops.Worksheets = wbsheets.length;\n\t\tprops.SheetNames = [];\n\t\tfor(var j = 0; j != wbsheets.length; ++j) {\n\t\t\tprops.SheetNames[j] = wbsheets[j].name;\n\t\t}\n\t}\n\n\tvar wbext = xlsb ? \"bin\" : \"xml\";\n\tvar wbrelsi = dir.workbooks[0].lastIndexOf(\"/\");\n\tvar wbrelsfile = (dir.workbooks[0].slice(0, wbrelsi+1) + \"_rels/\" + dir.workbooks[0].slice(wbrelsi+1) + \".rels\").replace(/^\\//,\"\");\n\tif(!safegetzipfile(zip, wbrelsfile)) wbrelsfile = 'xl/_rels/workbook.' + wbext + '.rels';\n\tvar wbrels = parse_rels(getzipstr(zip, wbrelsfile, true), wbrelsfile.replace(/_rels.*/, \"s5s\"));\n\n\tif((dir.metadata || []).length >= 1) {\n\t\t/* TODO: MDX and other types of metadata */\n\t\topts.xlmeta = parse_xlmeta(getzipdata(zip, strip_front_slash(dir.metadata[0])),dir.metadata[0],opts);\n\t}\n\n\tif((dir.people || []).length >= 1) {\n\t\topts.people = parse_people_xml(getzipdata(zip, strip_front_slash(dir.people[0])),opts);\n\t}\n\n\tif(wbrels) wbrels = safe_parse_wbrels(wbrels, wb.Sheets);\n\n\t/* Numbers iOS hack */\n\tvar nmode = (getzipdata(zip,\"xl/worksheets/sheet.xml\",true))?1:0;\n\twsloop: for(i = 0; i != props.Worksheets; ++i) {\n\t\tvar stype = \"sheet\";\n\t\tif(wbrels && wbrels[i]) {\n\t\t\tpath = 'xl/' + (wbrels[i][1]).replace(/[\\/]?xl\\//, \"\");\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrels[i][1];\n\t\t\tif(!safegetzipfile(zip, path)) path = wbrelsfile.replace(/_rels\\/.*$/,\"\") + wbrels[i][1];\n\t\t\tstype = wbrels[i][2];\n\t\t} else {\n\t\t\tpath = 'xl/worksheets/sheet'+(i+1-nmode)+\".\" + wbext;\n\t\t\tpath = path.replace(/sheet0\\./,\"sheet.\");\n\t\t}\n\t\trelsPath = path.replace(/^(.*)(\\/)([^\\/]*)$/, \"$1/_rels/$3.rels\");\n\t\tif(opts && opts.sheets != null) switch(typeof opts.sheets) {\n\t\t\tcase \"number\": if(i != opts.sheets) continue wsloop; break;\n\t\t\tcase \"string\": if(props.SheetNames[i].toLowerCase() != opts.sheets.toLowerCase()) continue wsloop; break;\n\t\t\tdefault: if(Array.isArray && Array.isArray(opts.sheets)) {\n\t\t\t\tvar snjseen = false;\n\t\t\t\tfor(var snj = 0; snj != opts.sheets.length; ++snj) {\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"number\" && opts.sheets[snj] == i) snjseen=1;\n\t\t\t\t\tif(typeof opts.sheets[snj] == \"string\" && opts.sheets[snj].toLowerCase() == props.SheetNames[i].toLowerCase()) snjseen = 1;\n\t\t\t\t}\n\t\t\t\tif(!snjseen) continue wsloop;\n\t\t\t}\n\t\t}\n\t\tsafe_parse_sheet(zip, path, relsPath, props.SheetNames[i], i, sheetRels, sheets, stype, opts, wb, themes, styles);\n\t}\n\n\tout = ({\n\t\tDirectory: dir,\n\t\tWorkbook: wb,\n\t\tProps: props,\n\t\tCustprops: custprops,\n\t\tDeps: deps,\n\t\tSheets: sheets,\n\t\tSheetNames: props.SheetNames,\n\t\tStrings: strs,\n\t\tStyles: styles,\n\t\tThemes: themes,\n\t\tSSF: dup(table_fmt)\n\t}/*:any*/);\n\tif(opts && opts.bookFiles) {\n\t\tif(zip.files) {\n\t\t\tout.keys = entries;\n\t\t\tout.files = zip.files;\n\t\t} else {\n\t\t\tout.keys = [];\n\t\t\tout.files = {};\n\t\t\tzip.FullPaths.forEach(function(p, idx) {\n\t\t\t\tp = p.replace(/^Root Entry[\\/]/, \"\");\n\t\t\t\tout.keys.push(p);\n\t\t\t\tout.files[p] = zip.FileIndex[idx];\n\t\t\t});\n\t\t}\n\t}\n\tif(opts && opts.bookVBA) {\n\t\tif(dir.vba.length > 0) out.vbaraw = getzipdata(zip,strip_front_slash(dir.vba[0]),true);\n\t\telse if(dir.defaults && dir.defaults.bin === CT_VBA) out.vbaraw = getzipdata(zip, 'xl/vbaProject.bin',true);\n\t}\n\treturn out;\n}\n\n/* [MS-OFFCRYPTO] 2.1.1 */\nfunction parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar opts = _opts || {};\n\tvar f = 'Workbook', data = CFB.find(cfb, f);\n\ttry {\n\tf = '/!DataSpaces/Version';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var version = */parse_DataSpaceVersionInfo(data.content);\n\n\t/* 2.3.4.1 */\n\tf = '/!DataSpaces/DataSpaceMap';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar dsm = parse_DataSpaceMap(data.content);\n\tif(dsm.length !== 1 || dsm[0].comps.length !== 1 || dsm[0].comps[0].t !== 0 || dsm[0].name !== \"StrongEncryptionDataSpace\" || dsm[0].comps[0].v !== \"EncryptedPackage\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.2 */\n\tf = '/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar seds = parse_DataSpaceDefinition(data.content);\n\tif(seds.length != 1 || seds[0] != \"StrongEncryptionTransform\")\n\t\tthrow new Error(\"ECMA-376 Encrypted file bad \" + f);\n\n\t/* 2.3.4.3 */\n\tf = '/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\t/*var hdr = */parse_Primary(data.content);\n\t} catch(e) {}\n\n\tf = '/EncryptionInfo';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\tvar einfo = parse_EncryptionInfo(data.content);\n\n\t/* 2.3.4.4 */\n\tf = '/EncryptedPackage';\n\tdata = CFB.find(cfb, f); if(!data || !data.content) throw new Error(\"ECMA-376 Encrypted file missing \" + f);\n\n/*global decrypt_agile */\n/*:: declare var decrypt_agile:any; */\n\tif(einfo[0] == 0x04 && typeof decrypt_agile !== 'undefined') return decrypt_agile(einfo[1], data.content, opts.password || \"\", opts);\n/*global decrypt_std76 */\n/*:: declare var decrypt_std76:any; */\n\tif(einfo[0] == 0x02 && typeof decrypt_std76 !== 'undefined') return decrypt_std76(einfo[1], data.content, opts.password || \"\", opts);\n\tthrow new Error(\"File is password-protected\");\n}\n\nfunction write_zip(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\tif(opts.bookType == \"ods\") return write_ods(wb, opts);\n\tif(opts.bookType == \"numbers\") return write_numbers_iwa(wb, opts);\n\tif(opts.bookType == \"xlsb\") return write_zip_xlsxb(wb, opts);\n\treturn write_zip_xlsx(wb, opts);\n}\n\n/* XLSX and XLSB writing are very similar. Originally they were unified in one\n export function. This is horrible for tree shaking in the common case (most\n applications need to export files in one format) so this function supports\n both formats while write_zip_xlsx only handles XLSX */\nfunction write_zip_xlsxb(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = opts.bookType == \"xlsb\" ? \"bin\" : \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws(rId-1, f, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_cmnt(comments, cf, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst(opts.Strings, f, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb(wb, f, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty(wb, f, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta(f));\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction write_zip_xlsx(wb/*:Workbook*/, opts/*:WriteOpts*/)/*:ZIP*/ {\n\t_shapeid = 1024;\n\tif(wb && !wb.SSF) {\n\t\twb.SSF = dup(table_fmt);\n\t}\n\tif(wb && wb.SSF) {\n\t\tmake_ssf(); SSF_load_table(wb.SSF);\n\t\t// $FlowIgnore\n\t\topts.revssf = evert_num(wb.SSF); opts.revssf[wb.SSF[65535]] = 0;\n\t\topts.ssf = wb.SSF;\n\t}\n\topts.rels = {}; opts.wbrels = {};\n\topts.Strings = /*::((*/[]/*:: :any):SST)*/; opts.Strings.Count = 0; opts.Strings.Unique = 0;\n\tif(browser_has_Map) opts.revStrings = new Map();\n\telse { opts.revStrings = {}; opts.revStrings.foo = []; delete opts.revStrings.foo; }\n\tvar wbext = \"xml\";\n\tvar vbafmt = VBAFMTS.indexOf(opts.bookType) > -1;\n\tvar ct = new_ct();\n\tfix_write_opts(opts = opts || {});\n\tvar zip = zip_new();\n\tvar f = \"\", rId = 0;\n\n\topts.cellXfs = [];\n\tget_cell_style(opts.cellXfs, {}, {revssf:{\"General\":0}});\n\n\tif(!wb.Props) wb.Props = {};\n\n\tf = \"docProps/core.xml\";\n\tzip_add_file(zip, f, write_core_props(wb.Props, opts));\n\tct.coreprops.push(f);\n\tadd_rels(opts.rels, 2, f, RELS.CORE_PROPS);\n\n\t/*::if(!wb.Props) throw \"unreachable\"; */\n\tf = \"docProps/app.xml\";\n\tif(wb.Props && wb.Props.SheetNames){/* empty */}\n\telse if(!wb.Workbook || !wb.Workbook.Sheets) wb.Props.SheetNames = wb.SheetNames;\n\telse {\n\t\tvar _sn = [];\n\t\tfor(var _i = 0; _i < wb.SheetNames.length; ++_i)\n\t\t\tif((wb.Workbook.Sheets[_i]||{}).Hidden != 2) _sn.push(wb.SheetNames[_i]);\n\t\twb.Props.SheetNames = _sn;\n\t}\n\twb.Props.Worksheets = wb.Props.SheetNames.length;\n\tzip_add_file(zip, f, write_ext_props(wb.Props, opts));\n\tct.extprops.push(f);\n\tadd_rels(opts.rels, 3, f, RELS.EXT_PROPS);\n\n\tif(wb.Custprops !== wb.Props && keys(wb.Custprops||{}).length > 0) {\n\t\tf = \"docProps/custom.xml\";\n\t\tzip_add_file(zip, f, write_cust_props(wb.Custprops, opts));\n\t\tct.custprops.push(f);\n\t\tadd_rels(opts.rels, 4, f, RELS.CUST_PROPS);\n\t}\n\n\tvar people = [\"SheetJ5\"];\n\topts.tcid = 0;\n\n\tfor(rId=1;rId <= wb.SheetNames.length; ++rId) {\n\t\tvar wsrels = {'!id':{}};\n\t\tvar ws = wb.Sheets[wb.SheetNames[rId-1]];\n\t\tvar _type = (ws || {})[\"!type\"] || \"sheet\";\n\t\tswitch(_type) {\n\t\tcase \"chart\":\n\t\t\t/* falls through */\n\t\tdefault:\n\t\t\tf = \"xl/worksheets/sheet\" + rId + \".\" + wbext;\n\t\t\tzip_add_file(zip, f, write_ws_xml(rId-1, opts, wb, wsrels));\n\t\t\tct.sheets.push(f);\n\t\t\tadd_rels(opts.wbrels, -1, \"worksheets/sheet\" + rId + \".\" + wbext, RELS.WS[0]);\n\t\t}\n\n\t\tif(ws) {\n\t\t\tvar comments = ws['!comments'];\n\t\t\tvar need_vml = false;\n\t\t\tvar cf = \"\";\n\t\t\tif(comments && comments.length > 0) {\n\t\t\t\tvar needtc = false;\n\t\t\t\tcomments.forEach(function(carr) {\n\t\t\t\t\tcarr[1].forEach(function(c) { if(c.T == true) needtc = true; });\n\t\t\t\t});\n\t\t\t\tif(needtc) {\n\t\t\t\t\tcf = \"xl/threadedComments/threadedComment\" + rId + \".\" + wbext;\n\t\t\t\t\tzip_add_file(zip, cf, write_tcmnt_xml(comments, people, opts));\n\t\t\t\t\tct.threadedcomments.push(cf);\n\t\t\t\t\tadd_rels(wsrels, -1, \"../threadedComments/threadedComment\" + rId + \".\" + wbext, RELS.TCMNT);\n\t\t\t\t}\n\n\t\t\t\tcf = \"xl/comments\" + rId + \".\" + wbext;\n\t\t\t\tzip_add_file(zip, cf, write_comments_xml(comments, opts));\n\t\t\t\tct.comments.push(cf);\n\t\t\t\tadd_rels(wsrels, -1, \"../comments\" + rId + \".\" + wbext, RELS.CMNT);\n\t\t\t\tneed_vml = true;\n\t\t\t}\n\t\t\tif(ws['!legacy']) {\n\t\t\t\tif(need_vml) zip_add_file(zip, \"xl/drawings/vmlDrawing\" + (rId) + \".vml\", write_comments_vml(rId, ws['!comments']));\n\t\t\t}\n\t\t\tdelete ws['!comments'];\n\t\t\tdelete ws['!legacy'];\n\t\t}\n\n\t\tif(wsrels['!id'].rId1) zip_add_file(zip, get_rels_path(f), write_rels(wsrels));\n\t}\n\n\tif(opts.Strings != null && opts.Strings.length > 0) {\n\t\tf = \"xl/sharedStrings.\" + wbext;\n\t\tzip_add_file(zip, f, write_sst_xml(opts.Strings, opts));\n\t\tct.strs.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"sharedStrings.\" + wbext, RELS.SST);\n\t}\n\n\tf = \"xl/workbook.\" + wbext;\n\tzip_add_file(zip, f, write_wb_xml(wb, opts));\n\tct.workbooks.push(f);\n\tadd_rels(opts.rels, 1, f, RELS.WB);\n\n\t/* TODO: something more intelligent with themes */\n\n\tf = \"xl/theme/theme1.xml\";\n\tzip_add_file(zip, f, write_theme(wb.Themes, opts));\n\tct.themes.push(f);\n\tadd_rels(opts.wbrels, -1, \"theme/theme1.xml\", RELS.THEME);\n\n\t/* TODO: something more intelligent with styles */\n\n\tf = \"xl/styles.\" + wbext;\n\tzip_add_file(zip, f, write_sty_xml(wb, opts));\n\tct.styles.push(f);\n\tadd_rels(opts.wbrels, -1, \"styles.\" + wbext, RELS.STY);\n\n\tif(wb.vbaraw && vbafmt) {\n\t\tf = \"xl/vbaProject.bin\";\n\t\tzip_add_file(zip, f, wb.vbaraw);\n\t\tct.vba.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"vbaProject.bin\", RELS.VBA);\n\t}\n\n\tf = \"xl/metadata.\" + wbext;\n\tzip_add_file(zip, f, write_xlmeta_xml());\n\tct.metadata.push(f);\n\tadd_rels(opts.wbrels, -1, \"metadata.\" + wbext, RELS.XLMETA);\n\n\tif(people.length > 1) {\n\t\tf = \"xl/persons/person.xml\";\n\t\tzip_add_file(zip, f, write_people_xml(people, opts));\n\t\tct.people.push(f);\n\t\tadd_rels(opts.wbrels, -1, \"persons/person.xml\", RELS.PEOPLE);\n\t}\n\n\tzip_add_file(zip, \"[Content_Types].xml\", write_ct(ct, opts));\n\tzip_add_file(zip, '_rels/.rels', write_rels(opts.rels));\n\tzip_add_file(zip, 'xl/_rels/workbook.' + wbext + '.rels', write_rels(opts.wbrels));\n\n\tdelete opts.revssf; delete opts.ssf;\n\treturn zip;\n}\n\nfunction firstbyte(f/*:RawData*/,o/*:?TypeOpts*/)/*:Array*/ {\n\tvar x = \"\";\n\tswitch((o||{}).type || \"base64\") {\n\t\tcase 'buffer': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tcase 'base64': x = Base64_decode(f.slice(0,12)); break;\n\t\tcase 'binary': x = f; break;\n\t\tcase 'array': return [f[0], f[1], f[2], f[3], f[4], f[5], f[6], f[7]];\n\t\tdefault: throw new Error(\"Unrecognized type \" + (o && o.type || \"undefined\"));\n\t}\n\treturn [x.charCodeAt(0), x.charCodeAt(1), x.charCodeAt(2), x.charCodeAt(3), x.charCodeAt(4), x.charCodeAt(5), x.charCodeAt(6), x.charCodeAt(7)];\n}\n\nfunction read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tif(CFB.find(cfb, \"EncryptedPackage\")) return parse_xlsxcfb(cfb, opts);\n\treturn parse_xlscfb(cfb, opts);\n}\n\nfunction read_zip(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar zip, d = data;\n\tvar o = opts||{};\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tzip = zip_read(d, o);\n\treturn parse_zip(zip, o);\n}\n\nfunction read_plaintext(data/*:string*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar i = 0;\n\tmain: while(i < data.length) switch(data.charCodeAt(i)) {\n\t\tcase 0x0A: case 0x0D: case 0x20: ++i; break;\n\t\tcase 0x3C: return parse_xlml(data.slice(i),o);\n\t\tdefault: break main;\n\t}\n\treturn PRN.to_workbook(data, o);\n}\n\nfunction read_plaintext_raw(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar str = \"\", bytes = firstbyte(data, o);\n\tswitch(o.type) {\n\t\tcase 'base64': str = Base64_decode(data); break;\n\t\tcase 'binary': str = data; break;\n\t\tcase 'buffer': str = data.toString('binary'); break;\n\t\tcase 'array': str = cc2str(data); break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tif(bytes[0] == 0xEF && bytes[1] == 0xBB && bytes[2] == 0xBF) str = utf8read(str);\n\to.type = \"binary\";\n\treturn read_plaintext(str, o);\n}\n\nfunction read_utf16(data/*:RawData*/, o/*:ParseOpts*/)/*:Workbook*/ {\n\tvar d = data;\n\tif(o.type == 'base64') d = Base64_decode(d);\n\td = $cptable.utils.decode(1200, d.slice(2), 'str');\n\to.type = \"binary\";\n\treturn read_plaintext(d, o);\n}\n\nfunction bstrify(data/*:string*/)/*:string*/ {\n\treturn !data.match(/[^\\x00-\\x7F]/) ? data : utf8write(data);\n}\n\nfunction read_prn(data, d, o, str) {\n\tif(str) { o.type = \"string\"; return PRN.to_workbook(data, o); }\n\treturn PRN.to_workbook(d, o);\n}\n\nfunction readSync(data/*:RawData*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\treset_cp();\n\tvar o = opts||{};\n\tif(typeof ArrayBuffer !== 'undefined' && data instanceof ArrayBuffer) return readSync(new Uint8Array(data), (o = dup(o), o.type = \"array\", o));\n\tif(typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && !o.type) o.type = typeof Deno !== \"undefined\" ? \"buffer\" : \"array\";\n\tvar d = data, n = [0,0,0,0], str = false;\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\t_ssfopts = {};\n\tif(o.dateNF) _ssfopts.dateNF = o.dateNF;\n\tif(!o.type) o.type = (has_buf && Buffer.isBuffer(data)) ? \"buffer\" : \"base64\";\n\tif(o.type == \"file\") { o.type = has_buf ? \"buffer\" : \"binary\"; d = read_binary(data); if(typeof Uint8Array !== 'undefined' && !has_buf) o.type = \"array\"; }\n\tif(o.type == \"string\") { str = true; o.type = \"binary\"; o.codepage = 65001; d = bstrify(data); }\n\tif(o.type == 'array' && typeof Uint8Array !== 'undefined' && data instanceof Uint8Array && typeof ArrayBuffer !== 'undefined') {\n\t\t// $FlowIgnore\n\t\tvar ab=new ArrayBuffer(3), vu=new Uint8Array(ab); vu.foo=\"bar\";\n\t\t// $FlowIgnore\n\t\tif(!vu.foo) {o=dup(o); o.type='array'; return readSync(ab2a(d), o);}\n\t}\n\tswitch((n = firstbyte(d, o))[0]) {\n\t\tcase 0xD0: if(n[1] === 0xCF && n[2] === 0x11 && n[3] === 0xE0 && n[4] === 0xA1 && n[5] === 0xB1 && n[6] === 0x1A && n[7] === 0xE1) return read_cfb(CFB.read(d, o), o); break;\n\t\tcase 0x09: if(n[1] <= 0x08) return parse_xlscfb(d, o); break;\n\t\tcase 0x3C: return parse_xlml(d, o);\n\t\tcase 0x49:\n\t\t\tif(n[1] === 0x49 && n[2] === 0x2a && n[3] === 0x00) throw new Error(\"TIFF Image File is not a spreadsheet\");\n\t\t\tif(n[1] === 0x44) return read_wb_ID(d, o);\n\t\t\tbreak;\n\t\tcase 0x54: if(n[1] === 0x41 && n[2] === 0x42 && n[3] === 0x4C) return DIF.to_workbook(d, o); break;\n\t\tcase 0x50: return (n[1] === 0x4B && n[2] < 0x09 && n[3] < 0x09) ? read_zip(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xEF: return n[3] === 0x3C ? parse_xlml(d, o) : read_prn(data, d, o, str);\n\t\tcase 0xFF:\n\t\t\tif(n[1] === 0xFE) { return read_utf16(d, o); }\n\t\t\telse if(n[1] === 0x00 && n[2] === 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\tbreak;\n\t\tcase 0x00:\n\t\t\tif(n[1] === 0x00) {\n\t\t\t\tif(n[2] >= 0x02 && n[3] === 0x00) return WK_.to_workbook(d, o);\n\t\t\t\tif(n[2] === 0x00 && (n[3] === 0x08 || n[3] === 0x09)) return WK_.to_workbook(d, o);\n\t\t\t}\n\t\t\tbreak;\n\t\tcase 0x03: case 0x83: case 0x8B: case 0x8C: return DBF.to_workbook(d, o);\n\t\tcase 0x7B: if(n[1] === 0x5C && n[2] === 0x72 && n[3] === 0x74) return RTF.to_workbook(d, o); break;\n\t\tcase 0x0A: case 0x0D: case 0x20: return read_plaintext_raw(d, o);\n\t\tcase 0x89: if(n[1] === 0x50 && n[2] === 0x4E && n[3] === 0x47) throw new Error(\"PNG Image File is not a spreadsheet\"); break;\n\t}\n\tif(DBF_SUPPORTED_VERSIONS.indexOf(n[0]) > -1 && n[2] <= 12 && n[3] <= 31) return DBF.to_workbook(d, o);\n\treturn read_prn(data, d, o, str);\n}\n\nfunction readFileSync(filename/*:string*/, opts/*:?ParseOpts*/)/*:Workbook*/ {\n\tvar o = opts||{}; o.type = 'file';\n\treturn readSync(filename, o);\n}\nfunction write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ {\n\tswitch(o.type) {\n\t\tcase \"base64\": case \"binary\": break;\n\t\tcase \"buffer\": case \"array\": o.type = \"\"; break;\n\t\tcase \"file\": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : \"\"}));\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\treturn CFB.write(cfb, o);\n}\n\n/*:: declare var encrypt_agile:any; */\nfunction write_zip_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_typeXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = dup(opts||{});\n\tvar z = write_zip_xlsx(wb, o);\n\treturn write_zip_denouement(z, o);\n}\nfunction write_zip_denouement(z/*:any*/, o/*:?WriteOpts*/)/*:any*/ {\n\tvar oopts = {};\n\tvar ftype = has_buf ? \"nodebuffer\" : (typeof Uint8Array !== \"undefined\" ? \"array\" : \"string\");\n\tif(o.compression) oopts.compression = 'DEFLATE';\n\tif(o.password) oopts.type = ftype;\n\telse switch(o.type) {\n\t\tcase \"base64\": oopts.type = \"base64\"; break;\n\t\tcase \"binary\": oopts.type = \"string\"; break;\n\t\tcase \"string\": throw new Error(\"'string' output type invalid for '\" + o.bookType + \"' files\");\n\t\tcase \"buffer\":\n\t\tcase \"file\": oopts.type = ftype; break;\n\t\tdefault: throw new Error(\"Unrecognized type \" + o.type);\n\t}\n\tvar out = z.FullPaths ? CFB.write(z, {fileType:\"zip\", type: /*::(*/{\"nodebuffer\": \"buffer\", \"string\": \"binary\"}/*:: :any)*/[oopts.type] || oopts.type, compression: !!o.compression}) : z.generate(oopts);\n\tif(typeof Deno !== \"undefined\") {\n\t\tif(typeof out == \"string\") {\n\t\t\tif(o.type == \"binary\" || o.type == \"base64\") return out;\n\t\t\tout = new Uint8Array(s2ab(out));\n\t\t}\n\t}\n/*jshint -W083 */\n\tif(o.password && typeof encrypt_agile !== 'undefined') return write_cfb_ctr(encrypt_agile(out, o.password), o); // eslint-disable-line no-undef\n/*jshint +W083 */\n\tif(o.type === \"file\") return write_dl(o.file, out);\n\treturn o.type == \"string\" ? utf8read(/*::(*/out/*:: :any)*/) : out;\n}\n\nfunction write_cfb_type(wb/*:Workbook*/, opts/*:?WriteOpts*/)/*:any*/ {\n\tvar o = opts||{};\n\tvar cfb/*:CFBContainer*/ = write_xlscfb(wb, o);\n\treturn write_cfb_ctr(cfb, o);\n}\n\nfunction write_string_type(out/*:string*/, opts/*:WriteOpts*/, bom/*:?string*/)/*:any*/ {\n\tif(!bom) bom = \"\";\n\tvar o = bom + out;\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(utf8write(o));\n\t\tcase \"binary\": return utf8write(o);\n\t\tcase \"string\": return out;\n\t\tcase \"file\": return write_dl(opts.file, o, 'utf8');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(o, 'utf8');\n\t\t\telse if(typeof TextEncoder !== \"undefined\") return new TextEncoder().encode(o);\n\t\t\telse return write_string_type(o, {type:'binary'}).split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\nfunction write_stxt_type(out/*:string*/, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"base64\": return Base64_encode(out);\n\t\tcase \"binary\": return out;\n\t\tcase \"string\": return out; /* override in sheet_to_txt */\n\t\tcase \"file\": return write_dl(opts.file, out, 'binary');\n\t\tcase \"buffer\": {\n\t\t\tif(has_buf) return Buffer_from(out, 'binary');\n\t\t\telse return out.split(\"\").map(function(c) { return c.charCodeAt(0); });\n\t\t}\n\t}\n\tthrow new Error(\"Unrecognized type \" + opts.type);\n}\n\n/* TODO: test consistency */\nfunction write_binary_type(out, opts/*:WriteOpts*/)/*:any*/ {\n\tswitch(opts.type) {\n\t\tcase \"string\":\n\t\tcase \"base64\":\n\t\tcase \"binary\":\n\t\t\tvar bstr = \"\";\n\t\t\t// $FlowIgnore\n\t\t\tfor(var i = 0; i < out.length; ++i) bstr += String.fromCharCode(out[i]);\n\t\t\treturn opts.type == 'base64' ? Base64_encode(bstr) : opts.type == 'string' ? utf8read(bstr) : bstr;\n\t\tcase \"file\": return write_dl(opts.file, out);\n\t\tcase \"buffer\": return out;\n\t\tdefault: throw new Error(\"Unrecognized type \" + opts.type);\n\t}\n}\n\nfunction writeSyncXLSX(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSyncXLSX(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\treturn write_zip_typeXLSX(wb, o);\n}\n\nfunction writeSync(wb/*:Workbook*/, opts/*:?WriteOpts*/) {\n\treset_cp();\n\tcheck_wb(wb);\n\tvar o = dup(opts||{});\n\tif(o.cellStyles) { o.cellNF = true; o.sheetStubs = true; }\n\tif(o.type == \"array\") { o.type = \"binary\"; var out/*:string*/ = (writeSync(wb, o)/*:any*/); o.type = \"array\"; return s2ab(out); }\n\tvar idx = 0;\n\tif(o.sheet) {\n\t\tif(typeof o.sheet == \"number\") idx = o.sheet;\n\t\telse idx = wb.SheetNames.indexOf(o.sheet);\n\t\tif(!wb.SheetNames[idx]) throw new Error(\"Sheet not found: \" + o.sheet + \" : \" + (typeof o.sheet));\n\t}\n\tswitch(o.bookType || 'xlsb') {\n\t\tcase 'xml':\n\t\tcase 'xlml': return write_string_type(write_xlml(wb, o), o);\n\t\tcase 'slk':\n\t\tcase 'sylk': return write_string_type(SYLK.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'htm':\n\t\tcase 'html': return write_string_type(sheet_to_html(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'txt': return write_stxt_type(sheet_to_txt(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'csv': return write_string_type(sheet_to_csv(wb.Sheets[wb.SheetNames[idx]], o), o, \"\\ufeff\");\n\t\tcase 'dif': return write_string_type(DIF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'dbf': return write_binary_type(DBF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'prn': return write_string_type(PRN.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'rtf': return write_string_type(RTF.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'eth': return write_string_type(ETH.from_sheet(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'fods': return write_string_type(write_ods(wb, o), o);\n\t\tcase 'wk1': return write_binary_type(WK_.sheet_to_wk1(wb.Sheets[wb.SheetNames[idx]], o), o);\n\t\tcase 'wk3': return write_binary_type(WK_.book_to_wk3(wb, o), o);\n\t\tcase 'biff2': if(!o.biff) o.biff = 2; /* falls through */\n\t\tcase 'biff3': if(!o.biff) o.biff = 3; /* falls through */\n\t\tcase 'biff4': if(!o.biff) o.biff = 4; return write_binary_type(write_biff_buf(wb, o), o);\n\t\tcase 'biff5': if(!o.biff) o.biff = 5; /* falls through */\n\t\tcase 'biff8':\n\t\tcase 'xla':\n\t\tcase 'xls': if(!o.biff) o.biff = 8; return write_cfb_type(wb, o);\n\t\tcase 'xlsx':\n\t\tcase 'xlsm':\n\t\tcase 'xlam':\n\t\tcase 'xlsb':\n\t\tcase 'numbers':\n\t\tcase 'ods': return write_zip_type(wb, o);\n\t\tdefault: throw new Error (\"Unrecognized bookType |\" + o.bookType + \"|\");\n\t}\n}\n\nfunction resolve_book_type(o/*:WriteFileOpts*/) {\n\tif(o.bookType) return;\n\tvar _BT = {\n\t\t\"xls\": \"biff8\",\n\t\t\"htm\": \"html\",\n\t\t\"slk\": \"sylk\",\n\t\t\"socialcalc\": \"eth\",\n\t\t\"Sh33tJS\": \"WTF\"\n\t};\n\tvar ext = o.file.slice(o.file.lastIndexOf(\".\")).toLowerCase();\n\tif(ext.match(/^\\.[a-z]+$/)) o.bookType = ext.slice(1);\n\to.bookType = _BT[o.bookType] || o.bookType;\n}\n\nfunction writeFileSync(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSync(wb, o);\n}\n\nfunction writeFileSyncXLSX(wb/*:Workbook*/, filename/*:string*/, opts/*:?WriteFileOpts*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\treturn writeSyncXLSX(wb, o);\n}\n\n\nfunction writeFileAsync(filename/*:string*/, wb/*:Workbook*/, opts/*:?WriteFileOpts*/, cb/*:?(e?:ErrnoError)=>void*/) {\n\tvar o = opts||{}; o.type = 'file';\n\to.file = filename;\n\tresolve_book_type(o);\n\to.type = 'buffer';\n\tvar _cb = cb; if(!(_cb instanceof Function)) _cb = (opts/*:any*/);\n\treturn _fs.writeFile(filename, writeSync(wb, o), _cb);\n}\n/*::\ntype MJRObject = {\n\trow: any;\n\tisempty: boolean;\n};\n*/\nfunction make_json_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, header/*:number*/, hdr/*:Array*/, dense/*:boolean*/, o/*:Sheet2JSONOpts*/)/*:MJRObject*/ {\n\tvar rr = encode_row(R);\n\tvar defval = o.defval, raw = o.raw || !Object.prototype.hasOwnProperty.call(o, \"raw\");\n\tvar isempty = true;\n\tvar row/*:any*/ = (header === 1) ? [] : {};\n\tif(header !== 1) {\n\t\tif(Object.defineProperty) try { Object.defineProperty(row, '__rowNum__', {value:R, enumerable:false}); } catch(e) { row.__rowNum__ = R; }\n\t\telse row.__rowNum__ = R;\n\t}\n\tif(!dense || sheet[R]) for (var C = r.s.c; C <= r.e.c; ++C) {\n\t\tvar val = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tif(val === undefined || val.t === undefined) {\n\t\t\tif(defval === undefined) continue;\n\t\t\tif(hdr[C] != null) { row[hdr[C]] = defval; }\n\t\t\tcontinue;\n\t\t}\n\t\tvar v = val.v;\n\t\tswitch(val.t){\n\t\t\tcase 'z': if(v == null) break; continue;\n\t\t\tcase 'e': v = (v == 0 ? null : void 0); break;\n\t\t\tcase 's': case 'd': case 'b': case 'n': break;\n\t\t\tdefault: throw new Error('unrecognized type ' + val.t);\n\t\t}\n\t\tif(hdr[C] != null) {\n\t\t\tif(v == null) {\n\t\t\t\tif(val.t == \"e\" && v === null) row[hdr[C]] = null;\n\t\t\t\telse if(defval !== undefined) row[hdr[C]] = defval;\n\t\t\t\telse if(raw && v === null) row[hdr[C]] = null;\n\t\t\t\telse continue;\n\t\t\t} else {\n\t\t\t\trow[hdr[C]] = raw && (val.t !== \"n\" || (val.t === \"n\" && o.rawNumbers !== false)) ? v : format_cell(val,v,o);\n\t\t\t}\n\t\t\tif(v != null) isempty = false;\n\t\t}\n\t}\n\treturn { row: row, isempty: isempty };\n}\n\n\nfunction sheet_to_json(sheet/*:Worksheet*/, opts/*:?Sheet2JSONOpts*/) {\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\telse if(o.header == null) header = 0;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar out/*:Array*/ = [];\n\tvar outi = 0, counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tfor (R = r.s.r + offset; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) out[outi++] = row.row;\n\t}\n\tout.length = outi;\n\treturn out;\n}\n\nvar qreg = /\"/g;\nfunction make_csv_row(sheet/*:Worksheet*/, r/*:Range*/, R/*:number*/, cols/*:Array*/, fs/*:number*/, rs/*:number*/, FS/*:string*/, o/*:Sheet2CSVOpts*/)/*:?string*/ {\n\tvar isempty = true;\n\tvar row/*:Array*/ = [], txt = \"\", rr = encode_row(R);\n\tfor(var C = r.s.c; C <= r.e.c; ++C) {\n\t\tif (!cols[C]) continue;\n\t\tvar val = o.dense ? (sheet[R]||[])[C]: sheet[cols[C] + rr];\n\t\tif(val == null) txt = \"\";\n\t\telse if(val.v != null) {\n\t\t\tisempty = false;\n\t\t\ttxt = ''+(o.rawNumbers && val.t == \"n\" ? val.v : format_cell(val, null, o));\n\t\t\tfor(var i = 0, cc = 0; i !== txt.length; ++i) if((cc = txt.charCodeAt(i)) === fs || cc === rs || cc === 34 || o.forceQuotes) {txt = \"\\\"\" + txt.replace(qreg, '\"\"') + \"\\\"\"; break; }\n\t\t\tif(txt == \"ID\") txt = '\"ID\"';\n\t\t} else if(val.f != null && !val.F) {\n\t\t\tisempty = false;\n\t\t\ttxt = '=' + val.f; if(txt.indexOf(\",\") >= 0) txt = '\"' + txt.replace(qreg, '\"\"') + '\"';\n\t\t} else txt = \"\";\n\t\t/* NOTE: Excel CSV does not support array formulae */\n\t\trow.push(txt);\n\t}\n\tif(o.blankrows === false && isempty) return null;\n\treturn row.join(FS);\n}\n\nfunction sheet_to_csv(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/)/*:string*/ {\n\tvar out/*:Array*/ = [];\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) return \"\";\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar w = 0;\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\tif ((rowinfo[R]||{}).hidden) continue;\n\t\trow = make_csv_row(sheet, r, R, cols, fs, rs, FS, o);\n\t\tif(row == null) { continue; }\n\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\tif(row || (o.blankrows !== false)) out.push((w++ ? RS : \"\") + row);\n\t}\n\tdelete o.dense;\n\treturn out.join(\"\");\n}\n\nfunction sheet_to_txt(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tif(!opts) opts = {}; opts.FS = \"\\t\"; opts.RS = \"\\n\";\n\tvar s = sheet_to_csv(sheet, opts);\n\tif(typeof $cptable == 'undefined' || opts.type == 'string') return s;\n\tvar o = $cptable.utils.encode(1200, s, 'str');\n\treturn String.fromCharCode(255) + String.fromCharCode(254) + o;\n}\n\nfunction sheet_to_formulae(sheet/*:Worksheet*/)/*:Array*/ {\n\tvar y = \"\", x, val=\"\";\n\tif(sheet == null || sheet[\"!ref\"] == null) return [];\n\tvar r = safe_decode_range(sheet['!ref']), rr = \"\", cols/*:Array*/ = [], C;\n\tvar cmds/*:Array*/ = [];\n\tvar dense = Array.isArray(sheet);\n\tfor(C = r.s.c; C <= r.e.c; ++C) cols[C] = encode_col(C);\n\tfor(var R = r.s.r; R <= r.e.r; ++R) {\n\t\trr = encode_row(R);\n\t\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\t\ty = cols[C] + rr;\n\t\t\tx = dense ? (sheet[R]||[])[C] : sheet[y];\n\t\t\tval = \"\";\n\t\t\tif(x === undefined) continue;\n\t\t\telse if(x.F != null) {\n\t\t\t\ty = x.F;\n\t\t\t\tif(!x.f) continue;\n\t\t\t\tval = x.f;\n\t\t\t\tif(y.indexOf(\":\") == -1) y = y + \":\" + y;\n\t\t\t}\n\t\t\tif(x.f != null) val = x.f;\n\t\t\telse if(x.t == 'z') continue;\n\t\t\telse if(x.t == 'n' && x.v != null) val = \"\" + x.v;\n\t\t\telse if(x.t == 'b') val = x.v ? \"TRUE\" : \"FALSE\";\n\t\t\telse if(x.w !== undefined) val = \"'\" + x.w;\n\t\t\telse if(x.v === undefined) continue;\n\t\t\telse if(x.t == 's') val = \"'\" + x.v;\n\t\t\telse val = \"\"+x.v;\n\t\t\tcmds[cmds.length] = y + \"=\" + val;\n\t\t}\n\t}\n\treturn cmds;\n}\n\nfunction sheet_add_json(_ws/*:?Worksheet*/, js/*:Array*/, opts)/*:Worksheet*/ {\n\tvar o = opts || {};\n\tvar offset = +!o.skipHeader;\n\tvar ws/*:Worksheet*/ = _ws || ({}/*:any*/);\n\tvar _R = 0, _C = 0;\n\tif(ws && o.origin != null) {\n\t\tif(typeof o.origin == 'number') _R = o.origin;\n\t\telse {\n\t\t\tvar _origin/*:CellAddress*/ = typeof o.origin == \"string\" ? decode_cell(o.origin) : o.origin;\n\t\t\t_R = _origin.r; _C = _origin.c;\n\t\t}\n\t}\n\tvar cell/*:Cell*/;\n\tvar range/*:Range*/ = ({s: {c:0, r:0}, e: {c:_C, r:_R + js.length - 1 + offset}}/*:any*/);\n\tif(ws['!ref']) {\n\t\tvar _range = safe_decode_range(ws['!ref']);\n\t\trange.e.c = Math.max(range.e.c, _range.e.c);\n\t\trange.e.r = Math.max(range.e.r, _range.e.r);\n\t\tif(_R == -1) { _R = _range.e.r + 1; range.e.r = _R + js.length - 1 + offset; }\n\t} else {\n\t\tif(_R == -1) { _R = 0; range.e.r = js.length - 1 + offset; }\n\t}\n\tvar hdr/*:Array*/ = o.header || [], C = 0;\n\n\tjs.forEach(function (JS, R/*:number*/) {\n\t\tkeys(JS).forEach(function(k) {\n\t\t\tif((C=hdr.indexOf(k)) == -1) hdr[C=hdr.length] = k;\n\t\t\tvar v = JS[k];\n\t\t\tvar t = 'z';\n\t\t\tvar z = \"\";\n\t\t\tvar ref = encode_cell({c:_C + C,r:_R + R + offset});\n\t\t\tcell = ws_get_cell_stub(ws, ref);\n\t\t\tif(v && typeof v === 'object' && !(v instanceof Date)){\n\t\t\t\tws[ref] = v;\n\t\t\t} else {\n\t\t\t\tif(typeof v == 'number') t = 'n';\n\t\t\t\telse if(typeof v == 'boolean') t = 'b';\n\t\t\t\telse if(typeof v == 'string') t = 's';\n\t\t\t\telse if(v instanceof Date) {\n\t\t\t\t\tt = 'd';\n\t\t\t\t\tif(!o.cellDates) { t = 'n'; v = datenum(v); }\n\t\t\t\t\tz = (o.dateNF || table_fmt[14]);\n\t\t\t\t}\n\t\t\t\telse if(v === null && o.nullError) { t = 'e'; v = 0; }\n\t\t\t\tif(!cell) ws[ref] = cell = ({t:t, v:v}/*:any*/);\n\t\t\t\telse {\n\t\t\t\t\tcell.t = t; cell.v = v;\n\t\t\t\t\tdelete cell.w; delete cell.R;\n\t\t\t\t\tif(z) cell.z = z;\n\t\t\t\t}\n\t\t\t\tif(z) cell.z = z;\n\t\t\t}\n\t\t});\n\t});\n\trange.e.c = Math.max(range.e.c, _C + hdr.length - 1);\n\tvar __R = encode_row(_R);\n\tif(offset) for(C = 0; C < hdr.length; ++C) ws[encode_col(C + _C) + __R] = {t:'s', v:hdr[C]};\n\tws['!ref'] = encode_range(range);\n\treturn ws;\n}\nfunction json_to_sheet(js/*:Array*/, opts)/*:Worksheet*/ { return sheet_add_json(null, js, opts); }\n\n/* get cell, creating a stub if necessary */\nfunction ws_get_cell_stub(ws/*:Worksheet*/, R, C/*:?number*/)/*:Cell*/ {\n\t/* A1 cell address */\n\tif(typeof R == \"string\") {\n\t\t/* dense */\n\t\tif(Array.isArray(ws)) {\n\t\t\tvar RC = decode_cell(R);\n\t\t\tif(!ws[RC.r]) ws[RC.r] = [];\n\t\t\treturn ws[RC.r][RC.c] || (ws[RC.r][RC.c] = {t:'z'});\n\t\t}\n\t\treturn ws[R] || (ws[R] = {t:'z'});\n\t}\n\t/* cell address object */\n\tif(typeof R != \"number\") return ws_get_cell_stub(ws, encode_cell(R));\n\t/* R and C are 0-based indices */\n\treturn ws_get_cell_stub(ws, encode_cell({r:R,c:C||0}));\n}\n\n/* find sheet index for given name / validate index */\nfunction wb_sheet_idx(wb/*:Workbook*/, sh/*:number|string*/) {\n\tif(typeof sh == \"number\") {\n\t\tif(sh >= 0 && wb.SheetNames.length > sh) return sh;\n\t\tthrow new Error(\"Cannot find sheet # \" + sh);\n\t} else if(typeof sh == \"string\") {\n\t\tvar idx = wb.SheetNames.indexOf(sh);\n\t\tif(idx > -1) return idx;\n\t\tthrow new Error(\"Cannot find sheet name |\" + sh + \"|\");\n\t} else throw new Error(\"Cannot find sheet |\" + sh + \"|\");\n}\n\n/* simple blank workbook object */\nfunction book_new()/*:Workbook*/ {\n\treturn { SheetNames: [], Sheets: {} };\n}\n\n/* add a worksheet to the end of a given workbook */\nfunction book_append_sheet(wb/*:Workbook*/, ws/*:Worksheet*/, name/*:?string*/, roll/*:?boolean*/)/*:string*/ {\n\tvar i = 1;\n\tif(!name) for(; i <= 0xFFFF; ++i, name = undefined) if(wb.SheetNames.indexOf(name = \"Sheet\" + i) == -1) break;\n\tif(!name || wb.SheetNames.length >= 0xFFFF) throw new Error(\"Too many worksheets\");\n\tif(roll && wb.SheetNames.indexOf(name) >= 0) {\n\t\tvar m = name.match(/(^.*?)(\\d+)$/);\n\t\ti = m && +m[2] || 0;\n\t\tvar root = m && m[1] || name;\n\t\tfor(++i; i <= 0xFFFF; ++i) if(wb.SheetNames.indexOf(name = root + i) == -1) break;\n\t}\n\tcheck_ws_name(name);\n\tif(wb.SheetNames.indexOf(name) >= 0) throw new Error(\"Worksheet with name |\" + name + \"| already exists!\");\n\n\twb.SheetNames.push(name);\n\twb.Sheets[name] = ws;\n\treturn name;\n}\n\n/* set sheet visibility (visible/hidden/very hidden) */\nfunction book_set_sheet_visibility(wb/*:Workbook*/, sh/*:number|string*/, vis/*:number*/) {\n\tif(!wb.Workbook) wb.Workbook = {};\n\tif(!wb.Workbook.Sheets) wb.Workbook.Sheets = [];\n\n\tvar idx = wb_sheet_idx(wb, sh);\n\t// $FlowIgnore\n\tif(!wb.Workbook.Sheets[idx]) wb.Workbook.Sheets[idx] = {};\n\n\tswitch(vis) {\n\t\tcase 0: case 1: case 2: break;\n\t\tdefault: throw new Error(\"Bad sheet visibility setting \" + vis);\n\t}\n\t// $FlowIgnore\n\twb.Workbook.Sheets[idx].Hidden = vis;\n}\n\n/* set number format */\nfunction cell_set_number_format(cell/*:Cell*/, fmt/*:string|number*/) {\n\tcell.z = fmt;\n\treturn cell;\n}\n\n/* set cell hyperlink */\nfunction cell_set_hyperlink(cell/*:Cell*/, target/*:string*/, tooltip/*:?string*/) {\n\tif(!target) {\n\t\tdelete cell.l;\n\t} else {\n\t\tcell.l = ({ Target: target }/*:Hyperlink*/);\n\t\tif(tooltip) cell.l.Tooltip = tooltip;\n\t}\n\treturn cell;\n}\nfunction cell_set_internal_link(cell/*:Cell*/, range/*:string*/, tooltip/*:?string*/) { return cell_set_hyperlink(cell, \"#\" + range, tooltip); }\n\n/* add to cell comments */\nfunction cell_add_comment(cell/*:Cell*/, text/*:string*/, author/*:?string*/) {\n\tif(!cell.c) cell.c = [];\n\tcell.c.push({t:text, a:author||\"SheetJS\"});\n}\n\n/* set array formula and flush related cells */\nfunction sheet_set_array_formula(ws/*:Worksheet*/, range, formula/*:string*/, dynamic/*:boolean*/) {\n\tvar rng = typeof range != \"string\" ? range : safe_decode_range(range);\n\tvar rngstr = typeof range == \"string\" ? range : encode_range(range);\n\tfor(var R = rng.s.r; R <= rng.e.r; ++R) for(var C = rng.s.c; C <= rng.e.c; ++C) {\n\t\tvar cell = ws_get_cell_stub(ws, R, C);\n\t\tcell.t = 'n';\n\t\tcell.F = rngstr;\n\t\tdelete cell.v;\n\t\tif(R == rng.s.r && C == rng.s.c) {\n\t\t\tcell.f = formula;\n\t\t\tif(dynamic) cell.D = true;\n\t\t}\n\t}\n\treturn ws;\n}\n\nvar utils/*:any*/ = {\n\tencode_col: encode_col,\n\tencode_row: encode_row,\n\tencode_cell: encode_cell,\n\tencode_range: encode_range,\n\tdecode_col: decode_col,\n\tdecode_row: decode_row,\n\tsplit_cell: split_cell,\n\tdecode_cell: decode_cell,\n\tdecode_range: decode_range,\n\tformat_cell: format_cell,\n\tsheet_add_aoa: sheet_add_aoa,\n\tsheet_add_json: sheet_add_json,\n\tsheet_add_dom: sheet_add_dom,\n\taoa_to_sheet: aoa_to_sheet,\n\tjson_to_sheet: json_to_sheet,\n\ttable_to_sheet: parse_dom_table,\n\ttable_to_book: table_to_book,\n\tsheet_to_csv: sheet_to_csv,\n\tsheet_to_txt: sheet_to_txt,\n\tsheet_to_json: sheet_to_json,\n\tsheet_to_html: sheet_to_html,\n\tsheet_to_formulae: sheet_to_formulae,\n\tsheet_to_row_object_array: sheet_to_json,\n\tsheet_get_cell: ws_get_cell_stub,\n\tbook_new: book_new,\n\tbook_append_sheet: book_append_sheet,\n\tbook_set_sheet_visibility: book_set_sheet_visibility,\n\tcell_set_number_format: cell_set_number_format,\n\tcell_set_hyperlink: cell_set_hyperlink,\n\tcell_set_internal_link: cell_set_internal_link,\n\tcell_add_comment: cell_add_comment,\n\tsheet_set_array_formula: sheet_set_array_formula,\n\tconsts: {\n\t\tSHEET_VISIBLE: 0,\n\t\tSHEET_HIDDEN: 1,\n\t\tSHEET_VERY_HIDDEN: 2\n\t}\n};\n\nvar _Readable;\nfunction set_readable(R) { _Readable = R; }\n\nfunction write_csv_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable();\n\tvar o = opts == null ? {} : opts;\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar r = safe_decode_range(sheet[\"!ref\"]);\n\tvar FS = o.FS !== undefined ? o.FS : \",\", fs = FS.charCodeAt(0);\n\tvar RS = o.RS !== undefined ? o.RS : \"\\n\", rs = RS.charCodeAt(0);\n\tvar endregex = new RegExp((FS==\"|\" ? \"\\\\|\" : FS)+\"+$\");\n\tvar row/*:?string*/ = \"\", cols/*:Array*/ = [];\n\to.dense = Array.isArray(sheet);\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(var C = r.s.c; C <= r.e.c; ++C) if (!((colinfo[C]||{}).hidden)) cols[C] = encode_col(C);\n\tvar R = r.s.r;\n\tvar BOM = false, w = 0;\n\tstream._read = function() {\n\t\tif(!BOM) { BOM = true; return stream.push(\"\\uFEFF\"); }\n\t\twhile(R <= r.e.r) {\n\t\t\t++R;\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\trow = make_csv_row(sheet, r, R-1, cols, fs, rs, FS, o);\n\t\t\tif(row != null) {\n\t\t\t\tif(o.strip) row = row.replace(endregex,\"\");\n\t\t\t\tif(row || (o.blankrows !== false)) return stream.push((w++ ? RS : \"\") + row);\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nfunction write_html_stream(ws/*:Worksheet*/, opts/*:?Sheet2HTMLOpts*/) {\n\tvar stream = _Readable();\n\n\tvar o = opts || {};\n\tvar header = o.header != null ? o.header : HTML_BEGIN;\n\tvar footer = o.footer != null ? o.footer : HTML_END;\n\tstream.push(header);\n\tvar r = decode_range(ws['!ref']);\n\to.dense = Array.isArray(ws);\n\tstream.push(make_html_preamble(ws, r, o));\n\tvar R = r.s.r;\n\tvar end = false;\n\tstream._read = function() {\n\t\tif(R > r.e.r) {\n\t\t\tif(!end) { end = true; stream.push(\"\" + footer); }\n\t\t\treturn stream.push(null);\n\t\t}\n\t\twhile(R <= r.e.r) {\n\t\t\tstream.push(make_html_row(ws, r, R, o));\n\t\t\t++R;\n\t\t\tbreak;\n\t\t}\n\t};\n\treturn stream;\n}\n\nfunction write_json_stream(sheet/*:Worksheet*/, opts/*:?Sheet2CSVOpts*/) {\n\tvar stream = _Readable({objectMode:true});\n\n\tif(sheet == null || sheet[\"!ref\"] == null) { stream.push(null); return stream; }\n\tvar val = {t:'n',v:0}, header = 0, offset = 1, hdr/*:Array*/ = [], v=0, vv=\"\";\n\tvar r = {s:{r:0,c:0},e:{r:0,c:0}};\n\tvar o = opts || {};\n\tvar range = o.range != null ? o.range : sheet[\"!ref\"];\n\tif(o.header === 1) header = 1;\n\telse if(o.header === \"A\") header = 2;\n\telse if(Array.isArray(o.header)) header = 3;\n\tswitch(typeof range) {\n\t\tcase 'string': r = safe_decode_range(range); break;\n\t\tcase 'number': r = safe_decode_range(sheet[\"!ref\"]); r.s.r = range; break;\n\t\tdefault: r = range;\n\t}\n\tif(header > 0) offset = 0;\n\tvar rr = encode_row(r.s.r);\n\tvar cols/*:Array*/ = [];\n\tvar counter = 0;\n\tvar dense = Array.isArray(sheet);\n\tvar R = r.s.r, C = 0;\n\tvar header_cnt = {};\n\tif(dense && !sheet[R]) sheet[R] = [];\n\tvar colinfo/*:Array*/ = o.skipHidden && sheet[\"!cols\"] || [];\n\tvar rowinfo/*:Array*/ = o.skipHidden && sheet[\"!rows\"] || [];\n\tfor(C = r.s.c; C <= r.e.c; ++C) {\n\t\tif(((colinfo[C]||{}).hidden)) continue;\n\t\tcols[C] = encode_col(C);\n\t\tval = dense ? sheet[R][C] : sheet[cols[C] + rr];\n\t\tswitch(header) {\n\t\t\tcase 1: hdr[C] = C - r.s.c; break;\n\t\t\tcase 2: hdr[C] = cols[C]; break;\n\t\t\tcase 3: hdr[C] = o.header[C - r.s.c]; break;\n\t\t\tdefault:\n\t\t\t\tif(val == null) val = {w: \"__EMPTY\", t: \"s\"};\n\t\t\t\tvv = v = format_cell(val, null, o);\n\t\t\t\tcounter = header_cnt[v] || 0;\n\t\t\t\tif(!counter) header_cnt[v] = 1;\n\t\t\t\telse {\n\t\t\t\t\tdo { vv = v + \"_\" + (counter++); } while(header_cnt[vv]); header_cnt[v] = counter;\n\t\t\t\t\theader_cnt[vv] = 1;\n\t\t\t\t}\n\t\t\t\thdr[C] = vv;\n\t\t}\n\t}\n\tR = r.s.r + offset;\n\tstream._read = function() {\n\t\twhile(R <= r.e.r) {\n\t\t\tif ((rowinfo[R-1]||{}).hidden) continue;\n\t\t\tvar row = make_json_row(sheet, r, R, cols, header, hdr, dense, o);\n\t\t\t++R;\n\t\t\tif((row.isempty === false) || (header === 1 ? o.blankrows !== false : !!o.blankrows)) {\n\t\t\t\tstream.push(row.row);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\treturn stream.push(null);\n\t};\n\treturn stream;\n}\n\nvar __stream = {\n\tto_json: write_json_stream,\n\tto_html: write_html_stream,\n\tto_csv: write_csv_stream,\n set_readable: set_readable\n};\nexport const version = XLSX.version;\nexport {\n\tparse_xlscfb,\n\tparse_zip,\n\treadSync as read,\n\treadFileSync as readFile,\n\treadFileSync,\n\twriteSync as write,\n\twriteFileSync as writeFile,\n\twriteFileSync,\n\twriteFileAsync,\n\twriteSyncXLSX as writeXLSX,\n\twriteFileSyncXLSX as writeFileXLSX,\n\tutils,\n\t__stream as stream,\n\tSSF,\n\tCFB\n};\n","// DEFLATE is a complex format; to read this code, you should probably check the RFC first:\n// https://tools.ietf.org/html/rfc1951\n// You may also wish to take a look at the guide I made about this program:\n// https://gist.github.com/101arrowz/253f31eb5abc3d9275ab943003ffecad\n// Much of the following code is similar to that of UZIP.js:\n// https://github.com/photopea/UZIP.js\n// Many optimizations have been made, so the bundle size is ultimately smaller but performance is similar.\n// Sometimes 0 will appear where -1 would be more appropriate. This is because using a uint\n// is better for memory in most engines (I *think*).\nvar ch2 = {};\nvar wk = (function (c, id, msg, transfer, cb) {\n var u = ch2[id] || (ch2[id] = URL.createObjectURL(new Blob([c], { type: 'text/javascript' })));\n var w = new Worker(u);\n w.onerror = function (e) { return cb(e.error, null); };\n w.onmessage = function (e) { return cb(null, e.data); };\n w.postMessage(msg, transfer);\n return w;\n});\n\n// aliases for shorter compressed code (most minifers don't do this)\nvar u8 = Uint8Array, u16 = Uint16Array, u32 = Uint32Array;\n// fixed length extra bits\nvar fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */ 0, 0, /* impossible */ 0]);\n// fixed distance extra bits\n// see fleb note\nvar fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */ 0, 0]);\n// code length index map\nvar clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n// get base, reverse index map from extra bits\nvar freb = function (eb, start) {\n var b = new u16(31);\n for (var i = 0; i < 31; ++i) {\n b[i] = start += 1 << eb[i - 1];\n }\n // numbers here are at max 18 bits\n var r = new u32(b[30]);\n for (var i = 1; i < 30; ++i) {\n for (var j = b[i]; j < b[i + 1]; ++j) {\n r[j] = ((j - b[i]) << 5) | i;\n }\n }\n return [b, r];\n};\nvar _a = freb(fleb, 2), fl = _a[0], revfl = _a[1];\n// we can ignore the fact that the other numbers are wrong; they never happen anyway\nfl[28] = 258, revfl[258] = 28;\nvar _b = freb(fdeb, 0), fd = _b[0], revfd = _b[1];\n// map of value to reverse (assuming 16 bits)\nvar rev = new u16(32768);\nfor (var i = 0; i < 32768; ++i) {\n // reverse table algorithm from SO\n var x = ((i & 0xAAAA) >>> 1) | ((i & 0x5555) << 1);\n x = ((x & 0xCCCC) >>> 2) | ((x & 0x3333) << 2);\n x = ((x & 0xF0F0) >>> 4) | ((x & 0x0F0F) << 4);\n rev[i] = (((x & 0xFF00) >>> 8) | ((x & 0x00FF) << 8)) >>> 1;\n}\n// create huffman tree from u8 \"map\": index -> code length for code index\n// mb (max bits) must be at most 15\n// TODO: optimize/split up?\nvar hMap = (function (cd, mb, r) {\n var s = cd.length;\n // index\n var i = 0;\n // u16 \"map\": index -> # of codes with bit length = index\n var l = new u16(mb);\n // length of cd must be 288 (total # of codes)\n for (; i < s; ++i)\n ++l[cd[i] - 1];\n // u16 \"map\": index -> minimum code for bit length = index\n var le = new u16(mb);\n for (i = 0; i < mb; ++i) {\n le[i] = (le[i - 1] + l[i - 1]) << 1;\n }\n var co;\n if (r) {\n // u16 \"map\": index -> number of actual bits, symbol for code\n co = new u16(1 << mb);\n // bits to remove for reverser\n var rvb = 15 - mb;\n for (i = 0; i < s; ++i) {\n // ignore 0 lengths\n if (cd[i]) {\n // num encoding both symbol and bits read\n var sv = (i << 4) | cd[i];\n // free bits\n var r_1 = mb - cd[i];\n // start value\n var v = le[cd[i] - 1]++ << r_1;\n // m is end value\n for (var m = v | ((1 << r_1) - 1); v <= m; ++v) {\n // every 16 bit value starting with the code yields the same result\n co[rev[v] >>> rvb] = sv;\n }\n }\n }\n }\n else {\n co = new u16(s);\n for (i = 0; i < s; ++i)\n co[i] = rev[le[cd[i] - 1]++] >>> (15 - cd[i]);\n }\n return co;\n});\n// fixed length tree\nvar flt = new u8(288);\nfor (var i = 0; i < 144; ++i)\n flt[i] = 8;\nfor (var i = 144; i < 256; ++i)\n flt[i] = 9;\nfor (var i = 256; i < 280; ++i)\n flt[i] = 7;\nfor (var i = 280; i < 288; ++i)\n flt[i] = 8;\n// fixed distance tree\nvar fdt = new u8(32);\nfor (var i = 0; i < 32; ++i)\n fdt[i] = 5;\n// fixed length map\nvar flm = /*#__PURE__*/ hMap(flt, 9, 0), flrm = /*#__PURE__*/ hMap(flt, 9, 1);\n// fixed distance map\nvar fdm = /*#__PURE__*/ hMap(fdt, 5, 0), fdrm = /*#__PURE__*/ hMap(fdt, 5, 1);\n// find max of array\nvar max = function (a) {\n var m = a[0];\n for (var i = 1; i < a.length; ++i) {\n if (a[i] > m)\n m = a[i];\n }\n return m;\n};\n// read d, starting at bit p and mask with m\nvar bits = function (d, p, m) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8)) >>> (p & 7)) & m;\n};\n// read d, starting at bit p continuing for at least 16 bits\nvar bits16 = function (d, p) {\n var o = (p / 8) >> 0;\n return ((d[o] | (d[o + 1] << 8) | (d[o + 2] << 16)) >>> (p & 7));\n};\n// get end of byte\nvar shft = function (p) { return ((p / 8) >> 0) + (p & 7 && 1); };\n// typed array slice - allows garbage collector to free original reference,\n// while being more compatible than .slice\nvar slc = function (v, s, e) {\n if (s == null || s < 0)\n s = 0;\n if (e == null || e > v.length)\n e = v.length;\n // can't use .constructor in case user-supplied\n var n = new (v instanceof u16 ? u16 : v instanceof u32 ? u32 : u8)(e - s);\n n.set(v.subarray(s, e));\n return n;\n};\n// expands raw DEFLATE data\nvar inflt = function (dat, buf, st) {\n // source length\n var sl = dat.length;\n // have to estimate size\n var noBuf = !buf || st;\n // no state\n var noSt = !st || st.i;\n if (!st)\n st = {};\n // Assumes roughly 33% compression ratio average\n if (!buf)\n buf = new u8(sl * 3);\n // ensure buffer can fit at least l elements\n var cbuf = function (l) {\n var bl = buf.length;\n // need to increase size to fit\n if (l > bl) {\n // Double or set to necessary, whichever is greater\n var nbuf = new u8(Math.max(bl * 2, l));\n nbuf.set(buf);\n buf = nbuf;\n }\n };\n // last chunk bitpos bytes\n var final = st.f || 0, pos = st.p || 0, bt = st.b || 0, lm = st.l, dm = st.d, lbt = st.m, dbt = st.n;\n // total bits\n var tbts = sl * 8;\n do {\n if (!lm) {\n // BFINAL - this is only 1 when last chunk is next\n st.f = final = bits(dat, pos, 1);\n // type: 0 = no compression, 1 = fixed huffman, 2 = dynamic huffman\n var type = bits(dat, pos + 1, 3);\n pos += 3;\n if (!type) {\n // go to end of byte boundary\n var s = shft(pos) + 4, l = dat[s - 4] | (dat[s - 3] << 8), t = s + l;\n if (t > sl) {\n if (noSt)\n throw 'unexpected EOF';\n break;\n }\n // ensure size\n if (noBuf)\n cbuf(bt + l);\n // Copy over uncompressed data\n buf.set(dat.subarray(s, t), bt);\n // Get new bitpos, update byte count\n st.b = bt += l, st.p = pos = t * 8;\n continue;\n }\n else if (type == 1)\n lm = flrm, dm = fdrm, lbt = 9, dbt = 5;\n else if (type == 2) {\n // literal lengths\n var hLit = bits(dat, pos, 31) + 257, hcLen = bits(dat, pos + 10, 15) + 4;\n var tl = hLit + bits(dat, pos + 5, 31) + 1;\n pos += 14;\n // length+distance tree\n var ldt = new u8(tl);\n // code length tree\n var clt = new u8(19);\n for (var i = 0; i < hcLen; ++i) {\n // use index map to get real code\n clt[clim[i]] = bits(dat, pos + i * 3, 7);\n }\n pos += hcLen * 3;\n // code lengths bits\n var clb = max(clt), clbmsk = (1 << clb) - 1;\n if (!noSt && pos + tl * (clb + 7) > tbts)\n break;\n // code lengths map\n var clm = hMap(clt, clb, 1);\n for (var i = 0; i < tl;) {\n var r = clm[bits(dat, pos, clbmsk)];\n // bits read\n pos += r & 15;\n // symbol\n var s = r >>> 4;\n // code length to copy\n if (s < 16) {\n ldt[i++] = s;\n }\n else {\n // copy count\n var c = 0, n = 0;\n if (s == 16)\n n = 3 + bits(dat, pos, 3), pos += 2, c = ldt[i - 1];\n else if (s == 17)\n n = 3 + bits(dat, pos, 7), pos += 3;\n else if (s == 18)\n n = 11 + bits(dat, pos, 127), pos += 7;\n while (n--)\n ldt[i++] = c;\n }\n }\n // length tree distance tree\n var lt = ldt.subarray(0, hLit), dt = ldt.subarray(hLit);\n // max length bits\n lbt = max(lt);\n // max dist bits\n dbt = max(dt);\n lm = hMap(lt, lbt, 1);\n dm = hMap(dt, dbt, 1);\n }\n else\n throw 'invalid block type';\n if (pos > tbts)\n throw 'unexpected EOF';\n }\n // Make sure the buffer can hold this + the largest possible addition\n // Maximum chunk size (practically, theoretically infinite) is 2^17;\n if (noBuf)\n cbuf(bt + 131072);\n var lms = (1 << lbt) - 1, dms = (1 << dbt) - 1;\n var mxa = lbt + dbt + 18;\n while (noSt || pos + mxa < tbts) {\n // bits read, code\n var c = lm[bits16(dat, pos) & lms], sym = c >>> 4;\n pos += c & 15;\n if (pos > tbts)\n throw 'unexpected EOF';\n if (!c)\n throw 'invalid length/literal';\n if (sym < 256)\n buf[bt++] = sym;\n else if (sym == 256) {\n lm = null;\n break;\n }\n else {\n var add = sym - 254;\n // no extra bits needed if less\n if (sym > 264) {\n // index\n var i = sym - 257, b = fleb[i];\n add = bits(dat, pos, (1 << b) - 1) + fl[i];\n pos += b;\n }\n // dist\n var d = dm[bits16(dat, pos) & dms], dsym = d >>> 4;\n if (!d)\n throw 'invalid distance';\n pos += d & 15;\n var dt = fd[dsym];\n if (dsym > 3) {\n var b = fdeb[dsym];\n dt += bits16(dat, pos) & ((1 << b) - 1), pos += b;\n }\n if (pos > tbts)\n throw 'unexpected EOF';\n if (noBuf)\n cbuf(bt + 131072);\n var end = bt + add;\n for (; bt < end; bt += 4) {\n buf[bt] = buf[bt - dt];\n buf[bt + 1] = buf[bt + 1 - dt];\n buf[bt + 2] = buf[bt + 2 - dt];\n buf[bt + 3] = buf[bt + 3 - dt];\n }\n bt = end;\n }\n }\n st.l = lm, st.p = pos, st.b = bt;\n if (lm)\n final = 1, st.m = lbt, st.d = dm, st.n = dbt;\n } while (!final);\n return bt == buf.length ? buf : slc(buf, 0, bt);\n};\n// starting at p, write the minimum number of bits that can hold v to d\nvar wbits = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n};\n// starting at p, write the minimum number of bits (>8) that can hold v to d\nvar wbits16 = function (d, p, v) {\n v <<= p & 7;\n var o = (p / 8) >> 0;\n d[o] |= v;\n d[o + 1] |= v >>> 8;\n d[o + 2] |= v >>> 16;\n};\n// creates code lengths from a frequency table\nvar hTree = function (d, mb) {\n // Need extra info to make a tree\n var t = [];\n for (var i = 0; i < d.length; ++i) {\n if (d[i])\n t.push({ s: i, f: d[i] });\n }\n var s = t.length;\n var t2 = t.slice();\n if (!s)\n return [new u8(0), 0];\n if (s == 1) {\n var v = new u8(t[0].s + 1);\n v[t[0].s] = 1;\n return [v, 1];\n }\n t.sort(function (a, b) { return a.f - b.f; });\n // after i2 reaches last ind, will be stopped\n // freq must be greater than largest possible number of symbols\n t.push({ s: -1, f: 25001 });\n var l = t[0], r = t[1], i0 = 0, i1 = 1, i2 = 2;\n t[0] = { s: -1, f: l.f + r.f, l: l, r: r };\n // efficient algorithm from UZIP.js\n // i0 is lookbehind, i2 is lookahead - after processing two low-freq\n // symbols that combined have high freq, will start processing i2 (high-freq,\n // non-composite) symbols instead\n // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/\n while (i1 != s - 1) {\n l = t[t[i0].f < t[i2].f ? i0++ : i2++];\n r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++];\n t[i1++] = { s: -1, f: l.f + r.f, l: l, r: r };\n }\n var maxSym = t2[0].s;\n for (var i = 1; i < s; ++i) {\n if (t2[i].s > maxSym)\n maxSym = t2[i].s;\n }\n // code lengths\n var tr = new u16(maxSym + 1);\n // max bits in tree\n var mbt = ln(t[i1 - 1], tr, 0);\n if (mbt > mb) {\n // more algorithms from UZIP.js\n // TODO: find out how this code works (debt)\n // ind debt\n var i = 0, dt = 0;\n // left cost\n var lft = mbt - mb, cst = 1 << lft;\n t2.sort(function (a, b) { return tr[b.s] - tr[a.s] || a.f - b.f; });\n for (; i < s; ++i) {\n var i2_1 = t2[i].s;\n if (tr[i2_1] > mb) {\n dt += cst - (1 << (mbt - tr[i2_1]));\n tr[i2_1] = mb;\n }\n else\n break;\n }\n dt >>>= lft;\n while (dt > 0) {\n var i2_2 = t2[i].s;\n if (tr[i2_2] < mb)\n dt -= 1 << (mb - tr[i2_2]++ - 1);\n else\n ++i;\n }\n for (; i >= 0 && dt; --i) {\n var i2_3 = t2[i].s;\n if (tr[i2_3] == mb) {\n --tr[i2_3];\n ++dt;\n }\n }\n mbt = mb;\n }\n return [new u8(tr), mbt];\n};\n// get the max length and assign length codes\nvar ln = function (n, l, d) {\n return n.s == -1\n ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1))\n : (l[n.s] = d);\n};\n// length codes generation\nvar lc = function (c) {\n var s = c.length;\n // Note that the semicolon was intentional\n while (s && !c[--s])\n ;\n var cl = new u16(++s);\n // ind num streak\n var cli = 0, cln = c[0], cls = 1;\n var w = function (v) { cl[cli++] = v; };\n for (var i = 1; i <= s; ++i) {\n if (c[i] == cln && i != s)\n ++cls;\n else {\n if (!cln && cls > 2) {\n for (; cls > 138; cls -= 138)\n w(32754);\n if (cls > 2) {\n w(cls > 10 ? ((cls - 11) << 5) | 28690 : ((cls - 3) << 5) | 12305);\n cls = 0;\n }\n }\n else if (cls > 3) {\n w(cln), --cls;\n for (; cls > 6; cls -= 6)\n w(8304);\n if (cls > 2)\n w(((cls - 3) << 5) | 8208), cls = 0;\n }\n while (cls--)\n w(cln);\n cls = 1;\n cln = c[i];\n }\n }\n return [cl.subarray(0, cli), s];\n};\n// calculate the length of output from tree, code lengths\nvar clen = function (cf, cl) {\n var l = 0;\n for (var i = 0; i < cl.length; ++i)\n l += cf[i] * cl[i];\n return l;\n};\n// writes a fixed block\n// returns the new bit pos\nvar wfblk = function (out, pos, dat) {\n // no need to write 00 as type: TypedArray defaults to 0\n var s = dat.length;\n var o = shft(pos + 2);\n out[o] = s & 255;\n out[o + 1] = s >>> 8;\n out[o + 2] = out[o] ^ 255;\n out[o + 3] = out[o + 1] ^ 255;\n for (var i = 0; i < s; ++i)\n out[o + i + 4] = dat[i];\n return (o + 4 + s) * 8;\n};\n// writes a block\nvar wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) {\n wbits(out, p++, final);\n ++lf[256];\n var _a = hTree(lf, 15), dlt = _a[0], mlb = _a[1];\n var _b = hTree(df, 15), ddt = _b[0], mdb = _b[1];\n var _c = lc(dlt), lclt = _c[0], nlc = _c[1];\n var _d = lc(ddt), lcdt = _d[0], ndc = _d[1];\n var lcfreq = new u16(19);\n for (var i = 0; i < lclt.length; ++i)\n lcfreq[lclt[i] & 31]++;\n for (var i = 0; i < lcdt.length; ++i)\n lcfreq[lcdt[i] & 31]++;\n var _e = hTree(lcfreq, 7), lct = _e[0], mlcb = _e[1];\n var nlcc = 19;\n for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc)\n ;\n var flen = (bl + 5) << 3;\n var ftlen = clen(lf, flt) + clen(df, fdt) + eb;\n var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + (2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]);\n if (flen <= ftlen && flen <= dtlen)\n return wfblk(out, p, dat.subarray(bs, bs + bl));\n var lm, ll, dm, dl;\n wbits(out, p, 1 + (dtlen < ftlen)), p += 2;\n if (dtlen < ftlen) {\n lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt;\n var llm = hMap(lct, mlcb, 0);\n wbits(out, p, nlc - 257);\n wbits(out, p + 5, ndc - 1);\n wbits(out, p + 10, nlcc - 4);\n p += 14;\n for (var i = 0; i < nlcc; ++i)\n wbits(out, p + 3 * i, lct[clim[i]]);\n p += 3 * nlcc;\n var lcts = [lclt, lcdt];\n for (var it = 0; it < 2; ++it) {\n var clct = lcts[it];\n for (var i = 0; i < clct.length; ++i) {\n var len = clct[i] & 31;\n wbits(out, p, llm[len]), p += lct[len];\n if (len > 15)\n wbits(out, p, (clct[i] >>> 5) & 127), p += clct[i] >>> 12;\n }\n }\n }\n else {\n lm = flm, ll = flt, dm = fdm, dl = fdt;\n }\n for (var i = 0; i < li; ++i) {\n if (syms[i] > 255) {\n var len = (syms[i] >>> 18) & 31;\n wbits16(out, p, lm[len + 257]), p += ll[len + 257];\n if (len > 7)\n wbits(out, p, (syms[i] >>> 23) & 31), p += fleb[len];\n var dst = syms[i] & 31;\n wbits16(out, p, dm[dst]), p += dl[dst];\n if (dst > 3)\n wbits16(out, p, (syms[i] >>> 5) & 8191), p += fdeb[dst];\n }\n else {\n wbits16(out, p, lm[syms[i]]), p += ll[syms[i]];\n }\n }\n wbits16(out, p, lm[256]);\n return p + ll[256];\n};\n// deflate options (nice << 13) | chain\nvar deo = /*#__PURE__*/ new u32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]);\n// empty\nvar et = /*#__PURE__*/ new u8(0);\n// compresses data into a raw DEFLATE buffer\nvar dflt = function (dat, lvl, plvl, pre, post, lst) {\n var s = dat.length;\n var o = new u8(pre + s + 5 * (1 + Math.floor(s / 7000)) + post);\n // writing to this writes to the output buffer\n var w = o.subarray(pre, o.length - post);\n var pos = 0;\n if (!lvl || s < 8) {\n for (var i = 0; i <= s; i += 65535) {\n // end\n var e = i + 65535;\n if (e < s) {\n // write full block\n pos = wfblk(w, pos, dat.subarray(i, e));\n }\n else {\n // write final block\n w[i] = lst;\n pos = wfblk(w, pos, dat.subarray(i, s));\n }\n }\n }\n else {\n var opt = deo[lvl - 1];\n var n = opt >>> 13, c = opt & 8191;\n var msk_1 = (1 << plvl) - 1;\n // prev 2-byte val map curr 2-byte val map\n var prev = new u16(32768), head = new u16(msk_1 + 1);\n var bs1_1 = Math.ceil(plvl / 3), bs2_1 = 2 * bs1_1;\n var hsh = function (i) { return (dat[i] ^ (dat[i + 1] << bs1_1) ^ (dat[i + 2] << bs2_1)) & msk_1; };\n // 24576 is an arbitrary number of maximum symbols per block\n // 424 buffer for last block\n var syms = new u32(25000);\n // length/literal freq distance freq\n var lf = new u16(288), df = new u16(32);\n // l/lcnt exbits index l/lind waitdx bitpos\n var lc_1 = 0, eb = 0, i = 0, li = 0, wi = 0, bs = 0;\n for (; i < s; ++i) {\n // hash value\n var hv = hsh(i);\n // index mod 32768\n var imod = i & 32767;\n // previous index with this value\n var pimod = head[hv];\n prev[imod] = pimod;\n head[hv] = imod;\n // We always should modify head and prev, but only add symbols if\n // this data is not yet processed (\"wait\" for wait index)\n if (wi <= i) {\n // bytes remaining\n var rem = s - i;\n if ((lc_1 > 7000 || li > 24576) && rem > 423) {\n pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos);\n li = lc_1 = eb = 0, bs = i;\n for (var j = 0; j < 286; ++j)\n lf[j] = 0;\n for (var j = 0; j < 30; ++j)\n df[j] = 0;\n }\n // len dist chain\n var l = 2, d = 0, ch_1 = c, dif = (imod - pimod) & 32767;\n if (rem > 2 && hv == hsh(i - dif)) {\n var maxn = Math.min(n, rem) - 1;\n var maxd = Math.min(32767, i);\n // max possible length\n // not capped at dif because decompressors implement \"rolling\" index population\n var ml = Math.min(258, rem);\n while (dif <= maxd && --ch_1 && imod != pimod) {\n if (dat[i + l] == dat[i + l - dif]) {\n var nl = 0;\n for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl)\n ;\n if (nl > l) {\n l = nl, d = dif;\n // break out early when we reach \"nice\" (we are satisfied enough)\n if (nl > maxn)\n break;\n // now, find the rarest 2-byte sequence within this\n // length of literals and search for that instead.\n // Much faster than just using the start\n var mmd = Math.min(dif, nl - 2);\n var md = 0;\n for (var j = 0; j < mmd; ++j) {\n var ti = (i - dif + j + 32768) & 32767;\n var pti = prev[ti];\n var cd = (ti - pti + 32768) & 32767;\n if (cd > md)\n md = cd, pimod = ti;\n }\n }\n }\n // check the previous match\n imod = pimod, pimod = prev[imod];\n dif += (imod - pimod + 32768) & 32767;\n }\n }\n // d will be nonzero only when a match was found\n if (d) {\n // store both dist and len data in one Uint32\n // Make sure this is recognized as a len/dist with 28th bit (2^28)\n syms[li++] = 268435456 | (revfl[l] << 18) | revfd[d];\n var lin = revfl[l] & 31, din = revfd[d] & 31;\n eb += fleb[lin] + fdeb[din];\n ++lf[257 + lin];\n ++df[din];\n wi = i + l;\n ++lc_1;\n }\n else {\n syms[li++] = dat[i];\n ++lf[dat[i]];\n }\n }\n }\n pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos);\n // this is the easiest way to avoid needing to maintain state\n if (!lst)\n pos = wfblk(w, pos, et);\n }\n return slc(o, 0, pre + shft(pos) + post);\n};\n// CRC32 table\nvar crct = /*#__PURE__*/ (function () {\n var t = new u32(256);\n for (var i = 0; i < 256; ++i) {\n var c = i, k = 9;\n while (--k)\n c = ((c & 1) && 0xEDB88320) ^ (c >>> 1);\n t[i] = c;\n }\n return t;\n})();\n// CRC32\nvar crc = function () {\n var c = 0xFFFFFFFF;\n return {\n p: function (d) {\n // closures have awful performance\n var cr = c;\n for (var i = 0; i < d.length; ++i)\n cr = crct[(cr & 255) ^ d[i]] ^ (cr >>> 8);\n c = cr;\n },\n d: function () { return c ^ 0xFFFFFFFF; }\n };\n};\n// Alder32\nvar adler = function () {\n var a = 1, b = 0;\n return {\n p: function (d) {\n // closures have awful performance\n var n = a, m = b;\n var l = d.length;\n for (var i = 0; i != l;) {\n var e = Math.min(i + 5552, l);\n for (; i < e; ++i)\n n += d[i], m += n;\n n %= 65521, m %= 65521;\n }\n a = n, b = m;\n },\n d: function () { return ((a >>> 8) << 16 | (b & 255) << 8 | (b >>> 8)) + ((a & 255) << 23) * 2; }\n };\n};\n;\n// deflate with opts\nvar dopt = function (dat, opt, pre, post, st) {\n return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : (12 + opt.mem), pre, post, !st);\n};\n// Walmart object spread\nvar mrg = function (a, b) {\n var o = {};\n for (var k in a)\n o[k] = a[k];\n for (var k in b)\n o[k] = b[k];\n return o;\n};\n// worker clone\n// This is possibly the craziest part of the entire codebase, despite how simple it may seem.\n// The only parameter to this function is a closure that returns an array of variables outside of the function scope.\n// We're going to try to figure out the variable names used in the closure as strings because that is crucial for workerization.\n// We will return an object mapping of true variable name to value (basically, the current scope as a JS object).\n// The reason we can't just use the original variable names is minifiers mangling the toplevel scope.\n// This took me three weeks to figure out how to do.\nvar wcln = function (fn, fnStr, td) {\n var dt = fn();\n var st = fn.toString();\n var ks = st.slice(st.indexOf('[') + 1, st.lastIndexOf(']')).replace(/ /g, '').split(',');\n for (var i = 0; i < dt.length; ++i) {\n var v = dt[i], k = ks[i];\n if (typeof v == 'function') {\n fnStr += ';' + k + '=';\n var st_1 = v.toString();\n if (v.prototype) {\n // for global objects\n if (st_1.indexOf('[native code]') != -1) {\n var spInd = st_1.indexOf(' ', 8) + 1;\n fnStr += st_1.slice(spInd, st_1.indexOf('(', spInd));\n }\n else {\n fnStr += st_1;\n for (var t in v.prototype)\n fnStr += ';' + k + '.prototype.' + t + '=' + v.prototype[t].toString();\n }\n }\n else\n fnStr += st_1;\n }\n else\n td[k] = v;\n }\n return [fnStr, td];\n};\nvar ch = [];\n// clone bufs\nvar cbfs = function (v) {\n var tl = [];\n for (var k in v) {\n if (v[k] instanceof u8 || v[k] instanceof u16 || v[k] instanceof u32)\n tl.push((v[k] = new v[k].constructor(v[k])).buffer);\n }\n return tl;\n};\n// use a worker to execute code\nvar wrkr = function (fns, init, id, cb) {\n var _a;\n if (!ch[id]) {\n var fnStr = '', td_1 = {}, m = fns.length - 1;\n for (var i = 0; i < m; ++i)\n _a = wcln(fns[i], fnStr, td_1), fnStr = _a[0], td_1 = _a[1];\n ch[id] = wcln(fns[m], fnStr, td_1);\n }\n var td = mrg({}, ch[id][1]);\n return wk(ch[id][0] + ';onmessage=function(e){for(var k in e.data)self[k]=e.data[k];onmessage=' + init.toString() + '}', id, td, cbfs(td), cb);\n};\n// base async inflate fn\nvar bInflt = function () { return [u8, u16, u32, fleb, fdeb, clim, fl, fd, flrm, fdrm, rev, hMap, max, bits, bits16, shft, slc, inflt, inflateSync, pbf, gu8]; };\nvar bDflt = function () { return [u8, u16, u32, fleb, fdeb, clim, revfl, revfd, flm, flt, fdm, fdt, rev, deo, et, hMap, wbits, wbits16, hTree, ln, lc, clen, wfblk, wblk, shft, slc, dflt, dopt, deflateSync, pbf]; };\n// gzip extra\nvar gze = function () { return [gzh, gzhl, wbytes, crc, crct]; };\n// gunzip extra\nvar guze = function () { return [gzs, gzl]; };\n// zlib extra\nvar zle = function () { return [zlh, wbytes, adler]; };\n// unzlib extra\nvar zule = function () { return [zlv]; };\n// post buf\nvar pbf = function (msg) { return postMessage(msg, [msg.buffer]); };\n// get u8\nvar gu8 = function (o) { return o && o.size && new u8(o.size); };\n// async helper\nvar cbify = function (dat, opts, fns, init, id, cb) {\n var w = wrkr(fns, init, id, function (err, dat) {\n w.terminate();\n cb(err, dat);\n });\n if (!opts.consume)\n dat = new u8(dat);\n w.postMessage([dat, opts], [dat.buffer]);\n return function () { w.terminate(); };\n};\n// auto stream\nvar astrm = function (strm) {\n strm.ondata = function (dat, final) { return postMessage([dat, final], [dat.buffer]); };\n return function (ev) { return strm.push(ev.data[0], ev.data[1]); };\n};\n// async stream attach\nvar astrmify = function (fns, strm, opts, init, id) {\n var t;\n var w = wrkr(fns, init, id, function (err, dat) {\n if (err)\n w.terminate(), strm.ondata.call(strm, err);\n else {\n if (dat[1])\n w.terminate();\n strm.ondata.call(strm, err, dat[0], dat[1]);\n }\n });\n w.postMessage(opts);\n strm.push = function (d, f) {\n if (t)\n throw 'stream finished';\n if (!strm.ondata)\n throw 'no stream handler';\n w.postMessage([d, t = f], [d.buffer]);\n };\n strm.terminate = function () { w.terminate(); };\n};\n// read 2 bytes\nvar b2 = function (d, b) { return d[b] | (d[b + 1] << 8); };\n// read 4 bytes\nvar b4 = function (d, b) { return (d[b] | (d[b + 1] << 8) | (d[b + 2] << 16)) + (d[b + 3] << 23) * 2; };\n// write bytes\nvar wbytes = function (d, b, v) {\n for (; v; ++b)\n d[b] = v, v >>>= 8;\n};\n// gzip header\nvar gzh = function (c, o) {\n var fn = o.filename;\n c[0] = 31, c[1] = 139, c[2] = 8, c[8] = o.level < 2 ? 4 : o.level == 9 ? 2 : 0, c[9] = 3; // assume Unix\n if (o.mtime != 0)\n wbytes(c, 4, Math.floor(new Date(o.mtime || Date.now()) / 1000));\n if (fn) {\n c[3] = 8;\n for (var i = 0; i <= fn.length; ++i)\n c[i + 10] = fn.charCodeAt(i);\n }\n};\n// gzip footer: -8 to -4 = CRC, -4 to -0 is length\n// gzip start\nvar gzs = function (d) {\n if (d[0] != 31 || d[1] != 139 || d[2] != 8)\n throw 'invalid gzip data';\n var flg = d[3];\n var st = 10;\n if (flg & 4)\n st += d[10] | (d[11] << 8) + 2;\n for (var zs = (flg >> 3 & 1) + (flg >> 4 & 1); zs > 0; zs -= !d[st++])\n ;\n return st + (flg & 2);\n};\n// gzip length\nvar gzl = function (d) {\n var l = d.length;\n return (d[l - 4] | d[l - 3] << 8 | d[l - 2] << 16) + (2 * (d[l - 1] << 23));\n};\n// gzip header length\nvar gzhl = function (o) { return 10 + ((o.filename && (o.filename.length + 1)) || 0); };\n// zlib header\nvar zlh = function (c, o) {\n var lv = o.level, fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2;\n c[0] = 120, c[1] = (fl << 6) | (fl ? (32 - 2 * fl) : 1);\n};\n// zlib valid\nvar zlv = function (d) {\n if ((d[0] & 15) != 8 || (d[0] >>> 4) > 7 || ((d[0] << 8 | d[1]) % 31))\n throw 'invalid zlib data';\n if (d[1] & 32)\n throw 'invalid zlib data: preset dictionaries not supported';\n};\nfunction AsyncCmpStrm(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n return opts;\n}\n// zlib footer: -4 to -0 is Adler32\n/**\n * Streaming DEFLATE compression\n */\nvar Deflate = /*#__PURE__*/ (function () {\n function Deflate(opts, cb) {\n if (!cb && typeof opts == 'function')\n cb = opts, opts = {};\n this.ondata = cb;\n this.o = opts || {};\n }\n Deflate.prototype.p = function (c, f) {\n this.ondata(dopt(c, this.o, 0, 0, !f), f);\n };\n /**\n * Pushes a chunk to be deflated\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Deflate.prototype.push = function (chunk, final) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n this.d = final;\n this.p(chunk, final || false);\n };\n return Deflate;\n}());\nexport { Deflate };\n/**\n * Asynchronous streaming DEFLATE compression\n */\nvar AsyncDeflate = /*#__PURE__*/ (function () {\n function AsyncDeflate(opts, cb) {\n astrmify([\n bDflt,\n function () { return [astrm, Deflate]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Deflate(ev.data);\n onmessage = astrm(strm);\n }, 6);\n }\n return AsyncDeflate;\n}());\nexport { AsyncDeflate };\nexport function deflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n ], function (ev) { return pbf(deflateSync(ev.data[0], ev.data[1])); }, 0, cb);\n}\n/**\n * Compresses data with DEFLATE without any wrapper\n * @param data The data to compress\n * @param opts The compression options\n * @returns The deflated version of the data\n */\nexport function deflateSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n return dopt(data, opts, 0, 0);\n}\n/**\n * Streaming DEFLATE decompression\n */\nvar Inflate = /*#__PURE__*/ (function () {\n /**\n * Creates an inflation stream\n * @param cb The callback to call whenever data is inflated\n */\n function Inflate(cb) {\n this.s = {};\n this.p = new u8(0);\n this.ondata = cb;\n }\n Inflate.prototype.e = function (c) {\n if (this.d)\n throw 'stream finished';\n if (!this.ondata)\n throw 'no stream handler';\n var l = this.p.length;\n var n = new u8(l + c.length);\n n.set(this.p), n.set(c, l), this.p = n;\n };\n Inflate.prototype.c = function (final) {\n this.d = this.s.i = final || false;\n var bts = this.s.b;\n var dt = inflt(this.p, this.o, this.s);\n this.ondata(slc(dt, bts, this.s.b), this.d);\n this.o = slc(dt, this.s.b - 32768), this.s.b = this.o.length;\n this.p = slc(this.p, (this.s.p / 8) >> 0), this.s.p &= 7;\n };\n /**\n * Pushes a chunk to be inflated\n * @param chunk The chunk to push\n * @param final Whether this is the final chunk\n */\n Inflate.prototype.push = function (chunk, final) {\n this.e(chunk), this.c(final);\n };\n return Inflate;\n}());\nexport { Inflate };\n/**\n * Asynchronous streaming DEFLATE decompression\n */\nvar AsyncInflate = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous inflation stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncInflate(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n function () { return [astrm, Inflate]; }\n ], this, 0, function () {\n var strm = new Inflate();\n onmessage = astrm(strm);\n }, 7);\n }\n return AsyncInflate;\n}());\nexport { AsyncInflate };\nexport function inflate(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt\n ], function (ev) { return pbf(inflateSync(ev.data[0], gu8(ev.data[1]))); }, 1, cb);\n}\n/**\n * Expands DEFLATE data with no wrapper\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function inflateSync(data, out) {\n return inflt(data, out);\n}\n// before you yell at me for not just using extends, my reason is that TS inheritance is hard to workerize.\n/**\n * Streaming GZIP compression\n */\nvar Gzip = /*#__PURE__*/ (function () {\n function Gzip(opts, cb) {\n this.c = crc();\n this.l = 0;\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be GZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gzip.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Gzip.prototype.p = function (c, f) {\n this.c.p(c);\n this.l += c.length;\n var raw = dopt(c, this.o, this.v && gzhl(this.o), f && 8, !f);\n if (this.v)\n gzh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 8, this.c.d()), wbytes(raw, raw.length - 4, this.l);\n this.ondata(raw, f);\n };\n return Gzip;\n}());\nexport { Gzip };\n/**\n * Asynchronous streaming GZIP compression\n */\nvar AsyncGzip = /*#__PURE__*/ (function () {\n function AsyncGzip(opts, cb) {\n astrmify([\n bDflt,\n gze,\n function () { return [astrm, Deflate, Gzip]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Gzip(ev.data);\n onmessage = astrm(strm);\n }, 8);\n }\n return AsyncGzip;\n}());\nexport { AsyncGzip };\nexport function gzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n gze,\n function () { return [gzipSync]; }\n ], function (ev) { return pbf(gzipSync(ev.data[0], ev.data[1])); }, 2, cb);\n}\n/**\n * Compresses data with GZIP\n * @param data The data to compress\n * @param opts The compression options\n * @returns The gzipped version of the data\n */\nexport function gzipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var c = crc(), l = data.length;\n c.p(data);\n var d = dopt(data, opts, gzhl(opts), 8), s = d.length;\n return gzh(d, opts), wbytes(d, s - 8, c.d()), wbytes(d, s - 4, l), d;\n}\n/**\n * Streaming GZIP decompression\n */\nvar Gunzip = /*#__PURE__*/ (function () {\n /**\n * Creates a GUNZIP stream\n * @param cb The callback to call whenever data is inflated\n */\n function Gunzip(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be GUNZIPped\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Gunzip.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n var s = gzs(this.p);\n if (s >= this.p.length && !final)\n return;\n this.p = this.p.subarray(s), this.v = 0;\n }\n if (final) {\n if (this.p.length < 8)\n throw 'invalid gzip stream';\n this.p = this.p.subarray(0, -8);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Gunzip;\n}());\nexport { Gunzip };\n/**\n * Asynchronous streaming GZIP decompression\n */\nvar AsyncGunzip = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous GUNZIP stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncGunzip(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n guze,\n function () { return [astrm, Inflate, Gunzip]; }\n ], this, 0, function () {\n var strm = new Gunzip();\n onmessage = astrm(strm);\n }, 9);\n }\n return AsyncGunzip;\n}());\nexport { AsyncGunzip };\nexport function gunzip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n guze,\n function () { return [gunzipSync]; }\n ], function (ev) { return pbf(gunzipSync(ev.data[0])); }, 3, cb);\n}\n/**\n * Expands GZIP data\n * @param data The data to decompress\n * @param out Where to write the data. GZIP already encodes the output size, so providing this doesn't save memory.\n * @returns The decompressed version of the data\n */\nexport function gunzipSync(data, out) {\n return inflt(data.subarray(gzs(data), -8), out || new u8(gzl(data)));\n}\n/**\n * Streaming Zlib compression\n */\nvar Zlib = /*#__PURE__*/ (function () {\n function Zlib(opts, cb) {\n this.c = adler();\n this.v = 1;\n Deflate.call(this, opts, cb);\n }\n /**\n * Pushes a chunk to be zlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Zlib.prototype.push = function (chunk, final) {\n Deflate.prototype.push.call(this, chunk, final);\n };\n Zlib.prototype.p = function (c, f) {\n this.c.p(c);\n var raw = dopt(c, this.o, this.v && 2, f && 4, !f);\n if (this.v)\n zlh(raw, this.o), this.v = 0;\n if (f)\n wbytes(raw, raw.length - 4, this.c.d());\n this.ondata(raw, f);\n };\n return Zlib;\n}());\nexport { Zlib };\n/**\n * Asynchronous streaming Zlib compression\n */\nvar AsyncZlib = /*#__PURE__*/ (function () {\n function AsyncZlib(opts, cb) {\n astrmify([\n bDflt,\n zle,\n function () { return [astrm, Deflate, Zlib]; }\n ], this, AsyncCmpStrm.call(this, opts, cb), function (ev) {\n var strm = new Zlib(ev.data);\n onmessage = astrm(strm);\n }, 10);\n }\n return AsyncZlib;\n}());\nexport { AsyncZlib };\nexport function zlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bDflt,\n zle,\n function () { return [zlibSync]; }\n ], function (ev) { return pbf(zlibSync(ev.data[0], ev.data[1])); }, 4, cb);\n}\n/**\n * Compress data with Zlib\n * @param data The data to compress\n * @param opts The compression options\n * @returns The zlib-compressed version of the data\n */\nexport function zlibSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var a = adler();\n a.p(data);\n var d = dopt(data, opts, 2, 4);\n return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d;\n}\n/**\n * Streaming Zlib decompression\n */\nvar Unzlib = /*#__PURE__*/ (function () {\n /**\n * Creates a Zlib decompression stream\n * @param cb The callback to call whenever data is inflated\n */\n function Unzlib(cb) {\n this.v = 1;\n Inflate.call(this, cb);\n }\n /**\n * Pushes a chunk to be unzlibbed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Unzlib.prototype.push = function (chunk, final) {\n Inflate.prototype.e.call(this, chunk);\n if (this.v) {\n if (this.p.length < 2 && !final)\n return;\n this.p = this.p.subarray(2), this.v = 0;\n }\n if (final) {\n if (this.p.length < 4)\n throw 'invalid zlib stream';\n this.p = this.p.subarray(0, -4);\n }\n // necessary to prevent TS from using the closure value\n // This allows for workerization to function correctly\n Inflate.prototype.c.call(this, final);\n };\n return Unzlib;\n}());\nexport { Unzlib };\n/**\n * Asynchronous streaming Zlib decompression\n */\nvar AsyncUnzlib = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous Zlib decompression stream\n * @param cb The callback to call whenever data is deflated\n */\n function AsyncUnzlib(cb) {\n this.ondata = cb;\n astrmify([\n bInflt,\n zule,\n function () { return [astrm, Inflate, Unzlib]; }\n ], this, 0, function () {\n var strm = new Unzlib();\n onmessage = astrm(strm);\n }, 11);\n }\n return AsyncUnzlib;\n}());\nexport { AsyncUnzlib };\nexport function unzlib(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return cbify(data, opts, [\n bInflt,\n zule,\n function () { return [unzlibSync]; }\n ], function (ev) { return pbf(unzlibSync(ev.data[0], gu8(ev.data[1]))); }, 5, cb);\n}\n/**\n * Expands Zlib data\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function unzlibSync(data, out) {\n return inflt((zlv(data), data.subarray(2, -4)), out);\n}\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzip as compress, AsyncGzip as AsyncCompress };\n// Default algorithm for compression (used because having a known output size allows faster decompression)\nexport { gzipSync as compressSync, Gzip as Compress };\n/**\n * Streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar Decompress = /*#__PURE__*/ (function () {\n /**\n * Creates a decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function Decompress(cb) {\n this.G = Gunzip;\n this.I = Inflate;\n this.Z = Unzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n Decompress.prototype.push = function (chunk, final) {\n if (!this.ondata)\n throw 'no stream handler';\n if (!this.s) {\n if (this.p && this.p.length) {\n var n = new u8(this.p.length + chunk.length);\n n.set(this.p), n.set(chunk, this.p.length);\n }\n else\n this.p = chunk;\n if (this.p.length > 2) {\n var _this_1 = this;\n var cb = function () { _this_1.ondata.apply(_this_1, arguments); };\n this.s = (this.p[0] == 31 && this.p[1] == 139 && this.p[2] == 8)\n ? new this.G(cb)\n : ((this.p[0] & 15) != 8 || (this.p[0] >> 4) > 7 || ((this.p[0] << 8 | this.p[1]) % 31))\n ? new this.I(cb)\n : new this.Z(cb);\n this.s.push(this.p, final);\n this.p = null;\n }\n }\n else\n this.s.push(chunk, final);\n };\n return Decompress;\n}());\nexport { Decompress };\n/**\n * Asynchronous streaming GZIP, Zlib, or raw DEFLATE decompression\n */\nvar AsyncDecompress = /*#__PURE__*/ (function () {\n /**\n * Creates an asynchronous decompression stream\n * @param cb The callback to call whenever data is decompressed\n */\n function AsyncDecompress(cb) {\n this.G = AsyncGunzip;\n this.I = AsyncInflate;\n this.Z = AsyncUnzlib;\n this.ondata = cb;\n }\n /**\n * Pushes a chunk to be decompressed\n * @param chunk The chunk to push\n * @param final Whether this is the last chunk\n */\n AsyncDecompress.prototype.push = function (chunk, final) {\n Decompress.prototype.push.call(this, chunk, final);\n };\n return AsyncDecompress;\n}());\nexport { AsyncDecompress };\nexport function decompress(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzip(data, opts, cb)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflate(data, opts, cb)\n : unzlib(data, opts, cb);\n}\n/**\n * Expands compressed GZIP, Zlib, or raw DEFLATE data, automatically detecting the format\n * @param data The data to decompress\n * @param out Where to write the data. Saves memory if you know the decompressed size and provide an output buffer of that length.\n * @returns The decompressed version of the data\n */\nexport function decompressSync(data, out) {\n return (data[0] == 31 && data[1] == 139 && data[2] == 8)\n ? gunzipSync(data, out)\n : ((data[0] & 15) != 8 || (data[0] >> 4) > 7 || ((data[0] << 8 | data[1]) % 31))\n ? inflateSync(data, out)\n : unzlibSync(data, out);\n}\n// flatten a directory structure\nvar fltn = function (d, p, t, o) {\n for (var k in d) {\n var val = d[k], n = p + k;\n if (val instanceof u8)\n t[n] = [val, o];\n else if (Array.isArray(val))\n t[n] = [val[0], mrg(o, val[1])];\n else\n fltn(val, n + '/', t, o);\n }\n};\n/**\n * Converts a string into a Uint8Array for use with compression/decompression methods\n * @param str The string to encode\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless decoding a binary string.\n * @returns The string encoded in UTF-8/Latin-1 binary\n */\nexport function strToU8(str, latin1) {\n var l = str.length;\n if (!latin1 && typeof TextEncoder != 'undefined')\n return new TextEncoder().encode(str);\n var ar = new u8(str.length + (str.length >>> 1));\n var ai = 0;\n var w = function (v) { ar[ai++] = v; };\n for (var i = 0; i < l; ++i) {\n if (ai + 5 > ar.length) {\n var n = new u8(ai + 8 + ((l - i) << 1));\n n.set(ar);\n ar = n;\n }\n var c = str.charCodeAt(i);\n if (c < 128 || latin1)\n w(c);\n else if (c < 2048)\n w(192 | (c >>> 6)), w(128 | (c & 63));\n else if (c > 55295 && c < 57344)\n c = 65536 + (c & 1023 << 10) | (str.charCodeAt(++i) & 1023),\n w(240 | (c >>> 18)), w(128 | ((c >>> 12) & 63)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n else\n w(224 | (c >>> 12)), w(128 | ((c >>> 6) & 63)), w(128 | (c & 63));\n }\n return slc(ar, 0, ai);\n}\n/**\n * Converts a Uint8Array to a string\n * @param dat The data to decode to string\n * @param latin1 Whether or not to interpret the data as Latin-1. This should\n * not need to be true unless encoding to binary string.\n * @returns The original UTF-8/Latin-1 string\n */\nexport function strFromU8(dat, latin1) {\n var r = '';\n if (!latin1 && typeof TextDecoder != 'undefined')\n return new TextDecoder().decode(dat);\n for (var i = 0; i < dat.length;) {\n var c = dat[i++];\n if (c < 128 || latin1)\n r += String.fromCharCode(c);\n else if (c < 224)\n r += String.fromCharCode((c & 31) << 6 | (dat[i++] & 63));\n else if (c < 240)\n r += String.fromCharCode((c & 15) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63));\n else\n c = ((c & 15) << 18 | (dat[i++] & 63) << 12 | (dat[i++] & 63) << 6 | (dat[i++] & 63)) - 65536,\n r += String.fromCharCode(55296 | (c >> 10), 56320 | (c & 1023));\n }\n return r;\n}\n;\n// skip local zip header\nvar slzh = function (d, b) { return b + 30 + b2(d, b + 26) + b2(d, b + 28); };\n// read zip header\nvar zh = function (d, b, z) {\n var fnl = b2(d, b + 28), fn = strFromU8(d.subarray(b + 46, b + 46 + fnl), !(b2(d, b + 8) & 2048)), es = b + 46 + fnl;\n var _a = z ? z64e(d, es) : [b4(d, b + 20), b4(d, b + 24), b4(d, b + 42)], sc = _a[0], su = _a[1], off = _a[2];\n return [b2(d, b + 10), sc, su, fn, es + b2(d, b + 30) + b2(d, b + 32), off];\n};\n// read zip64 extra field\nvar z64e = function (d, b) {\n for (; b2(d, b) != 1; b += 4 + b2(d, b + 2))\n ;\n return [b4(d, b + 12), b4(d, b + 4), b4(d, b + 20)];\n};\n// write zip header\nvar wzh = function (d, b, c, cmp, su, fn, u, o, ce, t) {\n var fl = fn.length, l = cmp.length;\n wbytes(d, b, ce != null ? 0x2014B50 : 0x4034B50), b += 4;\n if (ce != null)\n d[b] = 20, b += 2;\n d[b] = 20, b += 2; // spec compliance? what's that?\n d[b++] = (t == 8 && (o.level == 1 ? 6 : o.level < 6 ? 4 : o.level == 9 ? 2 : 0)), d[b++] = u && 8;\n d[b] = t, b += 2;\n var dt = new Date(o.mtime || Date.now()), y = dt.getFullYear() - 1980;\n if (y < 0 || y > 119)\n throw 'date not in range 1980-2099';\n wbytes(d, b, ((y << 24) * 2) | ((dt.getMonth() + 1) << 21) | (dt.getDate() << 16) | (dt.getHours() << 11) | (dt.getMinutes() << 5) | (dt.getSeconds() >>> 1));\n b += 4;\n wbytes(d, b, c);\n wbytes(d, b + 4, l);\n wbytes(d, b + 8, su);\n wbytes(d, b + 12, fl), b += 16; // skip extra field, comment\n if (ce != null)\n wbytes(d, b += 10, ce), b += 4;\n d.set(fn, b);\n b += fl;\n if (ce == null)\n d.set(cmp, b);\n};\n// write zip footer (end of central directory)\nvar wzf = function (o, b, c, d, e) {\n wbytes(o, b, 0x6054B50); // skip disk\n wbytes(o, b + 8, c);\n wbytes(o, b + 10, c);\n wbytes(o, b + 12, d);\n wbytes(o, b + 16, e);\n};\nexport function zip(data, opts, cb) {\n if (!cb)\n cb = opts, opts = {};\n if (typeof cb != 'function')\n throw 'no callback';\n var r = {};\n fltn(data, '', r, opts);\n var k = Object.keys(r);\n var lft = k.length, o = 0, tot = 0;\n var slft = lft, files = new Array(lft);\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var cbf = function () {\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n tot = 0;\n for (var i = 0; i < slft; ++i) {\n var f = files[i];\n try {\n wzh(out, tot, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, tot, f.t), o += 46 + f.n.length, tot += 30 + f.n.length + f.d.length;\n }\n catch (e) {\n return cb(e, null);\n }\n }\n wzf(out, o, files.length, cdl, oe);\n cb(null, out);\n };\n if (!lft)\n cbf();\n var _loop_1 = function (i) {\n var fn = k[i];\n var _a = r[fn], file = _a[0], p = _a[1];\n var c = crc(), m = file.length;\n c.p(file);\n var n = strToU8(fn), s = n.length;\n var t = p.level == 0 ? 0 : 8;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n var l = d.length;\n files[i] = {\n t: t,\n d: d,\n m: m,\n c: c.d(),\n u: fn.length != l,\n n: n,\n p: p\n };\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n if (!--lft)\n cbf();\n }\n };\n if (n.length > 65535)\n cbl('filename too long', null);\n if (!t)\n cbl(null, file);\n else if (m < 160000) {\n try {\n cbl(null, deflateSync(file, p));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(deflate(file, p, cbl));\n };\n // Cannot use lft because it can decrease\n for (var i = 0; i < slft; ++i) {\n _loop_1(i);\n }\n return tAll;\n}\n/**\n * Synchronously creates a ZIP file. Prefer using `zip` for better performance\n * with more than one file.\n * @param data The directory structure for the ZIP archive\n * @param opts The main options, merged with per-file options\n * @returns The generated ZIP archive\n */\nexport function zipSync(data, opts) {\n if (opts === void 0) { opts = {}; }\n var r = {};\n var files = [];\n fltn(data, '', r, opts);\n var o = 0;\n var tot = 0;\n for (var fn in r) {\n var _a = r[fn], file = _a[0], p = _a[1];\n var t = p.level == 0 ? 0 : 8;\n var n = strToU8(fn), s = n.length;\n if (n.length > 65535)\n throw 'filename too long';\n var d = t ? deflateSync(file, p) : file, l = d.length;\n var c = crc();\n c.p(file);\n files.push({\n t: t,\n d: d,\n m: file.length,\n c: c.d(),\n u: fn.length != s,\n n: n,\n o: o,\n p: p\n });\n o += 30 + s + l;\n tot += 76 + 2 * s + l;\n }\n var out = new u8(tot + 22), oe = o, cdl = tot - o;\n for (var i = 0; i < files.length; ++i) {\n var f = files[i];\n wzh(out, f.o, f.c, f.d, f.m, f.n, f.u, f.p, null, f.t);\n wzh(out, o, f.c, f.d, f.m, f.n, f.u, f.p, f.o, f.t), o += 46 + f.n.length;\n }\n wzf(out, o, files.length, cdl, oe);\n return out;\n}\n/**\n * Asynchronously decompresses a ZIP archive\n * @param data The raw compressed ZIP file\n * @param cb The callback to call with the decompressed files\n * @returns A function that can be used to immediately terminate the unzipping\n */\nexport function unzip(data, cb) {\n if (typeof cb != 'function')\n throw 'no callback';\n var term = [];\n var tAll = function () {\n for (var i = 0; i < term.length; ++i)\n term[i]();\n };\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558) {\n cb('invalid zip file', null);\n return;\n }\n }\n ;\n var lft = b2(data, e + 8);\n if (!lft)\n cb(null, {});\n var c = lft;\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = lft = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n var _loop_2 = function (i) {\n var _a = zh(data, o, z), c_1 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n var cbl = function (e, d) {\n if (e) {\n tAll();\n cb(e, null);\n }\n else {\n files[fn] = d;\n if (!--lft)\n cb(null, files);\n }\n };\n if (!c_1)\n cbl(null, slc(data, b, b + sc));\n else if (c_1 == 8) {\n var infl = data.subarray(b, b + sc);\n if (sc < 320000) {\n try {\n cbl(null, inflateSync(infl, new u8(su)));\n }\n catch (e) {\n cbl(e, null);\n }\n }\n else\n term.push(inflate(infl, { size: su }, cbl));\n }\n else\n cbl('unknown compression type ' + c_1, null);\n };\n for (var i = 0; i < c; ++i) {\n _loop_2(i);\n }\n return tAll;\n}\n/**\n * Synchronously decompresses a ZIP archive. Prefer using `unzip` for better\n * performance with more than one file.\n * @param data The raw compressed ZIP file\n * @returns The decompressed files\n */\nexport function unzipSync(data) {\n var files = {};\n var e = data.length - 22;\n for (; b4(data, e) != 0x6054B50; --e) {\n if (!e || data.length - e > 65558)\n throw 'invalid zip file';\n }\n ;\n var c = b2(data, e + 8);\n if (!c)\n return {};\n var o = b4(data, e + 16);\n var z = o == 4294967295;\n if (z) {\n e = b4(data, e - 12);\n if (b4(data, e) != 0x6064B50)\n throw 'invalid zip file';\n c = b4(data, e + 32);\n o = b4(data, e + 48);\n }\n for (var i = 0; i < c; ++i) {\n var _a = zh(data, o, z), c_2 = _a[0], sc = _a[1], su = _a[2], fn = _a[3], no = _a[4], off = _a[5], b = slzh(data, off);\n o = no;\n if (!c_2)\n files[fn] = slc(data, b, b + sc);\n else if (c_2 == 8)\n files[fn] = inflateSync(data.subarray(b, b + sc), new u8(su));\n else\n throw 'unknown compression type ' + c_2;\n }\n return files;\n}\n","export var globalObject = (function() {\n return \"undefined\" !== typeof window\n ? window\n : \"undefined\" !== typeof global\n ? global\n : \"undefined\" !== typeof self\n ? self\n : this;\n})();\n","import { globalObject } from \"./globalObject.js\";\n\nfunction consoleLog() {\n if (globalObject.console && typeof globalObject.console.log === \"function\") {\n globalObject.console.log.apply(globalObject.console, arguments);\n }\n}\n\nfunction consoleWarn(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.warn === \"function\") {\n globalObject.console.warn.apply(globalObject.console, arguments);\n } else {\n consoleLog.call(null, arguments);\n }\n }\n}\n\nfunction consoleError(str) {\n if (globalObject.console) {\n if (typeof globalObject.console.error === \"function\") {\n globalObject.console.error.apply(globalObject.console, arguments);\n } else {\n consoleLog(str);\n }\n }\n}\nexport var console = {\n log: consoleLog,\n warn: consoleWarn,\n error: consoleError\n};\n","/**\n * @license\n * FileSaver.js\n * A saveAs() FileSaver implementation.\n *\n * By Eli Grey, http://eligrey.com\n *\n * License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n * source : http://purl.eligrey.com/github/FileSaver.js\n */\n\nimport { globalObject as _global } from \"./globalObject.js\";\nimport { console } from \"./console.js\";\n\nfunction bom(blob, opts) {\n if (typeof opts === \"undefined\") opts = { autoBom: false };\n else if (typeof opts !== \"object\") {\n console.warn(\"Deprecated: Expected third argument to be a object\");\n opts = { autoBom: !opts };\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (\n opts.autoBom &&\n /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(\n blob.type\n )\n ) {\n return new Blob([String.fromCharCode(0xfeff), blob], { type: blob.type });\n }\n return blob;\n}\n\nfunction download(url, name, opts) {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url);\n xhr.responseType = \"blob\";\n xhr.onload = function() {\n saveAs(xhr.response, name, opts);\n };\n xhr.onerror = function() {\n console.error(\"could not download file\");\n };\n xhr.send();\n}\n\nfunction corsEnabled(url) {\n var xhr = new XMLHttpRequest();\n // use sync to avoid popup blocker\n xhr.open(\"HEAD\", url, false);\n try {\n xhr.send();\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299;\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click(node) {\n try {\n node.dispatchEvent(new MouseEvent(\"click\"));\n } catch (e) {\n var evt = document.createEvent(\"MouseEvents\");\n evt.initMouseEvent(\n \"click\",\n true,\n true,\n window,\n 0,\n 0,\n 0,\n 80,\n 20,\n false,\n false,\n false,\n false,\n 0,\n null\n );\n node.dispatchEvent(evt);\n }\n}\n\nvar saveAs =\n _global.saveAs ||\n // probably in some web worker\n (typeof window !== \"object\" || window !== _global\n ? function saveAs() {\n /* noop */\n }\n : // Use download attribute first if possible (#193 Lumia mobile) unless this is a native app\n typeof HTMLAnchorElement !== \"undefined\" &&\n \"download\" in HTMLAnchorElement.prototype\n ? function saveAs(blob, name, opts) {\n var URL = _global.URL || _global.webkitURL;\n var a = document.createElement(\"a\");\n name = name || blob.name || \"download\";\n\n a.download = name;\n a.rel = \"noopener\"; // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === \"string\") {\n // Support regular links\n a.href = blob;\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, (a.target = \"_blank\"));\n } else {\n click(a);\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob);\n setTimeout(function() {\n URL.revokeObjectURL(a.href);\n }, 4e4); // 40s\n setTimeout(function() {\n click(a);\n }, 0);\n }\n }\n : // Use msSaveOrOpenBlob as a second approach\n \"msSaveOrOpenBlob\" in navigator\n ? function saveAs(blob, name, opts) {\n name = name || blob.name || \"download\";\n\n if (typeof blob === \"string\") {\n if (corsEnabled(blob)) {\n download(blob, name, opts);\n } else {\n var a = document.createElement(\"a\");\n a.href = blob;\n a.target = \"_blank\";\n setTimeout(function() {\n click(a);\n });\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name);\n }\n }\n : // Fallback to using FileReader and a popup\n function saveAs(blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open(\"\", \"_blank\");\n if (popup) {\n popup.document.title = popup.document.body.innerText =\n \"downloading...\";\n }\n\n if (typeof blob === \"string\") return download(blob, name, opts);\n\n var force = blob.type === \"application/octet-stream\";\n var isSafari =\n /constructor/i.test(_global.HTMLElement) || _global.safari;\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent);\n\n if (\n (isChromeIOS || (force && isSafari)) &&\n typeof FileReader === \"object\"\n ) {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader();\n reader.onloadend = function() {\n var url = reader.result;\n url = isChromeIOS\n ? url\n : url.replace(/^data:[^;]*;/, \"data:attachment/file;\");\n if (popup) popup.location.href = url;\n else location = url;\n popup = null; // reverse-tabnabbing #460\n };\n reader.readAsDataURL(blob);\n } else {\n var URL = _global.URL || _global.webkitURL;\n var url = URL.createObjectURL(blob);\n if (popup) popup.location = url;\n else location.href = url;\n popup = null; // reverse-tabnabbing #460\n setTimeout(function() {\n URL.revokeObjectURL(url);\n }, 4e4); // 40s\n }\n });\n\nexport { saveAs };\n","import { globalObject } from \"./globalObject.js\";\n\nvar atob, btoa;\n\n(function() {\n atob = globalObject.atob.bind(globalObject);\n btoa = globalObject.btoa.bind(globalObject);\n return;\n\n})();\n\nexport { atob, btoa };\n","/**\n * A class to parse color values\n * @author Stoyan Stefanov \n * {@link http://www.phpied.com/rgb-color-parser-in-javascript/}\n * @license Use it if you like it\n */\n\nfunction RGBColor(color_string) {\n color_string = color_string || \"\";\n this.ok = false;\n\n // strip any leading #\n if (color_string.charAt(0) == \"#\") {\n // remove # if any\n color_string = color_string.substr(1, 6);\n }\n\n color_string = color_string.replace(/ /g, \"\");\n color_string = color_string.toLowerCase();\n\n var channels;\n\n // before getting into regexps, try simple matches\n // and overwrite the input\n var simple_colors = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"00ffff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000000\",\n blanchedalmond: \"ffebcd\",\n blue: \"0000ff\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"00ffff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dodgerblue: \"1e90ff\",\n feldspar: \"d19275\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"ff00ff\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgrey: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslateblue: \"8470ff\",\n lightslategray: \"778899\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"00ff00\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"ff00ff\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370d8\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"d87093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n red: \"ff0000\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n violetred: \"d02090\",\n wheat: \"f5deb3\",\n white: \"ffffff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ffff00\",\n yellowgreen: \"9acd32\"\n };\n color_string = simple_colors[color_string] || color_string;\n\n // array of color definition objects\n var color_defs = [\n {\n re: /^rgb\\((\\d{1,3}),\\s*(\\d{1,3}),\\s*(\\d{1,3})\\)$/,\n example: [\"rgb(123, 234, 45)\", \"rgb(255,234,245)\"],\n process: function(bits) {\n return [parseInt(bits[1]), parseInt(bits[2]), parseInt(bits[3])];\n }\n },\n {\n re: /^(\\w{2})(\\w{2})(\\w{2})$/,\n example: [\"#00ff00\", \"336699\"],\n process: function(bits) {\n return [\n parseInt(bits[1], 16),\n parseInt(bits[2], 16),\n parseInt(bits[3], 16)\n ];\n }\n },\n {\n re: /^(\\w{1})(\\w{1})(\\w{1})$/,\n example: [\"#fb0\", \"f0f\"],\n process: function(bits) {\n return [\n parseInt(bits[1] + bits[1], 16),\n parseInt(bits[2] + bits[2], 16),\n parseInt(bits[3] + bits[3], 16)\n ];\n }\n }\n ];\n\n // search through the definitions to find a match\n for (var i = 0; i < color_defs.length; i++) {\n var re = color_defs[i].re;\n var processor = color_defs[i].process;\n var bits = re.exec(color_string);\n if (bits) {\n channels = processor(bits);\n this.r = channels[0];\n this.g = channels[1];\n this.b = channels[2];\n this.ok = true;\n }\n }\n\n // validate/cleanup values\n this.r = this.r < 0 || isNaN(this.r) ? 0 : this.r > 255 ? 255 : this.r;\n this.g = this.g < 0 || isNaN(this.g) ? 0 : this.g > 255 ? 255 : this.g;\n this.b = this.b < 0 || isNaN(this.b) ? 0 : this.b > 255 ? 255 : this.b;\n\n // some getters\n this.toRGB = function() {\n return \"rgb(\" + this.r + \", \" + this.g + \", \" + this.b + \")\";\n };\n this.toHex = function() {\n var r = this.r.toString(16);\n var g = this.g.toString(16);\n var b = this.b.toString(16);\n if (r.length == 1) r = \"0\" + r;\n if (g.length == 1) g = \"0\" + g;\n if (b.length == 1) b = \"0\" + b;\n return \"#\" + r + g + b;\n };\n}\n\nexport { RGBColor };\n","/**\n * @license\n * Joseph Myers does not specify a particular license for his work.\n *\n * Author: Joseph Myers\n * Accessed from: http://www.myersdaily.org/joseph/javascript/md5.js\n *\n * Modified by: Owen Leong\n */\n\nfunction md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a = ff(a, b, c, d, k[0], 7, -680876936);\n d = ff(d, a, b, c, k[1], 12, -389564586);\n c = ff(c, d, a, b, k[2], 17, 606105819);\n b = ff(b, c, d, a, k[3], 22, -1044525330);\n a = ff(a, b, c, d, k[4], 7, -176418897);\n d = ff(d, a, b, c, k[5], 12, 1200080426);\n c = ff(c, d, a, b, k[6], 17, -1473231341);\n b = ff(b, c, d, a, k[7], 22, -45705983);\n a = ff(a, b, c, d, k[8], 7, 1770035416);\n d = ff(d, a, b, c, k[9], 12, -1958414417);\n c = ff(c, d, a, b, k[10], 17, -42063);\n b = ff(b, c, d, a, k[11], 22, -1990404162);\n a = ff(a, b, c, d, k[12], 7, 1804603682);\n d = ff(d, a, b, c, k[13], 12, -40341101);\n c = ff(c, d, a, b, k[14], 17, -1502002290);\n b = ff(b, c, d, a, k[15], 22, 1236535329);\n\n a = gg(a, b, c, d, k[1], 5, -165796510);\n d = gg(d, a, b, c, k[6], 9, -1069501632);\n c = gg(c, d, a, b, k[11], 14, 643717713);\n b = gg(b, c, d, a, k[0], 20, -373897302);\n a = gg(a, b, c, d, k[5], 5, -701558691);\n d = gg(d, a, b, c, k[10], 9, 38016083);\n c = gg(c, d, a, b, k[15], 14, -660478335);\n b = gg(b, c, d, a, k[4], 20, -405537848);\n a = gg(a, b, c, d, k[9], 5, 568446438);\n d = gg(d, a, b, c, k[14], 9, -1019803690);\n c = gg(c, d, a, b, k[3], 14, -187363961);\n b = gg(b, c, d, a, k[8], 20, 1163531501);\n a = gg(a, b, c, d, k[13], 5, -1444681467);\n d = gg(d, a, b, c, k[2], 9, -51403784);\n c = gg(c, d, a, b, k[7], 14, 1735328473);\n b = gg(b, c, d, a, k[12], 20, -1926607734);\n\n a = hh(a, b, c, d, k[5], 4, -378558);\n d = hh(d, a, b, c, k[8], 11, -2022574463);\n c = hh(c, d, a, b, k[11], 16, 1839030562);\n b = hh(b, c, d, a, k[14], 23, -35309556);\n a = hh(a, b, c, d, k[1], 4, -1530992060);\n d = hh(d, a, b, c, k[4], 11, 1272893353);\n c = hh(c, d, a, b, k[7], 16, -155497632);\n b = hh(b, c, d, a, k[10], 23, -1094730640);\n a = hh(a, b, c, d, k[13], 4, 681279174);\n d = hh(d, a, b, c, k[0], 11, -358537222);\n c = hh(c, d, a, b, k[3], 16, -722521979);\n b = hh(b, c, d, a, k[6], 23, 76029189);\n a = hh(a, b, c, d, k[9], 4, -640364487);\n d = hh(d, a, b, c, k[12], 11, -421815835);\n c = hh(c, d, a, b, k[15], 16, 530742520);\n b = hh(b, c, d, a, k[2], 23, -995338651);\n\n a = ii(a, b, c, d, k[0], 6, -198630844);\n d = ii(d, a, b, c, k[7], 10, 1126891415);\n c = ii(c, d, a, b, k[14], 15, -1416354905);\n b = ii(b, c, d, a, k[5], 21, -57434055);\n a = ii(a, b, c, d, k[12], 6, 1700485571);\n d = ii(d, a, b, c, k[3], 10, -1894986606);\n c = ii(c, d, a, b, k[10], 15, -1051523);\n b = ii(b, c, d, a, k[1], 21, -2054922799);\n a = ii(a, b, c, d, k[8], 6, 1873313359);\n d = ii(d, a, b, c, k[15], 10, -30611744);\n c = ii(c, d, a, b, k[6], 15, -1560198380);\n b = ii(b, c, d, a, k[13], 21, 1309151649);\n a = ii(a, b, c, d, k[4], 6, -145523070);\n d = ii(d, a, b, c, k[11], 10, -1120210379);\n c = ii(c, d, a, b, k[2], 15, 718787259);\n b = ii(b, c, d, a, k[9], 21, -343485551);\n\n x[0] = add32(a, x[0]);\n x[1] = add32(b, x[1]);\n x[2] = add32(c, x[2]);\n x[3] = add32(d, x[3]);\n}\n\nfunction cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n}\n\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | (~b & d), a, b, x, s, t);\n}\n\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & ~d), a, b, x, s, t);\n}\n\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nfunction md51(s) {\n // txt = '';\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i;\n for (i = 64; i <= s.length; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n var tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < s.length; i++)\n tail[i >> 2] |= s.charCodeAt(i) << (i % 4 << 3);\n tail[i >> 2] |= 0x80 << (i % 4 << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i++) tail[i] = 0;\n }\n tail[14] = n * 8;\n md5cycle(state, tail);\n return state;\n}\n\n/* there needs to be support for Unicode here,\n * unless we pretend that we can redefine the MD-5\n * algorithm for multi-byte characters (perhaps\n * by adding every four 16-bit characters and\n * shortening the sum to 32 bits). Otherwise\n * I suggest performing MD-5 as if every character\n * was two bytes--e.g., 0040 0025 = @%--but then\n * how will an ordinary MD-5 sum be matched?\n * There is no way to standardize text to something\n * like UTF-8 before transformation; speed cost is\n * utterly prohibitive. The JavaScript standard\n * itself needs to look at this: it should start\n * providing access to strings as preformed UTF-8\n * 8-bit unsigned value arrays.\n */\nfunction md5blk(s) {\n /* I figured global was faster. */\n var md5blks = [],\n i; /* Andy King said do it this way. */\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] =\n s.charCodeAt(i) +\n (s.charCodeAt(i + 1) << 8) +\n (s.charCodeAt(i + 2) << 16) +\n (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n}\n\nvar hex_chr = \"0123456789abcdef\".split(\"\");\n\nfunction rhex(n) {\n var s = \"\",\n j = 0;\n for (; j < 4; j++)\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0f] + hex_chr[(n >> (j * 8)) & 0x0f];\n return s;\n}\n\nfunction hex(x) {\n for (var i = 0; i < x.length; i++) x[i] = rhex(x[i]);\n return x.join(\"\");\n}\n\n// Converts a 4-byte number to byte string\nfunction singleToByteString(n) {\n return String.fromCharCode(\n (n & 0xff) >> 0,\n (n & 0xff00) >> 8,\n (n & 0xff0000) >> 16,\n (n & 0xff000000) >> 24\n );\n}\n\n// Converts an array of numbers to a byte string\nfunction toByteString(x) {\n return x.map(singleToByteString).join(\"\");\n}\n\n// Returns the MD5 hash as a byte string\nfunction md5Bin(s) {\n return toByteString(md51(s));\n}\n\n// Returns MD5 hash as a hex string\nfunction md5(s) {\n return hex(md51(s));\n}\n\nvar md5Check = md5(\"hello\") != \"5d41402abc4b2a76b9719d911017c592\";\n\nfunction add32(a, b) {\n if (md5Check) {\n /* if the md5Check does not match\n the expected value, we're dealing\n with an old browser and need\n this function. */\n var lsw = (a & 0xffff) + (b & 0xffff),\n msw = (a >> 16) + (b >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xffff);\n } else {\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n return (a + b) & 0xffffffff;\n }\n}\n\nexport { md5, md5Bin };\n","/**\r\n * @license\r\n * FPDF is released under a permissive license: there is no usage restriction.\r\n * You may embed it freely in your application (commercial or not), with or\r\n * without modifications.\r\n *\r\n * Reference: http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nfunction repeat(str, num) {\r\n return new Array(num + 1).join(str);\r\n}\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name rc4\r\n * @function\r\n * @param {string} key Byte string of encryption key\r\n * @param {string} data Byte string of data to be encrypted\r\n * @returns {string} Encrypted string\r\n */\r\nfunction rc4(key, data) {\r\n var lastKey, lastState;\r\n if (key !== lastKey) {\r\n var k = repeat(key, ((256 / key.length) >> 0) + 1);\r\n var state = [];\r\n for (var i = 0; i < 256; i++) {\r\n state[i] = i;\r\n }\r\n var j = 0;\r\n for (var i = 0; i < 256; i++) {\r\n var t = state[i];\r\n j = (j + t + k.charCodeAt(i)) % 256;\r\n state[i] = state[j];\r\n state[j] = t;\r\n }\r\n lastKey = key;\r\n lastState = state;\r\n } else {\r\n state = lastState;\r\n }\r\n var length = data.length;\r\n var a = 0;\r\n var b = 0;\r\n var out = \"\";\r\n for (var i = 0; i < length; i++) {\r\n a = (a + 1) % 256;\r\n t = state[a];\r\n b = (b + t) % 256;\r\n state[a] = state[b];\r\n state[b] = t;\r\n k = state[(state[a] + state[b]) % 256];\r\n out += String.fromCharCode(data.charCodeAt(i) ^ k);\r\n }\r\n return out;\r\n}\r\n\r\nexport { rc4 };\r\n","/**\r\n * @license\r\n * Licensed under the MIT License.\r\n * http://opensource.org/licenses/mit-license\r\n * Author: Owen Leong (@owenl131)\r\n * Date: 15 Oct 2020\r\n * References:\r\n * https://www.cs.cmu.edu/~dst/Adobe/Gallery/anon21jul01-pdf-encryption.txt\r\n * https://github.com/foliojs/pdfkit/blob/master/lib/security.js\r\n * http://www.fpdf.org/en/script/script37.php\r\n */\r\n\r\nimport { md5Bin } from \"./md5.js\";\r\nimport { rc4 } from \"./rc4.js\";\r\n\r\nvar permissionOptions = {\r\n print: 4,\r\n modify: 8,\r\n copy: 16,\r\n \"annot-forms\": 32\r\n};\r\n\r\n/**\r\n * Initializes encryption settings\r\n *\r\n * @name constructor\r\n * @function\r\n * @param {Array} permissions Permissions allowed for user, \"print\", \"modify\", \"copy\" and \"annot-forms\".\r\n * @param {String} userPassword Permissions apply to this user. Leaving this empty means the document\r\n * is not password protected but viewer has the above permissions.\r\n * @param {String} ownerPassword Owner has full functionalities to the file.\r\n * @param {String} fileId As hex string, should be same as the file ID in the trailer.\r\n * @example\r\n * var security = new PDFSecurity([\"print\"])\r\n */\r\nfunction PDFSecurity(permissions, userPassword, ownerPassword, fileId) {\r\n this.v = 1; // algorithm 1, future work can add in more recent encryption schemes\r\n this.r = 2; // revision 2\r\n\r\n // set flags for what functionalities the user can access\r\n let protection = 192;\r\n permissions.forEach(function(perm) {\r\n if (typeof permissionOptions.perm !== \"undefined\") {\r\n throw new Error(\"Invalid permission: \" + perm);\r\n }\r\n protection += permissionOptions[perm];\r\n });\r\n\r\n // padding is used to pad the passwords to 32 bytes, also is hashed and stored in the final PDF\r\n this.padding =\r\n \"\\x28\\xBF\\x4E\\x5E\\x4E\\x75\\x8A\\x41\\x64\\x00\\x4E\\x56\\xFF\\xFA\\x01\\x08\" +\r\n \"\\x2E\\x2E\\x00\\xB6\\xD0\\x68\\x3E\\x80\\x2F\\x0C\\xA9\\xFE\\x64\\x53\\x69\\x7A\";\r\n let paddedUserPassword = (userPassword + this.padding).substr(0, 32);\r\n let paddedOwnerPassword = (ownerPassword + this.padding).substr(0, 32);\r\n\r\n this.O = this.processOwnerPassword(paddedUserPassword, paddedOwnerPassword);\r\n this.P = -((protection ^ 255) + 1);\r\n this.encryptionKey = md5Bin(\r\n paddedUserPassword +\r\n this.O +\r\n this.lsbFirstWord(this.P) +\r\n this.hexToBytes(fileId)\r\n ).substr(0, 5);\r\n this.U = rc4(this.encryptionKey, this.padding);\r\n}\r\n\r\n/**\r\n * Breaks down a 4-byte number into its individual bytes, with the least significant bit first\r\n *\r\n * @name lsbFirstWord\r\n * @function\r\n * @param {number} data 32-bit number\r\n * @returns {Array}\r\n */\r\nPDFSecurity.prototype.lsbFirstWord = function(data) {\r\n return String.fromCharCode(\r\n (data >> 0) & 0xff,\r\n (data >> 8) & 0xff,\r\n (data >> 16) & 0xff,\r\n (data >> 24) & 0xff\r\n );\r\n};\r\n\r\n/**\r\n * Converts a byte string to a hex string\r\n *\r\n * @name toHexString\r\n * @function\r\n * @param {String} byteString Byte string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.toHexString = function(byteString) {\r\n return byteString\r\n .split(\"\")\r\n .map(function(byte) {\r\n return (\"0\" + (byte.charCodeAt(0) & 0xff).toString(16)).slice(-2);\r\n })\r\n .join(\"\");\r\n};\r\n\r\n/**\r\n * Converts a hex string to a byte string\r\n *\r\n * @name hexToBytes\r\n * @function\r\n * @param {String} hex Hex string\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.hexToBytes = function(hex) {\r\n for (var bytes = [], c = 0; c < hex.length; c += 2)\r\n bytes.push(String.fromCharCode(parseInt(hex.substr(c, 2), 16)));\r\n return bytes.join(\"\");\r\n};\r\n\r\n/**\r\n * Computes the 'O' field in the encryption dictionary\r\n *\r\n * @name processOwnerPassword\r\n * @function\r\n * @param {String} paddedUserPassword Byte string of padded user password\r\n * @param {String} paddedOwnerPassword Byte string of padded owner password\r\n * @returns {String}\r\n */\r\nPDFSecurity.prototype.processOwnerPassword = function(\r\n paddedUserPassword,\r\n paddedOwnerPassword\r\n) {\r\n let key = md5Bin(paddedOwnerPassword).substr(0, 5);\r\n return rc4(key, paddedUserPassword);\r\n};\r\n\r\n/**\r\n * Returns an encryptor function which can take in a byte string and returns the encrypted version\r\n *\r\n * @name encryptor\r\n * @function\r\n * @param {number} objectId\r\n * @param {number} generation Not sure what this is for, you can set it to 0\r\n * @returns {Function}\r\n * @example\r\n * out(\"stream\");\r\n * encryptor = security.encryptor(object.id, 0);\r\n * out(encryptor(data));\r\n * out(\"endstream\");\r\n */\r\nPDFSecurity.prototype.encryptor = function(objectId, generation) {\r\n let key = md5Bin(\r\n this.encryptionKey +\r\n String.fromCharCode(\r\n objectId & 0xff,\r\n (objectId >> 8) & 0xff,\r\n (objectId >> 16) & 0xff,\r\n generation & 0xff,\r\n (generation >> 8) & 0xff\r\n )\r\n ).substr(0, 10);\r\n return function(data) {\r\n return rc4(key, data);\r\n };\r\n};\r\n\r\nexport { PDFSecurity };\r\n","/**\n * Convert string to `PDF Name Object`.\n * Detail: PDF Reference 1.3 - Chapter 3.2.4 Name Object\n * @param str\n */\nfunction toPDFName(str) {\n // eslint-disable-next-line no-control-regex\n if (/[^\\u0000-\\u00ff]/.test(str)) {\n // non ascii string\n throw new Error(\n \"Invalid PDF Name Object: \" + str + \", Only accept ASCII characters.\"\n );\n }\n var result = \"\",\n strLength = str.length;\n for (var i = 0; i < strLength; i++) {\n var charCode = str.charCodeAt(i);\n if (\n charCode < 0x21 ||\n charCode === 0x23 /* # */ ||\n charCode === 0x25 /* % */ ||\n charCode === 0x28 /* ( */ ||\n charCode === 0x29 /* ) */ ||\n charCode === 0x2f /* / */ ||\n charCode === 0x3c /* < */ ||\n charCode === 0x3e /* > */ ||\n charCode === 0x5b /* [ */ ||\n charCode === 0x5d /* ] */ ||\n charCode === 0x7b /* { */ ||\n charCode === 0x7d /* } */ ||\n charCode > 0x7e\n ) {\n // Char CharCode hexStr paddingHexStr Result\n // \"\\t\" 9 9 09 #09\n // \" \" 32 20 20 #20\n // \"©\" 169 a9 a9 #a9\n var hexStr = charCode.toString(16),\n paddingHexStr = (\"0\" + hexStr).slice(-2);\n\n result += \"#\" + paddingHexStr;\n } else {\n // Other ASCII printable characters between 0x21 <= X <= 0x7e\n result += str[i];\n }\n }\n return result;\n}\n\nexport { toPDFName };\n","/* eslint-disable no-console */\r\n\r\nimport { saveAs } from \"./libs/FileSaver.js\";\r\nimport { globalObject } from \"./libs/globalObject.js\";\r\nimport { RGBColor } from \"./libs/rgbcolor.js\";\r\nimport { btoa } from \"./libs/AtobBtoa.js\";\r\nimport { console } from \"./libs/console.js\";\r\nimport { PDFSecurity } from \"./libs/pdfsecurity.js\";\r\nimport { toPDFName } from \"./libs/pdfname.js\";\r\n/**\r\n * jsPDF's Internal PubSub Implementation.\r\n * Backward compatible rewritten on 2014 by\r\n * Diego Casorran, https://github.com/diegocr\r\n *\r\n * @class\r\n * @name PubSub\r\n * @ignore\r\n */\r\nfunction PubSub(context) {\r\n if (typeof context !== \"object\") {\r\n throw new Error(\r\n \"Invalid Context passed to initialize PubSub (jsPDF-module)\"\r\n );\r\n }\r\n var topics = {};\r\n\r\n this.subscribe = function(topic, callback, once) {\r\n once = once || false;\r\n if (\r\n typeof topic !== \"string\" ||\r\n typeof callback !== \"function\" ||\r\n typeof once !== \"boolean\"\r\n ) {\r\n throw new Error(\r\n \"Invalid arguments passed to PubSub.subscribe (jsPDF-module)\"\r\n );\r\n }\r\n\r\n if (!topics.hasOwnProperty(topic)) {\r\n topics[topic] = {};\r\n }\r\n\r\n var token = Math.random().toString(35);\r\n topics[topic][token] = [callback, !!once];\r\n\r\n return token;\r\n };\r\n\r\n this.unsubscribe = function(token) {\r\n for (var topic in topics) {\r\n if (topics[topic][token]) {\r\n delete topics[topic][token];\r\n if (Object.keys(topics[topic]).length === 0) {\r\n delete topics[topic];\r\n }\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n this.publish = function(topic) {\r\n if (topics.hasOwnProperty(topic)) {\r\n var args = Array.prototype.slice.call(arguments, 1),\r\n tokens = [];\r\n\r\n for (var token in topics[topic]) {\r\n var sub = topics[topic][token];\r\n try {\r\n sub[0].apply(context, args);\r\n } catch (ex) {\r\n if (globalObject.console) {\r\n console.error(\"jsPDF PubSub Error\", ex.message, ex);\r\n }\r\n }\r\n if (sub[1]) tokens.push(token);\r\n }\r\n if (tokens.length) tokens.forEach(this.unsubscribe);\r\n }\r\n };\r\n\r\n this.getTopics = function() {\r\n return topics;\r\n };\r\n}\r\n\r\nfunction GState(parameters) {\r\n if (!(this instanceof GState)) {\r\n return new GState(parameters);\r\n }\r\n\r\n /**\r\n * @name GState#opacity\r\n * @type {any}\r\n */\r\n /**\r\n * @name GState#stroke-opacity\r\n * @type {any}\r\n */\r\n var supported = \"opacity,stroke-opacity\".split(\",\");\r\n for (var p in parameters) {\r\n if (parameters.hasOwnProperty(p) && supported.indexOf(p) >= 0) {\r\n this[p] = parameters[p];\r\n }\r\n }\r\n /**\r\n * @name GState#id\r\n * @type {string}\r\n */\r\n this.id = \"\"; // set by addGState()\r\n /**\r\n * @name GState#objectNumber\r\n * @type {number}\r\n */\r\n this.objectNumber = -1; // will be set by putGState()\r\n}\r\n\r\nGState.prototype.equals = function equals(other) {\r\n var ignore = \"id,objectNumber,equals\";\r\n var p;\r\n if (!other || typeof other !== typeof this) return false;\r\n var count = 0;\r\n for (p in this) {\r\n if (ignore.indexOf(p) >= 0) continue;\r\n if (this.hasOwnProperty(p) && !other.hasOwnProperty(p)) return false;\r\n if (this[p] !== other[p]) return false;\r\n count++;\r\n }\r\n for (p in other) {\r\n if (other.hasOwnProperty(p) && ignore.indexOf(p) < 0) count--;\r\n }\r\n return count === 0;\r\n};\r\n\r\nfunction Pattern(gState, matrix) {\r\n this.gState = gState;\r\n this.matrix = matrix;\r\n\r\n this.id = \"\"; // set by addPattern()\r\n this.objectNumber = -1; // will be set by putPattern()\r\n}\r\n\r\nfunction ShadingPattern(type, coords, colors, gState, matrix) {\r\n if (!(this instanceof ShadingPattern)) {\r\n return new ShadingPattern(type, coords, colors, gState, matrix);\r\n }\r\n\r\n // see putPattern() for information how they are realized\r\n this.type = type === \"axial\" ? 2 : 3;\r\n this.coords = coords;\r\n this.colors = colors;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\nfunction TilingPattern(boundingBox, xStep, yStep, gState, matrix) {\r\n if (!(this instanceof TilingPattern)) {\r\n return new TilingPattern(boundingBox, xStep, yStep, gState, matrix);\r\n }\r\n\r\n this.boundingBox = boundingBox;\r\n this.xStep = xStep;\r\n this.yStep = yStep;\r\n\r\n this.stream = \"\"; // set by endTilingPattern();\r\n\r\n this.cloneIndex = 0;\r\n\r\n Pattern.call(this, gState, matrix);\r\n}\r\n\r\n/**\r\n * Creates new jsPDF document object instance.\r\n * @name jsPDF\r\n * @class\r\n * @param {Object} [options] - Collection of settings initializing the jsPDF-instance\r\n * @param {string} [options.orientation=portrait] - Orientation of the first page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" or \"l\").
\r\n * @param {string} [options.unit=mm] Measurement unit (base unit) to be used when coordinates are specified.
\r\n * Possible values are \"pt\" (points), \"mm\", \"cm\", \"in\", \"px\", \"pc\", \"em\" or \"ex\". Note that in order to get the correct scaling for \"px\"\r\n * units, you need to enable the hotfix \"px_scaling\" by setting options.hotfixes = [\"px_scaling\"].\r\n * @param {string/Array} [options.format=a4] The format of the first page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param {boolean} [options.putOnlyUsedFonts=false] Only put fonts into the PDF, which were used.\r\n * @param {boolean} [options.compress=false] Compress the generated PDF.\r\n * @param {number} [options.precision=16] Precision of the element-positions.\r\n * @param {number} [options.userUnit=1.0] Not to be confused with the base unit. Please inform yourself before you use it.\r\n * @param {string[]} [options.hotfixes] An array of strings to enable hotfixes such as correct pixel scaling.\r\n * @param {Object} [options.encryption]\r\n * @param {string} [options.encryption.userPassword] Password for the user bound by the given permissions list.\r\n * @param {string} [options.encryption.ownerPassword] Both userPassword and ownerPassword should be set for proper authentication.\r\n * @param {string[]} [options.encryption.userPermissions] Array of permissions \"print\", \"modify\", \"copy\", \"annot-forms\", accessible by the user.\r\n * @param {number|\"smart\"} [options.floatPrecision=16]\r\n * @returns {jsPDF} jsPDF-instance\r\n * @description\r\n * ```\r\n * {\r\n * orientation: 'p',\r\n * unit: 'mm',\r\n * format: 'a4',\r\n * putOnlyUsedFonts:true,\r\n * floatPrecision: 16 // or \"smart\", default is 16\r\n * }\r\n * ```\r\n *\r\n * @constructor\r\n */\r\nfunction jsPDF(options) {\r\n var orientation = typeof arguments[0] === \"string\" ? arguments[0] : \"p\";\r\n var unit = arguments[1];\r\n var format = arguments[2];\r\n var compressPdf = arguments[3];\r\n var filters = [];\r\n var userUnit = 1.0;\r\n var precision;\r\n var floatPrecision = 16;\r\n var defaultPathOperation = \"S\";\r\n var encryptionOptions = null;\r\n\r\n options = options || {};\r\n\r\n if (typeof options === \"object\") {\r\n orientation = options.orientation;\r\n unit = options.unit || unit;\r\n format = options.format || format;\r\n compressPdf = options.compress || options.compressPdf || compressPdf;\r\n encryptionOptions = options.encryption || null;\r\n if (encryptionOptions !== null) {\r\n encryptionOptions.userPassword = encryptionOptions.userPassword || \"\";\r\n encryptionOptions.ownerPassword = encryptionOptions.ownerPassword || \"\";\r\n encryptionOptions.userPermissions =\r\n encryptionOptions.userPermissions || [];\r\n }\r\n userUnit =\r\n typeof options.userUnit === \"number\" ? Math.abs(options.userUnit) : 1.0;\r\n if (typeof options.precision !== \"undefined\") {\r\n precision = options.precision;\r\n }\r\n if (typeof options.floatPrecision !== \"undefined\") {\r\n floatPrecision = options.floatPrecision;\r\n }\r\n defaultPathOperation = options.defaultPathOperation || \"S\";\r\n }\r\n\r\n filters =\r\n options.filters || (compressPdf === true ? [\"FlateEncode\"] : filters);\r\n\r\n unit = unit || \"mm\";\r\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\r\n var putOnlyUsedFonts = options.putOnlyUsedFonts || false;\r\n var usedFonts = {};\r\n\r\n var API = {\r\n internal: {},\r\n __private__: {}\r\n };\r\n\r\n API.__private__.PubSub = PubSub;\r\n\r\n var pdfVersion = \"1.3\";\r\n var getPdfVersion = (API.__private__.getPdfVersion = function() {\r\n return pdfVersion;\r\n });\r\n\r\n API.__private__.setPdfVersion = function(value) {\r\n pdfVersion = value;\r\n };\r\n\r\n // Size in pt of various paper formats\r\n var pageFormats = {\r\n a0: [2383.94, 3370.39],\r\n a1: [1683.78, 2383.94],\r\n a2: [1190.55, 1683.78],\r\n a3: [841.89, 1190.55],\r\n a4: [595.28, 841.89],\r\n a5: [419.53, 595.28],\r\n a6: [297.64, 419.53],\r\n a7: [209.76, 297.64],\r\n a8: [147.4, 209.76],\r\n a9: [104.88, 147.4],\r\n a10: [73.7, 104.88],\r\n b0: [2834.65, 4008.19],\r\n b1: [2004.09, 2834.65],\r\n b2: [1417.32, 2004.09],\r\n b3: [1000.63, 1417.32],\r\n b4: [708.66, 1000.63],\r\n b5: [498.9, 708.66],\r\n b6: [354.33, 498.9],\r\n b7: [249.45, 354.33],\r\n b8: [175.75, 249.45],\r\n b9: [124.72, 175.75],\r\n b10: [87.87, 124.72],\r\n c0: [2599.37, 3676.54],\r\n c1: [1836.85, 2599.37],\r\n c2: [1298.27, 1836.85],\r\n c3: [918.43, 1298.27],\r\n c4: [649.13, 918.43],\r\n c5: [459.21, 649.13],\r\n c6: [323.15, 459.21],\r\n c7: [229.61, 323.15],\r\n c8: [161.57, 229.61],\r\n c9: [113.39, 161.57],\r\n c10: [79.37, 113.39],\r\n dl: [311.81, 623.62],\r\n letter: [612, 792],\r\n \"government-letter\": [576, 756],\r\n legal: [612, 1008],\r\n \"junior-legal\": [576, 360],\r\n ledger: [1224, 792],\r\n tabloid: [792, 1224],\r\n \"credit-card\": [153, 243]\r\n };\r\n\r\n API.__private__.getPageFormats = function() {\r\n return pageFormats;\r\n };\r\n\r\n var getPageFormat = (API.__private__.getPageFormat = function(value) {\r\n return pageFormats[value];\r\n });\r\n\r\n format = format || \"a4\";\r\n\r\n var ApiMode = {\r\n COMPAT: \"compat\",\r\n ADVANCED: \"advanced\"\r\n };\r\n var apiMode = ApiMode.COMPAT;\r\n\r\n function advancedAPI() {\r\n // prepend global change of basis matrix\r\n // (Now, instead of converting every coordinate to the pdf coordinate system, we apply a matrix\r\n // that does this job for us (however, texts, images and similar objects must be drawn bottom up))\r\n this.saveGraphicsState();\r\n out(\r\n new Matrix(\r\n scaleFactor,\r\n 0,\r\n 0,\r\n -scaleFactor,\r\n 0,\r\n getPageHeight() * scaleFactor\r\n ).toString() + \" cm\"\r\n );\r\n this.setFontSize(this.getFontSize() / scaleFactor);\r\n\r\n // The default in MrRio's implementation is \"S\" (stroke), whereas the default in the yWorks implementation\r\n // was \"n\" (none). Although this has nothing to do with transforms, we should use the API switch here.\r\n defaultPathOperation = \"n\";\r\n\r\n apiMode = ApiMode.ADVANCED;\r\n }\r\n\r\n function compatAPI() {\r\n this.restoreGraphicsState();\r\n defaultPathOperation = \"S\";\r\n apiMode = ApiMode.COMPAT;\r\n }\r\n\r\n /**\r\n * @function combineFontStyleAndFontWeight\r\n * @param {string} fontStyle Fontstyle or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @returns {string}\r\n * @private\r\n */\r\n var combineFontStyleAndFontWeight = (API.__private__.combineFontStyleAndFontWeight = function(\r\n fontStyle,\r\n fontWeight\r\n ) {\r\n if (\r\n (fontStyle == \"bold\" && fontWeight == \"normal\") ||\r\n (fontStyle == \"bold\" && fontWeight == 400) ||\r\n (fontStyle == \"normal\" && fontWeight == \"italic\") ||\r\n (fontStyle == \"bold\" && fontWeight == \"italic\")\r\n ) {\r\n throw new Error(\"Invalid Combination of fontweight and fontstyle\");\r\n }\r\n if (fontWeight) {\r\n fontStyle =\r\n fontWeight == 400 || fontWeight === \"normal\"\r\n ? fontStyle === \"italic\"\r\n ? \"italic\"\r\n : \"normal\"\r\n : (fontWeight == 700 || fontWeight === \"bold\") &&\r\n fontStyle === \"normal\"\r\n ? \"bold\"\r\n : (fontWeight == 700 ? \"bold\" : fontWeight) + \"\" + fontStyle;\r\n }\r\n return fontStyle;\r\n });\r\n\r\n /**\r\n * @callback ApiSwitchBody\r\n * @param {jsPDF} pdf\r\n */\r\n\r\n /**\r\n * For compatibility reasons jsPDF offers two API modes which differ in the way they convert between the the usual\r\n * screen coordinates and the PDF coordinate system.\r\n * - \"compat\": Offers full compatibility across all plugins but does not allow arbitrary transforms\r\n * - \"advanced\": Allows arbitrary transforms and more advanced features like pattern fills. Some plugins might\r\n * not support this mode, though.\r\n * Initial mode is \"compat\".\r\n *\r\n * You can either provide a callback to the body argument, which means that jsPDF will automatically switch back to\r\n * the original API mode afterwards; or you can omit the callback and switch back manually using {@link compatAPI}.\r\n *\r\n * Note, that the calls to {@link saveGraphicsState} and {@link restoreGraphicsState} need to be balanced within the\r\n * callback or between calls of this method and its counterpart {@link compatAPI}. Calls to {@link beginFormObject}\r\n * or {@link beginTilingPattern} need to be closed by their counterparts before switching back to \"compat\" API mode.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name advancedAPI\r\n */\r\n API.advancedAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.COMPAT;\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Switches to \"compat\" API mode. See {@link advancedAPI} for more details.\r\n *\r\n * @param {ApiSwitchBody=} body When provided, this callback will be called after the API mode has been switched.\r\n * The API mode will be switched back automatically afterwards.\r\n * @return {jsPDF}\r\n * @memberof jsPDF#\r\n * @name compatApi\r\n */\r\n API.compatAPI = function(body) {\r\n var doSwitch = apiMode === ApiMode.ADVANCED;\r\n\r\n if (doSwitch) {\r\n compatAPI.call(this);\r\n }\r\n\r\n if (typeof body !== \"function\") {\r\n return this;\r\n }\r\n\r\n body(this);\r\n\r\n if (doSwitch) {\r\n advancedAPI.call(this);\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * @return {boolean} True iff the current API mode is \"advanced\". See {@link advancedAPI}.\r\n * @memberof jsPDF#\r\n * @name isAdvancedAPI\r\n */\r\n API.isAdvancedAPI = function() {\r\n return apiMode === ApiMode.ADVANCED;\r\n };\r\n\r\n var advancedApiModeTrap = function(methodName) {\r\n if (apiMode !== ApiMode.ADVANCED) {\r\n throw new Error(\r\n methodName +\r\n \" is only available in 'advanced' API mode. \" +\r\n \"You need to call advancedAPI() first.\"\r\n );\r\n }\r\n };\r\n\r\n var roundToPrecision = (API.roundToPrecision = API.__private__.roundToPrecision = function(\r\n number,\r\n parmPrecision\r\n ) {\r\n var tmpPrecision = precision || parmPrecision;\r\n if (isNaN(number) || isNaN(tmpPrecision)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.roundToPrecision\");\r\n }\r\n return number.toFixed(tmpPrecision).replace(/0+$/, \"\");\r\n });\r\n\r\n // high precision float\r\n var hpf;\r\n if (typeof floatPrecision === \"number\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, floatPrecision);\r\n };\r\n } else if (floatPrecision === \"smart\") {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n if (number > -1 && number < 1) {\r\n return roundToPrecision(number, 16);\r\n } else {\r\n return roundToPrecision(number, 5);\r\n }\r\n };\r\n } else {\r\n hpf = API.hpf = API.__private__.hpf = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.hpf\");\r\n }\r\n return roundToPrecision(number, 16);\r\n };\r\n }\r\n var f2 = (API.f2 = API.__private__.f2 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f2\");\r\n }\r\n return roundToPrecision(number, 2);\r\n });\r\n\r\n var f3 = (API.__private__.f3 = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.f3\");\r\n }\r\n return roundToPrecision(number, 3);\r\n });\r\n\r\n var scale = (API.scale = API.__private__.scale = function(number) {\r\n if (isNaN(number)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.scale\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return number * scaleFactor;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return number;\r\n }\r\n });\r\n\r\n var transformY = function(y) {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return getPageHeight() - y;\r\n } else if (apiMode === ApiMode.ADVANCED) {\r\n return y;\r\n }\r\n };\r\n\r\n var transformScaleY = function(y) {\r\n return scale(transformY(y));\r\n };\r\n\r\n /**\r\n * @name setPrecision\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} precision\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setPrecision = API.setPrecision = function(value) {\r\n if (typeof parseInt(value, 10) === \"number\") {\r\n precision = parseInt(value, 10);\r\n }\r\n };\r\n\r\n var fileId = \"00000000000000000000000000000000\";\r\n\r\n var getFileId = (API.__private__.getFileId = function() {\r\n return fileId;\r\n });\r\n\r\n var setFileId = (API.__private__.setFileId = function(value) {\r\n if (typeof value !== \"undefined\" && /^[a-fA-F0-9]{32}$/.test(value)) {\r\n fileId = value.toUpperCase();\r\n } else {\r\n fileId = fileId\r\n .split(\"\")\r\n .map(function() {\r\n return \"ABCDEF0123456789\".charAt(Math.floor(Math.random() * 16));\r\n })\r\n .join(\"\");\r\n }\r\n\r\n if (encryptionOptions !== null) {\r\n encryption = new PDFSecurity(\r\n encryptionOptions.userPermissions,\r\n encryptionOptions.userPassword,\r\n encryptionOptions.ownerPassword,\r\n fileId\r\n );\r\n }\r\n return fileId;\r\n });\r\n\r\n /**\r\n * @name setFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {string} value GUID.\r\n * @returns {jsPDF}\r\n */\r\n API.setFileId = function(value) {\r\n setFileId(value);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getFileId\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n *\r\n * @returns {string} GUID.\r\n */\r\n API.getFileId = function() {\r\n return getFileId();\r\n };\r\n\r\n var creationDate;\r\n\r\n var convertDateToPDFDate = (API.__private__.convertDateToPDFDate = function(\r\n parmDate\r\n ) {\r\n var result = \"\";\r\n var tzoffset = parmDate.getTimezoneOffset(),\r\n tzsign = tzoffset < 0 ? \"+\" : \"-\",\r\n tzhour = Math.floor(Math.abs(tzoffset / 60)),\r\n tzmin = Math.abs(tzoffset % 60),\r\n timeZoneString = [tzsign, padd2(tzhour), \"'\", padd2(tzmin), \"'\"].join(\"\");\r\n\r\n result = [\r\n \"D:\",\r\n parmDate.getFullYear(),\r\n padd2(parmDate.getMonth() + 1),\r\n padd2(parmDate.getDate()),\r\n padd2(parmDate.getHours()),\r\n padd2(parmDate.getMinutes()),\r\n padd2(parmDate.getSeconds()),\r\n timeZoneString\r\n ].join(\"\");\r\n return result;\r\n });\r\n\r\n var convertPDFDateToDate = (API.__private__.convertPDFDateToDate = function(\r\n parmPDFDate\r\n ) {\r\n var year = parseInt(parmPDFDate.substr(2, 4), 10);\r\n var month = parseInt(parmPDFDate.substr(6, 2), 10) - 1;\r\n var date = parseInt(parmPDFDate.substr(8, 2), 10);\r\n var hour = parseInt(parmPDFDate.substr(10, 2), 10);\r\n var minutes = parseInt(parmPDFDate.substr(12, 2), 10);\r\n var seconds = parseInt(parmPDFDate.substr(14, 2), 10);\r\n // var timeZoneHour = parseInt(parmPDFDate.substr(16, 2), 10);\r\n // var timeZoneMinutes = parseInt(parmPDFDate.substr(20, 2), 10);\r\n\r\n var resultingDate = new Date(year, month, date, hour, minutes, seconds, 0);\r\n return resultingDate;\r\n });\r\n\r\n var setCreationDate = (API.__private__.setCreationDate = function(date) {\r\n var tmpCreationDateString;\r\n var regexPDFCreationDate = /^D:(20[0-2][0-9]|203[0-7]|19[7-9][0-9])(0[0-9]|1[0-2])([0-2][0-9]|3[0-1])(0[0-9]|1[0-9]|2[0-3])(0[0-9]|[1-5][0-9])(0[0-9]|[1-5][0-9])(\\+0[0-9]|\\+1[0-4]|-0[0-9]|-1[0-1])'(0[0-9]|[1-5][0-9])'?$/;\r\n if (typeof date === \"undefined\") {\r\n date = new Date();\r\n }\r\n\r\n if (date instanceof Date) {\r\n tmpCreationDateString = convertDateToPDFDate(date);\r\n } else if (regexPDFCreationDate.test(date)) {\r\n tmpCreationDateString = date;\r\n } else {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCreationDate\");\r\n }\r\n creationDate = tmpCreationDateString;\r\n return creationDate;\r\n });\r\n\r\n var getCreationDate = (API.__private__.getCreationDate = function(type) {\r\n var result = creationDate;\r\n if (type === \"jsDate\") {\r\n result = convertPDFDateToDate(creationDate);\r\n }\r\n return result;\r\n });\r\n\r\n /**\r\n * @name setCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} date\r\n * @returns {jsPDF}\r\n */\r\n API.setCreationDate = function(date) {\r\n setCreationDate(date);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name getCreationDate\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {Object} type\r\n * @returns {Object}\r\n */\r\n API.getCreationDate = function(type) {\r\n return getCreationDate(type);\r\n };\r\n\r\n var padd2 = (API.__private__.padd2 = function(number) {\r\n return (\"0\" + parseInt(number)).slice(-2);\r\n });\r\n\r\n var padd2Hex = (API.__private__.padd2Hex = function(hexString) {\r\n hexString = hexString.toString();\r\n return (\"00\" + hexString).substr(hexString.length);\r\n });\r\n\r\n var objectNumber = 0; // 'n' Current object number\r\n var offsets = []; // List of offsets. Activated and reset by buildDocument(). Pupulated by various calls buildDocument makes.\r\n var content = [];\r\n var contentLength = 0;\r\n var additionalObjects = [];\r\n\r\n var pages = [];\r\n var currentPage;\r\n var hasCustomDestination = false;\r\n var outputDestination = content;\r\n\r\n var resetDocument = function() {\r\n //reset fields relevant for objectNumber generation and xref.\r\n objectNumber = 0;\r\n contentLength = 0;\r\n content = [];\r\n offsets = [];\r\n additionalObjects = [];\r\n\r\n rootDictionaryObjId = newObjectDeferred();\r\n resourceDictionaryObjId = newObjectDeferred();\r\n };\r\n\r\n API.__private__.setCustomOutputDestination = function(destination) {\r\n hasCustomDestination = true;\r\n outputDestination = destination;\r\n };\r\n var setOutputDestination = function(destination) {\r\n if (!hasCustomDestination) {\r\n outputDestination = destination;\r\n }\r\n };\r\n\r\n API.__private__.resetCustomOutputDestination = function() {\r\n hasCustomDestination = false;\r\n outputDestination = content;\r\n };\r\n\r\n var out = (API.__private__.out = function(string) {\r\n string = string.toString();\r\n contentLength += string.length + 1;\r\n outputDestination.push(string);\r\n\r\n return outputDestination;\r\n });\r\n\r\n var write = (API.__private__.write = function(value) {\r\n return out(\r\n arguments.length === 1\r\n ? value.toString()\r\n : Array.prototype.join.call(arguments, \" \")\r\n );\r\n });\r\n\r\n var getArrayBuffer = (API.__private__.getArrayBuffer = function(data) {\r\n var len = data.length,\r\n ab = new ArrayBuffer(len),\r\n u8 = new Uint8Array(ab);\r\n\r\n while (len--) u8[len] = data.charCodeAt(len);\r\n return ab;\r\n });\r\n\r\n var standardFonts = [\r\n [\"Helvetica\", \"helvetica\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Bold\", \"helvetica\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-Oblique\", \"helvetica\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Helvetica-BoldOblique\", \"helvetica\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Courier\", \"courier\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Courier-Bold\", \"courier\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Courier-Oblique\", \"courier\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Courier-BoldOblique\", \"courier\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"Times-Roman\", \"times\", \"normal\", \"WinAnsiEncoding\"],\r\n [\"Times-Bold\", \"times\", \"bold\", \"WinAnsiEncoding\"],\r\n [\"Times-Italic\", \"times\", \"italic\", \"WinAnsiEncoding\"],\r\n [\"Times-BoldItalic\", \"times\", \"bolditalic\", \"WinAnsiEncoding\"],\r\n [\"ZapfDingbats\", \"zapfdingbats\", \"normal\", null],\r\n [\"Symbol\", \"symbol\", \"normal\", null]\r\n ];\r\n\r\n API.__private__.getStandardFonts = function() {\r\n return standardFonts;\r\n };\r\n\r\n var activeFontSize = options.fontSize || 16;\r\n\r\n /**\r\n * Sets font size for upcoming text elements.\r\n *\r\n * @param {number} size Font size in points.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFontSize\r\n */\r\n API.__private__.setFontSize = API.setFontSize = function(size) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n activeFontSize = size / scaleFactor;\r\n } else {\r\n activeFontSize = size;\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets the fontsize for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number}\r\n * @memberof jsPDF#\r\n * @name getFontSize\r\n */\r\n var getFontSize = (API.__private__.getFontSize = API.getFontSize = function() {\r\n if (apiMode === ApiMode.COMPAT) {\r\n return activeFontSize;\r\n } else {\r\n return activeFontSize * scaleFactor;\r\n }\r\n });\r\n\r\n var R2L = options.R2L || false;\r\n\r\n /**\r\n * Set value of R2L functionality.\r\n *\r\n * @param {boolean} value\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setR2L\r\n */\r\n API.__private__.setR2L = API.setR2L = function(value) {\r\n R2L = value;\r\n return this;\r\n };\r\n\r\n /**\r\n * Get value of R2L functionality.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {boolean} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name getR2L\r\n */\r\n API.__private__.getR2L = API.getR2L = function() {\r\n return R2L;\r\n };\r\n\r\n var zoomMode; // default: 1;\r\n\r\n var setZoomMode = (API.__private__.setZoomMode = function(zoom) {\r\n var validZoomModes = [\r\n undefined,\r\n null,\r\n \"fullwidth\",\r\n \"fullheight\",\r\n \"fullpage\",\r\n \"original\"\r\n ];\r\n\r\n if (/^(?:\\d+\\.\\d*|\\d*\\.\\d+|\\d+)%$/.test(zoom)) {\r\n zoomMode = zoom;\r\n } else if (!isNaN(zoom)) {\r\n zoomMode = parseInt(zoom, 10);\r\n } else if (validZoomModes.indexOf(zoom) !== -1) {\r\n zoomMode = zoom;\r\n } else {\r\n throw new Error(\r\n 'zoom must be Integer (e.g. 2), a percentage Value (e.g. 300%) or fullwidth, fullheight, fullpage, original. \"' +\r\n zoom +\r\n '\" is not recognized.'\r\n );\r\n }\r\n });\r\n\r\n API.__private__.getZoomMode = function() {\r\n return zoomMode;\r\n };\r\n\r\n var pageMode; // default: 'UseOutlines';\r\n var setPageMode = (API.__private__.setPageMode = function(pmode) {\r\n var validPageModes = [\r\n undefined,\r\n null,\r\n \"UseNone\",\r\n \"UseOutlines\",\r\n \"UseThumbs\",\r\n \"FullScreen\"\r\n ];\r\n\r\n if (validPageModes.indexOf(pmode) == -1) {\r\n throw new Error(\r\n 'Page mode must be one of UseNone, UseOutlines, UseThumbs, or FullScreen. \"' +\r\n pmode +\r\n '\" is not recognized.'\r\n );\r\n }\r\n pageMode = pmode;\r\n });\r\n\r\n API.__private__.getPageMode = function() {\r\n return pageMode;\r\n };\r\n\r\n var layoutMode; // default: 'continuous';\r\n var setLayoutMode = (API.__private__.setLayoutMode = function(layout) {\r\n var validLayoutModes = [\r\n undefined,\r\n null,\r\n \"continuous\",\r\n \"single\",\r\n \"twoleft\",\r\n \"tworight\",\r\n \"two\"\r\n ];\r\n\r\n if (validLayoutModes.indexOf(layout) == -1) {\r\n throw new Error(\r\n 'Layout mode must be one of continuous, single, twoleft, tworight. \"' +\r\n layout +\r\n '\" is not recognized.'\r\n );\r\n }\r\n layoutMode = layout;\r\n });\r\n\r\n API.__private__.getLayoutMode = function() {\r\n return layoutMode;\r\n };\r\n\r\n /**\r\n * Set the display mode options of the page like zoom and layout.\r\n *\r\n * @name setDisplayMode\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {integer|String} zoom You can pass an integer or percentage as\r\n * a string. 2 will scale the document up 2x, '200%' will scale up by the\r\n * same amount. You can also set it to 'fullwidth', 'fullheight',\r\n * 'fullpage', or 'original'.\r\n *\r\n * Only certain PDF readers support this, such as Adobe Acrobat.\r\n *\r\n * @param {string} layout Layout mode can be: 'continuous' - this is the\r\n * default continuous scroll. 'single' - the single page mode only shows one\r\n * page at a time. 'twoleft' - two column left mode, first page starts on\r\n * the left, and 'tworight' - pages are laid out in two columns, with the\r\n * first page on the right. This would be used for books.\r\n * @param {string} pmode 'UseOutlines' - it shows the\r\n * outline of the document on the left. 'UseThumbs' - shows thumbnails along\r\n * the left. 'FullScreen' - prompts the user to enter fullscreen mode.\r\n *\r\n * @returns {jsPDF}\r\n */\r\n API.__private__.setDisplayMode = API.setDisplayMode = function(\r\n zoom,\r\n layout,\r\n pmode\r\n ) {\r\n setZoomMode(zoom);\r\n setLayoutMode(layout);\r\n setPageMode(pmode);\r\n return this;\r\n };\r\n\r\n var documentProperties = {\r\n title: \"\",\r\n subject: \"\",\r\n author: \"\",\r\n keywords: \"\",\r\n creator: \"\"\r\n };\r\n\r\n API.__private__.getDocumentProperty = function(key) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getDocumentProperty\");\r\n }\r\n return documentProperties[key];\r\n };\r\n\r\n API.__private__.getDocumentProperties = function() {\r\n return documentProperties;\r\n };\r\n\r\n /**\r\n * Adds a properties to the PDF document.\r\n *\r\n * @param {Object} A property_name-to-property_value object structure.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDocumentProperties\r\n */\r\n API.__private__.setDocumentProperties = API.setProperties = API.setDocumentProperties = function(\r\n properties\r\n ) {\r\n // copying only those properties we can render.\r\n for (var property in documentProperties) {\r\n if (documentProperties.hasOwnProperty(property) && properties[property]) {\r\n documentProperties[property] = properties[property];\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n API.__private__.setDocumentProperty = function(key, value) {\r\n if (Object.keys(documentProperties).indexOf(key) === -1) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setDocumentProperty\");\r\n }\r\n return (documentProperties[key] = value);\r\n };\r\n\r\n var fonts = {}; // collection of font objects, where key is fontKey - a dynamically created label for a given font.\r\n var fontmap = {}; // mapping structure fontName > fontStyle > font key - performance layer. See addFont()\r\n var activeFontKey; // will be string representing the KEY of the font as combination of fontName + fontStyle\r\n var fontStateStack = []; //\r\n var patterns = {}; // collection of pattern objects\r\n var patternMap = {}; // see fonts\r\n var gStates = {}; // collection of graphic state objects\r\n var gStatesMap = {}; // see fonts\r\n var activeGState = null;\r\n var scaleFactor; // Scale factor\r\n var page = 0;\r\n var pagesContext = [];\r\n var events = new PubSub(API);\r\n var hotfixes = options.hotfixes || [];\r\n\r\n var renderTargets = {};\r\n var renderTargetMap = {};\r\n var renderTargetStack = [];\r\n var pageX;\r\n var pageY;\r\n var pageMatrix; // only used for FormObjects\r\n\r\n /**\r\n * A matrix object for 2D homogenous transformations:
\r\n * | a b 0 |
\r\n * | c d 0 |
\r\n * | e f 1 |
\r\n * pdf multiplies matrices righthand: v' = v x m1 x m2 x ...\r\n *\r\n * @class\r\n * @name Matrix\r\n * @param {number} sx\r\n * @param {number} shy\r\n * @param {number} shx\r\n * @param {number} sy\r\n * @param {number} tx\r\n * @param {number} ty\r\n * @constructor\r\n */\r\n var Matrix = function(sx, shy, shx, sy, tx, ty) {\r\n if (!(this instanceof Matrix)) {\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n }\r\n\r\n if (isNaN(sx)) sx = 1;\r\n if (isNaN(shy)) shy = 0;\r\n if (isNaN(shx)) shx = 0;\r\n if (isNaN(sy)) sy = 1;\r\n if (isNaN(tx)) tx = 0;\r\n if (isNaN(ty)) ty = 0;\r\n\r\n this._matrix = [sx, shy, shx, sy, tx, ty];\r\n };\r\n\r\n /**\r\n * @name sx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sx\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shy\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name shx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"shx\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name sy\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"sy\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name tx\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"tx\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ty\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"ty\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"a\", {\r\n get: function() {\r\n return this._matrix[0];\r\n },\r\n set: function(value) {\r\n this._matrix[0] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"b\", {\r\n get: function() {\r\n return this._matrix[1];\r\n },\r\n set: function(value) {\r\n this._matrix[1] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"c\", {\r\n get: function() {\r\n return this._matrix[2];\r\n },\r\n set: function(value) {\r\n this._matrix[2] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"d\", {\r\n get: function() {\r\n return this._matrix[3];\r\n },\r\n set: function(value) {\r\n this._matrix[3] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"e\", {\r\n get: function() {\r\n return this._matrix[4];\r\n },\r\n set: function(value) {\r\n this._matrix[4] = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(Matrix.prototype, \"f\", {\r\n get: function() {\r\n return this._matrix[5];\r\n },\r\n set: function(value) {\r\n this._matrix[5] = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name rotation\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"rotation\", {\r\n get: function() {\r\n return Math.atan2(this.shx, this.sx);\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleX\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleX\", {\r\n get: function() {\r\n return this.decompose().scale.sx;\r\n }\r\n });\r\n\r\n /**\r\n * @name scaleY\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"scaleY\", {\r\n get: function() {\r\n return this.decompose().scale.sy;\r\n }\r\n });\r\n\r\n /**\r\n * @name isIdentity\r\n * @memberof Matrix#\r\n */\r\n Object.defineProperty(Matrix.prototype, \"isIdentity\", {\r\n get: function() {\r\n if (this.sx !== 1) {\r\n return false;\r\n }\r\n if (this.shy !== 0) {\r\n return false;\r\n }\r\n if (this.shx !== 0) {\r\n return false;\r\n }\r\n if (this.sy !== 1) {\r\n return false;\r\n }\r\n if (this.tx !== 0) {\r\n return false;\r\n }\r\n if (this.ty !== 0) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n });\r\n\r\n /**\r\n * Join the Matrix Values to a String\r\n *\r\n * @function join\r\n * @param {string} separator Specifies a string to separate each pair of adjacent elements of the array. The separator is converted to a string if necessary. If omitted, the array elements are separated with a comma (\",\"). If separator is an empty string, all elements are joined without any characters in between them.\r\n * @returns {string} A string with all array elements joined.\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.join = function(separator) {\r\n return [this.sx, this.shy, this.shx, this.sy, this.tx, this.ty]\r\n .map(hpf)\r\n .join(separator);\r\n };\r\n\r\n /**\r\n * Multiply the matrix with given Matrix\r\n *\r\n * @function multiply\r\n * @param matrix\r\n * @returns {Matrix}\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.multiply = function(matrix) {\r\n var sx = matrix.sx * this.sx + matrix.shy * this.shx;\r\n var shy = matrix.sx * this.shy + matrix.shy * this.sy;\r\n var shx = matrix.shx * this.sx + matrix.sy * this.shx;\r\n var sy = matrix.shx * this.shy + matrix.sy * this.sy;\r\n var tx = matrix.tx * this.sx + matrix.ty * this.shx + this.tx;\r\n var ty = matrix.tx * this.shy + matrix.ty * this.sy + this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n /**\r\n * @function decompose\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.decompose = function() {\r\n var a = this.sx;\r\n var b = this.shy;\r\n var c = this.shx;\r\n var d = this.sy;\r\n var e = this.tx;\r\n var f = this.ty;\r\n\r\n var scaleX = Math.sqrt(a * a + b * b);\r\n a /= scaleX;\r\n b /= scaleX;\r\n\r\n var shear = a * c + b * d;\r\n c -= a * shear;\r\n d -= b * shear;\r\n\r\n var scaleY = Math.sqrt(c * c + d * d);\r\n c /= scaleY;\r\n d /= scaleY;\r\n shear /= scaleY;\r\n\r\n if (a * d < b * c) {\r\n a = -a;\r\n b = -b;\r\n shear = -shear;\r\n scaleX = -scaleX;\r\n }\r\n\r\n return {\r\n scale: new Matrix(scaleX, 0, 0, scaleY, 0, 0),\r\n translate: new Matrix(1, 0, 0, 1, e, f),\r\n rotate: new Matrix(a, b, -b, a, 0, 0),\r\n skew: new Matrix(1, 0, shear, 1, 0, 0)\r\n };\r\n };\r\n\r\n /**\r\n * @function toString\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.toString = function(parmPrecision) {\r\n return this.join(\" \");\r\n };\r\n\r\n /**\r\n * @function inversed\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.inversed = function() {\r\n var a = this.sx,\r\n b = this.shy,\r\n c = this.shx,\r\n d = this.sy,\r\n e = this.tx,\r\n f = this.ty;\r\n\r\n var quot = 1 / (a * d - b * c);\r\n\r\n var aInv = d * quot;\r\n var bInv = -b * quot;\r\n var cInv = -c * quot;\r\n var dInv = a * quot;\r\n var eInv = -aInv * e - cInv * f;\r\n var fInv = -bInv * e - dInv * f;\r\n\r\n return new Matrix(aInv, bInv, cInv, dInv, eInv, fInv);\r\n };\r\n\r\n /**\r\n * @function applyToPoint\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToPoint = function(pt) {\r\n var x = pt.x * this.sx + pt.y * this.shx + this.tx;\r\n var y = pt.x * this.shy + pt.y * this.sy + this.ty;\r\n return new Point(x, y);\r\n };\r\n\r\n /**\r\n * @function applyToRectangle\r\n * @memberof Matrix#\r\n */\r\n Matrix.prototype.applyToRectangle = function(rect) {\r\n var pt1 = this.applyToPoint(rect);\r\n var pt2 = this.applyToPoint(new Point(rect.x + rect.w, rect.y + rect.h));\r\n return new Rectangle(pt1.x, pt1.y, pt2.x - pt1.x, pt2.y - pt1.y);\r\n };\r\n\r\n /**\r\n * Clone the Matrix\r\n *\r\n * @function clone\r\n * @memberof Matrix#\r\n * @name clone\r\n * @instance\r\n */\r\n Matrix.prototype.clone = function() {\r\n var sx = this.sx;\r\n var shy = this.shy;\r\n var shx = this.shx;\r\n var sy = this.sy;\r\n var tx = this.tx;\r\n var ty = this.ty;\r\n\r\n return new Matrix(sx, shy, shx, sy, tx, ty);\r\n };\r\n\r\n API.Matrix = Matrix;\r\n\r\n /**\r\n * Multiplies two matrices. (see {@link Matrix})\r\n * @param {Matrix} m1\r\n * @param {Matrix} m2\r\n * @memberof jsPDF#\r\n * @name matrixMult\r\n */\r\n var matrixMult = (API.matrixMult = function(m1, m2) {\r\n return m2.multiply(m1);\r\n });\r\n\r\n /**\r\n * The identity matrix (equivalent to new Matrix(1, 0, 0, 1, 0, 0)).\r\n * @type {Matrix}\r\n * @memberof! jsPDF#\r\n * @name identityMatrix\r\n */\r\n var identityMatrix = new Matrix(1, 0, 0, 1, 0, 0);\r\n API.unitMatrix = API.identityMatrix = identityMatrix;\r\n\r\n /**\r\n * Adds a new pattern for later use.\r\n * @param {String} key The key by it can be referenced later. The keys must be unique!\r\n * @param {API.Pattern} pattern The pattern\r\n */\r\n var addPattern = function(key, pattern) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (patternMap[key]) return;\r\n\r\n var prefix = pattern instanceof ShadingPattern ? \"Sh\" : \"P\";\r\n var patternKey = prefix + (Object.keys(patterns).length + 1).toString(10);\r\n pattern.id = patternKey;\r\n\r\n patternMap[key] = patternKey;\r\n patterns[patternKey] = pattern;\r\n\r\n events.publish(\"addPattern\", pattern);\r\n };\r\n\r\n /**\r\n * A pattern describing a shading pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {String} type One of \"axial\" or \"radial\"\r\n * @param {Array} coords Either [x1, y1, x2, y2] for \"axial\" type describing the two interpolation points\r\n * or [x1, y1, r, x2, y2, r2] for \"radial\" describing inner and the outer circle.\r\n * @param {Array} colors An array of objects with the fields \"offset\" and \"color\". \"offset\" describes\r\n * the offset in parameter space [0, 1]. \"color\" is an array of length 3 describing RGB values in [0, 255].\r\n * @param {GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.ShadingPattern = ShadingPattern;\r\n\r\n /**\r\n * A PDF Tiling pattern.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {Array.} boundingBox The bounding box at which one pattern cell gets clipped.\r\n * @param {Number} xStep Horizontal spacing between pattern cells.\r\n * @param {Number} yStep Vertical spacing between pattern cells.\r\n * @param {API.GState=} gState An additional graphics state that gets applied to the pattern (optional).\r\n * @param {Matrix=} matrix A matrix that describes the transformation between the pattern coordinate system\r\n * and the use coordinate system (optional).\r\n * @constructor\r\n * @extends API.Pattern\r\n */\r\n API.TilingPattern = TilingPattern;\r\n\r\n /**\r\n * Adds a new {@link API.ShadingPattern} for later use. Only available in \"advanced\" API mode.\r\n * @param {String} key\r\n * @param {Pattern} pattern\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name addPattern\r\n */\r\n API.addShadingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"addShadingPattern()\");\r\n\r\n addPattern(key, pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Begins a new tiling pattern. All subsequent render calls are drawn to this pattern until {@link API.endTilingPattern}\r\n * gets called. Only available in \"advanced\" API mode.\r\n * @param {API.Pattern} pattern\r\n * @memberof jsPDF#\r\n * @name beginTilingPattern\r\n */\r\n API.beginTilingPattern = function(pattern) {\r\n advancedApiModeTrap(\"beginTilingPattern()\");\r\n\r\n beginNewRenderTarget(\r\n pattern.boundingBox[0],\r\n pattern.boundingBox[1],\r\n pattern.boundingBox[2] - pattern.boundingBox[0],\r\n pattern.boundingBox[3] - pattern.boundingBox[1],\r\n pattern.matrix\r\n );\r\n };\r\n\r\n /**\r\n * Ends a tiling pattern and sets the render target to the one active before {@link API.beginTilingPattern} has been called.\r\n *\r\n * Only available in \"advanced\" API mode.\r\n *\r\n * @param {string} key A unique key that is used to reference this pattern at later use.\r\n * @param {API.Pattern} pattern The pattern to end.\r\n * @memberof jsPDF#\r\n * @name endTilingPattern\r\n */\r\n API.endTilingPattern = function(key, pattern) {\r\n advancedApiModeTrap(\"endTilingPattern()\");\r\n\r\n // retrieve the stream\r\n pattern.stream = pages[currentPage].join(\"\\n\");\r\n\r\n addPattern(key, pattern);\r\n\r\n events.publish(\"endTilingPattern\", pattern);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n var newObject = (API.__private__.newObject = function() {\r\n var oid = newObjectDeferred();\r\n newObjectDeferredBegin(oid, true);\r\n return oid;\r\n });\r\n\r\n // Does not output the object. The caller must call newObjectDeferredBegin(oid) before outputing any data\r\n var newObjectDeferred = (API.__private__.newObjectDeferred = function() {\r\n objectNumber++;\r\n offsets[objectNumber] = function() {\r\n return contentLength;\r\n };\r\n return objectNumber;\r\n });\r\n\r\n var newObjectDeferredBegin = function(oid, doOutput) {\r\n doOutput = typeof doOutput === \"boolean\" ? doOutput : false;\r\n offsets[oid] = contentLength;\r\n if (doOutput) {\r\n out(oid + \" 0 obj\");\r\n }\r\n return oid;\r\n };\r\n // Does not output the object until after the pages have been output.\r\n // Returns an object containing the objectId and content.\r\n // All pages have been added so the object ID can be estimated to start right after.\r\n // This does not modify the current objectNumber; It must be updated after the newObjects are output.\r\n var newAdditionalObject = (API.__private__.newAdditionalObject = function() {\r\n var objId = newObjectDeferred();\r\n var obj = {\r\n objId: objId,\r\n content: \"\"\r\n };\r\n additionalObjects.push(obj);\r\n return obj;\r\n });\r\n\r\n var rootDictionaryObjId = newObjectDeferred();\r\n var resourceDictionaryObjId = newObjectDeferred();\r\n\r\n /////////////////////\r\n // Private functions\r\n /////////////////////\r\n\r\n var decodeColorString = (API.__private__.decodeColorString = function(color) {\r\n var colorEncoded = color.split(\" \");\r\n if (\r\n colorEncoded.length === 2 &&\r\n (colorEncoded[1] === \"g\" || colorEncoded[1] === \"G\")\r\n ) {\r\n // convert grayscale value to rgb so that it can be converted to hex for consistency\r\n var floatVal = parseFloat(colorEncoded[0]);\r\n colorEncoded = [floatVal, floatVal, floatVal, \"r\"];\r\n } else if (\r\n colorEncoded.length === 5 &&\r\n (colorEncoded[4] === \"k\" || colorEncoded[4] === \"K\")\r\n ) {\r\n // convert CMYK values to rbg so that it can be converted to hex for consistency\r\n var red = (1.0 - colorEncoded[0]) * (1.0 - colorEncoded[3]);\r\n var green = (1.0 - colorEncoded[1]) * (1.0 - colorEncoded[3]);\r\n var blue = (1.0 - colorEncoded[2]) * (1.0 - colorEncoded[3]);\r\n\r\n colorEncoded = [red, green, blue, \"r\"];\r\n }\r\n var colorAsRGB = \"#\";\r\n for (var i = 0; i < 3; i++) {\r\n colorAsRGB += (\r\n \"0\" + Math.floor(parseFloat(colorEncoded[i]) * 255).toString(16)\r\n ).slice(-2);\r\n }\r\n return colorAsRGB;\r\n });\r\n\r\n var encodeColorString = (API.__private__.encodeColorString = function(\r\n options\r\n ) {\r\n var color;\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n ch1: options\r\n };\r\n }\r\n var ch1 = options.ch1;\r\n var ch2 = options.ch2;\r\n var ch3 = options.ch3;\r\n var ch4 = options.ch4;\r\n var letterArray =\r\n options.pdfColorType === \"draw\" ? [\"G\", \"RG\", \"K\"] : [\"g\", \"rg\", \"k\"];\r\n\r\n if (typeof ch1 === \"string\" && ch1.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(ch1);\r\n if (rgbColor.ok) {\r\n ch1 = rgbColor.toHex();\r\n } else if (!/^\\d*\\.?\\d*$/.test(ch1)) {\r\n throw new Error(\r\n 'Invalid color \"' + ch1 + '\" passed to jsPDF.encodeColorString.'\r\n );\r\n }\r\n }\r\n //convert short rgb to long form\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{3}$/.test(ch1)) {\r\n ch1 = \"#\" + ch1[1] + ch1[1] + ch1[2] + ch1[2] + ch1[3] + ch1[3];\r\n }\r\n\r\n if (typeof ch1 === \"string\" && /^#[0-9A-Fa-f]{6}$/.test(ch1)) {\r\n var hex = parseInt(ch1.substr(1), 16);\r\n ch1 = (hex >> 16) & 255;\r\n ch2 = (hex >> 8) & 255;\r\n ch3 = hex & 255;\r\n }\r\n\r\n if (\r\n typeof ch2 === \"undefined\" ||\r\n (typeof ch4 === \"undefined\" && ch1 === ch2 && ch2 === ch3)\r\n ) {\r\n // Gray color space.\r\n if (typeof ch1 === \"string\") {\r\n color = ch1 + \" \" + letterArray[0];\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = f2(ch1 / 255) + \" \" + letterArray[0];\r\n break;\r\n case 3:\r\n default:\r\n color = f3(ch1 / 255) + \" \" + letterArray[0];\r\n }\r\n }\r\n } else if (typeof ch4 === \"undefined\" || typeof ch4 === \"object\") {\r\n // assume RGBA\r\n if (ch4 && !isNaN(ch4.a)) {\r\n //TODO Implement transparency.\r\n //WORKAROUND use white for now, if transparent, otherwise handle as rgb\r\n if (ch4.a === 0) {\r\n color = [\"1.\", \"1.\", \"1.\", letterArray[1]].join(\" \");\r\n return color;\r\n }\r\n }\r\n // assume RGB\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, letterArray[1]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [\r\n f2(ch1 / 255),\r\n f2(ch2 / 255),\r\n f2(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n break;\r\n default:\r\n case 3:\r\n color = [\r\n f3(ch1 / 255),\r\n f3(ch2 / 255),\r\n f3(ch3 / 255),\r\n letterArray[1]\r\n ].join(\" \");\r\n }\r\n }\r\n } else {\r\n // assume CMYK\r\n if (typeof ch1 === \"string\") {\r\n color = [ch1, ch2, ch3, ch4, letterArray[2]].join(\" \");\r\n } else {\r\n switch (options.precision) {\r\n case 2:\r\n color = [f2(ch1), f2(ch2), f2(ch3), f2(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n break;\r\n case 3:\r\n default:\r\n color = [f3(ch1), f3(ch2), f3(ch3), f3(ch4), letterArray[2]].join(\r\n \" \"\r\n );\r\n }\r\n }\r\n }\r\n return color;\r\n });\r\n\r\n var getFilters = (API.__private__.getFilters = function() {\r\n return filters;\r\n });\r\n\r\n var putStream = (API.__private__.putStream = function(options) {\r\n options = options || {};\r\n var data = options.data || \"\";\r\n var filters = options.filters || getFilters();\r\n var alreadyAppliedFilters = options.alreadyAppliedFilters || [];\r\n var addLength1 = options.addLength1 || false;\r\n var valueOfLength1 = data.length;\r\n var objectId = options.objectId;\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null && typeof objectId == \"undefined\") {\r\n throw new Error(\r\n \"ObjectId must be passed to putStream for file encryption\"\r\n );\r\n }\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n\r\n var processedData = {};\r\n if (filters === true) {\r\n filters = [\"FlateEncode\"];\r\n }\r\n var keyValues = options.additionalKeyValues || [];\r\n if (typeof jsPDF.API.processDataByFilters !== \"undefined\") {\r\n processedData = jsPDF.API.processDataByFilters(data, filters);\r\n } else {\r\n processedData = { data: data, reverseChain: [] };\r\n }\r\n var filterAsString =\r\n processedData.reverseChain +\r\n (Array.isArray(alreadyAppliedFilters)\r\n ? alreadyAppliedFilters.join(\" \")\r\n : alreadyAppliedFilters.toString());\r\n\r\n if (processedData.data.length !== 0) {\r\n keyValues.push({\r\n key: \"Length\",\r\n value: processedData.data.length\r\n });\r\n if (addLength1 === true) {\r\n keyValues.push({\r\n key: \"Length1\",\r\n value: valueOfLength1\r\n });\r\n }\r\n }\r\n\r\n if (filterAsString.length != 0) {\r\n if (filterAsString.split(\"/\").length - 1 === 1) {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: filterAsString\r\n });\r\n } else {\r\n keyValues.push({\r\n key: \"Filter\",\r\n value: \"[\" + filterAsString + \"]\"\r\n });\r\n\r\n for (var j = 0; j < keyValues.length; j += 1) {\r\n if (keyValues[j].key === \"DecodeParms\") {\r\n var decodeParmsArray = [];\r\n\r\n for (\r\n var i = 0;\r\n i < processedData.reverseChain.split(\"/\").length - 1;\r\n i += 1\r\n ) {\r\n decodeParmsArray.push(\"null\");\r\n }\r\n\r\n decodeParmsArray.push(keyValues[j].value);\r\n keyValues[j].value = \"[\" + decodeParmsArray.join(\" \") + \"]\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n out(\"<<\");\r\n for (var k = 0; k < keyValues.length; k++) {\r\n out(\"/\" + keyValues[k].key + \" \" + keyValues[k].value);\r\n }\r\n out(\">>\");\r\n if (processedData.data.length !== 0) {\r\n out(\"stream\");\r\n out(encryptor(processedData.data));\r\n out(\"endstream\");\r\n }\r\n });\r\n\r\n var putPage = (API.__private__.putPage = function(page) {\r\n var pageNumber = page.number;\r\n var data = page.data;\r\n var pageObjectNumber = page.objId;\r\n var pageContentsObjId = page.contentsObjId;\r\n\r\n newObjectDeferredBegin(pageObjectNumber, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n // Page content\r\n var pageContent = data.join(\"\\n\");\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n // if the user forgot to switch back to COMPAT mode, we must balance the graphics stack again\r\n pageContent += \"\\nQ\";\r\n }\r\n\r\n newObjectDeferredBegin(pageContentsObjId, true);\r\n putStream({\r\n data: pageContent,\r\n filters: getFilters(),\r\n objectId: pageContentsObjId\r\n });\r\n out(\"endobj\");\r\n return pageObjectNumber;\r\n });\r\n\r\n var putPages = (API.__private__.putPages = function() {\r\n var n,\r\n i,\r\n pageObjectNumbers = [];\r\n\r\n for (n = 1; n <= page; n++) {\r\n pagesContext[n].objId = newObjectDeferred();\r\n pagesContext[n].contentsObjId = newObjectDeferred();\r\n }\r\n\r\n for (n = 1; n <= page; n++) {\r\n pageObjectNumbers.push(\r\n putPage({\r\n number: n,\r\n data: pages[n],\r\n objId: pagesContext[n].objId,\r\n contentsObjId: pagesContext[n].contentsObjId,\r\n mediaBox: pagesContext[n].mediaBox,\r\n cropBox: pagesContext[n].cropBox,\r\n bleedBox: pagesContext[n].bleedBox,\r\n trimBox: pagesContext[n].trimBox,\r\n artBox: pagesContext[n].artBox,\r\n userUnit: pagesContext[n].userUnit,\r\n rootDictionaryObjId: rootDictionaryObjId,\r\n resourceDictionaryObjId: resourceDictionaryObjId\r\n })\r\n );\r\n }\r\n newObjectDeferredBegin(rootDictionaryObjId, true);\r\n out(\"<>\");\r\n out(\"endobj\");\r\n events.publish(\"postPutPages\");\r\n });\r\n\r\n var putFont = function(font) {\r\n events.publish(\"putFont\", {\r\n font: font,\r\n out: out,\r\n newObject: newObject,\r\n putStream: putStream\r\n });\r\n\r\n if (font.isAlreadyPutted !== true) {\r\n font.objectNumber = newObject();\r\n out(\"<<\");\r\n out(\"/Type /Font\");\r\n out(\"/BaseFont /\" + toPDFName(font.postScriptName));\r\n out(\"/Subtype /Type1\");\r\n if (typeof font.encoding === \"string\") {\r\n out(\"/Encoding /\" + font.encoding);\r\n }\r\n out(\"/FirstChar 32\");\r\n out(\"/LastChar 255\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n }\r\n };\r\n\r\n var putFonts = function() {\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n putFont(fonts[fontKey]);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putXObject = function(xObject) {\r\n xObject.objectNumber = newObject();\r\n\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/XObject\" });\r\n options.push({ key: \"Subtype\", value: \"/Form\" });\r\n options.push({\r\n key: \"BBox\",\r\n value:\r\n \"[\" +\r\n [\r\n hpf(xObject.x),\r\n hpf(xObject.y),\r\n hpf(xObject.x + xObject.width),\r\n hpf(xObject.y + xObject.height)\r\n ].join(\" \") +\r\n \"]\"\r\n });\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + xObject.matrix.toString() + \"]\"\r\n });\r\n // TODO: /Resources\r\n\r\n var stream = xObject.pages[1].join(\"\\n\");\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n objectId: xObject.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putXObjects = function() {\r\n for (var xObjectKey in renderTargets) {\r\n if (renderTargets.hasOwnProperty(xObjectKey)) {\r\n putXObject(renderTargets[xObjectKey]);\r\n }\r\n }\r\n };\r\n\r\n var interpolateAndEncodeRGBStream = function(colors, numberSamples) {\r\n var tValues = [];\r\n var t;\r\n var dT = 1.0 / (numberSamples - 1);\r\n for (t = 0.0; t < 1.0; t += dT) {\r\n tValues.push(t);\r\n }\r\n tValues.push(1.0);\r\n // add first and last control point if not present\r\n if (colors[0].offset != 0.0) {\r\n var c0 = {\r\n offset: 0.0,\r\n color: colors[0].color\r\n };\r\n colors.unshift(c0);\r\n }\r\n if (colors[colors.length - 1].offset != 1.0) {\r\n var c1 = {\r\n offset: 1.0,\r\n color: colors[colors.length - 1].color\r\n };\r\n colors.push(c1);\r\n }\r\n var out = \"\";\r\n var index = 0;\r\n\r\n for (var i = 0; i < tValues.length; i++) {\r\n t = tValues[i];\r\n while (t > colors[index + 1].offset) index++;\r\n var a = colors[index].offset;\r\n var b = colors[index + 1].offset;\r\n var d = (t - a) / (b - a);\r\n\r\n var aColor = colors[index].color;\r\n var bColor = colors[index + 1].color;\r\n\r\n out +=\r\n padd2Hex(Math.round((1 - d) * aColor[0] + d * bColor[0]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[1] + d * bColor[1]).toString(16)) +\r\n padd2Hex(Math.round((1 - d) * aColor[2] + d * bColor[2]).toString(16));\r\n }\r\n return out.trim();\r\n };\r\n\r\n var putShadingPattern = function(pattern, numberSamples) {\r\n /*\r\n Axial patterns shade between the two points specified in coords, radial patterns between the inner\r\n and outer circle.\r\n The user can specify an array (colors) that maps t-Values in [0, 1] to RGB colors. These are now\r\n interpolated to equidistant samples and written to pdf as a sample (type 0) function.\r\n */\r\n // The number of color samples that should be used to describe the shading.\r\n // The higher, the more accurate the gradient will be.\r\n numberSamples || (numberSamples = 21);\r\n var funcObjectNumber = newObject();\r\n var stream = interpolateAndEncodeRGBStream(pattern.colors, numberSamples);\r\n\r\n var options = [];\r\n options.push({ key: \"FunctionType\", value: \"0\" });\r\n options.push({ key: \"Domain\", value: \"[0.0 1.0]\" });\r\n options.push({ key: \"Size\", value: \"[\" + numberSamples + \"]\" });\r\n options.push({ key: \"BitsPerSample\", value: \"8\" });\r\n options.push({ key: \"Range\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n options.push({ key: \"Decode\", value: \"[0.0 1.0 0.0 1.0 0.0 1.0]\" });\r\n\r\n putStream({\r\n data: stream,\r\n additionalKeyValues: options,\r\n alreadyAppliedFilters: [\"/ASCIIHexDecode\"],\r\n objectId: funcObjectNumber\r\n });\r\n out(\"endobj\");\r\n\r\n pattern.objectNumber = newObject();\r\n out(\"<< /ShadingType \" + pattern.type);\r\n out(\"/ColorSpace /DeviceRGB\");\r\n var coords =\r\n \"/Coords [\" +\r\n hpf(parseFloat(pattern.coords[0])) +\r\n \" \" + // x1\r\n hpf(parseFloat(pattern.coords[1])) +\r\n \" \"; // y1\r\n if (pattern.type === 2) {\r\n // axial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[3])); // y2\r\n } else {\r\n // radial\r\n coords +=\r\n hpf(parseFloat(pattern.coords[2])) +\r\n \" \" + // r1\r\n hpf(parseFloat(pattern.coords[3])) +\r\n \" \" + // x2\r\n hpf(parseFloat(pattern.coords[4])) +\r\n \" \" + // y2\r\n hpf(parseFloat(pattern.coords[5])); // r2\r\n }\r\n coords += \"]\";\r\n out(coords);\r\n\r\n if (pattern.matrix) {\r\n out(\"/Matrix [\" + pattern.matrix.toString() + \"]\");\r\n }\r\n out(\"/Function \" + funcObjectNumber + \" 0 R\");\r\n out(\"/Extend [true true]\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putTilingPattern = function(pattern, deferredResourceDictionaryIds) {\r\n var resourcesObjectId = newObjectDeferred();\r\n var patternObjectId = newObject();\r\n\r\n deferredResourceDictionaryIds.push({\r\n resourcesOid: resourcesObjectId,\r\n objectOid: patternObjectId\r\n });\r\n\r\n pattern.objectNumber = patternObjectId;\r\n var options = [];\r\n options.push({ key: \"Type\", value: \"/Pattern\" });\r\n options.push({ key: \"PatternType\", value: \"1\" }); // tiling pattern\r\n options.push({ key: \"PaintType\", value: \"1\" }); // colored tiling pattern\r\n options.push({ key: \"TilingType\", value: \"1\" }); // constant spacing\r\n options.push({\r\n key: \"BBox\",\r\n value: \"[\" + pattern.boundingBox.map(hpf).join(\" \") + \"]\"\r\n });\r\n options.push({ key: \"XStep\", value: hpf(pattern.xStep) });\r\n options.push({ key: \"YStep\", value: hpf(pattern.yStep) });\r\n options.push({ key: \"Resources\", value: resourcesObjectId + \" 0 R\" });\r\n if (pattern.matrix) {\r\n options.push({\r\n key: \"Matrix\",\r\n value: \"[\" + pattern.matrix.toString() + \"]\"\r\n });\r\n }\r\n\r\n putStream({\r\n data: pattern.stream,\r\n additionalKeyValues: options,\r\n objectId: pattern.objectNumber\r\n });\r\n out(\"endobj\");\r\n };\r\n\r\n var putPatterns = function(deferredResourceDictionaryIds) {\r\n var patternKey;\r\n for (patternKey in patterns) {\r\n if (patterns.hasOwnProperty(patternKey)) {\r\n if (patterns[patternKey] instanceof ShadingPattern) {\r\n putShadingPattern(patterns[patternKey]);\r\n } else if (patterns[patternKey] instanceof TilingPattern) {\r\n putTilingPattern(patterns[patternKey], deferredResourceDictionaryIds);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var putGState = function(gState) {\r\n gState.objectNumber = newObject();\r\n out(\"<<\");\r\n for (var p in gState) {\r\n switch (p) {\r\n case \"opacity\":\r\n out(\"/ca \" + f2(gState[p]));\r\n break;\r\n case \"stroke-opacity\":\r\n out(\"/CA \" + f2(gState[p]));\r\n break;\r\n }\r\n }\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putGStates = function() {\r\n var gStateKey;\r\n for (gStateKey in gStates) {\r\n if (gStates.hasOwnProperty(gStateKey)) {\r\n putGState(gStates[gStateKey]);\r\n }\r\n }\r\n };\r\n\r\n var putXobjectDict = function() {\r\n out(\"/XObject <<\");\r\n for (var xObjectKey in renderTargets) {\r\n if (\r\n renderTargets.hasOwnProperty(xObjectKey) &&\r\n renderTargets[xObjectKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" +\r\n xObjectKey +\r\n \" \" +\r\n renderTargets[xObjectKey].objectNumber +\r\n \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n // Loop through images, or other data objects\r\n events.publish(\"putXobjectDict\");\r\n out(\">>\");\r\n };\r\n\r\n var putEncryptionDict = function() {\r\n encryption.oid = newObject();\r\n out(\"<<\");\r\n out(\"/Filter /Standard\");\r\n out(\"/V \" + encryption.v);\r\n out(\"/R \" + encryption.r);\r\n out(\"/U <\" + encryption.toHexString(encryption.U) + \">\");\r\n out(\"/O <\" + encryption.toHexString(encryption.O) + \">\");\r\n out(\"/P \" + encryption.P);\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putFontDict = function() {\r\n out(\"/Font <<\");\r\n\r\n for (var fontKey in fonts) {\r\n if (fonts.hasOwnProperty(fontKey)) {\r\n if (\r\n putOnlyUsedFonts === false ||\r\n (putOnlyUsedFonts === true && usedFonts.hasOwnProperty(fontKey))\r\n ) {\r\n out(\"/\" + fontKey + \" \" + fonts[fontKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n }\r\n out(\">>\");\r\n };\r\n\r\n var putShadingPatternDict = function() {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Shading <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof ShadingPattern &&\r\n patterns[patternKey].objectNumber >= 0\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n\r\n events.publish(\"putShadingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putTilingPatternDict = function(objectOid) {\r\n if (Object.keys(patterns).length > 0) {\r\n out(\"/Pattern <<\");\r\n for (var patternKey in patterns) {\r\n if (\r\n patterns.hasOwnProperty(patternKey) &&\r\n patterns[patternKey] instanceof API.TilingPattern &&\r\n patterns[patternKey].objectNumber >= 0 &&\r\n patterns[patternKey].objectNumber < objectOid // prevent cyclic dependencies\r\n ) {\r\n out(\r\n \"/\" + patternKey + \" \" + patterns[patternKey].objectNumber + \" 0 R\"\r\n );\r\n }\r\n }\r\n events.publish(\"putTilingPatternDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putGStatesDict = function() {\r\n if (Object.keys(gStates).length > 0) {\r\n var gStateKey;\r\n out(\"/ExtGState <<\");\r\n for (gStateKey in gStates) {\r\n if (\r\n gStates.hasOwnProperty(gStateKey) &&\r\n gStates[gStateKey].objectNumber >= 0\r\n ) {\r\n out(\"/\" + gStateKey + \" \" + gStates[gStateKey].objectNumber + \" 0 R\");\r\n }\r\n }\r\n\r\n events.publish(\"putGStateDict\");\r\n out(\">>\");\r\n }\r\n };\r\n\r\n var putResourceDictionary = function(objectIds) {\r\n newObjectDeferredBegin(objectIds.resourcesOid, true);\r\n out(\"<<\");\r\n out(\"/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]\");\r\n putFontDict();\r\n putShadingPatternDict();\r\n putTilingPatternDict(objectIds.objectOid);\r\n putGStatesDict();\r\n putXobjectDict();\r\n out(\">>\");\r\n out(\"endobj\");\r\n };\r\n\r\n var putResources = function() {\r\n // FormObjects, Patterns etc. might use other FormObjects/Patterns/Images\r\n // which means their resource dictionaries must contain the already resolved\r\n // object ids. For this reason we defer the serialization of the resource\r\n // dicts until all objects have been serialized and have object ids.\r\n //\r\n // In order to prevent cyclic dependencies (which Adobe Reader doesn't like),\r\n // we only put all oids that are smaller than the oid of the object the\r\n // resource dict belongs to. This is correct behavior, since the streams\r\n // may only use other objects that have already been defined and thus appear\r\n // earlier in their respective collection.\r\n // Currently, this only affects tiling patterns, but a (more) correct\r\n // implementation of FormObjects would also define their own resource dicts.\r\n var deferredResourceDictionaryIds = [];\r\n\r\n putFonts();\r\n putGStates();\r\n putXObjects();\r\n putPatterns(deferredResourceDictionaryIds);\r\n\r\n events.publish(\"putResources\");\r\n deferredResourceDictionaryIds.forEach(putResourceDictionary);\r\n putResourceDictionary({\r\n resourcesOid: resourceDictionaryObjId,\r\n objectOid: Number.MAX_SAFE_INTEGER // output all objects\r\n });\r\n events.publish(\"postPutResources\");\r\n };\r\n\r\n var putAdditionalObjects = function() {\r\n events.publish(\"putAdditionalObjects\");\r\n for (var i = 0; i < additionalObjects.length; i++) {\r\n var obj = additionalObjects[i];\r\n newObjectDeferredBegin(obj.objId, true);\r\n out(obj.content);\r\n out(\"endobj\");\r\n }\r\n events.publish(\"postPutAdditionalObjects\");\r\n };\r\n\r\n var addFontToFontDictionary = function(font) {\r\n fontmap[font.fontName] = fontmap[font.fontName] || {};\r\n fontmap[font.fontName][font.fontStyle] = font.id;\r\n };\r\n\r\n var addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n encoding,\r\n isStandardFont\r\n ) {\r\n var font = {\r\n id: \"F\" + (Object.keys(fonts).length + 1).toString(10),\r\n postScriptName: postScriptName,\r\n fontName: fontName,\r\n fontStyle: fontStyle,\r\n encoding: encoding,\r\n isStandardFont: isStandardFont || false,\r\n metadata: {}\r\n };\r\n\r\n events.publish(\"addFont\", {\r\n font: font,\r\n instance: this\r\n });\r\n\r\n fonts[font.id] = font;\r\n addFontToFontDictionary(font);\r\n return font.id;\r\n };\r\n\r\n var addFonts = function(arrayOfFonts) {\r\n for (var i = 0, l = standardFonts.length; i < l; i++) {\r\n var fontKey = addFont.call(\r\n this,\r\n arrayOfFonts[i][0],\r\n arrayOfFonts[i][1],\r\n arrayOfFonts[i][2],\r\n standardFonts[i][3],\r\n true\r\n );\r\n\r\n if (putOnlyUsedFonts === false) {\r\n usedFonts[fontKey] = true;\r\n }\r\n // adding aliases for standard fonts, this time matching the capitalization\r\n var parts = arrayOfFonts[i][0].split(\"-\");\r\n addFontToFontDictionary({\r\n id: fontKey,\r\n fontName: parts[0],\r\n fontStyle: parts[1] || \"\"\r\n });\r\n }\r\n events.publish(\"addFonts\", {\r\n fonts: fonts,\r\n dictionary: fontmap\r\n });\r\n };\r\n\r\n var SAFE = function __safeCall(fn) {\r\n fn.foo = function __safeCallWrapper() {\r\n try {\r\n return fn.apply(this, arguments);\r\n } catch (e) {\r\n var stack = e.stack || \"\";\r\n if (~stack.indexOf(\" at \")) stack = stack.split(\" at \")[1];\r\n var m =\r\n \"Error in function \" +\r\n stack.split(\"\\n\")[0].split(\"<\")[0] +\r\n \": \" +\r\n e.message;\r\n if (globalObject.console) {\r\n globalObject.console.error(m, e);\r\n if (globalObject.alert) alert(m);\r\n } else {\r\n throw new Error(m);\r\n }\r\n }\r\n };\r\n fn.foo.bar = fn;\r\n return fn.foo;\r\n };\r\n\r\n var to8bitStream = function(text, flags) {\r\n /**\r\n * PDF 1.3 spec:\r\n * \"For text strings encoded in Unicode, the first two bytes must be 254 followed by\r\n * 255, representing the Unicode byte order marker, U+FEFF. (This sequence conflicts\r\n * with the PDFDocEncoding character sequence thorn ydieresis, which is unlikely\r\n * to be a meaningful beginning of a word or phrase.) The remainder of the\r\n * string consists of Unicode character codes, according to the UTF-16 encoding\r\n * specified in the Unicode standard, version 2.0. Commonly used Unicode values\r\n * are represented as 2 bytes per character, with the high-order byte appearing first\r\n * in the string.\"\r\n *\r\n * In other words, if there are chars in a string with char code above 255, we\r\n * recode the string to UCS2 BE - string doubles in length and BOM is prepended.\r\n *\r\n * HOWEVER!\r\n * Actual *content* (body) text (as opposed to strings used in document properties etc)\r\n * does NOT expect BOM. There, it is treated as a literal GID (Glyph ID)\r\n *\r\n * Because of Adobe's focus on \"you subset your fonts!\" you are not supposed to have\r\n * a font that maps directly Unicode (UCS2 / UTF16BE) code to font GID, but you could\r\n * fudge it with \"Identity-H\" encoding and custom CIDtoGID map that mimics Unicode\r\n * code page. There, however, all characters in the stream are treated as GIDs,\r\n * including BOM, which is the reason we need to skip BOM in content text (i.e. that\r\n * that is tied to a font).\r\n *\r\n * To signal this \"special\" PDFEscape / to8bitStream handling mode,\r\n * API.text() function sets (unless you overwrite it with manual values\r\n * given to API.text(.., flags) )\r\n * flags.autoencode = true\r\n * flags.noBOM = true\r\n *\r\n * ===================================================================================\r\n * `flags` properties relied upon:\r\n * .sourceEncoding = string with encoding label.\r\n * \"Unicode\" by default. = encoding of the incoming text.\r\n * pass some non-existing encoding name\r\n * (ex: 'Do not touch my strings! I know what I am doing.')\r\n * to make encoding code skip the encoding step.\r\n * .outputEncoding = Either valid PDF encoding name\r\n * (must be supported by jsPDF font metrics, otherwise no encoding)\r\n * or a JS object, where key = sourceCharCode, value = outputCharCode\r\n * missing keys will be treated as: sourceCharCode === outputCharCode\r\n * .noBOM\r\n * See comment higher above for explanation for why this is important\r\n * .autoencode\r\n * See comment higher above for explanation for why this is important\r\n */\r\n\r\n var i,\r\n l,\r\n sourceEncoding,\r\n encodingBlock,\r\n outputEncoding,\r\n newtext,\r\n isUnicode,\r\n ch,\r\n bch;\r\n\r\n flags = flags || {};\r\n sourceEncoding = flags.sourceEncoding || \"Unicode\";\r\n outputEncoding = flags.outputEncoding;\r\n\r\n // This 'encoding' section relies on font metrics format\r\n // attached to font objects by, among others,\r\n // \"Willow Systems' standard_font_metrics plugin\"\r\n // see jspdf.plugin.standard_font_metrics.js for format\r\n // of the font.metadata.encoding Object.\r\n // It should be something like\r\n // .encoding = {'codePages':['WinANSI....'], 'WinANSI...':{code:code, ...}}\r\n // .widths = {0:width, code:width, ..., 'fof':divisor}\r\n // .kerning = {code:{previous_char_code:shift, ..., 'fof':-divisor},...}\r\n if (\r\n (flags.autoencode || outputEncoding) &&\r\n fonts[activeFontKey].metadata &&\r\n fonts[activeFontKey].metadata[sourceEncoding] &&\r\n fonts[activeFontKey].metadata[sourceEncoding].encoding\r\n ) {\r\n encodingBlock = fonts[activeFontKey].metadata[sourceEncoding].encoding;\r\n\r\n // each font has default encoding. Some have it clearly defined.\r\n if (!outputEncoding && fonts[activeFontKey].encoding) {\r\n outputEncoding = fonts[activeFontKey].encoding;\r\n }\r\n\r\n // Hmmm, the above did not work? Let's try again, in different place.\r\n if (!outputEncoding && encodingBlock.codePages) {\r\n outputEncoding = encodingBlock.codePages[0]; // let's say, first one is the default\r\n }\r\n\r\n if (typeof outputEncoding === \"string\") {\r\n outputEncoding = encodingBlock[outputEncoding];\r\n }\r\n // we want output encoding to be a JS Object, where\r\n // key = sourceEncoding's character code and\r\n // value = outputEncoding's character code.\r\n if (outputEncoding) {\r\n isUnicode = false;\r\n newtext = [];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = outputEncoding[text.charCodeAt(i)];\r\n if (ch) {\r\n newtext.push(String.fromCharCode(ch));\r\n } else {\r\n newtext.push(text[i]);\r\n }\r\n\r\n // since we are looping over chars anyway, might as well\r\n // check for residual unicodeness\r\n if (newtext[i].charCodeAt(0) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n }\r\n text = newtext.join(\"\");\r\n }\r\n }\r\n\r\n i = text.length;\r\n // isUnicode may be set to false above. Hence the triple-equal to undefined\r\n while (isUnicode === undefined && i !== 0) {\r\n if (text.charCodeAt(i - 1) >> 8) {\r\n /* more than 255 */\r\n isUnicode = true;\r\n }\r\n i--;\r\n }\r\n if (!isUnicode) {\r\n return text;\r\n }\r\n\r\n newtext = flags.noBOM ? [] : [254, 255];\r\n for (i = 0, l = text.length; i < l; i++) {\r\n ch = text.charCodeAt(i);\r\n bch = ch >> 8; // divide by 256\r\n if (bch >> 8) {\r\n /* something left after dividing by 256 second time */\r\n throw new Error(\r\n \"Character at position \" +\r\n i +\r\n \" of string '\" +\r\n text +\r\n \"' exceeds 16bits. Cannot be encoded into UCS-2 BE\"\r\n );\r\n }\r\n newtext.push(bch);\r\n newtext.push(ch - (bch << 8));\r\n }\r\n return String.fromCharCode.apply(undefined, newtext);\r\n };\r\n\r\n var pdfEscape = (API.__private__.pdfEscape = API.pdfEscape = function(\r\n text,\r\n flags\r\n ) {\r\n /**\r\n * Replace '/', '(', and ')' with pdf-safe versions\r\n *\r\n * Doing to8bitStream does NOT make this PDF display unicode text. For that\r\n * we also need to reference a unicode font and embed it - royal pain in the rear.\r\n *\r\n * There is still a benefit to to8bitStream - PDF simply cannot handle 16bit chars,\r\n * which JavaScript Strings are happy to provide. So, while we still cannot display\r\n * 2-byte characters property, at least CONDITIONALLY converting (entire string containing)\r\n * 16bit chars to (USC-2-BE) 2-bytes per char + BOM streams we ensure that entire PDF\r\n * is still parseable.\r\n * This will allow immediate support for unicode in document properties strings.\r\n */\r\n return to8bitStream(text, flags)\r\n .replace(/\\\\/g, \"\\\\\\\\\")\r\n .replace(/\\(/g, \"\\\\(\")\r\n .replace(/\\)/g, \"\\\\)\");\r\n });\r\n\r\n var beginPage = (API.__private__.beginPage = function(format) {\r\n pages[++page] = [];\r\n pagesContext[page] = {\r\n objId: 0,\r\n contentsObjId: 0,\r\n userUnit: Number(userUnit),\r\n artBox: null,\r\n bleedBox: null,\r\n cropBox: null,\r\n trimBox: null,\r\n mediaBox: {\r\n bottomLeftX: 0,\r\n bottomLeftY: 0,\r\n topRightX: Number(format[0]),\r\n topRightY: Number(format[1])\r\n }\r\n };\r\n _setPage(page);\r\n setOutputDestination(pages[currentPage]);\r\n });\r\n\r\n var _addPage = function(parmFormat, parmOrientation) {\r\n var dimensions, width, height;\r\n\r\n orientation = parmOrientation || orientation;\r\n\r\n if (typeof parmFormat === \"string\") {\r\n dimensions = getPageFormat(parmFormat.toLowerCase());\r\n if (Array.isArray(dimensions)) {\r\n width = dimensions[0];\r\n height = dimensions[1];\r\n }\r\n }\r\n\r\n if (Array.isArray(parmFormat)) {\r\n width = parmFormat[0] * scaleFactor;\r\n height = parmFormat[1] * scaleFactor;\r\n }\r\n\r\n if (isNaN(width)) {\r\n width = format[0];\r\n height = format[1];\r\n }\r\n\r\n if (width > 14400 || height > 14400) {\r\n console.warn(\r\n \"A page in a PDF can not be wider or taller than 14400 userUnit. jsPDF limits the width/height to 14400\"\r\n );\r\n width = Math.min(14400, width);\r\n height = Math.min(14400, height);\r\n }\r\n\r\n format = [width, height];\r\n\r\n switch (orientation.substr(0, 1)) {\r\n case \"l\":\r\n if (height > width) {\r\n format = [height, width];\r\n }\r\n break;\r\n case \"p\":\r\n if (width > height) {\r\n format = [height, width];\r\n }\r\n break;\r\n }\r\n\r\n beginPage(format);\r\n\r\n // Set line width\r\n setLineWidth(lineWidth);\r\n // Set draw color\r\n out(strokeColor);\r\n // resurrecting non-default line caps, joins\r\n if (lineCapID !== 0) {\r\n out(lineCapID + \" J\");\r\n }\r\n if (lineJoinID !== 0) {\r\n out(lineJoinID + \" j\");\r\n }\r\n events.publish(\"addPage\", {\r\n pageNumber: page\r\n });\r\n };\r\n\r\n var _deletePage = function(n) {\r\n if (n > 0 && n <= page) {\r\n pages.splice(n, 1);\r\n pagesContext.splice(n, 1);\r\n page--;\r\n if (currentPage > page) {\r\n currentPage = page;\r\n }\r\n this.setPage(currentPage);\r\n }\r\n };\r\n\r\n var _setPage = function(n) {\r\n if (n > 0 && n <= page) {\r\n currentPage = n;\r\n }\r\n };\r\n\r\n var getNumberOfPages = (API.__private__.getNumberOfPages = API.getNumberOfPages = function() {\r\n return pages.length - 1;\r\n });\r\n\r\n /**\r\n * Returns a document-specific font key - a label assigned to a\r\n * font name + font type combination at the time the font was added\r\n * to the font inventory.\r\n *\r\n * Font key is used as label for the desired font for a block of text\r\n * to be added to the PDF document stream.\r\n * @private\r\n * @function\r\n * @param fontName {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @param fontStyle {string} can be undefined on \"falthy\" to indicate \"use current\"\r\n * @returns {string} Font key.\r\n * @ignore\r\n */\r\n var getFont = function(fontName, fontStyle, options) {\r\n var key = undefined,\r\n fontNameLowerCase;\r\n options = options || {};\r\n\r\n fontName =\r\n fontName !== undefined ? fontName : fonts[activeFontKey].fontName;\r\n fontStyle =\r\n fontStyle !== undefined ? fontStyle : fonts[activeFontKey].fontStyle;\r\n fontNameLowerCase = fontName.toLowerCase();\r\n\r\n if (\r\n fontmap[fontNameLowerCase] !== undefined &&\r\n fontmap[fontNameLowerCase][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontNameLowerCase][fontStyle];\r\n } else if (\r\n fontmap[fontName] !== undefined &&\r\n fontmap[fontName][fontStyle] !== undefined\r\n ) {\r\n key = fontmap[fontName][fontStyle];\r\n } else {\r\n if (options.disableWarning === false) {\r\n console.warn(\r\n \"Unable to look up font label for font '\" +\r\n fontName +\r\n \"', '\" +\r\n fontStyle +\r\n \"'. Refer to getFontList() for available fonts.\"\r\n );\r\n }\r\n }\r\n\r\n if (!key && !options.noFallback) {\r\n key = fontmap[\"times\"][fontStyle];\r\n if (key == null) {\r\n key = fontmap[\"times\"][\"normal\"];\r\n }\r\n }\r\n return key;\r\n };\r\n\r\n var putInfo = (API.__private__.putInfo = function() {\r\n var objectId = newObject();\r\n var encryptor = function(data) {\r\n return data;\r\n };\r\n if (encryptionOptions !== null) {\r\n encryptor = encryption.encryptor(objectId, 0);\r\n }\r\n out(\"<<\");\r\n out(\"/Producer (\" + pdfEscape(encryptor(\"jsPDF \" + jsPDF.version)) + \")\");\r\n for (var key in documentProperties) {\r\n if (documentProperties.hasOwnProperty(key) && documentProperties[key]) {\r\n out(\r\n \"/\" +\r\n key.substr(0, 1).toUpperCase() +\r\n key.substr(1) +\r\n \" (\" +\r\n pdfEscape(encryptor(documentProperties[key])) +\r\n \")\"\r\n );\r\n }\r\n }\r\n out(\"/CreationDate (\" + pdfEscape(encryptor(creationDate)) + \")\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putCatalog = (API.__private__.putCatalog = function(options) {\r\n options = options || {};\r\n var tmpRootDictionaryObjId =\r\n options.rootDictionaryObjId || rootDictionaryObjId;\r\n newObject();\r\n out(\"<<\");\r\n out(\"/Type /Catalog\");\r\n out(\"/Pages \" + tmpRootDictionaryObjId + \" 0 R\");\r\n // PDF13ref Section 7.2.1\r\n if (!zoomMode) zoomMode = \"fullwidth\";\r\n switch (zoomMode) {\r\n case \"fullwidth\":\r\n out(\"/OpenAction [3 0 R /FitH null]\");\r\n break;\r\n case \"fullheight\":\r\n out(\"/OpenAction [3 0 R /FitV null]\");\r\n break;\r\n case \"fullpage\":\r\n out(\"/OpenAction [3 0 R /Fit]\");\r\n break;\r\n case \"original\":\r\n out(\"/OpenAction [3 0 R /XYZ null null 1]\");\r\n break;\r\n default:\r\n var pcn = \"\" + zoomMode;\r\n if (pcn.substr(pcn.length - 1) === \"%\")\r\n zoomMode = parseInt(zoomMode) / 100;\r\n if (typeof zoomMode === \"number\") {\r\n out(\"/OpenAction [3 0 R /XYZ null null \" + f2(zoomMode) + \"]\");\r\n }\r\n }\r\n if (!layoutMode) layoutMode = \"continuous\";\r\n switch (layoutMode) {\r\n case \"continuous\":\r\n out(\"/PageLayout /OneColumn\");\r\n break;\r\n case \"single\":\r\n out(\"/PageLayout /SinglePage\");\r\n break;\r\n case \"two\":\r\n case \"twoleft\":\r\n out(\"/PageLayout /TwoColumnLeft\");\r\n break;\r\n case \"tworight\":\r\n out(\"/PageLayout /TwoColumnRight\");\r\n break;\r\n }\r\n if (pageMode) {\r\n /**\r\n * A name object specifying how the document should be displayed when opened:\r\n * UseNone : Neither document outline nor thumbnail images visible -- DEFAULT\r\n * UseOutlines : Document outline visible\r\n * UseThumbs : Thumbnail images visible\r\n * FullScreen : Full-screen mode, with no menu bar, window controls, or any other window visible\r\n */\r\n out(\"/PageMode /\" + pageMode);\r\n }\r\n events.publish(\"putCatalog\");\r\n out(\">>\");\r\n out(\"endobj\");\r\n });\r\n\r\n var putTrailer = (API.__private__.putTrailer = function() {\r\n out(\"trailer\");\r\n out(\"<<\");\r\n out(\"/Size \" + (objectNumber + 1));\r\n // Root and Info must be the last and second last objects written respectively\r\n out(\"/Root \" + objectNumber + \" 0 R\");\r\n out(\"/Info \" + (objectNumber - 1) + \" 0 R\");\r\n if (encryptionOptions !== null) {\r\n out(\"/Encrypt \" + encryption.oid + \" 0 R\");\r\n }\r\n out(\"/ID [ <\" + fileId + \"> <\" + fileId + \"> ]\");\r\n out(\">>\");\r\n });\r\n\r\n var putHeader = (API.__private__.putHeader = function() {\r\n out(\"%PDF-\" + pdfVersion);\r\n out(\"%\\xBA\\xDF\\xAC\\xE0\");\r\n });\r\n\r\n var putXRef = (API.__private__.putXRef = function() {\r\n var p = \"0000000000\";\r\n\r\n out(\"xref\");\r\n out(\"0 \" + (objectNumber + 1));\r\n out(\"0000000000 65535 f \");\r\n for (var i = 1; i <= objectNumber; i++) {\r\n var offset = offsets[i];\r\n if (typeof offset === \"function\") {\r\n out((p + offsets[i]()).slice(-10) + \" 00000 n \");\r\n } else {\r\n if (typeof offsets[i] !== \"undefined\") {\r\n out((p + offsets[i]).slice(-10) + \" 00000 n \");\r\n } else {\r\n out(\"0000000000 00000 n \");\r\n }\r\n }\r\n }\r\n });\r\n\r\n var buildDocument = (API.__private__.buildDocument = function() {\r\n resetDocument();\r\n setOutputDestination(content);\r\n\r\n events.publish(\"buildDocument\");\r\n\r\n putHeader();\r\n putPages();\r\n putAdditionalObjects();\r\n putResources();\r\n if (encryptionOptions !== null) putEncryptionDict();\r\n putInfo();\r\n putCatalog();\r\n\r\n var offsetOfXRef = contentLength;\r\n putXRef();\r\n putTrailer();\r\n out(\"startxref\");\r\n out(\"\" + offsetOfXRef);\r\n out(\"%%EOF\");\r\n\r\n setOutputDestination(pages[currentPage]);\r\n\r\n return content.join(\"\\n\");\r\n });\r\n\r\n var getBlob = (API.__private__.getBlob = function(data) {\r\n return new Blob([getArrayBuffer(data)], {\r\n type: \"application/pdf\"\r\n });\r\n });\r\n\r\n /**\r\n * Generates the PDF document.\r\n *\r\n * If `type` argument is undefined, output is raw body of resulting PDF returned as a string.\r\n *\r\n * @param {string} type A string identifying one of the possible output types.
\r\n * Possible values are:
\r\n * 'arraybuffer' -> (ArrayBuffer)
\r\n * 'blob' -> (Blob)
\r\n * 'bloburi'/'bloburl' -> (string)
\r\n * 'datauristring'/'dataurlstring' -> (string)
\r\n * 'datauri'/'dataurl' -> (undefined) -> change location to generated datauristring/dataurlstring
\r\n * 'dataurlnewwindow' -> (window | null | undefined) throws error if global isn't a window object(node)
\r\n * 'pdfobjectnewwindow' -> (window | null) throws error if global isn't a window object(node)
\r\n * 'pdfjsnewwindow' -> (wind | null)\r\n * @param {Object|string} options An object providing some additional signalling to PDF generator.
\r\n * Possible options are 'filename'.
\r\n * A string can be passed instead of {filename:string} and defaults to 'generated.pdf'\r\n * @function\r\n * @instance\r\n * @returns {string|window|ArrayBuffer|Blob|jsPDF|null|undefined}\r\n * @memberof jsPDF#\r\n * @name output\r\n */\r\n var output = (API.output = API.__private__.output = SAFE(function output(\r\n type,\r\n options\r\n ) {\r\n options = options || {};\r\n\r\n if (typeof options === \"string\") {\r\n options = {\r\n filename: options\r\n };\r\n } else {\r\n options.filename = options.filename || \"generated.pdf\";\r\n }\r\n\r\n switch (type) {\r\n case undefined:\r\n return buildDocument();\r\n case \"save\":\r\n API.save(options.filename);\r\n break;\r\n case \"arraybuffer\":\r\n return getArrayBuffer(buildDocument());\r\n case \"blob\":\r\n return getBlob(buildDocument());\r\n case \"bloburi\":\r\n case \"bloburl\":\r\n // Developer is responsible of calling revokeObjectURL\r\n if (\r\n typeof globalObject.URL !== \"undefined\" &&\r\n typeof globalObject.URL.createObjectURL === \"function\"\r\n ) {\r\n return (\r\n (globalObject.URL &&\r\n globalObject.URL.createObjectURL(getBlob(buildDocument()))) ||\r\n void 0\r\n );\r\n } else {\r\n console.warn(\r\n \"bloburl is not supported by your system, because URL.createObjectURL is not supported by your browser.\"\r\n );\r\n }\r\n break;\r\n case \"datauristring\":\r\n case \"dataurlstring\":\r\n var dataURI = \"\";\r\n var pdfDocument = buildDocument();\r\n try {\r\n dataURI = btoa(pdfDocument);\r\n } catch (e) {\r\n dataURI = btoa(unescape(encodeURIComponent(pdfDocument)));\r\n }\r\n return (\r\n \"data:application/pdf;filename=\" +\r\n options.filename +\r\n \";base64,\" +\r\n dataURI\r\n );\r\n case \"pdfobjectnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfObjectUrl =\r\n \"https://cdnjs.cloudflare.com/ajax/libs/pdfobject/2.1.1/pdfobject.min.js\";\r\n var integrity =\r\n ' integrity=\"sha512-4ze/a9/4jqu+tX9dfOqJYSvyYd5M6qum/3HpCLr+/Jqf0whc37VUbkpNGHR7/8pSnCFw47T1fmIpwBV7UySh3g==\" crossorigin=\"anonymous\"';\r\n\r\n if (options.pdfObjectUrl) {\r\n pdfObjectUrl = options.pdfObjectUrl;\r\n integrity = \"\";\r\n }\r\n\r\n var htmlForNewWindow =\r\n \"\" +\r\n '\";\r\n var nW = globalObject.open();\r\n\r\n if (nW !== null) {\r\n nW.document.write(htmlForNewWindow);\r\n }\r\n return nW;\r\n } else {\r\n throw new Error(\r\n \"The option pdfobjectnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n case \"pdfjsnewwindow\":\r\n if (\r\n Object.prototype.toString.call(globalObject) === \"[object Window]\"\r\n ) {\r\n var pdfJsUrl = options.pdfJsUrl || \"examples/PDF.js/web/viewer.html\";\r\n var htmlForPDFjsNewWindow =\r\n \"\" +\r\n \"\" +\r\n '' +\r\n \"\";\r\n var dataURLNewWindow = globalObject.open();\r\n if (dataURLNewWindow !== null) {\r\n dataURLNewWindow.document.write(htmlForDataURLNewWindow);\r\n dataURLNewWindow.document.title = options.filename;\r\n }\r\n if (dataURLNewWindow || typeof safari === \"undefined\")\r\n return dataURLNewWindow;\r\n } else {\r\n throw new Error(\r\n \"The option dataurlnewwindow just works in a browser-environment.\"\r\n );\r\n }\r\n break;\r\n case \"datauri\":\r\n case \"dataurl\":\r\n return (globalObject.document.location.href = this.output(\r\n \"datauristring\",\r\n options\r\n ));\r\n default:\r\n return null;\r\n }\r\n }));\r\n\r\n /**\r\n * Used to see if a supplied hotfix was requested when the pdf instance was created.\r\n * @param {string} hotfixName - The name of the hotfix to check.\r\n * @returns {boolean}\r\n */\r\n var hasHotfix = function(hotfixName) {\r\n return (\r\n Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1\r\n );\r\n };\r\n\r\n switch (unit) {\r\n case \"pt\":\r\n scaleFactor = 1;\r\n break;\r\n case \"mm\":\r\n scaleFactor = 72 / 25.4;\r\n break;\r\n case \"cm\":\r\n scaleFactor = 72 / 2.54;\r\n break;\r\n case \"in\":\r\n scaleFactor = 72;\r\n break;\r\n case \"px\":\r\n if (hasHotfix(\"px_scaling\") == true) {\r\n scaleFactor = 72 / 96;\r\n } else {\r\n scaleFactor = 96 / 72;\r\n }\r\n break;\r\n case \"pc\":\r\n scaleFactor = 12;\r\n break;\r\n case \"em\":\r\n scaleFactor = 12;\r\n break;\r\n case \"ex\":\r\n scaleFactor = 6;\r\n break;\r\n default:\r\n if (typeof unit === \"number\") {\r\n scaleFactor = unit;\r\n } else {\r\n throw new Error(\"Invalid unit: \" + unit);\r\n }\r\n }\r\n\r\n var encryption = null;\r\n setCreationDate();\r\n setFileId();\r\n\r\n var getEncryptor = function(objectId) {\r\n if (encryptionOptions !== null) {\r\n return encryption.encryptor(objectId, 0);\r\n }\r\n return function(data) {\r\n return data;\r\n };\r\n };\r\n\r\n //---------------------------------------\r\n // Public API\r\n\r\n var getPageInfo = (API.__private__.getPageInfo = API.getPageInfo = function(\r\n pageNumberOneBased\r\n ) {\r\n if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfo\");\r\n }\r\n var objId = pagesContext[pageNumberOneBased].objId;\r\n return {\r\n objId: objId,\r\n pageNumber: pageNumberOneBased,\r\n pageContext: pagesContext[pageNumberOneBased]\r\n };\r\n });\r\n\r\n var getPageInfoByObjId = (API.__private__.getPageInfoByObjId = function(\r\n objId\r\n ) {\r\n if (isNaN(objId) || objId % 1 !== 0) {\r\n throw new Error(\"Invalid argument passed to jsPDF.getPageInfoByObjId\");\r\n }\r\n for (var pageNumber in pagesContext) {\r\n if (pagesContext[pageNumber].objId === objId) {\r\n break;\r\n }\r\n }\r\n return getPageInfo(pageNumber);\r\n });\r\n\r\n var getCurrentPageInfo = (API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function() {\r\n return {\r\n objId: pagesContext[currentPage].objId,\r\n pageNumber: currentPage,\r\n pageContext: pagesContext[currentPage]\r\n };\r\n });\r\n\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @param format {String/Array} The format of the new page. Can be:
  • a0 - a10
  • b0 - b10
  • c0 - c10
  • dl
  • letter
  • government-letter
  • legal
  • junior-legal
  • ledger
  • tabloid
  • credit-card

\r\n * Default is \"a4\". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89]\r\n * @param orientation {string} Orientation of the new page. Possible values are \"portrait\" or \"landscape\" (or shortcuts \"p\" (Default), \"l\").\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addPage\r\n */\r\n API.addPage = function() {\r\n _addPage.apply(this, arguments);\r\n return this;\r\n };\r\n /**\r\n * Adds (and transfers the focus to) new page to the PDF document.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name setPage\r\n * @param {number} page Switch the active page to the page number specified (indexed starting at 1).\r\n * @example\r\n * doc = jsPDF()\r\n * doc.addPage()\r\n * doc.addPage()\r\n * doc.text('I am on page 3', 10, 10)\r\n * doc.setPage(1)\r\n * doc.text('I am on page 1', 10, 10)\r\n */\r\n API.setPage = function() {\r\n _setPage.apply(this, arguments);\r\n setOutputDestination.call(this, pages[currentPage]);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name insertPage\r\n * @memberof jsPDF#\r\n *\r\n * @function\r\n * @instance\r\n * @param {Object} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.insertPage = function(beforePage) {\r\n this.addPage();\r\n this.movePage(currentPage, beforePage);\r\n return this;\r\n };\r\n\r\n /**\r\n * @name movePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @instance\r\n * @param {number} targetPage\r\n * @param {number} beforePage\r\n * @returns {jsPDF}\r\n */\r\n API.movePage = function(targetPage, beforePage) {\r\n var tmpPages, tmpPagesContext;\r\n if (targetPage > beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var i = targetPage; i > beforePage; i--) {\r\n pages[i] = pages[i - 1];\r\n pagesContext[i] = pagesContext[i - 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n } else if (targetPage < beforePage) {\r\n tmpPages = pages[targetPage];\r\n tmpPagesContext = pagesContext[targetPage];\r\n for (var j = targetPage; j < beforePage; j++) {\r\n pages[j] = pages[j + 1];\r\n pagesContext[j] = pagesContext[j + 1];\r\n }\r\n pages[beforePage] = tmpPages;\r\n pagesContext[beforePage] = tmpPagesContext;\r\n this.setPage(beforePage);\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Deletes a page from the PDF.\r\n * @name deletePage\r\n * @memberof jsPDF#\r\n * @function\r\n * @param {number} targetPage\r\n * @instance\r\n * @returns {jsPDF}\r\n */\r\n API.deletePage = function() {\r\n _deletePage.apply(this, arguments);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings.\r\n *\r\n * @function\r\n * @instance\r\n * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call.\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page.\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page.\r\n * @param {Object} [options] - Collection of settings signaling how the text must be encoded.\r\n * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify.\r\n * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging\r\n * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree.\r\n * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise.\r\n * @param {number} [options.charSpace=0] - The space between each letter.\r\n * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size.\r\n * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line.\r\n * @param {Object} [options.flags] - Flags for to8bitStream.\r\n * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text.\r\n * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text.\r\n * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split.\r\n * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping.\r\n * @param {boolean} [options.isInputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine\r\n * @param {boolean} [options.isInputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine\r\n * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine\r\n * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y.\r\n *\r\n * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing\r\n * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this\r\n * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a\r\n * DIFFERENT result. A matrix is only allowed in \"advanced\" API mode.\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name text\r\n */\r\n API.__private__.text = API.text = function(text, x, y, options, transform) {\r\n /*\r\n * Inserts something like this into PDF\r\n * BT\r\n * /F1 16 Tf % Font name + size\r\n * 16 TL % How many units down for next line in multiline text\r\n * 0 g % color\r\n * 28.35 813.54 Td % position\r\n * (line one) Tj\r\n * T* (line two) Tj\r\n * T* (line three) Tj\r\n * ET\r\n */\r\n options = options || {};\r\n var scope = options.scope || this;\r\n var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, text, flags)\r\n // in effort to make all calls have similar signature like\r\n // function(data, coordinates... , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (\r\n typeof text === \"number\" &&\r\n typeof x === \"number\" &&\r\n (typeof y === \"string\" || Array.isArray(y))\r\n ) {\r\n var tmp = y;\r\n y = x;\r\n x = text;\r\n text = tmp;\r\n }\r\n\r\n var transformationMatrix;\r\n\r\n if (arguments[3] instanceof Matrix === false) {\r\n flags = arguments[3];\r\n angle = arguments[4];\r\n align = arguments[5];\r\n\r\n if (typeof flags !== \"object\" || flags === null) {\r\n if (typeof angle === \"string\") {\r\n align = angle;\r\n angle = null;\r\n }\r\n if (typeof flags === \"string\") {\r\n align = flags;\r\n flags = null;\r\n }\r\n if (typeof flags === \"number\") {\r\n angle = flags;\r\n flags = null;\r\n }\r\n options = {\r\n flags: flags,\r\n angle: angle,\r\n align: align\r\n };\r\n }\r\n } else {\r\n advancedApiModeTrap(\r\n \"The transform parameter of text() with a Matrix value\"\r\n );\r\n transformationMatrix = transform;\r\n }\r\n\r\n if (isNaN(x) || isNaN(y) || typeof text === \"undefined\" || text === null) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.text\");\r\n }\r\n\r\n if (text.length === 0) {\r\n return scope;\r\n }\r\n\r\n var xtra = \"\";\r\n var isHex = false;\r\n var lineHeight =\r\n typeof options.lineHeightFactor === \"number\"\r\n ? options.lineHeightFactor\r\n : lineHeightFactor;\r\n var scaleFactor = scope.internal.scaleFactor;\r\n\r\n function ESC(s) {\r\n s = s.split(\"\\t\").join(Array(options.TabLen || 9).join(\" \"));\r\n return pdfEscape(s, flags);\r\n }\r\n\r\n function transformTextToSpecialArray(text) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(curDa);\r\n } else {\r\n if (\r\n Array.isArray(text) &&\r\n (curDa.length === 1 ||\r\n (curDa[1] === undefined && curDa[2] === undefined))\r\n ) {\r\n da.push(curDa[0]);\r\n } else {\r\n da.push([curDa[0], curDa[1], curDa[2]]);\r\n }\r\n }\r\n }\r\n return da;\r\n }\r\n\r\n function processTextByFunction(text, processingFunction) {\r\n var result;\r\n if (typeof text === \"string\") {\r\n result = processingFunction(text)[0];\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n var da = [];\r\n var len = sa.length;\r\n var curDa;\r\n var tmpResult;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (typeof curDa === \"string\") {\r\n da.push(processingFunction(curDa)[0]);\r\n } else if (Array.isArray(curDa) && typeof curDa[0] === \"string\") {\r\n tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]);\r\n da.push([tmpResult[0], tmpResult[1], tmpResult[2]]);\r\n }\r\n }\r\n result = da;\r\n }\r\n return result;\r\n }\r\n\r\n //Check if text is of type String\r\n var textIsOfTypeString = false;\r\n var tmpTextIsOfTypeString = true;\r\n\r\n if (typeof text === \"string\") {\r\n textIsOfTypeString = true;\r\n } else if (Array.isArray(text)) {\r\n //we don't want to destroy original text array, so cloning it\r\n var sa = text.concat();\r\n da = [];\r\n var len = sa.length;\r\n var curDa;\r\n //we do array.join('text that must not be PDFescaped\")\r\n //thus, pdfEscape each component separately\r\n while (len--) {\r\n curDa = sa.shift();\r\n if (\r\n typeof curDa !== \"string\" ||\r\n (Array.isArray(curDa) && typeof curDa[0] !== \"string\")\r\n ) {\r\n tmpTextIsOfTypeString = false;\r\n }\r\n }\r\n textIsOfTypeString = tmpTextIsOfTypeString;\r\n }\r\n if (textIsOfTypeString === false) {\r\n throw new Error(\r\n 'Type of text must be string or Array. \"' +\r\n text +\r\n '\" is not recognized.'\r\n );\r\n }\r\n\r\n //If there are any newlines in text, we assume\r\n //the user wanted to print multiple lines, so break the\r\n //text up into an array. If the text is already an array,\r\n //we assume the user knows what they are doing.\r\n //Convert text into an array anyway to simplify\r\n //later code.\r\n\r\n if (typeof text === \"string\") {\r\n if (text.match(/[\\r?\\n]/)) {\r\n text = text.split(/\\r\\n|\\r|\\n/g);\r\n } else {\r\n text = [text];\r\n }\r\n }\r\n\r\n //baseline\r\n var height = activeFontSize / scope.internal.scaleFactor;\r\n var descent = height * (lineHeight - 1);\r\n\r\n switch (options.baseline) {\r\n case \"bottom\":\r\n y -= descent;\r\n break;\r\n case \"top\":\r\n y += height - descent;\r\n break;\r\n case \"hanging\":\r\n y += height - 2 * descent;\r\n break;\r\n case \"middle\":\r\n y += height / 2 - descent;\r\n break;\r\n case \"ideographic\":\r\n case \"alphabetic\":\r\n default:\r\n // do nothing, everything is fine\r\n break;\r\n }\r\n\r\n //multiline\r\n maxWidth = options.maxWidth || 0;\r\n\r\n if (maxWidth > 0) {\r\n if (typeof text === \"string\") {\r\n text = scope.splitTextToSize(text, maxWidth);\r\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n text = text.reduce(function(acc, textLine) {\r\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\r\n }, []);\r\n }\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"preProcessText\", payload);\r\n\r\n text = payload.text;\r\n options = payload.options;\r\n\r\n //angle\r\n angle = options.angle;\r\n\r\n if (\r\n transformationMatrix instanceof Matrix === false &&\r\n angle &&\r\n typeof angle === \"number\"\r\n ) {\r\n angle *= Math.PI / 180;\r\n\r\n if (options.rotationDirection === 0) {\r\n angle = -angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n angle = -angle;\r\n }\r\n\r\n var c = Math.cos(angle);\r\n var s = Math.sin(angle);\r\n transformationMatrix = new Matrix(c, s, -s, c, 0, 0);\r\n } else if (angle && angle instanceof Matrix) {\r\n transformationMatrix = angle;\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED && !transformationMatrix) {\r\n transformationMatrix = identityMatrix;\r\n }\r\n\r\n //charSpace\r\n\r\n charSpace = options.charSpace || activeCharSpace;\r\n\r\n if (typeof charSpace !== \"undefined\") {\r\n xtra += hpf(scale(charSpace)) + \" Tc\\n\";\r\n this.setCharSpace(this.getCharSpace() || 0);\r\n }\r\n\r\n horizontalScale = options.horizontalScale;\r\n if (typeof horizontalScale !== \"undefined\") {\r\n xtra += hpf(horizontalScale * 100) + \" Tz\\n\";\r\n }\r\n\r\n //lang\r\n\r\n var lang = options.lang;\r\n\r\n if (lang) {\r\n // xtra += \"/Lang (\" + lang +\")\\n\";\r\n }\r\n\r\n //renderingMode\r\n var renderingMode = -1;\r\n var parmRenderingMode =\r\n typeof options.renderingMode !== \"undefined\"\r\n ? options.renderingMode\r\n : options.stroke;\r\n var pageContext = scope.internal.getCurrentPageInfo().pageContext;\r\n\r\n switch (parmRenderingMode) {\r\n case 0:\r\n case false:\r\n case \"fill\":\r\n renderingMode = 0;\r\n break;\r\n case 1:\r\n case true:\r\n case \"stroke\":\r\n renderingMode = 1;\r\n break;\r\n case 2:\r\n case \"fillThenStroke\":\r\n renderingMode = 2;\r\n break;\r\n case 3:\r\n case \"invisible\":\r\n renderingMode = 3;\r\n break;\r\n case 4:\r\n case \"fillAndAddForClipping\":\r\n renderingMode = 4;\r\n break;\r\n case 5:\r\n case \"strokeAndAddPathForClipping\":\r\n renderingMode = 5;\r\n break;\r\n case 6:\r\n case \"fillThenStrokeAndAddToPathForClipping\":\r\n renderingMode = 6;\r\n break;\r\n case 7:\r\n case \"addToPathForClipping\":\r\n renderingMode = 7;\r\n break;\r\n }\r\n\r\n var usedRenderingMode =\r\n typeof pageContext.usedRenderingMode !== \"undefined\"\r\n ? pageContext.usedRenderingMode\r\n : -1;\r\n\r\n //if the coder wrote it explicitly to use a specific\r\n //renderingMode, then use it\r\n if (renderingMode !== -1) {\r\n xtra += renderingMode + \" Tr\\n\";\r\n //otherwise check if we used the rendering Mode already\r\n //if so then set the rendering Mode...\r\n } else if (usedRenderingMode !== -1) {\r\n xtra += \"0 Tr\\n\";\r\n }\r\n\r\n if (renderingMode !== -1) {\r\n pageContext.usedRenderingMode = renderingMode;\r\n }\r\n\r\n //align\r\n align = options.align || \"left\";\r\n var leading = activeFontSize * lineHeight;\r\n var pageWidth = scope.internal.pageSize.getWidth();\r\n var activeFont = fonts[activeFontKey];\r\n charSpace = options.charSpace || activeCharSpace;\r\n maxWidth = options.maxWidth || 0;\r\n\r\n var lineWidths;\r\n flags = Object.assign({ autoencode: true, noBOM: true }, options.flags);\r\n\r\n var wordSpacingPerLine = [];\r\n\r\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\r\n da = transformTextToSpecialArray(text);\r\n var newY;\r\n if (align !== \"left\") {\r\n lineWidths = da.map(function(v) {\r\n return (\r\n (scope.getStringUnitWidth(v, {\r\n font: activeFont,\r\n charSpace: charSpace,\r\n fontSize: activeFontSize,\r\n doKerning: false\r\n }) *\r\n activeFontSize) /\r\n scaleFactor\r\n );\r\n });\r\n }\r\n //The first line uses the \"main\" Td setting,\r\n //and the subsequent lines are offset by the\r\n //previous line's x coordinate.\r\n var prevWidth = 0;\r\n var newX;\r\n if (align === \"right\") {\r\n //The passed in x coordinate defines the\r\n //rightmost point of the text.\r\n x -= lineWidths[0];\r\n text = [];\r\n len = da.length;\r\n for (var i = 0; i < len; i++) {\r\n if (i === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale(prevWidth - lineWidths[i]);\r\n newY = -leading;\r\n }\r\n text.push([da[i], newX, newY]);\r\n prevWidth = lineWidths[i];\r\n }\r\n } else if (align === \"center\") {\r\n //The passed in x coordinate defines\r\n //the center point.\r\n x -= lineWidths[0] / 2;\r\n text = [];\r\n len = da.length;\r\n for (var j = 0; j < len; j++) {\r\n if (j === 0) {\r\n newX = getHorizontalCoordinate(x);\r\n newY = getVerticalCoordinate(y);\r\n } else {\r\n newX = scale((prevWidth - lineWidths[j]) / 2);\r\n newY = -leading;\r\n }\r\n text.push([da[j], newX, newY]);\r\n prevWidth = lineWidths[j];\r\n }\r\n } else if (align === \"left\") {\r\n text = [];\r\n len = da.length;\r\n for (var h = 0; h < len; h++) {\r\n text.push(da[h]);\r\n }\r\n } else if (align === \"justify\") {\r\n text = [];\r\n len = da.length;\r\n maxWidth = maxWidth !== 0 ? maxWidth : pageWidth;\r\n\r\n for (var l = 0; l < len; l++) {\r\n newY = l === 0 ? getVerticalCoordinate(y) : -leading;\r\n newX = l === 0 ? getHorizontalCoordinate(x) : 0;\r\n if (l < len - 1) {\r\n wordSpacingPerLine.push(\r\n hpf(\r\n scale(\r\n (maxWidth - lineWidths[l]) / (da[l].split(\" \").length - 1)\r\n )\r\n )\r\n );\r\n } else {\r\n wordSpacingPerLine.push(0);\r\n }\r\n text.push([da[l], newX, newY]);\r\n }\r\n } else {\r\n throw new Error(\r\n 'Unrecognized alignment option, use \"left\", \"center\", \"right\" or \"justify\".'\r\n );\r\n }\r\n }\r\n\r\n //R2L\r\n var doReversing = typeof options.R2L === \"boolean\" ? options.R2L : R2L;\r\n if (doReversing === true) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [\r\n text\r\n .split(\"\")\r\n .reverse()\r\n .join(\"\"),\r\n posX,\r\n posY\r\n ];\r\n });\r\n }\r\n\r\n //creating Payload-Object to make text byRef\r\n payload = {\r\n text: text,\r\n x: x,\r\n y: y,\r\n options: options,\r\n mutex: {\r\n pdfEscape: pdfEscape,\r\n activeFontKey: activeFontKey,\r\n fonts: fonts,\r\n activeFontSize: activeFontSize\r\n }\r\n };\r\n events.publish(\"postProcessText\", payload);\r\n\r\n text = payload.text;\r\n isHex = payload.mutex.isHex || false;\r\n\r\n //Escaping\r\n var activeFontEncoding = fonts[activeFontKey].encoding;\r\n\r\n if (\r\n activeFontEncoding === \"WinAnsiEncoding\" ||\r\n activeFontEncoding === \"StandardEncoding\"\r\n ) {\r\n text = processTextByFunction(text, function(text, posX, posY) {\r\n return [ESC(text), posX, posY];\r\n });\r\n }\r\n\r\n da = transformTextToSpecialArray(text);\r\n\r\n text = [];\r\n var STRING = 0;\r\n var ARRAY = 1;\r\n var variant = Array.isArray(da[0]) ? ARRAY : STRING;\r\n var posX;\r\n var posY;\r\n var content;\r\n var wordSpacing = \"\";\r\n\r\n var generatePosition = function(\r\n parmPosX,\r\n parmPosY,\r\n parmTransformationMatrix\r\n ) {\r\n var position = \"\";\r\n if (parmTransformationMatrix instanceof Matrix) {\r\n // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y\r\n // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied\r\n // in the coordinate system established by this matrix\r\n if (typeof options.angle === \"number\") {\r\n parmTransformationMatrix = matrixMult(\r\n parmTransformationMatrix,\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY)\r\n );\r\n } else {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, 1, parmPosX, parmPosY),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n if (apiMode === ApiMode.ADVANCED) {\r\n parmTransformationMatrix = matrixMult(\r\n new Matrix(1, 0, 0, -1, 0, 0),\r\n parmTransformationMatrix\r\n );\r\n }\r\n\r\n position = parmTransformationMatrix.join(\" \") + \" Tm\\n\";\r\n } else {\r\n position = hpf(parmPosX) + \" \" + hpf(parmPosY) + \" Td\\n\";\r\n }\r\n return position;\r\n };\r\n\r\n for (var lineIndex = 0; lineIndex < da.length; lineIndex++) {\r\n wordSpacing = \"\";\r\n\r\n switch (variant) {\r\n case ARRAY:\r\n content =\r\n (isHex ? \"<\" : \"(\") + da[lineIndex][0] + (isHex ? \">\" : \")\");\r\n posX = parseFloat(da[lineIndex][1]);\r\n posY = parseFloat(da[lineIndex][2]);\r\n break;\r\n case STRING:\r\n content = (isHex ? \"<\" : \"(\") + da[lineIndex] + (isHex ? \">\" : \")\");\r\n posX = getHorizontalCoordinate(x);\r\n posY = getVerticalCoordinate(y);\r\n break;\r\n }\r\n\r\n if (\r\n typeof wordSpacingPerLine !== \"undefined\" &&\r\n typeof wordSpacingPerLine[lineIndex] !== \"undefined\"\r\n ) {\r\n wordSpacing = wordSpacingPerLine[lineIndex] + \" Tw\\n\";\r\n }\r\n\r\n if (lineIndex === 0) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n } else if (variant === STRING) {\r\n text.push(wordSpacing + content);\r\n } else if (variant === ARRAY) {\r\n text.push(\r\n wordSpacing +\r\n generatePosition(posX, posY, transformationMatrix) +\r\n content\r\n );\r\n }\r\n }\r\n\r\n text = variant === STRING ? text.join(\" Tj\\nT* \") : text.join(\" Tj\\n\");\r\n text += \" Tj\\n\";\r\n\r\n var result = \"BT\\n/\";\r\n result += activeFontKey + \" \" + activeFontSize + \" Tf\\n\"; // font face, style, size\r\n result += hpf(activeFontSize * lineHeight) + \" TL\\n\"; // line spacing\r\n result += textColor + \"\\n\";\r\n result += xtra;\r\n result += text;\r\n result += \"ET\";\r\n\r\n out(result);\r\n usedFonts[activeFontKey] = true;\r\n return scope;\r\n };\r\n\r\n // PDF supports these path painting and clip path operators:\r\n //\r\n // S - stroke\r\n // s - close/stroke\r\n // f (F) - fill non-zero\r\n // f* - fill evenodd\r\n // B - fill stroke nonzero\r\n // B* - fill stroke evenodd\r\n // b - close fill stroke nonzero\r\n // b* - close fill stroke evenodd\r\n // n - nothing (consume path)\r\n // W - clip nonzero\r\n // W* - clip evenodd\r\n //\r\n // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close()\r\n // method.\r\n /**\r\n *\r\n * @name clip\r\n * @function\r\n * @instance\r\n * @param {string} rule Only possible value is 'evenodd'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description All .clip() after calling drawing ops with a style argument of null.\r\n */\r\n var clip = (API.__private__.clip = API.clip = function(rule) {\r\n // Call .clip() after calling drawing ops with a style argument of null\r\n // W is the PDF clipping op\r\n if (\"evenodd\" === rule) {\r\n out(\"W*\");\r\n } else {\r\n out(\"W\");\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * @name clipEvenOdd\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note\r\n * that this will NOT consume the current path. In order to only use this path for clipping call\r\n * {@link API.discardPath} afterwards.\r\n */\r\n API.clipEvenOdd = function() {\r\n return clip(\"evenodd\");\r\n };\r\n\r\n /**\r\n * Consumes the current path without any effect. Mainly used in combination with {@link clip} or\r\n * {@link clipEvenOdd}. The PDF \"n\" operator.\r\n * @name discardPath\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.discardPath = API.discardPath = function() {\r\n out(\"n\");\r\n return this;\r\n };\r\n\r\n var isValidStyle = (API.__private__.isValidStyle = function(style) {\r\n var validStyleVariants = [\r\n undefined,\r\n null,\r\n \"S\",\r\n \"D\",\r\n \"F\",\r\n \"DF\",\r\n \"FD\",\r\n \"f\",\r\n \"f*\",\r\n \"B\",\r\n \"B*\",\r\n \"n\"\r\n ];\r\n var result = false;\r\n if (validStyleVariants.indexOf(style) !== -1) {\r\n result = true;\r\n }\r\n return result;\r\n });\r\n\r\n API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function(\r\n operator\r\n ) {\r\n if (isValidStyle(operator)) {\r\n defaultPathOperation = operator;\r\n }\r\n return this;\r\n };\r\n\r\n var getStyle = (API.__private__.getStyle = API.getStyle = function(style) {\r\n // see path-painting operators in PDF spec\r\n var op = defaultPathOperation; // stroke\r\n\r\n switch (style) {\r\n case \"D\":\r\n case \"S\":\r\n op = \"S\"; // stroke\r\n break;\r\n case \"F\":\r\n op = \"f\"; // fill\r\n break;\r\n case \"FD\":\r\n case \"DF\":\r\n op = \"B\";\r\n break;\r\n case \"f\":\r\n case \"f*\":\r\n case \"B\":\r\n case \"B*\":\r\n /*\r\n Allow direct use of these PDF path-painting operators:\r\n - f fill using nonzero winding number rule\r\n - f* fill using even-odd rule\r\n - B fill then stroke with fill using non-zero winding number rule\r\n - B* fill then stroke with fill using even-odd rule\r\n */\r\n op = style;\r\n break;\r\n }\r\n return op;\r\n });\r\n\r\n /**\r\n * Close the current path. The PDF \"h\" operator.\r\n * @name close\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n var close = (API.close = function() {\r\n out(\"h\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Stroke the path. The PDF \"S\" operator.\r\n * @name stroke\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.stroke = function() {\r\n out(\"S\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled\r\n * with this pattern, otherwise with the current fill color. Equivalent to the PDF \"f\" operator.\r\n * @name fill\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fill = function(pattern) {\r\n fillWithOptionalPattern(\"f\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill the current path using the even-odd rule. The PDF f* operator.\r\n * @see API.fill\r\n * @name fillEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be filled with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"f*\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the nonzero winding number rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStroke\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStroke = function(pattern) {\r\n fillWithOptionalPattern(\"B\", pattern);\r\n return this;\r\n };\r\n\r\n /**\r\n * Fill using the even-odd rule and then stroke the current Path. The PDF \"B\" operator.\r\n * @see API.fill\r\n * @name fillStrokeEvenOdd\r\n * @function\r\n * @instance\r\n * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.fillStrokeEvenOdd = function(pattern) {\r\n fillWithOptionalPattern(\"B*\", pattern);\r\n return this;\r\n };\r\n\r\n var fillWithOptionalPattern = function(style, pattern) {\r\n if (typeof pattern === \"object\") {\r\n fillWithPattern(pattern, style);\r\n } else {\r\n out(style);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n if (\r\n style === null ||\r\n (apiMode === ApiMode.ADVANCED && style === undefined)\r\n ) {\r\n return;\r\n }\r\n\r\n style = getStyle(style);\r\n\r\n // stroking / filling / both the path\r\n out(style);\r\n };\r\n\r\n function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) {\r\n var clone = new TilingPattern(\r\n boundingBox || this.boundingBox,\r\n xStep || this.xStep,\r\n yStep || this.yStep,\r\n this.gState,\r\n matrix || this.matrix\r\n );\r\n clone.stream = this.stream;\r\n var key = patternKey + \"$$\" + this.cloneIndex++ + \"$$\";\r\n addPattern(key, clone);\r\n return clone;\r\n }\r\n\r\n var fillWithPattern = function(patternData, style) {\r\n var patternId = patternMap[patternData.key];\r\n var pattern = patterns[patternId];\r\n\r\n if (pattern instanceof ShadingPattern) {\r\n out(\"q\");\r\n\r\n out(clipRuleFromStyle(style));\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n out(patternData.matrix.toString() + \" cm\");\r\n out(\"/\" + patternId + \" sh\");\r\n out(\"Q\");\r\n } else if (pattern instanceof TilingPattern) {\r\n // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation,\r\n // so we must flip them\r\n var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight());\r\n\r\n if (patternData.matrix) {\r\n matrix = matrix.multiply(patternData.matrix || identityMatrix);\r\n // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances\r\n // for each use\r\n patternId = cloneTilingPattern.call(\r\n pattern,\r\n patternData.key,\r\n patternData.boundingBox,\r\n patternData.xStep,\r\n patternData.yStep,\r\n matrix\r\n ).id;\r\n }\r\n\r\n out(\"q\");\r\n out(\"/Pattern cs\");\r\n out(\"/\" + patternId + \" scn\");\r\n\r\n if (pattern.gState) {\r\n API.setGState(pattern.gState);\r\n }\r\n\r\n out(style);\r\n out(\"Q\");\r\n }\r\n };\r\n\r\n var clipRuleFromStyle = function(style) {\r\n switch (style) {\r\n case \"f\":\r\n case \"F\":\r\n return \"W n\";\r\n case \"f*\":\r\n return \"W* n\";\r\n case \"B\":\r\n return \"W S\";\r\n case \"B*\":\r\n return \"W* S\";\r\n\r\n // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern\r\n // and \"n\"/\"S\" as style would still fill/fill and stroke the path)\r\n case \"S\":\r\n return \"W S\";\r\n case \"n\":\r\n return \"W n\";\r\n }\r\n };\r\n\r\n /**\r\n * Begin a new subpath by moving the current point to coordinates (x, y). The PDF \"m\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @name moveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var moveTo = (API.moveTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" m\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a straight line segment from the current point to the point (x, y). The PDF \"l\" operator.\r\n * @param {number} x\r\n * @param {number} y\r\n * @memberof jsPDF#\r\n * @name lineTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var lineTo = (API.lineTo = function(x, y) {\r\n out(hpf(scale(x)) + \" \" + hpf(transformScaleY(y)) + \" l\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point\r\n * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3).\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {number} x3\r\n * @param {number} y3\r\n * @memberof jsPDF#\r\n * @name curveTo\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @returns {jsPDF}\r\n */\r\n var curveTo = (API.curveTo = function(x1, y1, x2, y2, x3, y3) {\r\n out(\r\n [\r\n hpf(scale(x1)),\r\n hpf(transformScaleY(y1)),\r\n hpf(scale(x2)),\r\n hpf(transformScaleY(y2)),\r\n hpf(scale(x3)),\r\n hpf(transformScaleY(y3)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n return this;\r\n });\r\n\r\n /**\r\n * Draw a line on the current page.\r\n *\r\n * @name line\r\n * @function\r\n * @instance\r\n * @param {number} x1\r\n * @param {number} y1\r\n * @param {number} x2\r\n * @param {number} y2\r\n * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S'\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n */\r\n API.__private__.line = API.line = function(x1, y1, x2, y2, style) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.line\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || \"S\");\r\n } else {\r\n return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke();\r\n }\r\n };\r\n\r\n /**\r\n * @typedef {Object} PatternData\r\n * {Matrix|undefined} matrix\r\n * {Number|undefined} xStep\r\n * {Number|undefined} yStep\r\n * {Array.|undefined} boundingBox\r\n */\r\n\r\n /**\r\n * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates.\r\n * All data points in `lines` are relative to last line origin.\r\n * `x`, `y` become x1,y1 for first line / curve in the set.\r\n * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point.\r\n * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1.\r\n *\r\n * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line\r\n * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves).\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction.\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name lines\r\n */\r\n API.__private__.lines = API.lines = function(\r\n lines,\r\n x,\r\n y,\r\n scale,\r\n style,\r\n closed\r\n ) {\r\n var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp;\r\n\r\n // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style)\r\n // in effort to make all calls have similar signature like\r\n // function(content, coordinateX, coordinateY , miscellaneous)\r\n // this method had its args flipped.\r\n // code below allows backward compatibility with old arg order.\r\n if (typeof lines === \"number\") {\r\n tmp = y;\r\n y = x;\r\n x = lines;\r\n lines = tmp;\r\n }\r\n\r\n scale = scale || [1, 1];\r\n closed = closed || false;\r\n\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n !Array.isArray(lines) ||\r\n !Array.isArray(scale) ||\r\n !isValidStyle(style) ||\r\n typeof closed !== \"boolean\"\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.lines\");\r\n }\r\n\r\n // starting point\r\n moveTo(x, y);\r\n\r\n scalex = scale[0];\r\n scaley = scale[1];\r\n l = lines.length;\r\n //, x2, y2 // bezier only. In page default measurement \"units\", *after* scaling\r\n //, x3, y3 // bezier only. In page default measurement \"units\", *after* scaling\r\n // ending point for all, lines and bezier. . In page default measurement \"units\", *after* scaling\r\n x4 = x; // last / ending point = starting point for first item.\r\n y4 = y; // last / ending point = starting point for first item.\r\n\r\n for (i = 0; i < l; i++) {\r\n leg = lines[i];\r\n if (leg.length === 2) {\r\n // simple line\r\n x4 = leg[0] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[1] * scaley + y4; // here last y4 was prior ending point\r\n lineTo(x4, y4);\r\n } else {\r\n // bezier curve\r\n x2 = leg[0] * scalex + x4; // here last x4 is prior ending point\r\n y2 = leg[1] * scaley + y4; // here last y4 is prior ending point\r\n x3 = leg[2] * scalex + x4; // here last x4 is prior ending point\r\n y3 = leg[3] * scaley + y4; // here last y4 is prior ending point\r\n x4 = leg[4] * scalex + x4; // here last x4 was prior ending point\r\n y4 = leg[5] * scaley + y4; // here last y4 was prior ending point\r\n curveTo(x2, y2, x3, y3, x4, y4);\r\n }\r\n }\r\n\r\n if (closed) {\r\n close();\r\n }\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative.\r\n * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of \"m\" (move to), \"l\" (line to)\r\n * \"c\" (cubic bezier curve) and \"h\" (close (sub)path)). c is an array of coordinates. \"m\" and \"l\" expect two, \"c\"\r\n * six and \"h\" an empty array (or undefined).\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name path\r\n */\r\n API.path = function(lines) {\r\n for (var i = 0; i < lines.length; i++) {\r\n var leg = lines[i];\r\n var coords = leg.c;\r\n switch (leg.op) {\r\n case \"m\":\r\n moveTo(coords[0], coords[1]);\r\n break;\r\n case \"l\":\r\n lineTo(coords[0], coords[1]);\r\n break;\r\n case \"c\":\r\n curveTo.apply(this, coords);\r\n break;\r\n case \"h\":\r\n close();\r\n break;\r\n }\r\n }\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name rect\r\n */\r\n API.__private__.rect = API.rect = function(x, y, w, h, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.rect\");\r\n }\r\n if (apiMode === ApiMode.COMPAT) {\r\n h = -h;\r\n }\r\n\r\n out(\r\n [\r\n hpf(scale(x)),\r\n hpf(transformScaleY(y)),\r\n hpf(scale(w)),\r\n hpf(scale(h)),\r\n \"re\"\r\n ].join(\" \")\r\n );\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a triangle to PDF.\r\n *\r\n * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name triangle\r\n */\r\n API.__private__.triangle = API.triangle = function(\r\n x1,\r\n y1,\r\n x2,\r\n y2,\r\n x3,\r\n y3,\r\n style\r\n ) {\r\n if (\r\n isNaN(x1) ||\r\n isNaN(y1) ||\r\n isNaN(x2) ||\r\n isNaN(y2) ||\r\n isNaN(x3) ||\r\n isNaN(y3) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.triangle\");\r\n }\r\n this.lines(\r\n [\r\n [x2 - x1, y2 - y1], // vector to point 2\r\n [x3 - x2, y3 - y2], // vector to point 3\r\n [x1 - x3, y1 - y3] // closing vector back to point 1\r\n ],\r\n x1,\r\n y1, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds a rectangle with rounded corners to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} w Width (in units declared at inception of PDF document)\r\n * @param {number} h Height (in units declared at inception of PDF document)\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name roundedRect\r\n */\r\n API.__private__.roundedRect = API.roundedRect = function(\r\n x,\r\n y,\r\n w,\r\n h,\r\n rx,\r\n ry,\r\n style\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(w) ||\r\n isNaN(h) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.roundedRect\");\r\n }\r\n var MyArc = (4 / 3) * (Math.SQRT2 - 1);\r\n\r\n rx = Math.min(rx, w * 0.5);\r\n ry = Math.min(ry, h * 0.5);\r\n\r\n this.lines(\r\n [\r\n [w - 2 * rx, 0],\r\n [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry],\r\n [0, h - 2 * ry],\r\n [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry],\r\n [-w + 2 * rx, 0],\r\n [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry],\r\n [0, -h + 2 * ry],\r\n [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]\r\n ],\r\n x + rx,\r\n y, // start of path\r\n [1, 1],\r\n style,\r\n true\r\n );\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an ellipse to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} rx Radius along x axis (in units declared at inception of PDF document)\r\n * @param {number} ry Radius along y axis (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name ellipse\r\n */\r\n API.__private__.ellipse = API.ellipse = function(x, y, rx, ry, style) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(rx) ||\r\n isNaN(ry) ||\r\n !isValidStyle(style)\r\n ) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.ellipse\");\r\n }\r\n var lx = (4 / 3) * (Math.SQRT2 - 1) * rx,\r\n ly = (4 / 3) * (Math.SQRT2 - 1) * ry;\r\n\r\n moveTo(x + rx, y);\r\n curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry);\r\n curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y);\r\n curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry);\r\n curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y);\r\n\r\n putStyle(style);\r\n return this;\r\n };\r\n\r\n /**\r\n * Adds an circle to PDF.\r\n *\r\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\r\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\r\n * @param {number} r Radius (in units declared at inception of PDF document)\r\n * @param {string=} style A string specifying the painting style or null. Valid styles include:\r\n * 'S' [default] - stroke,\r\n * 'F' - fill,\r\n * and 'DF' (or 'FD') - fill then stroke.\r\n * In \"compat\" API mode, a null value postpones setting the style so that a shape may be composed using multiple\r\n * method calls. The last drawing method call used to define the shape should not have a null style argument.\r\n *\r\n * In \"advanced\" API mode this parameter is deprecated.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name circle\r\n */\r\n API.__private__.circle = API.circle = function(x, y, r, style) {\r\n if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.circle\");\r\n }\r\n return this.ellipse(x, y, r, r, style);\r\n };\r\n\r\n /**\r\n * Sets text font face, variant for upcoming text elements.\r\n * See output of jsPDF.getFontList() for possible font names, styles.\r\n *\r\n * @param {string} fontName Font name or family. Example: \"times\".\r\n * @param {string} fontStyle Font style or variant. Example: \"italic\".\r\n * @param {number | string} fontWeight Weight of the Font. Example: \"normal\" | 400\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFont\r\n */\r\n API.setFont = function(fontName, fontStyle, fontWeight) {\r\n if (fontWeight) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n activeFontKey = getFont(fontName, fontStyle, {\r\n disableWarning: false\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Gets text font face, variant for upcoming text elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {Object}\r\n * @memberof jsPDF#\r\n * @name getFont\r\n */\r\n var getFontEntry = (API.__private__.getFont = API.getFont = function() {\r\n return fonts[getFont.apply(API, arguments)];\r\n });\r\n\r\n /**\r\n * Returns an object - a tree of fontName to fontStyle relationships available to\r\n * active PDF document.\r\n *\r\n * @public\r\n * @function\r\n * @instance\r\n * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... }\r\n * @memberof jsPDF#\r\n * @name getFontList\r\n */\r\n API.__private__.getFontList = API.getFontList = function() {\r\n var list = {},\r\n fontName,\r\n fontStyle;\r\n\r\n for (fontName in fontmap) {\r\n if (fontmap.hasOwnProperty(fontName)) {\r\n list[fontName] = [];\r\n for (fontStyle in fontmap[fontName]) {\r\n if (fontmap[fontName].hasOwnProperty(fontStyle)) {\r\n list[fontName].push(fontStyle);\r\n }\r\n }\r\n }\r\n }\r\n return list;\r\n };\r\n\r\n /**\r\n * Add a custom font to the current instance.\r\n *\r\n * @param {string} postScriptName PDF specification full name for the font.\r\n * @param {string} id PDF-document-instance-specific label assinged to the font.\r\n * @param {string} fontStyle Style of the Font.\r\n * @param {number | string} fontWeight Weight of the Font.\r\n * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping.\r\n * @function\r\n * @instance\r\n * @memberof jsPDF#\r\n * @name addFont\r\n * @returns {string} fontId\r\n */\r\n API.addFont = function(\r\n postScriptName,\r\n fontName,\r\n fontStyle,\r\n fontWeight,\r\n encoding\r\n ) {\r\n var encodingOptions = [\r\n \"StandardEncoding\",\r\n \"MacRomanEncoding\",\r\n \"Identity-H\",\r\n \"WinAnsiEncoding\"\r\n ];\r\n if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) {\r\n //IE 11 fix\r\n encoding = arguments[3];\r\n } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) {\r\n fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight);\r\n }\r\n encoding = encoding || \"Identity-H\";\r\n return addFont.call(this, postScriptName, fontName, fontStyle, encoding);\r\n };\r\n\r\n var lineWidth = options.lineWidth || 0.200025; // 2mm\r\n /**\r\n * Gets the line width, default: 0.200025.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineWidth\r\n * @memberof jsPDF#\r\n * @name getLineWidth\r\n */\r\n var getLineWidth = (API.__private__.getLineWidth = API.getLineWidth = function() {\r\n return lineWidth;\r\n });\r\n\r\n /**\r\n * Sets line width for upcoming lines.\r\n *\r\n * @param {number} width Line width (in units declared at inception of PDF document).\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineWidth\r\n */\r\n var setLineWidth = (API.__private__.setLineWidth = API.setLineWidth = function(\r\n width\r\n ) {\r\n lineWidth = width;\r\n out(hpf(scale(width)) + \" w\");\r\n return this;\r\n });\r\n\r\n /**\r\n * Sets the dash pattern for upcoming lines.\r\n *\r\n * To reset the settings simply call the method without any parameters.\r\n * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the\r\n * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered\r\n * to be as long as the dashes. An empty array means solid, unbroken lines.\r\n * @param {number} dashPhase The phase lines start with.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineDashPattern\r\n */\r\n API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function(\r\n dashArray,\r\n dashPhase\r\n ) {\r\n dashArray = dashArray || [];\r\n dashPhase = dashPhase || 0;\r\n\r\n if (isNaN(dashPhase) || !Array.isArray(dashArray)) {\r\n throw new Error(\"Invalid arguments passed to jsPDF.setLineDash\");\r\n }\r\n\r\n dashArray = dashArray\r\n .map(function(x) {\r\n return hpf(scale(x));\r\n })\r\n .join(\" \");\r\n dashPhase = hpf(scale(dashPhase));\r\n\r\n out(\"[\" + dashArray + \"] \" + dashPhase + \" d\");\r\n return this;\r\n };\r\n\r\n var lineHeightFactor;\r\n\r\n var getLineHeight = (API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n });\r\n\r\n API.__private__.getLineHeight = API.getLineHeight = function() {\r\n return activeFontSize * lineHeightFactor;\r\n };\r\n\r\n /**\r\n * Sets the LineHeightFactor of proportion.\r\n *\r\n * @param {number} value LineHeightFactor value. Default: 1.15.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineHeightFactor\r\n */\r\n var setLineHeightFactor = (API.__private__.setLineHeightFactor = API.setLineHeightFactor = function(\r\n value\r\n ) {\r\n value = value || 1.15;\r\n if (typeof value === \"number\") {\r\n lineHeightFactor = value;\r\n }\r\n return this;\r\n });\r\n\r\n /**\r\n * Gets the LineHeightFactor, default: 1.15.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} lineHeightFactor\r\n * @memberof jsPDF#\r\n * @name getLineHeightFactor\r\n */\r\n var getLineHeightFactor = (API.__private__.getLineHeightFactor = API.getLineHeightFactor = function() {\r\n return lineHeightFactor;\r\n });\r\n\r\n setLineHeightFactor(options.lineHeight);\r\n\r\n var getHorizontalCoordinate = (API.__private__.getHorizontalCoordinate = function(\r\n value\r\n ) {\r\n return scale(value);\r\n });\r\n\r\n var getVerticalCoordinate = (API.__private__.getVerticalCoordinate = function(\r\n value\r\n ) {\r\n if (apiMode === ApiMode.ADVANCED) {\r\n return value;\r\n } else {\r\n var pageHeight =\r\n pagesContext[currentPage].mediaBox.topRightY -\r\n pagesContext[currentPage].mediaBox.bottomLeftY;\r\n return pageHeight - scale(value);\r\n }\r\n });\r\n\r\n var getHorizontalCoordinateString = (API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getHorizontalCoordinate(value));\r\n });\r\n\r\n var getVerticalCoordinateString = (API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function(\r\n value\r\n ) {\r\n return hpf(getVerticalCoordinate(value));\r\n });\r\n\r\n var strokeColor = options.strokeColor || \"0 G\";\r\n\r\n /**\r\n * Gets the stroke color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getDrawColor\r\n */\r\n API.__private__.getStrokeColor = API.getDrawColor = function() {\r\n return decodeColorString(strokeColor);\r\n };\r\n\r\n /**\r\n * Sets the stroke color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setDrawColor\r\n */\r\n API.__private__.setStrokeColor = API.setDrawColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"draw\",\r\n precision: 2\r\n };\r\n\r\n strokeColor = encodeColorString(options);\r\n out(strokeColor);\r\n return this;\r\n };\r\n\r\n var fillColor = options.fillColor || \"0 g\";\r\n\r\n /**\r\n * Gets the fill color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getFillColor\r\n */\r\n API.__private__.getFillColor = API.getFillColor = function() {\r\n return decodeColorString(fillColor);\r\n };\r\n\r\n /**\r\n * Sets the fill color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setFillColor\r\n */\r\n API.__private__.setFillColor = API.setFillColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"fill\",\r\n precision: 2\r\n };\r\n\r\n fillColor = encodeColorString(options);\r\n out(fillColor);\r\n return this;\r\n };\r\n\r\n var textColor = options.textColor || \"0 g\";\r\n /**\r\n * Gets the text color for upcoming elements.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {string} colorAsHex\r\n * @memberof jsPDF#\r\n * @name getTextColor\r\n */\r\n var getTextColor = (API.__private__.getTextColor = API.getTextColor = function() {\r\n return decodeColorString(textColor);\r\n });\r\n /**\r\n * Sets the text color for upcoming elements.\r\n *\r\n * Depending on the number of arguments given, Gray, RGB, or CMYK\r\n * color space is implied.\r\n *\r\n * When only ch1 is given, \"Gray\" color space is implied and it\r\n * must be a value in the range from 0.00 (solid black) to to 1.00 (white)\r\n * if values are communicated as String types, or in range from 0 (black)\r\n * to 255 (white) if communicated as Number type.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When only ch1,ch2,ch3 are given, \"RGB\" color space is implied and each\r\n * value must be in the range from 0.00 (minimum intensity) to to 1.00\r\n * (max intensity) if values are communicated as String types, or\r\n * from 0 (min intensity) to to 255 (max intensity) if values are communicated\r\n * as Number types.\r\n * The RGB-like 0-255 range is provided for backward compatibility.\r\n *\r\n * When ch1,ch2,ch3,ch4 are given, \"CMYK\" color space is implied and each\r\n * value must be a in the range from 0.00 (0% concentration) to to\r\n * 1.00 (100% concentration)\r\n *\r\n * Because JavaScript treats fixed point numbers badly (rounds to\r\n * floating point nearest to binary representation) it is highly advised to\r\n * communicate the fractional numbers as String types, not JavaScript Number type.\r\n *\r\n * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'.\r\n * @param {Number} ch2 Color channel value.\r\n * @param {Number} ch3 Color channel value.\r\n * @param {Number} ch4 Color channel value.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setTextColor\r\n */\r\n API.__private__.setTextColor = API.setTextColor = function(\r\n ch1,\r\n ch2,\r\n ch3,\r\n ch4\r\n ) {\r\n var options = {\r\n ch1: ch1,\r\n ch2: ch2,\r\n ch3: ch3,\r\n ch4: ch4,\r\n pdfColorType: \"text\",\r\n precision: 3\r\n };\r\n textColor = encodeColorString(options);\r\n\r\n return this;\r\n };\r\n\r\n var activeCharSpace = options.charSpace;\r\n\r\n /**\r\n * Get global value of CharSpace.\r\n *\r\n * @function\r\n * @instance\r\n * @returns {number} charSpace\r\n * @memberof jsPDF#\r\n * @name getCharSpace\r\n */\r\n var getCharSpace = (API.__private__.getCharSpace = API.getCharSpace = function() {\r\n return parseFloat(activeCharSpace || 0);\r\n });\r\n\r\n /**\r\n * Set global value of CharSpace.\r\n *\r\n * @param {number} charSpace\r\n * @function\r\n * @instance\r\n * @returns {jsPDF} jsPDF-instance\r\n * @memberof jsPDF#\r\n * @name setCharSpace\r\n */\r\n API.__private__.setCharSpace = API.setCharSpace = function(charSpace) {\r\n if (isNaN(charSpace)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setCharSpace\");\r\n }\r\n activeCharSpace = charSpace;\r\n return this;\r\n };\r\n\r\n var lineCapID = 0;\r\n /**\r\n * Is an Object providing a mapping from human-readable to\r\n * integer flag values designating the varieties of line cap\r\n * and join styles.\r\n *\r\n * @memberof jsPDF#\r\n * @name CapJoinStyles\r\n */\r\n API.CapJoinStyles = {\r\n 0: 0,\r\n butt: 0,\r\n but: 0,\r\n miter: 0,\r\n 1: 1,\r\n round: 1,\r\n rounded: 1,\r\n circle: 1,\r\n 2: 2,\r\n projecting: 2,\r\n project: 2,\r\n square: 2,\r\n bevel: 2\r\n };\r\n\r\n /**\r\n * Sets the line cap styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line cap.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineCap\r\n */\r\n API.__private__.setLineCap = API.setLineCap = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line cap style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineCapID = id;\r\n out(id + \" J\");\r\n\r\n return this;\r\n };\r\n\r\n var lineJoinID = 0;\r\n /**\r\n * Sets the line join styles.\r\n * See {jsPDF.CapJoinStyles} for variants.\r\n *\r\n * @param {String|Number} style A string or number identifying the type of line join.\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineJoin\r\n */\r\n API.__private__.setLineJoin = API.setLineJoin = function(style) {\r\n var id = API.CapJoinStyles[style];\r\n if (id === undefined) {\r\n throw new Error(\r\n \"Line join style of '\" +\r\n style +\r\n \"' is not recognized. See or extend .CapJoinStyles property for valid styles\"\r\n );\r\n }\r\n lineJoinID = id;\r\n out(id + \" j\");\r\n\r\n return this;\r\n };\r\n\r\n var miterLimit;\r\n /**\r\n * Sets the miterLimit property, which effects the maximum miter length.\r\n *\r\n * @param {number} length The length of the miter\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setLineMiterLimit\r\n */\r\n API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function(\r\n length\r\n ) {\r\n length = length || 0;\r\n if (isNaN(length)) {\r\n throw new Error(\"Invalid argument passed to jsPDF.setLineMiterLimit\");\r\n }\r\n out(hpf(scale(length)) + \" M\");\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * An object representing a pdf graphics state.\r\n * @class GState\r\n */\r\n\r\n /**\r\n *\r\n * @param parameters A parameter object that contains all properties this graphics state wants to set.\r\n * Supported are: opacity, stroke-opacity\r\n * @constructor\r\n */\r\n API.GState = GState;\r\n\r\n /**\r\n * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}.\r\n * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState\r\n * it will be added before use.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setGState\r\n */\r\n API.setGState = function(gState) {\r\n if (typeof gState === \"string\") {\r\n gState = gStates[gStatesMap[gState]];\r\n } else {\r\n gState = addGState(null, gState);\r\n }\r\n\r\n if (!gState.equals(activeGState)) {\r\n out(\"/\" + gState.id + \" gs\");\r\n activeGState = gState;\r\n }\r\n };\r\n\r\n /**\r\n * Adds a new Graphics State. Duplicates are automatically eliminated.\r\n * @param {String} key Might also be null, if no later reference to this gState is needed\r\n * @param {Object} gState The gState object\r\n */\r\n var addGState = function(key, gState) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (key && gStatesMap[key]) return;\r\n var duplicate = false;\r\n for (var s in gStates) {\r\n if (gStates.hasOwnProperty(s)) {\r\n if (gStates[s].equals(gState)) {\r\n duplicate = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (duplicate) {\r\n gState = gStates[s];\r\n } else {\r\n var gStateKey = \"GS\" + (Object.keys(gStates).length + 1).toString(10);\r\n gStates[gStateKey] = gState;\r\n gState.id = gStateKey;\r\n }\r\n\r\n // several user keys may point to the same GState object\r\n key && (gStatesMap[key] = gState.id);\r\n\r\n events.publish(\"addGState\", gState);\r\n\r\n return gState;\r\n };\r\n\r\n /**\r\n * Adds a new {@link GState} for later use. See {@link setGState}.\r\n * @param {String} key\r\n * @param {GState} gState\r\n * @function\r\n * @instance\r\n * @returns {jsPDF}\r\n *\r\n * @memberof jsPDF#\r\n * @name addGState\r\n */\r\n API.addGState = function(key, gState) {\r\n addGState(key, gState);\r\n return this;\r\n };\r\n\r\n /**\r\n * Saves the current graphics state (\"pushes it on the stack\"). It can be restored by {@link restoreGraphicsState}\r\n * later. Here, the general pdf graphics state is meant, also including the current transformation matrix,\r\n * fill and stroke colors etc.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name saveGraphicsState\r\n */\r\n API.saveGraphicsState = function() {\r\n out(\"q\");\r\n // as we cannot set font key and size independently we must keep track of both\r\n fontStateStack.push({\r\n key: activeFontKey,\r\n size: activeFontSize,\r\n color: textColor\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Restores a previously saved graphics state saved by {@link saveGraphicsState} (\"pops the stack\").\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name restoreGraphicsState\r\n */\r\n API.restoreGraphicsState = function() {\r\n out(\"Q\");\r\n\r\n // restore previous font state\r\n var fontState = fontStateStack.pop();\r\n activeFontKey = fontState.key;\r\n activeFontSize = fontState.size;\r\n textColor = fontState.color;\r\n\r\n activeGState = null;\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * Appends this matrix to the left of all previously applied matrices.\r\n *\r\n * @param {Matrix} matrix\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name setCurrentTransformationMatrix\r\n */\r\n API.setCurrentTransformationMatrix = function(matrix) {\r\n out(matrix.toString() + \" cm\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Inserts a debug comment into the generated pdf.\r\n * @function\r\n * @instance\r\n * @param {String} text\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name comment\r\n */\r\n API.comment = function(text) {\r\n out(\"#\" + text);\r\n return this;\r\n };\r\n\r\n /**\r\n * Point\r\n */\r\n var Point = function(x, y) {\r\n var _x = x || 0;\r\n Object.defineProperty(this, \"x\", {\r\n enumerable: true,\r\n get: function() {\r\n return _x;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _x = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _y = y || 0;\r\n Object.defineProperty(this, \"y\", {\r\n enumerable: true,\r\n get: function() {\r\n return _y;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _y = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _type = \"pt\";\r\n Object.defineProperty(this, \"type\", {\r\n enumerable: true,\r\n get: function() {\r\n return _type;\r\n },\r\n set: function(value) {\r\n _type = value.toString();\r\n }\r\n });\r\n return this;\r\n };\r\n\r\n /**\r\n * Rectangle\r\n */\r\n var Rectangle = function(x, y, w, h) {\r\n Point.call(this, x, y);\r\n this.type = \"rect\";\r\n\r\n var _w = w || 0;\r\n Object.defineProperty(this, \"w\", {\r\n enumerable: true,\r\n get: function() {\r\n return _w;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _w = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n var _h = h || 0;\r\n Object.defineProperty(this, \"h\", {\r\n enumerable: true,\r\n get: function() {\r\n return _h;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _h = parseFloat(value);\r\n }\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * FormObject/RenderTarget\r\n */\r\n\r\n var RenderTarget = function() {\r\n this.page = page;\r\n this.currentPage = currentPage;\r\n this.pages = pages.slice(0);\r\n this.pagesContext = pagesContext.slice(0);\r\n this.x = pageX;\r\n this.y = pageY;\r\n this.matrix = pageMatrix;\r\n this.width = getPageWidth(currentPage);\r\n this.height = getPageHeight(currentPage);\r\n this.outputDestination = outputDestination;\r\n\r\n this.id = \"\"; // set by endFormObject()\r\n this.objectNumber = -1; // will be set by putXObject()\r\n };\r\n\r\n RenderTarget.prototype.restore = function() {\r\n page = this.page;\r\n currentPage = this.currentPage;\r\n pagesContext = this.pagesContext;\r\n pages = this.pages;\r\n pageX = this.x;\r\n pageY = this.y;\r\n pageMatrix = this.matrix;\r\n setPageWidth(currentPage, this.width);\r\n setPageHeight(currentPage, this.height);\r\n outputDestination = this.outputDestination;\r\n };\r\n\r\n var beginNewRenderTarget = function(x, y, width, height, matrix) {\r\n // save current state\r\n renderTargetStack.push(new RenderTarget());\r\n\r\n // clear pages\r\n page = currentPage = 0;\r\n pages = [];\r\n pageX = x;\r\n pageY = y;\r\n\r\n pageMatrix = matrix;\r\n\r\n beginPage([width, height]);\r\n };\r\n\r\n var endFormObject = function(key) {\r\n // only add it if it is not already present (the keys provided by the user must be unique!)\r\n if (renderTargetMap[key]) {\r\n renderTargetStack.pop().restore();\r\n return;\r\n }\r\n\r\n // save the created xObject\r\n var newXObject = new RenderTarget();\r\n\r\n var xObjectId = \"Xo\" + (Object.keys(renderTargets).length + 1).toString(10);\r\n newXObject.id = xObjectId;\r\n\r\n renderTargetMap[key] = xObjectId;\r\n renderTargets[xObjectId] = newXObject;\r\n\r\n events.publish(\"addFormObject\", newXObject);\r\n\r\n // restore state from stack\r\n renderTargetStack.pop().restore();\r\n };\r\n\r\n /**\r\n * Starts a new pdf form object, which means that all consequent draw calls target a new independent object\r\n * until {@link endFormObject} is called. The created object can be referenced and drawn later using\r\n * {@link doFormObject}. Nested form objects are possible.\r\n * x, y, width, height set the bounding box that is used to clip the content.\r\n *\r\n * @param {number} x\r\n * @param {number} y\r\n * @param {number} width\r\n * @param {number} height\r\n * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to\r\n * the parent's.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name beginFormObject\r\n */\r\n API.beginFormObject = function(x, y, width, height, matrix) {\r\n // The user can set the output target to a new form object. Nested form objects are possible.\r\n // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as\r\n // the PDF-Spec states:\r\n // \"In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which\r\n // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions,\r\n // form XObjects may be independent of the content streams in which they appear, and this is strongly\r\n // recommended although not required\"\r\n beginNewRenderTarget(x, y, width, height, matrix);\r\n return this;\r\n };\r\n\r\n /**\r\n * Completes and saves the form object.\r\n * @param {String} key The key by which this form object can be referenced.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name endFormObject\r\n */\r\n API.endFormObject = function(key) {\r\n endFormObject(key);\r\n return this;\r\n };\r\n\r\n /**\r\n * Draws the specified form object by referencing to the respective pdf XObject created with\r\n * {@link API.beginFormObject} and {@link endFormObject}.\r\n * The location is determined by matrix.\r\n *\r\n * @param {String} key The key to the form object.\r\n * @param {Matrix} matrix The matrix applied before drawing the form object.\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name doFormObject\r\n */\r\n API.doFormObject = function(key, matrix) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n out(\"q\");\r\n out(matrix.toString() + \" cm\");\r\n out(\"/\" + xObject.id + \" Do\");\r\n out(\"Q\");\r\n return this;\r\n };\r\n\r\n /**\r\n * Returns the form object specified by key.\r\n * @param key {String}\r\n * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}}\r\n * @function\r\n * @returns {jsPDF}\r\n * @memberof jsPDF#\r\n * @name getFormObject\r\n */\r\n API.getFormObject = function(key) {\r\n var xObject = renderTargets[renderTargetMap[key]];\r\n return {\r\n x: xObject.x,\r\n y: xObject.y,\r\n width: xObject.width,\r\n height: xObject.height,\r\n matrix: xObject.matrix\r\n };\r\n };\r\n\r\n /**\r\n * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf').\r\n * Uses FileSaver.js-method saveAs.\r\n *\r\n * @memberof jsPDF#\r\n * @name save\r\n * @function\r\n * @instance\r\n * @param {string} filename The filename including extension.\r\n * @param {Object} options An Object with additional options, possible options: 'returnPromise'.\r\n * @returns {jsPDF|Promise} jsPDF-instance */\r\n API.save = function(filename, options) {\r\n filename = filename || \"generated.pdf\";\r\n\r\n options = options || {};\r\n options.returnPromise = options.returnPromise || false;\r\n\r\n if (options.returnPromise === false) {\r\n saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n return this;\r\n } else {\r\n return new Promise(function(resolve, reject) {\r\n try {\r\n var result = saveAs(getBlob(buildDocument()), filename);\r\n if (typeof saveAs.unload === \"function\") {\r\n if (globalObject.setTimeout) {\r\n setTimeout(saveAs.unload, 911);\r\n }\r\n }\r\n resolve(result);\r\n } catch (e) {\r\n reject(e.message);\r\n }\r\n });\r\n }\r\n\r\n };\r\n\r\n // applying plugins (more methods) ON TOP of built-in API.\r\n // this is intentional as we allow plugins to override\r\n // built-ins\r\n for (var plugin in jsPDF.API) {\r\n if (jsPDF.API.hasOwnProperty(plugin)) {\r\n if (plugin === \"events\" && jsPDF.API.events.length) {\r\n (function(events, newEvents) {\r\n // jsPDF.API.events is a JS Array of Arrays\r\n // where each Array is a pair of event name, handler\r\n // Events were added by plugins to the jsPDF instantiator.\r\n // These are always added to the new instance and some ran\r\n // during instantiation.\r\n var eventname, handler_and_args, i;\r\n\r\n for (i = newEvents.length - 1; i !== -1; i--) {\r\n // subscribe takes 3 args: 'topic', function, runonce_flag\r\n // if undefined, runonce is false.\r\n // users can attach callback directly,\r\n // or they can attach an array with [callback, runonce_flag]\r\n // that's what the \"apply\" magic is for below.\r\n eventname = newEvents[i][0];\r\n handler_and_args = newEvents[i][1];\r\n events.subscribe.apply(\r\n events,\r\n [eventname].concat(\r\n typeof handler_and_args === \"function\"\r\n ? [handler_and_args]\r\n : handler_and_args\r\n )\r\n );\r\n }\r\n })(events, jsPDF.API.events);\r\n } else {\r\n API[plugin] = jsPDF.API[plugin];\r\n }\r\n }\r\n }\r\n\r\n var getPageWidth = (API.getPageWidth = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightX -\r\n pagesContext[pageNumber].mediaBox.bottomLeftX) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageWidth = (API.setPageWidth = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightX =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftX;\r\n });\r\n\r\n var getPageHeight = (API.getPageHeight = function(pageNumber) {\r\n pageNumber = pageNumber || currentPage;\r\n return (\r\n (pagesContext[pageNumber].mediaBox.topRightY -\r\n pagesContext[pageNumber].mediaBox.bottomLeftY) /\r\n scaleFactor\r\n );\r\n });\r\n\r\n var setPageHeight = (API.setPageHeight = function(pageNumber, value) {\r\n pagesContext[pageNumber].mediaBox.topRightY =\r\n value * scaleFactor + pagesContext[pageNumber].mediaBox.bottomLeftY;\r\n });\r\n\r\n /**\r\n * Object exposing internal API to plugins\r\n * @public\r\n * @ignore\r\n */\r\n API.internal = {\r\n pdfEscape: pdfEscape,\r\n getStyle: getStyle,\r\n getFont: getFontEntry,\r\n getFontSize: getFontSize,\r\n getCharSpace: getCharSpace,\r\n getTextColor: getTextColor,\r\n getLineHeight: getLineHeight,\r\n getLineHeightFactor: getLineHeightFactor,\r\n getLineWidth: getLineWidth,\r\n write: write,\r\n getHorizontalCoordinate: getHorizontalCoordinate,\r\n getVerticalCoordinate: getVerticalCoordinate,\r\n getCoordinateString: getHorizontalCoordinateString,\r\n getVerticalCoordinateString: getVerticalCoordinateString,\r\n collections: {},\r\n newObject: newObject,\r\n newAdditionalObject: newAdditionalObject,\r\n newObjectDeferred: newObjectDeferred,\r\n newObjectDeferredBegin: newObjectDeferredBegin,\r\n getFilters: getFilters,\r\n putStream: putStream,\r\n events: events,\r\n scaleFactor: scaleFactor,\r\n pageSize: {\r\n getWidth: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n setWidth: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n getHeight: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n setHeight: function(value) {\r\n setPageHeight(currentPage, value);\r\n }\r\n },\r\n encryptionOptions: encryptionOptions,\r\n encryption: encryption,\r\n getEncryptor: getEncryptor,\r\n output: output,\r\n getNumberOfPages: getNumberOfPages,\r\n pages: pages,\r\n out: out,\r\n f2: f2,\r\n f3: f3,\r\n getPageInfo: getPageInfo,\r\n getPageInfoByObjId: getPageInfoByObjId,\r\n getCurrentPageInfo: getCurrentPageInfo,\r\n getPDFVersion: getPdfVersion,\r\n Point: Point,\r\n Rectangle: Rectangle,\r\n Matrix: Matrix,\r\n hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them.\r\n };\r\n\r\n Object.defineProperty(API.internal.pageSize, \"width\", {\r\n get: function() {\r\n return getPageWidth(currentPage);\r\n },\r\n set: function(value) {\r\n setPageWidth(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(API.internal.pageSize, \"height\", {\r\n get: function() {\r\n return getPageHeight(currentPage);\r\n },\r\n set: function(value) {\r\n setPageHeight(currentPage, value);\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n\r\n //////////////////////////////////////////////////////\r\n // continuing initialization of jsPDF Document object\r\n //////////////////////////////////////////////////////\r\n // Add the first page automatically\r\n addFonts.call(API, standardFonts);\r\n activeFontKey = \"F1\";\r\n _addPage(format, orientation);\r\n\r\n events.publish(\"initialized\");\r\n return API;\r\n}\r\n\r\n/**\r\n * jsPDF.API is a STATIC property of jsPDF class.\r\n * jsPDF.API is an object you can add methods and properties to.\r\n * The methods / properties you add will show up in new jsPDF objects.\r\n *\r\n * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics,\r\n * callbacks to this object. These will be reassigned to all new instances of jsPDF.\r\n *\r\n * @static\r\n * @public\r\n * @memberof jsPDF#\r\n * @name API\r\n *\r\n * @example\r\n * jsPDF.API.mymethod = function(){\r\n * // 'this' will be ref to internal API object. see jsPDF source\r\n * // , so you can refer to built-in methods like so:\r\n * // this.line(....)\r\n * // this.text(....)\r\n * }\r\n * var pdfdoc = new jsPDF()\r\n * pdfdoc.mymethod() // <- !!!!!!\r\n */\r\njsPDF.API = {\r\n events: []\r\n};\r\n/**\r\n * The version of jsPDF.\r\n * @name version\r\n * @type {string}\r\n * @memberof jsPDF#\r\n */\r\njsPDF.version = \"0.0.0\";\r\n\r\nexport { jsPDF, ShadingPattern, TilingPattern, GState };\r\nexport default jsPDF;\r\n","/* global jsPDF */\n/**\n * @license\n * Copyright (c) 2016 Alexander Weidt,\n * https://github.com/BiggA94\n *\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF AcroForm Plugin\n * @module AcroForm\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\nvar jsPDFAPI = jsPDF.API;\nvar scaleFactor = 1;\n\nvar pdfEscape = function(value) {\n return value\n .replace(/\\\\/g, \"\\\\\\\\\")\n .replace(/\\(/g, \"\\\\(\")\n .replace(/\\)/g, \"\\\\)\");\n};\nvar pdfUnescape = function(value) {\n return value\n .replace(/\\\\\\\\/g, \"\\\\\")\n .replace(/\\\\\\(/g, \"(\")\n .replace(/\\\\\\)/g, \")\");\n};\n\nvar f2 = function(number) {\n return number.toFixed(2); // Ie, %.2f\n};\n\nvar f5 = function(number) {\n return number.toFixed(5); // Ie, %.2f\n};\n\njsPDFAPI.__acroform__ = {};\nvar inherit = function(child, parent) {\n child.prototype = Object.create(parent.prototype);\n child.prototype.constructor = child;\n};\n\nvar scale = function(x) {\n return x * scaleFactor;\n};\n\nvar createFormXObject = function(formObject) {\n var xobj = new AcroFormXObject();\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))];\n return xobj;\n};\n\n/**\n * Bit-Operations\n */\nvar setBit = (jsPDFAPI.__acroform__.setBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number |= bitMask;\n\n return number;\n});\n\nvar clearBit = (jsPDFAPI.__acroform__.clearBit = function(number, bitPosition) {\n number = number || 0;\n bitPosition = bitPosition || 0;\n\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBit\"\n );\n }\n var bitMask = 1 << bitPosition;\n\n number &= ~bitMask;\n\n return number;\n});\n\nvar getBit = (jsPDFAPI.__acroform__.getBit = function(number, bitPosition) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBit\"\n );\n }\n return (number & (1 << bitPosition)) === 0 ? 0 : 1;\n});\n\n/*\n * Ff starts counting the bit position at 1 and not like javascript at 0\n */\nvar getBitForPdf = (jsPDFAPI.__acroform__.getBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf\"\n );\n }\n return getBit(number, bitPosition - 1);\n});\n\nvar setBitForPdf = (jsPDFAPI.__acroform__.setBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf\"\n );\n }\n return setBit(number, bitPosition - 1);\n});\n\nvar clearBitForPdf = (jsPDFAPI.__acroform__.clearBitForPdf = function(\n number,\n bitPosition\n) {\n if (isNaN(number) || isNaN(bitPosition)) {\n throw new Error(\n \"Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf\"\n );\n }\n return clearBit(number, bitPosition - 1);\n});\n\nvar calculateCoordinates = (jsPDFAPI.__acroform__.calculateCoordinates = function(\n args,\n scope\n) {\n var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate;\n var getVerticalCoordinate = scope.internal.getVerticalCoordinate;\n var x = args[0];\n var y = args[1];\n var w = args[2];\n var h = args[3];\n\n var coordinates = {};\n\n coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0;\n coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0;\n coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0;\n coordinates.upperRight_Y = getVerticalCoordinate(y) || 0;\n\n return [\n Number(f2(coordinates.lowerLeft_X)),\n Number(f2(coordinates.lowerLeft_Y)),\n Number(f2(coordinates.upperRight_X)),\n Number(f2(coordinates.upperRight_Y))\n ];\n});\n\nvar calculateAppearanceStream = function(formObject) {\n if (formObject.appearanceStreamContent) {\n return formObject.appearanceStreamContent;\n }\n\n if (!formObject.V && !formObject.DV) {\n return;\n }\n\n // else calculate it\n\n var stream = [];\n var text = formObject._V || formObject.DV;\n var calcRes = calculateX(formObject, text);\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n\n //PDF 32000-1:2008, page 444\n stream.push(\"/Tx BMC\");\n stream.push(\"q\");\n stream.push(\"BT\"); // Begin Text\n stream.push(formObject.scope.__private__.encodeColorString(formObject.color));\n stream.push(\"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf\");\n stream.push(\"1 0 0 1 0 0 Tm\"); // Transformation Matrix\n stream.push(calcRes.text);\n stream.push(\"ET\"); // End Text\n stream.push(\"Q\");\n stream.push(\"EMC\");\n\n var appearanceStreamContent = createFormXObject(formObject);\n appearanceStreamContent.scope = formObject.scope;\n appearanceStreamContent.stream = stream.join(\"\\n\");\n return appearanceStreamContent;\n};\n\nvar calculateX = function(formObject, text) {\n var maxFontSize =\n formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize;\n var returnValue = {\n text: \"\",\n fontSize: \"\"\n };\n // Remove Brackets\n text = text.substr(0, 1) == \"(\" ? text.substr(1) : text;\n text =\n text.substr(text.length - 1) == \")\"\n ? text.substr(0, text.length - 1)\n : text;\n // split into array of words\n var textSplit = text.split(\" \");\n if (formObject.multiline) {\n textSplit = textSplit.map(word => word.split(\"\\n\"));\n } else {\n textSplit = textSplit.map(word => [word]);\n }\n\n var fontSize = maxFontSize; // The Starting fontSize (The Maximum)\n var lineSpacing = 2;\n var borderPadding = 2;\n\n var height = AcroFormAppearance.internal.getHeight(formObject) || 0;\n height = height < 0 ? -height : height;\n var width = AcroFormAppearance.internal.getWidth(formObject) || 0;\n width = width < 0 ? -width : width;\n\n var isSmallerThanWidth = function(i, lastLine, fontSize) {\n if (i + 1 < textSplit.length) {\n var tmp = lastLine + \" \" + textSplit[i + 1][0];\n var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width;\n var FieldWidth = width - 2 * borderPadding;\n return TextWidth <= FieldWidth;\n } else {\n return false;\n }\n };\n\n fontSize++;\n FontSize: while (fontSize > 0) {\n text = \"\";\n fontSize--;\n var textHeight = calculateFontSpace(\"3\", formObject, fontSize).height;\n var startY = formObject.multiline\n ? height - fontSize\n : (height - textHeight) / 2;\n startY += lineSpacing;\n var startX;\n\n var lastY = startY;\n var firstWordInLine = 0,\n lastWordInLine = 0;\n var lastLength;\n var currWord = 0;\n\n if (fontSize <= 0) {\n // In case, the Text doesn't fit at all\n fontSize = 12;\n text = \"(...) Tj\\n\";\n text +=\n \"% Width of Text: \" +\n calculateFontSpace(text, formObject, fontSize).width +\n \", FieldWidth:\" +\n width +\n \"\\n\";\n break;\n }\n\n var lastLine = \"\";\n var lineCount = 0;\n Line: for (var i = 0; i < textSplit.length; i++) {\n if (textSplit.hasOwnProperty(i)) {\n let isWithNewLine = false;\n if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n continue FontSize;\n }\n\n lastLine += textSplit[i][currWord];\n isWithNewLine = true;\n lastWordInLine = i;\n i--;\n } else {\n lastLine += textSplit[i][currWord] + \" \";\n lastLine =\n lastLine.substr(lastLine.length - 1) == \" \"\n ? lastLine.substr(0, lastLine.length - 1)\n : lastLine;\n var key = parseInt(i);\n var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize);\n var isLastWord = i >= textSplit.length - 1;\n\n if (nextLineIsSmaller && !isLastWord) {\n lastLine += \" \";\n currWord = 0;\n continue; // Line\n } else if (!nextLineIsSmaller && !isLastWord) {\n if (!formObject.multiline) {\n continue FontSize;\n } else {\n if (\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the\n // FieldObject\n continue FontSize;\n }\n lastWordInLine = key;\n // go on\n }\n } else if (isLastWord) {\n lastWordInLine = key;\n } else {\n if (\n formObject.multiline &&\n (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing >\n height\n ) {\n // If the Text is higher than the FieldObject\n continue FontSize;\n }\n }\n }\n // Remove last blank\n\n var line = \"\";\n\n for (var x = firstWordInLine; x <= lastWordInLine; x++) {\n var currLine = textSplit[x];\n if (formObject.multiline) {\n if (x === lastWordInLine) {\n line += currLine[currWord] + \" \";\n currWord = (currWord + 1) % currLine.length;\n continue;\n }\n if (x === firstWordInLine) {\n line += currLine[currLine.length - 1] + \" \";\n continue;\n }\n }\n line += currLine[0] + \" \";\n }\n\n // Remove last blank\n line =\n line.substr(line.length - 1) == \" \"\n ? line.substr(0, line.length - 1)\n : line;\n // lastLength -= blankSpace.width;\n lastLength = calculateFontSpace(line, formObject, fontSize).width;\n\n // Calculate startX\n switch (formObject.textAlign) {\n case \"right\":\n startX = width - lastLength - borderPadding;\n break;\n case \"center\":\n startX = (width - lastLength) / 2;\n break;\n case \"left\":\n default:\n startX = borderPadding;\n break;\n }\n text += f2(startX) + \" \" + f2(lastY) + \" Td\\n\";\n text += \"(\" + pdfEscape(line) + \") Tj\\n\";\n // reset X in PDF\n text += -f2(startX) + \" 0 Td\\n\";\n\n // After a Line, adjust y position\n lastY = -(fontSize + lineSpacing);\n\n // Reset for next iteration step\n lastLength = 0;\n firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1;\n lineCount++;\n\n lastLine = \"\";\n continue Line;\n }\n }\n break;\n }\n\n returnValue.text = text;\n returnValue.fontSize = fontSize;\n\n return returnValue;\n};\n\n/**\n * Small workaround for calculating the TextMetric approximately.\n *\n * @param text\n * @param fontsize\n * @returns {TextMetrics} (Has Height and Width)\n */\nvar calculateFontSpace = function(text, formObject, fontSize) {\n var font = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n );\n var width =\n formObject.scope.getStringUnitWidth(text, {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) * parseFloat(fontSize);\n var height =\n formObject.scope.getStringUnitWidth(\"3\", {\n font: font,\n fontSize: parseFloat(fontSize),\n charSpace: 0\n }) *\n parseFloat(fontSize) *\n 1.5;\n return { height: height, width: width };\n};\n\nvar acroformPluginTemplate = {\n fields: [],\n xForms: [],\n /**\n * acroFormDictionaryRoot contains information about the AcroForm\n * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has\n * 1: The Object ID of the Root\n */\n acroFormDictionaryRoot: null,\n /**\n * After the PDF gets evaluated, the reference to the root has to be\n * reset, this indicates, whether the root has already been printed\n * out\n */\n printedOut: false,\n internal: null,\n isInitialized: false\n};\n\nvar annotReferenceCallback = function(scope) {\n //set objId to undefined and force it to get a new objId on buildDocument\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined;\n var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields;\n for (var i in fields) {\n if (fields.hasOwnProperty(i)) {\n var formObject = fields[i];\n //set objId to undefined and force it to get a new objId on buildDocument\n formObject.objId = undefined;\n // add Annot Reference!\n if (formObject.hasAnnotation) {\n // If theres an Annotation Widget in the Form Object, put the\n // Reference in the /Annot array\n createAnnotationReference(formObject, scope);\n }\n }\n }\n};\n\nvar putForm = function(formObject) {\n if (formObject.scope.internal.acroformPlugin.printedOut) {\n formObject.scope.internal.acroformPlugin.printedOut = false;\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null;\n }\n formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(\n formObject\n );\n};\n/**\n * Create the Reference to the widgetAnnotation, so that it gets referenced\n * in the Annot[] int the+ (Requires the Annotation Plugin)\n */\nvar createAnnotationReference = function(object, scope) {\n var options = {\n type: \"reference\",\n object: object\n };\n var findEntry = function(entry) {\n return entry.type === options.type && entry.object === options.object;\n };\n if (\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.find(findEntry) === undefined\n ) {\n scope.internal\n .getPageInfo(object.page)\n .pageContext.annotations.push(options);\n }\n};\n\n// Callbacks\n\nvar putCatalogCallback = function(scope) {\n // Put reference to AcroForm to DocumentCatalog\n if (\n typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== \"undefined\"\n ) {\n // for safety, shouldn't normally be the case\n scope.internal.write(\n \"/AcroForm \" +\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId +\n \" \" +\n 0 +\n \" R\"\n );\n } else {\n throw new Error(\"putCatalogCallback: Root missing.\");\n }\n};\n\n/**\n * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm\n * Dictionary\n */\nvar AcroFormDictionaryCallback = function(scope) {\n // Remove event\n scope.internal.events.unsubscribe(\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID\n );\n delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID;\n scope.internal.acroformPlugin.printedOut = true;\n};\n\n/**\n * Creates the single Fields and writes them into the Document\n *\n * If fieldArray is set, use the fields that are inside it instead of the\n * fields from the AcroRoot (for the FormXObjects...)\n */\nvar createFieldCallback = function(fieldArray, scope) {\n var standardFields = !fieldArray;\n\n if (!fieldArray) {\n // in case there is no fieldArray specified, we want to print out\n // the Fields of the AcroForm\n // Print out Root\n scope.internal.newObjectDeferredBegin(\n scope.internal.acroformPlugin.acroFormDictionaryRoot.objId,\n true\n );\n scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream();\n }\n\n fieldArray =\n fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids;\n\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var fieldObject = fieldArray[i];\n var keyValueList = [];\n var oldRect = fieldObject.Rect;\n\n if (fieldObject.Rect) {\n fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope);\n }\n\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(\n fieldObject\n );\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.getKeyValueListForStream === \"function\"\n ) {\n keyValueList = fieldObject.getKeyValueListForStream();\n }\n\n fieldObject.Rect = oldRect;\n\n if (\n fieldObject.hasAppearanceStream &&\n !fieldObject.appearanceStreamContent\n ) {\n // Calculate Appearance\n var appearance = calculateAppearanceStream(fieldObject);\n keyValueList.push({ key: \"AP\", value: \"<>\" });\n\n scope.internal.acroformPlugin.xForms.push(appearance);\n }\n\n // Assume AppearanceStreamContent is a Array with N,R,D (at least\n // one of them!)\n if (fieldObject.appearanceStreamContent) {\n var appearanceStreamString = \"\";\n // Iterate over N,R and D\n for (var k in fieldObject.appearanceStreamContent) {\n if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) {\n var value = fieldObject.appearanceStreamContent[k];\n appearanceStreamString += \"/\" + k + \" \";\n appearanceStreamString += \"<<\";\n if (Object.keys(value).length >= 1 || Array.isArray(value)) {\n // appearanceStream is an Array or Object!\n for (var i in value) {\n if (value.hasOwnProperty(i)) {\n var obj = value[i];\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order\n // to get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj + \" \";\n\n // In case the XForm is already used, e.g. OffState\n // of CheckBoxes, don't add it\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n }\n } else {\n obj = value;\n if (typeof obj === \"function\") {\n // if Function is referenced, call it in order to\n // get the FormXObject\n obj = obj.call(scope, fieldObject);\n }\n appearanceStreamString += \"/\" + i + \" \" + obj;\n if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0))\n scope.internal.acroformPlugin.xForms.push(obj);\n }\n appearanceStreamString += \">>\";\n }\n }\n\n // appearance stream is a normal Object..\n keyValueList.push({\n key: \"AP\",\n value: \"<<\\n\" + appearanceStreamString + \">>\"\n });\n }\n\n scope.internal.putStream({\n additionalKeyValues: keyValueList,\n objectId: fieldObject.objId\n });\n\n scope.internal.out(\"endobj\");\n }\n }\n if (standardFields) {\n createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope);\n }\n};\n\nvar createXFormObjectCallback = function(fieldArray, scope) {\n for (var i in fieldArray) {\n if (fieldArray.hasOwnProperty(i)) {\n var key = i;\n var fieldObject = fieldArray[i];\n // Start Writing the Object\n scope.internal.newObjectDeferredBegin(fieldObject.objId, true);\n\n if (\n typeof fieldObject === \"object\" &&\n typeof fieldObject.putStream === \"function\"\n ) {\n fieldObject.putStream();\n }\n delete fieldArray[key];\n }\n }\n};\n\nvar initializeAcroForm = function(scope, formObject) {\n formObject.scope = scope;\n if (\n scope.internal !== undefined &&\n (scope.internal.acroformPlugin === undefined ||\n scope.internal.acroformPlugin.isInitialized === false)\n ) {\n AcroFormField.FieldNum = 0;\n scope.internal.acroformPlugin = JSON.parse(\n JSON.stringify(acroformPluginTemplate)\n );\n if (scope.internal.acroformPlugin.acroFormDictionaryRoot) {\n throw new Error(\"Exception while creating AcroformDictionary\");\n }\n scaleFactor = scope.internal.scaleFactor;\n // The Object Number of the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary();\n scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope;\n\n // add Callback for creating the AcroForm Dictionary\n scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe(\n \"postPutResources\",\n function() {\n AcroFormDictionaryCallback(scope);\n }\n );\n\n scope.internal.events.subscribe(\"buildDocument\", function() {\n annotReferenceCallback(scope);\n }); // buildDocument\n\n // Register event, that is triggered when the DocumentCatalog is\n // written, in order to add /AcroForm\n\n scope.internal.events.subscribe(\"putCatalog\", function() {\n putCatalogCallback(scope);\n });\n\n // Register event, that creates all Fields\n scope.internal.events.subscribe(\"postPutPages\", function(fieldArray) {\n createFieldCallback(fieldArray, scope);\n });\n\n scope.internal.acroformPlugin.isInitialized = true;\n }\n};\n\n//PDF 32000-1:2008, page 26, 7.3.6\nvar arrayToPdfArray = (jsPDFAPI.__acroform__.arrayToPdfArray = function(\n array,\n objId,\n scope\n) {\n var encryptor = function(data) {\n return data;\n };\n if (Array.isArray(array)) {\n var content = \"[\";\n for (var i = 0; i < array.length; i++) {\n if (i !== 0) {\n content += \" \";\n }\n switch (typeof array[i]) {\n case \"boolean\":\n case \"number\":\n case \"object\":\n content += array[i].toString();\n break;\n case \"string\":\n if (array[i].substr(0, 1) !== \"/\") {\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n content += \"(\" + pdfEscape(encryptor(array[i].toString())) + \")\";\n } else {\n content += array[i].toString();\n }\n break;\n }\n }\n content += \"]\";\n return content;\n }\n throw new Error(\n \"Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray\"\n );\n});\nfunction getMatches(string, regex, index) {\n index || (index = 1); // default to the first capturing group\n var matches = [];\n var match;\n while ((match = regex.exec(string))) {\n matches.push(match[index]);\n }\n return matches;\n}\nvar pdfArrayToStringArray = function(array) {\n var result = [];\n if (typeof array === \"string\") {\n result = getMatches(array, /\\((.*?)\\)/g);\n }\n return result;\n};\n\nvar toPdfString = function(string, objId, scope) {\n var encryptor = function(data) {\n return data;\n };\n if (typeof objId !== \"undefined\" && scope)\n encryptor = scope.internal.getEncryptor(objId);\n string = string || \"\";\n string.toString();\n string = \"(\" + pdfEscape(encryptor(string)) + \")\";\n return string;\n};\n\n// ##########################\n// Classes\n// ##########################\n\n/**\n * @class AcroFormPDFObject\n * @classdesc A AcroFormPDFObject\n */\nvar AcroFormPDFObject = function() {\n this._objId = undefined;\n this._scope = undefined;\n\n /**\n * @name AcroFormPDFObject#objId\n * @type {any}\n */\n Object.defineProperty(this, \"objId\", {\n get: function() {\n if (typeof this._objId === \"undefined\") {\n if (typeof this.scope === \"undefined\") {\n return undefined;\n }\n this._objId = this.scope.internal.newObjectDeferred();\n }\n return this._objId;\n },\n set: function(value) {\n this._objId = value;\n }\n });\n Object.defineProperty(this, \"scope\", {\n value: this._scope,\n writable: true\n });\n};\n\n/**\n * @function AcroFormPDFObject.toString\n */\nAcroFormPDFObject.prototype.toString = function() {\n return this.objId + \" 0 R\";\n};\n\nAcroFormPDFObject.prototype.putStream = function() {\n var keyValueList = this.getKeyValueListForStream();\n this.scope.internal.putStream({\n data: this.stream,\n additionalKeyValues: keyValueList,\n objectId: this.objId\n });\n this.scope.internal.out(\"endobj\");\n};\n\n/**\n * Returns an key-value-List of all non-configurable Variables from the Object\n *\n * @name getKeyValueListForStream\n * @returns {string}\n */\nAcroFormPDFObject.prototype.getKeyValueListForStream = function() {\n var keyValueList = [];\n var keys = Object.getOwnPropertyNames(this).filter(function(key) {\n return (\n key != \"content\" &&\n key != \"appearanceStreamContent\" &&\n key != \"scope\" &&\n key != \"objId\" &&\n key.substring(0, 1) != \"_\"\n );\n });\n\n for (var i in keys) {\n if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) {\n var key = keys[i];\n var value = this[key];\n\n if (value) {\n if (Array.isArray(value)) {\n keyValueList.push({\n key: key,\n value: arrayToPdfArray(value, this.objId, this.scope)\n });\n } else if (value instanceof AcroFormPDFObject) {\n // In case it is a reference to another PDFObject,\n // take the reference number\n value.scope = this.scope;\n keyValueList.push({ key: key, value: value.objId + \" 0 R\" });\n } else if (typeof value !== \"function\") {\n keyValueList.push({ key: key, value: value });\n }\n }\n }\n }\n return keyValueList;\n};\n\nvar AcroFormXObject = function() {\n AcroFormPDFObject.call(this);\n\n Object.defineProperty(this, \"Type\", {\n value: \"/XObject\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"Subtype\", {\n value: \"/Form\",\n configurable: false,\n writable: true\n });\n\n Object.defineProperty(this, \"FormType\", {\n value: 1,\n configurable: false,\n writable: true\n });\n\n var _BBox = [];\n Object.defineProperty(this, \"BBox\", {\n configurable: false,\n get: function() {\n return _BBox;\n },\n set: function(value) {\n _BBox = value;\n }\n });\n\n Object.defineProperty(this, \"Resources\", {\n value: \"2 0 R\",\n configurable: false,\n writable: true\n });\n\n var _stream;\n Object.defineProperty(this, \"stream\", {\n enumerable: false,\n configurable: true,\n set: function(value) {\n _stream = value.trim();\n },\n get: function() {\n if (_stream) {\n return _stream;\n } else {\n return null;\n }\n }\n });\n};\n\ninherit(AcroFormXObject, AcroFormPDFObject);\n\nvar AcroFormDictionary = function() {\n AcroFormPDFObject.call(this);\n\n var _Kids = [];\n\n Object.defineProperty(this, \"Kids\", {\n enumerable: false,\n configurable: true,\n get: function() {\n if (_Kids.length > 0) {\n return _Kids;\n } else {\n return undefined;\n }\n }\n });\n Object.defineProperty(this, \"Fields\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Kids;\n }\n });\n\n // Default Appearance\n var _DA;\n Object.defineProperty(this, \"DA\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DA) {\n return undefined;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_DA)) + \")\";\n },\n set: function(value) {\n _DA = value;\n }\n });\n};\n\ninherit(AcroFormDictionary, AcroFormPDFObject);\n\n/**\n * The Field Object contains the Variables, that every Field needs\n *\n * @class AcroFormField\n * @classdesc An AcroForm FieldObject\n */\nvar AcroFormField = function() {\n AcroFormPDFObject.call(this);\n\n //Annotation-Flag See Table 165\n var _F = 4;\n Object.defineProperty(this, \"F\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _F;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _F = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute F supplied.'\n );\n }\n }\n });\n\n /**\n * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen.\n * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page.\n *\n * @name AcroFormField#showWhenPrinted\n * @default true\n * @type {boolean}\n */\n Object.defineProperty(this, \"showWhenPrinted\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(_F, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.F = setBitForPdf(_F, 3);\n } else {\n this.F = clearBitForPdf(_F, 3);\n }\n }\n });\n\n var _Ff = 0;\n Object.defineProperty(this, \"Ff\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _Ff;\n },\n set: function(value) {\n if (!isNaN(value)) {\n _Ff = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Ff supplied.'\n );\n }\n }\n });\n\n var _Rect = [];\n Object.defineProperty(this, \"Rect\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (_Rect.length === 0) {\n return undefined;\n }\n return _Rect;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Rect = value;\n } else {\n _Rect = [];\n }\n }\n });\n\n /**\n * The x-position of the field.\n *\n * @name AcroFormField#x\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[0])) {\n return 0;\n }\n return _Rect[0];\n },\n set: function(value) {\n _Rect[0] = value;\n }\n });\n\n /**\n * The y-position of the field.\n *\n * @name AcroFormField#y\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[1])) {\n return 0;\n }\n return _Rect[1];\n },\n set: function(value) {\n _Rect[1] = value;\n }\n });\n\n /**\n * The width of the field.\n *\n * @name AcroFormField#width\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[2])) {\n return 0;\n }\n return _Rect[2];\n },\n set: function(value) {\n _Rect[2] = value;\n }\n });\n\n /**\n * The height of the field.\n *\n * @name AcroFormField#height\n * @default null\n * @type {number}\n */\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_Rect || isNaN(_Rect[3])) {\n return 0;\n }\n return _Rect[3];\n },\n set: function(value) {\n _Rect[3] = value;\n }\n });\n\n var _FT = \"\";\n Object.defineProperty(this, \"FT\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _FT;\n },\n set: function(value) {\n switch (value) {\n case \"/Btn\":\n case \"/Tx\":\n case \"/Ch\":\n case \"/Sig\":\n _FT = value;\n break;\n default:\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute FT supplied.'\n );\n }\n }\n });\n\n var _T = null;\n\n Object.defineProperty(this, \"T\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (!_T || _T.length < 1) {\n // In case of a Child from a Radio´Group, you don't need a FieldName\n if (this instanceof AcroFormChildClass) {\n return undefined;\n }\n _T = \"FieldObject\" + AcroFormField.FieldNum++;\n }\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n return \"(\" + pdfEscape(encryptor(_T)) + \")\";\n },\n set: function(value) {\n _T = value.toString();\n }\n });\n\n /**\n * (Optional) The partial field name (see 12.7.3.2, “Field Names”).\n *\n * @name AcroFormField#fieldName\n * @default null\n * @type {string}\n */\n Object.defineProperty(this, \"fieldName\", {\n configurable: true,\n enumerable: true,\n get: function() {\n return _T;\n },\n set: function(value) {\n _T = value;\n }\n });\n\n var _fontName = \"helvetica\";\n /**\n * The fontName of the font to be used.\n *\n * @name AcroFormField#fontName\n * @default 'helvetica'\n * @type {string}\n */\n Object.defineProperty(this, \"fontName\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontName;\n },\n set: function(value) {\n _fontName = value;\n }\n });\n\n var _fontStyle = \"normal\";\n /**\n * The fontStyle of the font to be used.\n *\n * @name AcroFormField#fontStyle\n * @default 'normal'\n * @type {string}\n */\n Object.defineProperty(this, \"fontStyle\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontStyle;\n },\n set: function(value) {\n _fontStyle = value;\n }\n });\n\n var _fontSize = 0;\n /**\n * The fontSize of the font to be used.\n *\n * @name AcroFormField#fontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"fontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _fontSize;\n },\n set: function(value) {\n _fontSize = value;\n }\n });\n\n var _maxFontSize = undefined;\n /**\n * The maximum fontSize of the font to be used.\n *\n * @name AcroFormField#maxFontSize\n * @default 0 (for auto)\n * @type {number}\n */\n Object.defineProperty(this, \"maxFontSize\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (_maxFontSize === undefined) {\n // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit)\n // (\"50\" is transformed to the \"user space\" but then used in \"pdf space\")\n return 50 / scaleFactor;\n } else {\n return _maxFontSize;\n }\n },\n set: function(value) {\n _maxFontSize = value;\n }\n });\n\n var _color = \"black\";\n /**\n * The color of the text\n *\n * @name AcroFormField#color\n * @default 'black'\n * @type {string|rgba}\n */\n Object.defineProperty(this, \"color\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _color;\n },\n set: function(value) {\n _color = value;\n }\n });\n\n var _DA = \"/F1 0 Tf 0 g\";\n // Defines the default appearance (Needed for variable Text)\n Object.defineProperty(this, \"DA\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (\n !_DA ||\n this instanceof AcroFormChildClass ||\n this instanceof AcroFormTextField\n ) {\n return undefined;\n }\n return toPdfString(_DA, this.objId, this.scope);\n },\n set: function(value) {\n value = value.toString();\n _DA = value;\n }\n });\n\n var _DV = null;\n Object.defineProperty(this, \"DV\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_DV) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_DV, this.objId, this.scope);\n }\n return _DV;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _DV = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _DV = pdfUnescape(value);\n }\n } else {\n _DV = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value.\n *\n * @name AcroFormField#defaultValue\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"defaultValue\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_DV.substr(1, _DV.length - 1));\n } else {\n return _DV;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _DV = \"/\" + value;\n } else {\n _DV = value;\n }\n }\n });\n\n var _V = null;\n Object.defineProperty(this, \"_V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n return _V;\n },\n set: function(value) {\n this.V = value;\n }\n });\n Object.defineProperty(this, \"V\", {\n enumerable: false,\n configurable: false,\n get: function() {\n if (!_V) {\n return undefined;\n }\n if (this instanceof AcroFormButton === false) {\n return toPdfString(_V, this.objId, this.scope);\n }\n return _V;\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === false) {\n if (value.substr(0, 1) === \"(\") {\n _V = pdfUnescape(value.substr(1, value.length - 2));\n } else {\n _V = pdfUnescape(value);\n }\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information.\n *\n * @name AcroFormField#value\n * @default null\n * @type {any}\n */\n Object.defineProperty(this, \"value\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (this instanceof AcroFormButton === true) {\n return pdfUnescape(_V.substr(1, _V.length - 1));\n } else {\n return _V;\n }\n },\n set: function(value) {\n value = value.toString();\n if (this instanceof AcroFormButton === true) {\n _V = \"/\" + value;\n } else {\n _V = value;\n }\n }\n });\n\n /**\n * Check if field has annotations\n *\n * @name AcroFormField#hasAnnotation\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAnnotation\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.Rect;\n }\n });\n\n Object.defineProperty(this, \"Type\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Annot\" : null;\n }\n });\n\n Object.defineProperty(this, \"Subtype\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return this.hasAnnotation ? \"/Widget\" : null;\n }\n });\n\n var _hasAppearanceStream = false;\n /**\n * true if field has an appearanceStream\n *\n * @name AcroFormField#hasAppearanceStream\n * @readonly\n * @type {boolean}\n */\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _hasAppearanceStream;\n },\n set: function(value) {\n value = Boolean(value);\n _hasAppearanceStream = value;\n }\n });\n\n /**\n * The page on which the AcroFormField is placed\n *\n * @name AcroFormField#page\n * @type {number}\n */\n var _page;\n Object.defineProperty(this, \"page\", {\n enumerable: true,\n configurable: true,\n get: function() {\n if (!_page) {\n return undefined;\n }\n return _page;\n },\n set: function(value) {\n _page = value;\n }\n });\n\n /**\n * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database.\n *\n * @name AcroFormField#readOnly\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"readOnly\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 1));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 1);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 1);\n }\n }\n });\n\n /**\n * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”).\n *\n * @name AcroFormField#required\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"required\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 2));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 2);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 2);\n }\n }\n });\n\n /**\n * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”)\n *\n * @name AcroFormField#noExport\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"noExport\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 3));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 3);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 3);\n }\n }\n });\n\n var _Q = null;\n Object.defineProperty(this, \"Q\", {\n enumerable: true,\n configurable: false,\n get: function() {\n if (_Q === null) {\n return undefined;\n }\n return _Q;\n },\n set: function(value) {\n if ([0, 1, 2].indexOf(value) !== -1) {\n _Q = value;\n } else {\n throw new Error(\n 'Invalid value \"' + value + '\" for attribute Q supplied.'\n );\n }\n }\n });\n\n /**\n * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text:\n * 'left', 'center', 'right'\n *\n * @name AcroFormField#textAlign\n * @default 'left'\n * @type {string}\n */\n Object.defineProperty(this, \"textAlign\", {\n get: function() {\n var result;\n switch (_Q) {\n case 0:\n default:\n result = \"left\";\n break;\n case 1:\n result = \"center\";\n break;\n case 2:\n result = \"right\";\n break;\n }\n return result;\n },\n configurable: true,\n enumerable: true,\n set: function(value) {\n switch (value) {\n case \"right\":\n case 2:\n _Q = 2;\n break;\n case \"center\":\n case 1:\n _Q = 1;\n break;\n case \"left\":\n case 0:\n default:\n _Q = 0;\n }\n }\n });\n};\n\ninherit(AcroFormField, AcroFormPDFObject);\n\n/**\n * @class AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormChoiceField = function() {\n AcroFormField.call(this);\n // Field Type = Choice Field\n this.FT = \"/Ch\";\n // options\n this.V = \"()\";\n\n this.fontName = \"zapfdingbats\";\n // Top Index\n var _TI = 0;\n\n Object.defineProperty(this, \"TI\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n /**\n * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0.\n *\n * @name AcroFormChoiceField#topIndex\n * @default 0\n * @type {number}\n */\n Object.defineProperty(this, \"topIndex\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _TI;\n },\n set: function(value) {\n _TI = value;\n }\n });\n\n var _Opt = [];\n Object.defineProperty(this, \"Opt\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return arrayToPdfArray(_Opt, this.objId, this.scope);\n },\n set: function(value) {\n _Opt = pdfArrayToStringArray(value);\n }\n });\n\n /**\n * @memberof AcroFormChoiceField\n * @name getOptions\n * @function\n * @instance\n * @returns {array} array of Options\n */\n this.getOptions = function() {\n return _Opt;\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name setOptions\n * @function\n * @instance\n * @param {array} value\n */\n this.setOptions = function(value) {\n _Opt = value;\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name addOption\n * @function\n * @instance\n * @param {string} value\n */\n this.addOption = function(value) {\n value = value || \"\";\n value = value.toString();\n _Opt.push(value);\n if (this.sort) {\n _Opt.sort();\n }\n };\n\n /**\n * @memberof AcroFormChoiceField\n * @name removeOption\n * @function\n * @instance\n * @param {string} value\n * @param {boolean} allEntries (default: false)\n */\n this.removeOption = function(value, allEntries) {\n allEntries = allEntries || false;\n value = value || \"\";\n value = value.toString();\n\n while (_Opt.indexOf(value) !== -1) {\n _Opt.splice(_Opt.indexOf(value), 1);\n if (allEntries === false) {\n break;\n }\n }\n };\n\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n *\n * @name AcroFormChoiceField#combo\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"combo\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 18));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 18);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 18);\n }\n }\n });\n\n /**\n * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set.\n *\n * @name AcroFormChoiceField#edit\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"edit\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 19));\n },\n set: function(value) {\n //PDF 32000-1:2008, page 444\n if (this.combo === true) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 19);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 19);\n }\n }\n }\n });\n\n /**\n * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231).\n *\n * @name AcroFormChoiceField#sort\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"sort\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 20));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 20);\n _Opt.sort();\n } else {\n this.Ff = clearBitForPdf(this.Ff, 20);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected\n *\n * @name AcroFormChoiceField#multiSelect\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 22));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 22);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 22);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set.\n *\n * @name AcroFormChoiceField#doNotSpellCheck\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step.\n * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field.\n *\n * @name AcroFormChoiceField#commitOnSelChange\n * @default false\n * @type {boolean}\n */\n Object.defineProperty(this, \"commitOnSelChange\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 27));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 27);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 27);\n }\n }\n });\n\n this.hasAppearanceStream = false;\n};\ninherit(AcroFormChoiceField, AcroFormField);\n\n/**\n * @class AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormListBox = function() {\n AcroFormChoiceField.call(this);\n this.fontName = \"helvetica\";\n\n //PDF 32000-1:2008, page 444\n this.combo = false;\n};\ninherit(AcroFormListBox, AcroFormChoiceField);\n\n/**\n * @class AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormComboBox = function() {\n AcroFormListBox.call(this);\n this.combo = true;\n};\ninherit(AcroFormComboBox, AcroFormListBox);\n\n/**\n * @class AcroFormEditBox\n * @extends AcroFormComboBox\n * @extends AcroFormListBox\n * @extends AcroFormChoiceField\n * @extends AcroFormField\n */\nvar AcroFormEditBox = function() {\n AcroFormComboBox.call(this);\n this.edit = true;\n};\ninherit(AcroFormEditBox, AcroFormComboBox);\n\n/**\n * @class AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormButton = function() {\n AcroFormField.call(this);\n this.FT = \"/Btn\";\n\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected.\n *\n * @name AcroFormButton#noToggleToOff\n * @type {boolean}\n */\n Object.defineProperty(this, \"noToggleToOff\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 15));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 15);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 15);\n }\n }\n });\n\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear.\n *\n * @name AcroFormButton#radio\n * @type {boolean}\n */\n Object.defineProperty(this, \"radio\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 16));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 16);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 16);\n }\n }\n });\n\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n *\n * @name AcroFormButton#pushButton\n * @type {boolean}\n */\n Object.defineProperty(this, \"pushButton\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 17));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 17);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 17);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons).\n *\n * @name AcroFormButton#radioIsUnison\n * @type {boolean}\n */\n Object.defineProperty(this, \"radioIsUnison\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n if (Object.keys(_MK).length !== 0) {\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n }\n return undefined;\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n};\ninherit(AcroFormButton, AcroFormField);\n\n/**\n * @class AcroFormPushButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormPushButton = function() {\n AcroFormButton.call(this);\n this.pushButton = true;\n};\ninherit(AcroFormPushButton, AcroFormButton);\n\n/**\n * @class AcroFormRadioButton\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormRadioButton = function() {\n AcroFormButton.call(this);\n this.radio = true;\n this.pushButton = false;\n\n var _Kids = [];\n Object.defineProperty(this, \"Kids\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _Kids;\n },\n set: function(value) {\n if (typeof value !== \"undefined\") {\n _Kids = value;\n } else {\n _Kids = [];\n }\n }\n });\n};\ninherit(AcroFormRadioButton, AcroFormButton);\n\n/**\n * The Child class of a RadioButton (the radioGroup) -> The single Buttons\n *\n * @class AcroFormChildClass\n * @extends AcroFormField\n * @ignore\n */\nvar AcroFormChildClass = function() {\n AcroFormField.call(this);\n\n var _parent;\n Object.defineProperty(this, \"Parent\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _parent;\n },\n set: function(value) {\n _parent = value;\n }\n });\n\n var _optionName;\n Object.defineProperty(this, \"optionName\", {\n enumerable: false,\n configurable: true,\n get: function() {\n return _optionName;\n },\n set: function(value) {\n _optionName = value;\n }\n });\n\n var _MK = {};\n Object.defineProperty(this, \"MK\", {\n enumerable: false,\n configurable: false,\n get: function() {\n var encryptor = function(data) {\n return data;\n };\n if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId);\n var result = [];\n result.push(\"<<\");\n var key;\n for (key in _MK) {\n result.push(\"/\" + key + \" (\" + pdfEscape(encryptor(_MK[key])) + \")\");\n }\n result.push(\">>\");\n return result.join(\"\\n\");\n },\n set: function(value) {\n if (typeof value === \"object\") {\n _MK = value;\n }\n }\n });\n\n /**\n * From the PDF reference:\n * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user.\n * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, \"Button Fields\"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, \"Button Fields\") and radio buttons (Radio Buttons in 12.7.4.2, \"Button Fields\").\n *\n * - '8' = Cross,\n * - 'l' = Circle,\n * - '' = nothing\n * @name AcroFormButton#caption\n * @type {string}\n */\n Object.defineProperty(this, \"caption\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MK.CA || \"\";\n },\n set: function(value) {\n if (typeof value === \"string\") {\n _MK.CA = value;\n }\n }\n });\n\n var _AS;\n Object.defineProperty(this, \"AS\", {\n enumerable: false,\n configurable: false,\n get: function() {\n return _AS;\n },\n set: function(value) {\n _AS = value;\n }\n });\n\n /**\n * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, \"Appearance Streams\")\n *\n * @name AcroFormButton#appearanceState\n * @type {any}\n */\n Object.defineProperty(this, \"appearanceState\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _AS.substr(1, _AS.length - 1);\n },\n set: function(value) {\n _AS = \"/\" + value;\n }\n });\n this.caption = \"l\";\n this.appearanceState = \"Off\";\n // todo: set AppearanceType as variable that can be set from the\n // outside...\n this._AppearanceType = AcroFormAppearance.RadioButton.Circle;\n // The Default appearanceType is the Circle\n this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(\n this.optionName\n );\n};\ninherit(AcroFormChildClass, AcroFormField);\n\nAcroFormRadioButton.prototype.setAppearance = function(appearance) {\n if (!(\"createAppearanceStream\" in appearance && \"getCA\" in appearance)) {\n throw new Error(\n \"Couldn't assign Appearance to RadioButton. Appearance was Invalid!\"\n );\n }\n for (var objId in this.Kids) {\n if (this.Kids.hasOwnProperty(objId)) {\n var child = this.Kids[objId];\n child.appearanceStreamContent = appearance.createAppearanceStream(\n child.optionName\n );\n child.caption = appearance.getCA();\n }\n }\n};\n\nAcroFormRadioButton.prototype.createOption = function(name) {\n // Create new Child for RadioGroup\n var child = new AcroFormChildClass();\n child.Parent = this;\n child.optionName = name;\n // Add to Parent\n this.Kids.push(child);\n\n addField.call(this.scope, child);\n\n return child;\n};\n\n/**\n * @class AcroFormCheckBox\n * @extends AcroFormButton\n * @extends AcroFormField\n */\nvar AcroFormCheckBox = function() {\n AcroFormButton.call(this);\n\n this.fontName = \"zapfdingbats\";\n this.caption = \"3\";\n this.appearanceState = \"On\";\n this.value = \"On\";\n this.textAlign = \"center\";\n this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream();\n};\ninherit(AcroFormCheckBox, AcroFormButton);\n\n/**\n * @class AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormTextField = function() {\n AcroFormField.call(this);\n this.FT = \"/Tx\";\n\n /**\n * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line.\n *\n * @name AcroFormTextField#multiline\n * @type {boolean}\n */\n Object.defineProperty(this, \"multiline\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 13));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 13);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 13);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field.\n *\n * @name AcroFormTextField#fileSelect\n * @type {boolean}\n */\n Object.defineProperty(this, \"fileSelect\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 21));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 21);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 21);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, text entered in the field shall not be spell-checked.\n *\n * @name AcroFormTextField#doNotSpellCheck\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotSpellCheck\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 23));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 23);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 23);\n }\n }\n });\n\n /**\n * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area.\n *\n * @name AcroFormTextField#doNotScroll\n * @type {boolean}\n */\n Object.defineProperty(this, \"doNotScroll\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 24));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 24);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 24);\n }\n }\n });\n\n /**\n * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs.\n *\n * @name AcroFormTextField#comb\n * @type {boolean}\n */\n Object.defineProperty(this, \"comb\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 25));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 25);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 25);\n }\n }\n });\n\n /**\n * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string.\n *\n * @name AcroFormTextField#richText\n * @type {boolean}\n */\n Object.defineProperty(this, \"richText\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 26));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 26);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 26);\n }\n }\n });\n\n var _MaxLen = null;\n Object.defineProperty(this, \"MaxLen\", {\n enumerable: true,\n configurable: false,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n _MaxLen = value;\n }\n });\n\n /**\n * (Optional; inheritable) The maximum length of the field’s text, in characters.\n *\n * @name AcroFormTextField#maxLength\n * @type {number}\n */\n Object.defineProperty(this, \"maxLength\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return _MaxLen;\n },\n set: function(value) {\n if (Number.isInteger(value)) {\n _MaxLen = value;\n }\n }\n });\n\n Object.defineProperty(this, \"hasAppearanceStream\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return this.V || this.DV;\n }\n });\n};\ninherit(AcroFormTextField, AcroFormField);\n\n/**\n * @class AcroFormPasswordField\n * @extends AcroFormTextField\n * @extends AcroFormField\n */\nvar AcroFormPasswordField = function() {\n AcroFormTextField.call(this);\n\n /**\n * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters.\n * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set.\n *\n * @name AcroFormTextField#password\n * @type {boolean}\n */\n Object.defineProperty(this, \"password\", {\n enumerable: true,\n configurable: true,\n get: function() {\n return Boolean(getBitForPdf(this.Ff, 14));\n },\n set: function(value) {\n if (Boolean(value) === true) {\n this.Ff = setBitForPdf(this.Ff, 14);\n } else {\n this.Ff = clearBitForPdf(this.Ff, 14);\n }\n }\n });\n this.password = true;\n};\ninherit(AcroFormPasswordField, AcroFormTextField);\n\n// Contains Methods for creating standard appearances\nvar AcroFormAppearance = {\n CheckBox: {\n createAppearanceStream: function() {\n var appearance = {\n N: {\n On: AcroFormAppearance.CheckBox.YesNormal\n },\n D: {\n On: AcroFormAppearance.CheckBox.YesPushDown,\n Off: AcroFormAppearance.CheckBox.OffPushDown\n }\n };\n\n return appearance;\n },\n /**\n * Returns the standard On Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"BMC\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(\"BT\");\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n stream.push(\"EMC\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var stream = [];\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var calcRes = calculateX(formObject, formObject.caption);\n stream.push(\"1 g\");\n stream.push(\"0 0 \" + f2(width) + \" \" + f2(height) + \" re\");\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\"0 0 1 rg\");\n stream.push(\"0 0 \" + f2(width - 1) + \" \" + f2(height - 1) + \" re\");\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(\"0 g\");\n stream.push(\"BT\");\n stream.push(\n \"/\" + fontKey + \" \" + f2(calcRes.fontSize) + \" Tf \" + encodedColor\n );\n stream.push(calcRes.text);\n stream.push(\"ET\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n\n /**\n * Returns the standard Off Appearance for a CheckBox\n *\n * @returns {AcroFormXObject}\n */\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n RadioButton: {\n Circle: {\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Circle.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Circle.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Circle.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"l\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n // Make the Radius of the Circle relative to min(height, width) of formObject\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n var c = AcroFormAppearance.internal.Bezier_C;\n var DotRadiusBezier = Number((DotRadius * c).toFixed(5));\n /*\n * The Following is a Circle created with Bezier-Curves.\n */\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n DotRadiusBezier +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadiusBezier +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n var dc = Number(\n (DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)\n );\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n stream.push(\"0 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(DotRadius + \" 0 m\");\n stream.push(\n \"\" +\n DotRadius +\n \" \" +\n dc +\n \" \" +\n dc +\n \" \" +\n DotRadius +\n \" 0 \" +\n DotRadius +\n \" c\"\n );\n stream.push(\n \"-\" +\n dc +\n \" \" +\n DotRadius +\n \" -\" +\n DotRadius +\n \" \" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\n \"-\" +\n DotRadius +\n \" -\" +\n dc +\n \" -\" +\n dc +\n \" -\" +\n DotRadius +\n \" 0 -\" +\n DotRadius +\n \" c\"\n );\n stream.push(\n dc +\n \" -\" +\n DotRadius +\n \" \" +\n DotRadius +\n \" -\" +\n dc +\n \" \" +\n DotRadius +\n \" 0 c\"\n );\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var DotRadius =\n AcroFormAppearance.internal.getWidth(formObject) <=\n AcroFormAppearance.internal.getHeight(formObject)\n ? AcroFormAppearance.internal.getWidth(formObject) / 4\n : AcroFormAppearance.internal.getHeight(formObject) / 4;\n // The Borderpadding...\n DotRadius = Number((DotRadius * 0.9).toFixed(5));\n // Save results for later use; no need to waste\n // processor ticks on doing math\n var k = Number((DotRadius * 2).toFixed(5));\n var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5));\n\n stream.push(\"0.749023 g\");\n stream.push(\"q\");\n stream.push(\n \"1 0 0 1 \" +\n f5(AcroFormAppearance.internal.getWidth(formObject) / 2) +\n \" \" +\n f5(AcroFormAppearance.internal.getHeight(formObject) / 2) +\n \" cm\"\n );\n stream.push(k + \" 0 m\");\n stream.push(k + \" \" + kc + \" \" + kc + \" \" + k + \" 0 \" + k + \" c\");\n stream.push(\n \"-\" + kc + \" \" + k + \" -\" + k + \" \" + kc + \" -\" + k + \" 0 c\"\n );\n stream.push(\n \"-\" + k + \" -\" + kc + \" -\" + kc + \" -\" + k + \" 0 -\" + k + \" c\"\n );\n stream.push(kc + \" -\" + k + \" \" + k + \" -\" + kc + \" \" + k + \" 0 c\");\n stream.push(\"f\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n },\n\n Cross: {\n /**\n * Creates the Actual AppearanceDictionary-References\n *\n * @param {string} name\n * @returns {Object}\n * @ignore\n */\n createAppearanceStream: function(name) {\n var appearanceStreamContent = {\n D: {\n Off: AcroFormAppearance.RadioButton.Cross.OffPushDown\n },\n N: {}\n };\n appearanceStreamContent.N[name] =\n AcroFormAppearance.RadioButton.Cross.YesNormal;\n appearanceStreamContent.D[name] =\n AcroFormAppearance.RadioButton.Cross.YesPushDown;\n return appearanceStreamContent;\n },\n getCA: function() {\n return \"8\";\n },\n\n YesNormal: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n YesPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var cross = AcroFormAppearance.internal.calculateCross(formObject);\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n stream.push(\"q\");\n stream.push(\n \"1 1 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject) - 2) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject) - 2) +\n \" re\"\n );\n stream.push(\"W\");\n stream.push(\"n\");\n stream.push(f2(cross.x1.x) + \" \" + f2(cross.x1.y) + \" m\");\n stream.push(f2(cross.x2.x) + \" \" + f2(cross.x2.y) + \" l\");\n stream.push(f2(cross.x4.x) + \" \" + f2(cross.x4.y) + \" m\");\n stream.push(f2(cross.x3.x) + \" \" + f2(cross.x3.y) + \" l\");\n stream.push(\"s\");\n stream.push(\"Q\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n },\n OffPushDown: function(formObject) {\n var xobj = createFormXObject(formObject);\n xobj.scope = formObject.scope;\n var stream = [];\n stream.push(\"0.749023 g\");\n stream.push(\n \"0 0 \" +\n f2(AcroFormAppearance.internal.getWidth(formObject)) +\n \" \" +\n f2(AcroFormAppearance.internal.getHeight(formObject)) +\n \" re\"\n );\n stream.push(\"f\");\n xobj.stream = stream.join(\"\\n\");\n return xobj;\n }\n }\n },\n\n /**\n * Returns the standard Appearance\n *\n * @returns {AcroFormXObject}\n */\n createDefaultAppearanceStream: function(formObject) {\n // Set Helvetica to Standard Font (size: auto)\n // Color: Black\n var fontKey = formObject.scope.internal.getFont(\n formObject.fontName,\n formObject.fontStyle\n ).id;\n var encodedColor = formObject.scope.__private__.encodeColorString(\n formObject.color\n );\n var fontSize = formObject.fontSize;\n var result = \"/\" + fontKey + \" \" + fontSize + \" Tf \" + encodedColor;\n return result;\n }\n};\n\nAcroFormAppearance.internal = {\n Bezier_C: 0.551915024494,\n\n calculateCross: function(formObject) {\n var width = AcroFormAppearance.internal.getWidth(formObject);\n var height = AcroFormAppearance.internal.getHeight(formObject);\n var a = Math.min(width, height);\n\n var cross = {\n x1: {\n // upperLeft\n x: (width - a) / 2,\n y: (height - a) / 2 + a // height - borderPadding\n },\n x2: {\n // lowerRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 // borderPadding\n },\n x3: {\n // lowerLeft\n x: (width - a) / 2,\n y: (height - a) / 2 // borderPadding\n },\n x4: {\n // upperRight\n x: (width - a) / 2 + a,\n y: (height - a) / 2 + a // height - borderPadding\n }\n };\n\n return cross;\n }\n};\nAcroFormAppearance.internal.getWidth = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[2]);\n }\n return result;\n};\nAcroFormAppearance.internal.getHeight = function(formObject) {\n var result = 0;\n if (typeof formObject === \"object\") {\n result = scale(formObject.Rect[3]);\n }\n return result;\n};\n\n// Public:\n\n/**\n * Add an AcroForm-Field to the jsPDF-instance\n *\n * @name addField\n * @function\n * @instance\n * @param {Object} fieldObject\n * @returns {jsPDF}\n */\nvar addField = (jsPDFAPI.addField = function(fieldObject) {\n initializeAcroForm(this, fieldObject);\n\n if (fieldObject instanceof AcroFormField) {\n putForm(fieldObject);\n } else {\n throw new Error(\"Invalid argument passed to jsPDF.addField.\");\n }\n fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber;\n return this;\n});\n\njsPDFAPI.AcroFormChoiceField = AcroFormChoiceField;\njsPDFAPI.AcroFormListBox = AcroFormListBox;\njsPDFAPI.AcroFormComboBox = AcroFormComboBox;\njsPDFAPI.AcroFormEditBox = AcroFormEditBox;\njsPDFAPI.AcroFormButton = AcroFormButton;\njsPDFAPI.AcroFormPushButton = AcroFormPushButton;\njsPDFAPI.AcroFormRadioButton = AcroFormRadioButton;\njsPDFAPI.AcroFormCheckBox = AcroFormCheckBox;\njsPDFAPI.AcroFormTextField = AcroFormTextField;\njsPDFAPI.AcroFormPasswordField = AcroFormPasswordField;\njsPDFAPI.AcroFormAppearance = AcroFormAppearance;\n\njsPDFAPI.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\njsPDF.AcroForm = {\n ChoiceField: AcroFormChoiceField,\n ListBox: AcroFormListBox,\n ComboBox: AcroFormComboBox,\n EditBox: AcroFormEditBox,\n Button: AcroFormButton,\n PushButton: AcroFormPushButton,\n RadioButton: AcroFormRadioButton,\n CheckBox: AcroFormCheckBox,\n TextField: AcroFormTextField,\n PasswordField: AcroFormPasswordField,\n Appearance: AcroFormAppearance\n};\n\nvar AcroForm = jsPDF.AcroForm;\n\nexport {\n AcroForm,\n AcroFormChoiceField,\n AcroFormListBox,\n AcroFormComboBox,\n AcroFormEditBox,\n AcroFormButton,\n AcroFormPushButton,\n AcroFormRadioButton,\n AcroFormCheckBox,\n AcroFormTextField,\n AcroFormPasswordField,\n AcroFormAppearance\n};\n","function toLookup(arr) {\n return arr.reduce(function(lookup, name, index) {\n lookup[name] = index;\n\n return lookup;\n }, {});\n}\n\nvar fontStyleOrder = {\n italic: [\"italic\", \"oblique\", \"normal\"],\n oblique: [\"oblique\", \"italic\", \"normal\"],\n normal: [\"normal\", \"oblique\", \"italic\"]\n};\n\nvar fontStretchOrder = [\n \"ultra-condensed\",\n \"extra-condensed\",\n \"condensed\",\n \"semi-condensed\",\n \"normal\",\n \"semi-expanded\",\n \"expanded\",\n \"extra-expanded\",\n \"ultra-expanded\"\n];\n\n// For a given font-stretch value, we need to know where to start our search\n// from in the fontStretchOrder list.\nvar fontStretchLookup = toLookup(fontStretchOrder);\n\nvar fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900];\nvar fontWeightsLookup = toLookup(fontWeights);\n\nfunction normalizeFontStretch(stretch) {\n stretch = stretch || \"normal\";\n\n return typeof fontStretchLookup[stretch] === \"number\" ? stretch : \"normal\";\n}\n\nfunction normalizeFontStyle(style) {\n style = style || \"normal\";\n\n return fontStyleOrder[style] ? style : \"normal\";\n}\n\nfunction normalizeFontWeight(weight) {\n if (!weight) {\n return 400;\n }\n\n if (typeof weight === \"number\") {\n // Ignore values which aren't valid font-weights.\n return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400;\n }\n\n if (/^\\d00$/.test(weight)) {\n return parseInt(weight);\n }\n\n switch (weight) {\n case \"bold\":\n return 700;\n\n case \"normal\":\n default:\n return 400;\n }\n}\n\nexport function normalizeFontFace(fontFace) {\n var family = fontFace.family.replace(/\"|'/g, \"\").toLowerCase();\n\n var style = normalizeFontStyle(fontFace.style);\n var weight = normalizeFontWeight(fontFace.weight);\n var stretch = normalizeFontStretch(fontFace.stretch);\n\n return {\n family: family,\n style: style,\n weight: weight,\n stretch: stretch,\n src: fontFace.src || [],\n\n // The ref property maps this font-face to the font\n // added by the .addFont() method.\n ref: fontFace.ref || {\n name: family,\n style: [stretch, style, weight].join(\" \")\n }\n };\n}\n\n/**\n * Turns a list of font-faces into a map, for easier lookup when resolving\n * fonts.\n * @private\n */\nexport function buildFontFaceMap(fontFaces) {\n var map = {};\n\n for (var i = 0; i < fontFaces.length; ++i) {\n var normalized = normalizeFontFace(fontFaces[i]);\n\n var name = normalized.family;\n var stretch = normalized.stretch;\n var style = normalized.style;\n var weight = normalized.weight;\n\n map[name] = map[name] || {};\n\n map[name][stretch] = map[name][stretch] || {};\n map[name][stretch][style] = map[name][stretch][style] || {};\n map[name][stretch][style][weight] = normalized;\n }\n\n return map;\n}\n\n/**\n * Searches a map of stretches, weights, etc. in the given direction and\n * then, if no match has been found, in the opposite directions.\n *\n * @param {Object.} matchingSet A map of the various font variations.\n * @param {any[]} order The order of the different variations\n * @param {number} pivot The starting point of the search in the order list.\n * @param {number} dir The initial direction of the search (desc = -1, asc = 1)\n * @private\n */\n\nfunction searchFromPivot(matchingSet, order, pivot, dir) {\n var i;\n\n for (i = pivot; i >= 0 && i < order.length; i += dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n\n for (i = pivot; i >= 0 && i < order.length; i -= dir) {\n if (matchingSet[order[i]]) {\n return matchingSet[order[i]];\n }\n }\n}\n\nfunction resolveFontStretch(stretch, matchingSet) {\n if (matchingSet[stretch]) {\n return matchingSet[stretch];\n }\n\n var pivot = fontStretchLookup[stretch];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = pivot <= fontStretchLookup[\"normal\"] ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-stretch value for \" + stretch\n );\n }\n\n return match;\n}\n\nfunction resolveFontStyle(fontStyle, matchingSet) {\n if (matchingSet[fontStyle]) {\n return matchingSet[fontStyle];\n }\n\n var ordering = fontStyleOrder[fontStyle];\n\n for (var i = 0; i < ordering.length; ++i) {\n if (matchingSet[ordering[i]]) {\n return matchingSet[ordering[i]];\n }\n }\n\n // Since a font-family cannot exist without having at least one style value\n // we should never reach this point.\n throw new Error(\"Could not find a matching font-style for \" + fontStyle);\n}\n\nfunction resolveFontWeight(weight, matchingSet) {\n if (matchingSet[weight]) {\n return matchingSet[weight];\n }\n\n if (weight === 400 && matchingSet[500]) {\n return matchingSet[500];\n }\n\n if (weight === 500 && matchingSet[400]) {\n return matchingSet[400];\n }\n\n var pivot = fontWeightsLookup[weight];\n\n // If the font-stretch value is normal or more condensed, we want to\n // start with a descending search, otherwise we should do ascending.\n var dir = weight < 400 ? -1 : 1;\n var match = searchFromPivot(matchingSet, fontWeights, pivot, dir);\n\n if (!match) {\n // Since a font-family cannot exist without having at least one stretch value\n // we should never reach this point.\n throw new Error(\n \"Could not find a matching font-weight for value \" + weight\n );\n }\n\n return match;\n}\n\nvar defaultGenericFontFamilies = {\n \"sans-serif\": \"helvetica\",\n fixed: \"courier\",\n monospace: \"courier\",\n terminal: \"courier\",\n cursive: \"times\",\n fantasy: \"times\",\n serif: \"times\"\n};\n\nvar systemFonts = {\n caption: \"times\",\n icon: \"times\",\n menu: \"times\",\n \"message-box\": \"times\",\n \"small-caption\": \"times\",\n \"status-bar\": \"times\"\n};\n\nfunction ruleToString(rule) {\n return [rule.stretch, rule.style, rule.weight, rule.family].join(\" \");\n}\n\nexport function resolveFontFace(fontFaceMap, rules, opts) {\n opts = opts || {};\n\n var defaultFontFamily = opts.defaultFontFamily || \"times\";\n var genericFontFamilies = Object.assign(\n {},\n defaultGenericFontFamilies,\n opts.genericFontFamilies || {}\n );\n\n var rule = null;\n var matches = null;\n\n for (var i = 0; i < rules.length; ++i) {\n rule = normalizeFontFace(rules[i]);\n\n if (genericFontFamilies[rule.family]) {\n rule.family = genericFontFamilies[rule.family];\n }\n\n if (fontFaceMap.hasOwnProperty(rule.family)) {\n matches = fontFaceMap[rule.family];\n\n break;\n }\n }\n\n // Always fallback to a known font family.\n matches = matches || fontFaceMap[defaultFontFamily];\n\n if (!matches) {\n // At this point we should definitiely have a font family, but if we\n // don't there is something wrong with our configuration\n throw new Error(\n \"Could not find a font-family for the rule '\" +\n ruleToString(rule) +\n \"' and default family '\" +\n defaultFontFamily +\n \"'.\"\n );\n }\n\n matches = resolveFontStretch(rule.stretch, matches);\n matches = resolveFontStyle(rule.style, matches);\n matches = resolveFontWeight(rule.weight, matches);\n\n if (!matches) {\n // We should've fount\n throw new Error(\n \"Failed to resolve a font for the rule '\" + ruleToString(rule) + \"'.\"\n );\n }\n\n return matches;\n}\n\n/**\n * Builds a style id for use with the addFont() method.\n * @param {FontFace} font\n * @private\n */\nexport function toStyleName(font) {\n return [font.weight, font.style, font.stretch].join(\" \");\n}\n\nfunction eatWhiteSpace(input) {\n return input.trimLeft();\n}\n\nfunction parseQuotedFontFamily(input, quote) {\n var index = 0;\n\n while (index < input.length) {\n var current = input.charAt(index);\n\n if (current === quote) {\n return [input.substring(0, index), input.substring(index + 1)];\n }\n\n index += 1;\n }\n\n // Unexpected end of input\n return null;\n}\n\nfunction parseNonQuotedFontFamily(input) {\n // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\n //\n // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode.\n //\n // Breakdown of regexp:\n // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit\n // [a-z_] - allow a-z and underscore at beginning of input\n // [a-z0-9_-]* - after that, anything goes\n var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i);\n\n // non quoted value contains illegal characters\n if (match === null) {\n return null;\n }\n\n return [match[0], input.substring(match[0].length)];\n}\n\nvar defaultFont = [\"times\"];\n\nexport function parseFontFamily(input) {\n var result = [];\n var ch, parsed;\n var remaining = input.trim();\n\n if (remaining === \"\") {\n return defaultFont;\n }\n\n if (remaining in systemFonts) {\n return [systemFonts[remaining]];\n }\n\n while (remaining !== \"\") {\n parsed = null;\n remaining = eatWhiteSpace(remaining);\n ch = remaining.charAt(0);\n\n switch (ch) {\n case '\"':\n case \"'\":\n parsed = parseQuotedFontFamily(remaining.substring(1), ch);\n break;\n\n default:\n parsed = parseNonQuotedFontFamily(remaining);\n break;\n }\n\n if (parsed === null) {\n return defaultFont;\n }\n\n result.push(parsed[0]);\n\n remaining = eatWhiteSpace(parsed[1]);\n\n // We expect end of input or a comma separator here\n if (remaining !== \"\" && remaining.charAt(0) !== \",\") {\n return defaultFont;\n }\n\n remaining = remaining.replace(/^,/, \"\");\n }\n\n return result;\n}\n","/** @license\n * jsPDF addImage plugin\n * Copyright (c) 2012 Jason Siefken, https://github.com/siefkenj/\n * 2013 Chris Dowling, https://github.com/gingerchris\n * 2013 Trinh Ho, https://github.com/ineedfat\n * 2013 Edwin Alejandro Perez, https://github.com/eaparango\n * 2013 Norah Smith, https://github.com/burnburnrocket\n * 2014 Diego Casorran, https://github.com/diegocr\n * 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n/**\n * @name addImage\n * @module\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob, btoa } from \"../libs/AtobBtoa.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namespace = \"addImage_\";\n jsPDFAPI.__addimage__ = {};\n\n var UNKNOWN = \"UNKNOWN\";\n\n // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow.\n // With too small batch iteration will be slow as more calls are made,\n // higher values cause larger and slower garbage collection.\n var ARRAY_APPLY_BATCH = 8192;\n\n var imageFileTypeHeaders = {\n PNG: [[0x89, 0x50, 0x4e, 0x47]],\n TIFF: [\n [0x4d, 0x4d, 0x00, 0x2a], //Motorola\n [0x49, 0x49, 0x2a, 0x00] //Intel\n ],\n JPEG: [\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe0,\n undefined,\n undefined,\n 0x4a,\n 0x46,\n 0x49,\n 0x46,\n 0x00\n ], //JFIF\n [\n 0xff,\n 0xd8,\n 0xff,\n 0xe1,\n undefined,\n undefined,\n 0x45,\n 0x78,\n 0x69,\n 0x66,\n 0x00,\n 0x00\n ], //Exif\n [0xff, 0xd8, 0xff, 0xdb], //JPEG RAW\n [0xff, 0xd8, 0xff, 0xee] //EXIF RAW\n ],\n JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]],\n GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]],\n GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]],\n WEBP: [\n [\n 0x52,\n 0x49,\n 0x46,\n 0x46,\n undefined,\n undefined,\n undefined,\n undefined,\n 0x57,\n 0x45,\n 0x42,\n 0x50\n ]\n ],\n BMP: [\n [0x42, 0x4d], //BM - Windows 3.1x, 95, NT, ... etc.\n [0x42, 0x41], //BA - OS/2 struct bitmap array\n [0x43, 0x49], //CI - OS/2 struct color icon\n [0x43, 0x50], //CP - OS/2 const color pointer\n [0x49, 0x43], //IC - OS/2 struct icon\n [0x50, 0x54] //PT - OS/2 pointer\n ]\n };\n\n /**\n * Recognize filetype of Image by magic-bytes\n *\n * https://en.wikipedia.org/wiki/List_of_file_signatures\n *\n * @name getImageFileTypeByImageData\n * @public\n * @function\n * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer\n * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG'\n *\n * @returns {string} filetype of Image\n */\n var getImageFileTypeByImageData = (jsPDFAPI.__addimage__.getImageFileTypeByImageData = function(\n imageData,\n fallbackFormat\n ) {\n fallbackFormat = fallbackFormat || UNKNOWN;\n var i;\n var j;\n var result = UNKNOWN;\n var headerSchemata;\n var compareResult;\n var fileType;\n\n if (\n fallbackFormat === \"RGBA\" ||\n (imageData.data !== undefined &&\n imageData.data instanceof Uint8ClampedArray &&\n \"height\" in imageData &&\n \"width\" in imageData)\n ) {\n return \"RGBA\";\n }\n\n if (isArrayBufferView(imageData)) {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData[j]) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n } else {\n for (fileType in imageFileTypeHeaders) {\n headerSchemata = imageFileTypeHeaders[fileType];\n for (i = 0; i < headerSchemata.length; i += 1) {\n compareResult = true;\n for (j = 0; j < headerSchemata[i].length; j += 1) {\n if (headerSchemata[i][j] === undefined) {\n continue;\n }\n if (headerSchemata[i][j] !== imageData.charCodeAt(j)) {\n compareResult = false;\n break;\n }\n }\n if (compareResult === true) {\n result = fileType;\n break;\n }\n }\n }\n }\n\n if (result === UNKNOWN && fallbackFormat !== UNKNOWN) {\n result = fallbackFormat;\n }\n return result;\n });\n\n // Image functionality ported from pdf.js\n var putImage = function(image) {\n var out = this.internal.write;\n var putStream = this.internal.putStream;\n var getFilters = this.internal.getFilters;\n\n var filter = getFilters();\n while (filter.indexOf(\"FlateEncode\") !== -1) {\n filter.splice(filter.indexOf(\"FlateEncode\"), 1);\n }\n\n image.objectId = this.internal.newObject();\n\n var additionalKeyValues = [];\n additionalKeyValues.push({ key: \"Type\", value: \"/XObject\" });\n additionalKeyValues.push({ key: \"Subtype\", value: \"/Image\" });\n additionalKeyValues.push({ key: \"Width\", value: image.width });\n additionalKeyValues.push({ key: \"Height\", value: image.height });\n\n if (image.colorSpace === color_spaces.INDEXED) {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value:\n \"[/Indexed /DeviceRGB \" +\n // if an indexed png defines more than one colour with transparency, we've created a sMask\n (image.palette.length / 3 - 1) +\n \" \" +\n (\"sMask\" in image && typeof image.sMask !== \"undefined\"\n ? image.objectId + 2\n : image.objectId + 1) +\n \" 0 R]\"\n });\n } else {\n additionalKeyValues.push({\n key: \"ColorSpace\",\n value: \"/\" + image.colorSpace\n });\n if (image.colorSpace === color_spaces.DEVICE_CMYK) {\n additionalKeyValues.push({ key: \"Decode\", value: \"[1 0 1 0 1 0 1 0]\" });\n }\n }\n additionalKeyValues.push({\n key: \"BitsPerComponent\",\n value: image.bitsPerComponent\n });\n if (\n \"decodeParameters\" in image &&\n typeof image.decodeParameters !== \"undefined\"\n ) {\n additionalKeyValues.push({\n key: \"DecodeParms\",\n value: \"<<\" + image.decodeParameters + \">>\"\n });\n }\n if (\"transparency\" in image && Array.isArray(image.transparency)) {\n var transparency = \"\",\n i = 0,\n len = image.transparency.length;\n for (; i < len; i++)\n transparency +=\n image.transparency[i] + \" \" + image.transparency[i] + \" \";\n\n additionalKeyValues.push({\n key: \"Mask\",\n value: \"[\" + transparency + \"]\"\n });\n }\n if (typeof image.sMask !== \"undefined\") {\n additionalKeyValues.push({\n key: \"SMask\",\n value: image.objectId + 1 + \" 0 R\"\n });\n }\n\n var alreadyAppliedFilters =\n typeof image.filter !== \"undefined\" ? [\"/\" + image.filter] : undefined;\n\n putStream({\n data: image.data,\n additionalKeyValues: additionalKeyValues,\n alreadyAppliedFilters: alreadyAppliedFilters,\n objectId: image.objectId\n });\n\n out(\"endobj\");\n\n // Soft mask\n if (\"sMask\" in image && typeof image.sMask !== \"undefined\") {\n var decodeParameters =\n \"/Predictor \" +\n image.predictor +\n \" /Colors 1 /BitsPerComponent \" +\n image.bitsPerComponent +\n \" /Columns \" +\n image.width;\n var sMask = {\n width: image.width,\n height: image.height,\n colorSpace: \"DeviceGray\",\n bitsPerComponent: image.bitsPerComponent,\n decodeParameters: decodeParameters,\n data: image.sMask\n };\n if (\"filter\" in image) {\n sMask.filter = image.filter;\n }\n putImage.call(this, sMask);\n }\n\n //Palette\n if (image.colorSpace === color_spaces.INDEXED) {\n var objId = this.internal.newObject();\n //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>');\n //putStream(zlib.compress(img['pal']));\n putStream({\n data: arrayBufferToBinaryString(new Uint8Array(image.palette)),\n objectId: objId\n });\n out(\"endobj\");\n }\n };\n var putResourcesCallback = function() {\n var images = this.internal.collections[namespace + \"images\"];\n for (var i in images) {\n putImage.call(this, images[i]);\n }\n };\n var putXObjectsDictCallback = function() {\n var images = this.internal.collections[namespace + \"images\"],\n out = this.internal.write,\n image;\n for (var i in images) {\n image = images[i];\n out(\"/I\" + image.index, image.objectId, \"0\", \"R\");\n }\n };\n\n var checkCompressValue = function(value) {\n if (value && typeof value === \"string\") value = value.toUpperCase();\n return value in jsPDFAPI.image_compression ? value : image_compression.NONE;\n };\n\n var initialize = function() {\n if (!this.internal.collections[namespace + \"images\"]) {\n this.internal.collections[namespace + \"images\"] = {};\n this.internal.events.subscribe(\"putResources\", putResourcesCallback);\n this.internal.events.subscribe(\"putXobjectDict\", putXObjectsDictCallback);\n }\n };\n\n var getImages = function() {\n var images = this.internal.collections[namespace + \"images\"];\n initialize.call(this);\n return images;\n };\n var getImageIndex = function() {\n return Object.keys(this.internal.collections[namespace + \"images\"]).length;\n };\n var notDefined = function(value) {\n return typeof value === \"undefined\" || value === null || value.length === 0;\n };\n var generateAliasFromImageData = function(imageData) {\n if (typeof imageData === \"string\" || isArrayBufferView(imageData)) {\n return sHashCode(imageData);\n } else if (isArrayBufferView(imageData.data)) {\n return sHashCode(imageData.data);\n }\n\n return null;\n };\n\n var isImageTypeSupported = function(type) {\n return typeof jsPDFAPI[\"process\" + type.toUpperCase()] === \"function\";\n };\n\n var isDOMElement = function(object) {\n return typeof object === \"object\" && object.nodeType === 1;\n };\n\n var getImageDataFromElement = function(element, format) {\n //if element is an image which uses data url definition, just return the dataurl\n if (element.nodeName === \"IMG\" && element.hasAttribute(\"src\")) {\n var src = \"\" + element.getAttribute(\"src\");\n\n //is base64 encoded dataUrl, directly process it\n if (src.indexOf(\"data:image/\") === 0) {\n return atob(\n unescape(src)\n .split(\"base64,\")\n .pop()\n );\n }\n\n //it is probably an url, try to load it\n var tmpImageData = jsPDFAPI.loadFile(src, true);\n if (tmpImageData !== undefined) {\n return tmpImageData;\n }\n }\n\n if (element.nodeName === \"CANVAS\") {\n if (element.width === 0 || element.height === 0) {\n throw new Error(\n \"Given canvas must have data. Canvas width: \" +\n element.width +\n \", height: \" +\n element.height\n );\n }\n var mimeType;\n switch (format) {\n case \"PNG\":\n mimeType = \"image/png\";\n break;\n case \"WEBP\":\n mimeType = \"image/webp\";\n break;\n case \"JPEG\":\n case \"JPG\":\n default:\n mimeType = \"image/jpeg\";\n break;\n }\n return atob(\n element\n .toDataURL(mimeType, 1.0)\n .split(\"base64,\")\n .pop()\n );\n }\n };\n\n var checkImagesForAlias = function(alias) {\n var images = this.internal.collections[namespace + \"images\"];\n if (images) {\n for (var e in images) {\n if (alias === images[e].alias) {\n return images[e];\n }\n }\n }\n };\n\n var determineWidthAndHeight = function(width, height, image) {\n if (!width && !height) {\n width = -96;\n height = -96;\n }\n if (width < 0) {\n width = (-1 * image.width * 72) / width / this.internal.scaleFactor;\n }\n if (height < 0) {\n height = (-1 * image.height * 72) / height / this.internal.scaleFactor;\n }\n if (width === 0) {\n width = (height * image.width) / image.height;\n }\n if (height === 0) {\n height = (width * image.height) / image.width;\n }\n\n return [width, height];\n };\n\n var writeImageToPDF = function(x, y, width, height, image, rotation) {\n var dims = determineWidthAndHeight.call(this, width, height, image),\n coord = this.internal.getCoordinateString,\n vcoord = this.internal.getVerticalCoordinateString;\n\n var images = getImages.call(this);\n\n width = dims[0];\n height = dims[1];\n images[image.index] = image;\n\n if (rotation) {\n rotation *= Math.PI / 180;\n var c = Math.cos(rotation);\n var s = Math.sin(rotation);\n //like in pdf Reference do it 4 digits instead of 2\n var f4 = function(number) {\n return number.toFixed(4);\n };\n var rotationTransformationMatrix = [\n f4(c),\n f4(s),\n f4(s * -1),\n f4(c),\n 0,\n 0,\n \"cm\"\n ];\n }\n this.internal.write(\"q\"); //Save graphics state\n if (rotation) {\n this.internal.write(\n [1, \"0\", \"0\", 1, coord(x), vcoord(y + height), \"cm\"].join(\" \")\n ); //Translate\n this.internal.write(rotationTransformationMatrix.join(\" \")); //Rotate\n this.internal.write(\n [coord(width), \"0\", \"0\", coord(height), \"0\", \"0\", \"cm\"].join(\" \")\n ); //Scale\n } else {\n this.internal.write(\n [\n coord(width),\n \"0\",\n \"0\",\n coord(height),\n coord(x),\n vcoord(y + height),\n \"cm\"\n ].join(\" \")\n ); //Translate and Scale\n }\n\n if (this.isAdvancedAPI()) {\n // draw image bottom up when in \"advanced\" API mode\n this.internal.write([1, 0, 0, -1, 0, 0, \"cm\"].join(\" \"));\n }\n\n this.internal.write(\"/I\" + image.index + \" Do\"); //Paint Image\n this.internal.write(\"Q\"); //Restore graphics state\n };\n\n /**\n * COLOR SPACES\n */\n var color_spaces = (jsPDFAPI.color_spaces = {\n DEVICE_RGB: \"DeviceRGB\",\n DEVICE_GRAY: \"DeviceGray\",\n DEVICE_CMYK: \"DeviceCMYK\",\n CAL_GREY: \"CalGray\",\n CAL_RGB: \"CalRGB\",\n LAB: \"Lab\",\n ICC_BASED: \"ICCBased\",\n INDEXED: \"Indexed\",\n PATTERN: \"Pattern\",\n SEPARATION: \"Separation\",\n DEVICE_N: \"DeviceN\"\n });\n\n /**\n * DECODE METHODS\n */\n jsPDFAPI.decode = {\n DCT_DECODE: \"DCTDecode\",\n FLATE_DECODE: \"FlateDecode\",\n LZW_DECODE: \"LZWDecode\",\n JPX_DECODE: \"JPXDecode\",\n JBIG2_DECODE: \"JBIG2Decode\",\n ASCII85_DECODE: \"ASCII85Decode\",\n ASCII_HEX_DECODE: \"ASCIIHexDecode\",\n RUN_LENGTH_DECODE: \"RunLengthDecode\",\n CCITT_FAX_DECODE: \"CCITTFaxDecode\"\n };\n\n /**\n * IMAGE COMPRESSION TYPES\n */\n var image_compression = (jsPDFAPI.image_compression = {\n NONE: \"NONE\",\n FAST: \"FAST\",\n MEDIUM: \"MEDIUM\",\n SLOW: \"SLOW\"\n });\n\n /**\n * @name sHashCode\n * @function\n * @param {string} data\n * @returns {string}\n */\n var sHashCode = (jsPDFAPI.__addimage__.sHashCode = function(data) {\n var hash = 0,\n i,\n len;\n\n if (typeof data === \"string\") {\n len = data.length;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data.charCodeAt(i);\n hash |= 0; // Convert to 32bit integer\n }\n } else if (isArrayBufferView(data)) {\n len = data.byteLength / 2;\n for (i = 0; i < len; i++) {\n hash = (hash << 5) - hash + data[i];\n hash |= 0; // Convert to 32bit integer\n }\n }\n return hash;\n });\n\n /**\n * Validates if given String is a valid Base64-String\n *\n * @name validateStringAsBase64\n * @public\n * @function\n * @param {String} possible Base64-String\n *\n * @returns {boolean}\n */\n var validateStringAsBase64 = (jsPDFAPI.__addimage__.validateStringAsBase64 = function(\n possibleBase64String\n ) {\n possibleBase64String = possibleBase64String || \"\";\n possibleBase64String.toString().trim();\n\n var result = true;\n\n if (possibleBase64String.length === 0) {\n result = false;\n }\n\n if (possibleBase64String.length % 4 !== 0) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9+/]+$/.test(\n possibleBase64String.substr(0, possibleBase64String.length - 2)\n ) === false\n ) {\n result = false;\n }\n\n if (\n /^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(\n possibleBase64String.substr(-2)\n ) === false\n ) {\n result = false;\n }\n return result;\n });\n\n /**\n * Strips out and returns info from a valid base64 data URI\n *\n * @name extractImageFromDataUrl\n * @function\n * @param {string} dataUrl a valid data URI of format 'data:[][;base64],'\n * @returns {Array}an Array containing the following\n * [0] the complete data URI\n * [1] \n * [2] format - the second part of the mime-type i.e 'png' in 'image/png'\n * [4] \n */\n var extractImageFromDataUrl = (jsPDFAPI.__addimage__.extractImageFromDataUrl = function(\n dataUrl\n ) {\n dataUrl = dataUrl || \"\";\n var dataUrlParts = dataUrl.split(\"base64,\");\n var result = null;\n\n if (dataUrlParts.length === 2) {\n var extractedInfo = /^data:(\\w*\\/\\w*);*(charset=(?!charset=)[\\w=-]*)*;*$/.exec(\n dataUrlParts[0]\n );\n if (Array.isArray(extractedInfo)) {\n result = {\n mimeType: extractedInfo[1],\n charset: extractedInfo[2],\n data: dataUrlParts[1]\n };\n }\n }\n return result;\n });\n\n /**\n * Check to see if ArrayBuffer is supported\n *\n * @name supportsArrayBuffer\n * @function\n * @returns {boolean}\n */\n var supportsArrayBuffer = (jsPDFAPI.__addimage__.supportsArrayBuffer = function() {\n return (\n typeof ArrayBuffer !== \"undefined\" && typeof Uint8Array !== \"undefined\"\n );\n });\n\n /**\n * Tests supplied object to determine if ArrayBuffer\n *\n * @name isArrayBuffer\n * @function\n * @param {Object} object an Object\n *\n * @returns {boolean}\n */\n jsPDFAPI.__addimage__.isArrayBuffer = function(object) {\n return supportsArrayBuffer() && object instanceof ArrayBuffer;\n };\n\n /**\n * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface\n *\n * @name isArrayBufferView\n * @function\n * @param {Object} object an Object\n * @returns {boolean}\n */\n var isArrayBufferView = (jsPDFAPI.__addimage__.isArrayBufferView = function(\n object\n ) {\n return (\n supportsArrayBuffer() &&\n typeof Uint32Array !== \"undefined\" &&\n (object instanceof Int8Array ||\n object instanceof Uint8Array ||\n (typeof Uint8ClampedArray !== \"undefined\" &&\n object instanceof Uint8ClampedArray) ||\n object instanceof Int16Array ||\n object instanceof Uint16Array ||\n object instanceof Int32Array ||\n object instanceof Uint32Array ||\n object instanceof Float32Array ||\n object instanceof Float64Array)\n );\n });\n\n /**\n * Convert Binary String to ArrayBuffer\n *\n * @name binaryStringToUint8Array\n * @public\n * @function\n * @param {string} BinaryString with ImageData\n * @returns {Uint8Array}\n */\n var binaryStringToUint8Array = (jsPDFAPI.__addimage__.binaryStringToUint8Array = function(\n binary_string\n ) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n });\n\n /**\n * Convert the Buffer to a Binary String\n *\n * @name arrayBufferToBinaryString\n * @public\n * @function\n * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData\n *\n * @returns {String}\n */\n var arrayBufferToBinaryString = (jsPDFAPI.__addimage__.arrayBufferToBinaryString = function(\n buffer\n ) {\n var out = \"\";\n // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView.\n // Do not copy the array if input is already an array.\n var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer);\n for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) {\n // Limit the amount of characters being parsed to prevent overflow.\n // Note that while TextDecoder would be faster, it does not have the same\n // functionality as fromCharCode with any provided encodings as of 3/2021.\n out += String.fromCharCode.apply(\n null,\n buf.subarray(i, i + ARRAY_APPLY_BATCH)\n );\n }\n return out;\n });\n\n /**\n * Possible parameter for addImage, an RGBA buffer with size.\n *\n * @typedef {Object} RGBAData\n * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData.\n * @property {number} width - Image width as the data does not carry this information in itself.\n * @property {number} height - Image height as the data does not carry this information in itself.\n */\n\n /**\n * Adds an Image to the PDF.\n *\n * @name addImage\n * @public\n * @function\n * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData).\n * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP'\n * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width width of the image (in units declared at inception of PDF document)\n * @param {number} height height of the Image (in units declared at inception of PDF document)\n * @param {string} alias alias of the image (if used multiple times)\n * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation rotation of the image in degrees (0-359)\n *\n * @returns jsPDF\n */\n jsPDFAPI.addImage = function() {\n var imageData, format, x, y, w, h, alias, compression, rotation;\n\n imageData = arguments[0];\n if (typeof arguments[1] === \"number\") {\n format = UNKNOWN;\n x = arguments[1];\n y = arguments[2];\n w = arguments[3];\n h = arguments[4];\n alias = arguments[5];\n compression = arguments[6];\n rotation = arguments[7];\n } else {\n format = arguments[1];\n x = arguments[2];\n y = arguments[3];\n w = arguments[4];\n h = arguments[5];\n alias = arguments[6];\n compression = arguments[7];\n rotation = arguments[8];\n }\n\n if (\n typeof imageData === \"object\" &&\n !isDOMElement(imageData) &&\n \"imageData\" in imageData\n ) {\n var options = imageData;\n\n imageData = options.imageData;\n format = options.format || format || UNKNOWN;\n x = options.x || x || 0;\n y = options.y || y || 0;\n w = options.w || options.width || w;\n h = options.h || options.height || h;\n alias = options.alias || alias;\n compression = options.compression || compression;\n rotation = options.rotation || options.angle || rotation;\n }\n\n //If compression is not explicitly set, determine if we should use compression\n var filter = this.internal.getFilters();\n if (compression === undefined && filter.indexOf(\"FlateEncode\") !== -1) {\n compression = \"SLOW\";\n }\n\n if (isNaN(x) || isNaN(y)) {\n throw new Error(\"Invalid coordinates passed to jsPDF.addImage\");\n }\n\n initialize.call(this);\n\n var image = processImageData.call(\n this,\n imageData,\n format,\n alias,\n compression\n );\n\n writeImageToPDF.call(this, x, y, w, h, image, rotation);\n\n return this;\n };\n\n var processImageData = function(imageData, format, alias, compression) {\n var result, dataAsBinaryString;\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n imageData = unescape(imageData);\n var tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData !== \"\") {\n imageData = tmpImageData;\n } else {\n tmpImageData = jsPDFAPI.loadFile(imageData, true);\n if (tmpImageData !== undefined) {\n imageData = tmpImageData;\n }\n }\n }\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData, format);\n }\n\n format = getImageFileTypeByImageData(imageData, format);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n // now do the heavy lifting\n\n if (notDefined(alias)) {\n alias = generateAliasFromImageData(imageData);\n }\n result = checkImagesForAlias.call(this, alias);\n\n if (!result) {\n if (supportsArrayBuffer()) {\n // no need to convert if imageData is already uint8array\n if (!(imageData instanceof Uint8Array) && format !== \"RGBA\") {\n dataAsBinaryString = imageData;\n imageData = binaryStringToUint8Array(imageData);\n }\n }\n\n result = this[\"process\" + format.toUpperCase()](\n imageData,\n getImageIndex.call(this),\n alias,\n checkCompressValue(compression),\n dataAsBinaryString\n );\n }\n\n if (!result) {\n throw new Error(\"An unknown error occurred whilst processing the image.\");\n }\n return result;\n };\n\n /**\n * @name convertBase64ToBinaryString\n * @function\n * @param {string} stringData\n * @returns {string} binary string\n */\n var convertBase64ToBinaryString = (jsPDFAPI.__addimage__.convertBase64ToBinaryString = function(\n stringData,\n throwError\n ) {\n throwError = typeof throwError === \"boolean\" ? throwError : true;\n var base64Info;\n var imageData = \"\";\n var rawData;\n\n if (typeof stringData === \"string\") {\n base64Info = extractImageFromDataUrl(stringData);\n rawData = base64Info !== null ? base64Info.data : stringData;\n\n try {\n imageData = atob(rawData);\n } catch (e) {\n if (throwError) {\n if (!validateStringAsBase64(rawData)) {\n throw new Error(\n \"Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString \"\n );\n } else {\n throw new Error(\n \"atob-Error in jsPDF.convertBase64ToBinaryString \" + e.message\n );\n }\n }\n }\n }\n return imageData;\n });\n\n /**\n * @name getImageProperties\n * @function\n * @param {Object} imageData\n * @returns {Object}\n */\n jsPDFAPI.getImageProperties = function(imageData) {\n var image;\n var tmpImageData = \"\";\n var format;\n\n if (isDOMElement(imageData)) {\n imageData = getImageDataFromElement(imageData);\n }\n\n if (\n typeof imageData === \"string\" &&\n getImageFileTypeByImageData(imageData) === UNKNOWN\n ) {\n tmpImageData = convertBase64ToBinaryString(imageData, false);\n\n if (tmpImageData === \"\") {\n tmpImageData = jsPDFAPI.loadFile(imageData) || \"\";\n }\n imageData = tmpImageData;\n }\n\n format = getImageFileTypeByImageData(imageData);\n if (!isImageTypeSupported(format)) {\n throw new Error(\n \"addImage does not support files of type '\" +\n format +\n \"', please ensure that a plugin for '\" +\n format +\n \"' support is added.\"\n );\n }\n\n if (supportsArrayBuffer() && !(imageData instanceof Uint8Array)) {\n imageData = binaryStringToUint8Array(imageData);\n }\n\n image = this[\"process\" + format.toUpperCase()](imageData);\n\n if (!image) {\n throw new Error(\"An unknown error occurred whilst processing the image\");\n }\n\n image.fileType = format;\n\n return image;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF Annotations PlugIn\n *\n * There are many types of annotations in a PDF document. Annotations are placed\n * on a page at a particular location. They are not 'attached' to an object.\n *
\n * This plugin current supports
\n *
  • Goto Page (set pageNumber and top in options)\n *
  • Goto Name (set name and top in options)\n *
  • Goto URL (set url in options)\n *

    \n * \tThe destination magnification factor can also be specified when goto is a page number or a named destination. (see documentation below)\n * (set magFactor in options). XYZ is the default.\n *

    \n *

    \n * Links, Text, Popup, and FreeText are supported.\n *

    \n *

    \n * Options In PDF spec Not Implemented Yet\n *

  • link border\n *
  • named target\n *
  • page coordinates\n *
  • destination page scaling and layout\n *
  • actions other than URL and GotoPage\n *
  • background / hover actions\n *

    \n * @name annotations\n * @module\n */\n\n/*\n Destination Magnification Factors\n See PDF 1.3 Page 386 for meanings and options\n\n [supported]\n\tXYZ (options; left top zoom)\n\tFit (no options)\n\tFitH (options: top)\n\tFitV (options: left)\n\n\t[not supported]\n\tFitR\n\tFitB\n\tFitBH\n\tFitBV\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var notEmpty = function(obj) {\n if (typeof obj != \"undefined\") {\n if (obj != \"\") {\n return true;\n }\n }\n };\n\n jsPDF.API.events.push([\n \"addPage\",\n function(addPageData) {\n var pageInfo = this.internal.getPageInfo(addPageData.pageNumber);\n pageInfo.pageContext.annotations = [];\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putPage\",\n function(putPageData) {\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal\n .getVerticalCoordinateString;\n var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId);\n var pageAnnos = putPageData.pageContext.annotations;\n\n var anno, rect, line;\n var found = false;\n for (var a = 0; a < pageAnnos.length && !found; a++) {\n anno = pageAnnos[a];\n switch (anno.type) {\n case \"link\":\n if (\n notEmpty(anno.options.url) ||\n notEmpty(anno.options.pageNumber)\n ) {\n found = true;\n }\n break;\n case \"reference\":\n case \"text\":\n case \"freetext\":\n found = true;\n break;\n }\n }\n if (found == false) {\n return;\n }\n\n this.internal.write(\"/Annots [\");\n for (var i = 0; i < pageAnnos.length; i++) {\n anno = pageAnnos[i];\n var escape = this.internal.pdfEscape;\n var encryptor = this.internal.getEncryptor(putPageData.objId);\n\n switch (anno.type) {\n case \"reference\":\n // References to Widget Annotations (for AcroForm Fields)\n this.internal.write(\" \" + anno.object.objId + \" 0 R \");\n break;\n case \"text\":\n // Create a an object for both the text and the popup\n var objText = this.internal.newAdditionalObject();\n var objPopup = this.internal.newAdditionalObject();\n var encryptorText = this.internal.getEncryptor(objText.objId);\n\n var title = anno.title || \"Note\";\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n\n line =\n \"<>\";\n objText.content = line;\n\n var parent = objText.objId + \" 0 R\";\n var popoff = 30;\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x + popoff) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \" \" +\n getHorizontalCoordinateString(\n anno.bounds.x + anno.bounds.w + popoff\n ) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \"] \";\n line =\n \"<>\";\n objPopup.content = line;\n\n this.internal.write(objText.objId, \"0 R\", objPopup.objId, \"0 R\");\n\n break;\n case \"freetext\":\n rect =\n \"/Rect [\" +\n getHorizontalCoordinateString(anno.bounds.x) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y) +\n \" \" +\n getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) +\n \" \" +\n getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) +\n \"] \";\n var color = anno.color || \"#000000\";\n line =\n \"<>\";\n this.internal.write(line);\n break;\n case \"link\":\n if (anno.options.name) {\n var loc = this.annotations._nameMap[anno.options.name];\n anno.options.pageNumber = loc.page;\n anno.options.top = loc.y;\n } else {\n if (!anno.options.top) {\n anno.options.top = 0;\n }\n }\n\n rect =\n \"/Rect [\" +\n anno.finalBounds.x +\n \" \" +\n anno.finalBounds.y +\n \" \" +\n anno.finalBounds.w +\n \" \" +\n anno.finalBounds.h +\n \"] \";\n\n line = \"\";\n if (anno.options.url) {\n line =\n \"<>\";\n } else if (anno.options.pageNumber) {\n // first page is 0\n var info = this.internal.getPageInfo(anno.options.pageNumber);\n line =\n \"<>\";\n this.internal.write(line);\n }\n break;\n }\n }\n this.internal.write(\"]\");\n }\n ]);\n\n /**\n * @name createAnnotation\n * @function\n * @param {Object} options\n */\n jsPDFAPI.createAnnotation = function(options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n switch (options.type) {\n case \"link\":\n this.link(\n options.bounds.x,\n options.bounds.y,\n options.bounds.w,\n options.bounds.h,\n options\n );\n break;\n case \"text\":\n case \"freetext\":\n pageInfo.pageContext.annotations.push(options);\n break;\n }\n };\n\n /**\n * Create a link\n *\n * valid options\n *
  • pageNumber or url [required]\n *

    If pageNumber is specified, top and zoom may also be specified

    \n * @name link\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} w\n * @param {number} h\n * @param {Object} options\n */\n jsPDFAPI.link = function(x, y, w, h, options) {\n var pageInfo = this.internal.getCurrentPageInfo();\n var getHorizontalCoordinateString = this.internal.getCoordinateString;\n var getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\n\n pageInfo.pageContext.annotations.push({\n finalBounds: {\n x: getHorizontalCoordinateString(x),\n y: getVerticalCoordinateString(y),\n w: getHorizontalCoordinateString(x + w),\n h: getVerticalCoordinateString(y + h)\n },\n options: options,\n type: \"link\"\n });\n };\n\n /**\n * Currently only supports single line text.\n * Returns the width of the text/link\n *\n * @name textWithLink\n * @function\n * @param {string} text\n * @param {number} x\n * @param {number} y\n * @param {Object} options\n * @returns {number} width the width of the text/link\n */\n jsPDFAPI.textWithLink = function(text, x, y, options) {\n var totalLineWidth = this.getTextWidth(text);\n var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor;\n var linkHeight, linkWidth;\n\n // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line\n if (options.maxWidth !== undefined) {\n var { maxWidth } = options;\n linkWidth = maxWidth;\n var numOfLines = this.splitTextToSize(text, linkWidth).length;\n linkHeight = Math.ceil(lineHeight * numOfLines);\n } else {\n linkWidth = totalLineWidth;\n linkHeight = lineHeight;\n }\n\n this.text(text, x, y, options);\n\n //TODO We really need the text baseline height to do this correctly.\n // Or ability to draw text on top, bottom, center, or baseline.\n y += lineHeight * 0.2;\n //handle x position based on the align option\n if (options.align === \"center\") {\n x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width\n }\n if (options.align === \"right\") {\n x = x - totalLineWidth;\n }\n this.link(x, y - lineHeight, linkWidth, linkHeight, options);\n return totalLineWidth;\n };\n\n //TODO move into external library\n /**\n * @name getTextWidth\n * @function\n * @param {string} text\n * @returns {number} txtWidth\n */\n jsPDFAPI.getTextWidth = function(text) {\n var fontSize = this.internal.getFontSize();\n var txtWidth =\n (this.getStringUnitWidth(text) * fontSize) / this.internal.scaleFactor;\n return txtWidth;\n };\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF arabic parser PlugIn\n *\n * @name arabic\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Arabic shape substitutions: char code => (isolated, final, initial, medial).\n * Arabic Substition A\n */\n var arabicSubstitionA = {\n 0x0621: [0xfe80], // ARABIC LETTER HAMZA\n 0x0622: [0xfe81, 0xfe82], // ARABIC LETTER ALEF WITH MADDA ABOVE\n 0x0623: [0xfe83, 0xfe84], // ARABIC LETTER ALEF WITH HAMZA ABOVE\n 0x0624: [0xfe85, 0xfe86], // ARABIC LETTER WAW WITH HAMZA ABOVE\n 0x0625: [0xfe87, 0xfe88], // ARABIC LETTER ALEF WITH HAMZA BELOW\n 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], // ARABIC LETTER YEH WITH HAMZA ABOVE\n 0x0627: [0xfe8d, 0xfe8e], // ARABIC LETTER ALEF\n 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], // ARABIC LETTER BEH\n 0x0629: [0xfe93, 0xfe94], // ARABIC LETTER TEH MARBUTA\n 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], // ARABIC LETTER TEH\n 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], // ARABIC LETTER THEH\n 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], // ARABIC LETTER JEEM\n 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], // ARABIC LETTER HAH\n 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], // ARABIC LETTER KHAH\n 0x062f: [0xfea9, 0xfeaa], // ARABIC LETTER DAL\n 0x0630: [0xfeab, 0xfeac], // ARABIC LETTER THAL\n 0x0631: [0xfead, 0xfeae], // ARABIC LETTER REH\n 0x0632: [0xfeaf, 0xfeb0], // ARABIC LETTER ZAIN\n 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], // ARABIC LETTER SEEN\n 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], // ARABIC LETTER SHEEN\n 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], // ARABIC LETTER SAD\n 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], // ARABIC LETTER DAD\n 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], // ARABIC LETTER TAH\n 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], // ARABIC LETTER ZAH\n 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], // ARABIC LETTER AIN\n 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], // ARABIC LETTER GHAIN\n 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], // ARABIC LETTER FEH\n 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], // ARABIC LETTER QAF\n 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], // ARABIC LETTER KAF\n 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], // ARABIC LETTER LAM\n 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], // ARABIC LETTER MEEM\n 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], // ARABIC LETTER NOON\n 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], // ARABIC LETTER HEH\n 0x0648: [0xfeed, 0xfeee], // ARABIC LETTER WAW\n 0x0649: [0xfeef, 0xfef0, 64488, 64489], // ARABIC LETTER ALEF MAKSURA\n 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], // ARABIC LETTER YEH\n 0x0671: [0xfb50, 0xfb51], // ARABIC LETTER ALEF WASLA\n 0x0677: [0xfbdd], // ARABIC LETTER U WITH HAMZA ABOVE\n 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], // ARABIC LETTER TTEH\n 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], // ARABIC LETTER TTEHEH\n 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], // ARABIC LETTER BEEH\n 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], // ARABIC LETTER PEH\n 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], // ARABIC LETTER TEHEH\n 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], // ARABIC LETTER BEHEH\n 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], // ARABIC LETTER NYEH\n 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], // ARABIC LETTER DYEH\n 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], // ARABIC LETTER TCHEH\n 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], // ARABIC LETTER TCHEHEH\n 0x0688: [0xfb88, 0xfb89], // ARABIC LETTER DDAL\n 0x068c: [0xfb84, 0xfb85], // ARABIC LETTER DAHAL\n 0x068d: [0xfb82, 0xfb83], // ARABIC LETTER DDAHAL\n 0x068e: [0xfb86, 0xfb87], // ARABIC LETTER DUL\n 0x0691: [0xfb8c, 0xfb8d], // ARABIC LETTER RREH\n 0x0698: [0xfb8a, 0xfb8b], // ARABIC LETTER JEH\n 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], // ARABIC LETTER VEH\n 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], // ARABIC LETTER PEHEH\n 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], // ARABIC LETTER KEHEH\n 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], // ARABIC LETTER NG\n 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], // ARABIC LETTER GAF\n 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], // ARABIC LETTER NGOEH\n 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], // ARABIC LETTER GUEH\n 0x06ba: [0xfb9e, 0xfb9f], // ARABIC LETTER NOON GHUNNA\n 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], // ARABIC LETTER RNOON\n 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], // ARABIC LETTER HEH DOACHASHMEE\n 0x06c0: [0xfba4, 0xfba5], // ARABIC LETTER HEH WITH YEH ABOVE\n 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], // ARABIC LETTER HEH GOAL\n 0x06c5: [0xfbe0, 0xfbe1], // ARABIC LETTER KIRGHIZ OE\n 0x06c6: [0xfbd9, 0xfbda], // ARABIC LETTER OE\n 0x06c7: [0xfbd7, 0xfbd8], // ARABIC LETTER U\n 0x06c8: [0xfbdb, 0xfbdc], // ARABIC LETTER YU\n 0x06c9: [0xfbe2, 0xfbe3], // ARABIC LETTER KIRGHIZ YU\n 0x06cb: [0xfbde, 0xfbdf], // ARABIC LETTER VE\n 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], // ARABIC LETTER FARSI YEH\n 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], //ARABIC LETTER E\n 0x06d2: [0xfbae, 0xfbaf], // ARABIC LETTER YEH BARREE\n 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE\n };\n\n /*\n var ligaturesSubstitutionA = {\n 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM\n };\n */\n\n var ligatures = {\n 0xfedf: {\n 0xfe82: 0xfef5, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM\n 0xfe84: 0xfef7, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM\n 0xfe88: 0xfef9, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM\n 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM\n },\n 0xfee0: {\n 0xfe82: 0xfef6, // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM\n 0xfe84: 0xfef8, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM\n 0xfe88: 0xfefa, // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM\n 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM\n },\n 0xfe8d: { 0xfedf: { 0xfee0: { 0xfeea: 0xfdf2 } } }, // ALLAH\n 0x0651: {\n 0x064c: 0xfc5e, // Shadda + Dammatan\n 0x064d: 0xfc5f, // Shadda + Kasratan\n 0x064e: 0xfc60, // Shadda + Fatha\n 0x064f: 0xfc61, // Shadda + Damma\n 0x0650: 0xfc62 // Shadda + Kasra\n }\n };\n\n var arabic_diacritics = {\n 1612: 64606, // Shadda + Dammatan\n 1613: 64607, // Shadda + Kasratan\n 1614: 64608, // Shadda + Fatha\n 1615: 64609, // Shadda + Damma\n 1616: 64610 // Shadda + Kasra\n };\n\n var alfletter = [1570, 1571, 1573, 1575];\n\n var noChangeInForm = -1;\n var isolatedForm = 0;\n var finalForm = 1;\n var initialForm = 2;\n var medialForm = 3;\n\n jsPDFAPI.__arabicParser__ = {};\n\n //private\n var isInArabicSubstitutionA = (jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function(\n letter\n ) {\n return typeof arabicSubstitionA[letter.charCodeAt(0)] !== \"undefined\";\n });\n\n var isArabicLetter = (jsPDFAPI.__arabicParser__.isArabicLetter = function(\n letter\n ) {\n return (\n typeof letter === \"string\" &&\n /^[\\u0600-\\u06FF\\u0750-\\u077F\\u08A0-\\u08FF\\uFB50-\\uFDFF\\uFE70-\\uFEFF]+$/.test(\n letter\n )\n );\n });\n\n var isArabicEndLetter = (jsPDFAPI.__arabicParser__.isArabicEndLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length <= 2\n );\n });\n\n var isArabicAlfLetter = (jsPDFAPI.__arabicParser__.isArabicAlfLetter = function(\n letter\n ) {\n return (\n isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 1\n );\n };\n\n var arabicLetterHasFinalForm = (jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 2\n );\n });\n\n jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function(letter) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length >= 3\n );\n };\n\n var arabicLetterHasMedialForm = (jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function(\n letter\n ) {\n return (\n isArabicLetter(letter) &&\n isInArabicSubstitutionA(letter) &&\n arabicSubstitionA[letter.charCodeAt(0)].length == 4\n );\n });\n\n var resolveLigatures = (jsPDFAPI.__arabicParser__.resolveLigatures = function(\n letters\n ) {\n var i = 0;\n var tmpLigatures = ligatures;\n var result = \"\";\n var effectedLetters = 0;\n\n for (i = 0; i < letters.length; i += 1) {\n if (typeof tmpLigatures[letters.charCodeAt(i)] !== \"undefined\") {\n effectedLetters++;\n tmpLigatures = tmpLigatures[letters.charCodeAt(i)];\n\n if (typeof tmpLigatures === \"number\") {\n result += String.fromCharCode(tmpLigatures);\n tmpLigatures = ligatures;\n effectedLetters = 0;\n }\n if (i === letters.length - 1) {\n tmpLigatures = ligatures;\n result += letters.charAt(i - (effectedLetters - 1));\n i = i - (effectedLetters - 1);\n effectedLetters = 0;\n }\n } else {\n tmpLigatures = ligatures;\n result += letters.charAt(i - effectedLetters);\n i = i - effectedLetters;\n effectedLetters = 0;\n }\n }\n\n return result;\n });\n\n jsPDFAPI.__arabicParser__.isArabicDiacritic = function(letter) {\n return (\n letter !== undefined &&\n arabic_diacritics[letter.charCodeAt(0)] !== undefined\n );\n };\n\n var getCorrectForm = (jsPDFAPI.__arabicParser__.getCorrectForm = function(\n currentChar,\n beforeChar,\n nextChar\n ) {\n if (!isArabicLetter(currentChar)) {\n return -1;\n }\n\n if (isInArabicSubstitutionA(currentChar) === false) {\n return noChangeInForm;\n }\n if (\n !arabicLetterHasFinalForm(currentChar) ||\n (!isArabicLetter(beforeChar) && !isArabicLetter(nextChar)) ||\n (!isArabicLetter(nextChar) && isArabicEndLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar)) ||\n (isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar))\n ) {\n return isolatedForm;\n }\n\n if (\n arabicLetterHasMedialForm(currentChar) &&\n isArabicLetter(beforeChar) &&\n !isArabicEndLetter(beforeChar) &&\n isArabicLetter(nextChar) &&\n arabicLetterHasFinalForm(nextChar)\n ) {\n return medialForm;\n }\n\n if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) {\n return finalForm;\n }\n return initialForm;\n });\n\n /**\n * @name processArabic\n * @function\n * @param {string} text\n * @returns {string}\n */\n var parseArabic = function(text) {\n text = text || \"\";\n\n var result = \"\";\n var i = 0;\n var j = 0;\n var position = 0;\n var currentLetter = \"\";\n var prevLetter = \"\";\n var nextLetter = \"\";\n\n var words = text.split(\"\\\\s+\");\n var newWords = [];\n for (i = 0; i < words.length; i += 1) {\n newWords.push(\"\");\n for (j = 0; j < words[i].length; j += 1) {\n currentLetter = words[i][j];\n prevLetter = words[i][j - 1];\n nextLetter = words[i][j + 1];\n if (isArabicLetter(currentLetter)) {\n position = getCorrectForm(currentLetter, prevLetter, nextLetter);\n if (position !== -1) {\n newWords[i] += String.fromCharCode(\n arabicSubstitionA[currentLetter.charCodeAt(0)][position]\n );\n } else {\n newWords[i] += currentLetter;\n }\n } else {\n newWords[i] += currentLetter;\n }\n }\n\n newWords[i] = resolveLigatures(newWords[i]);\n }\n result = newWords.join(\" \");\n\n return result;\n };\n\n var processArabic = (jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function() {\n var text =\n typeof arguments[0] === \"string\" ? arguments[0] : arguments[0].text;\n var tmpText = [];\n var result;\n\n if (Array.isArray(text)) {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]);\n } else {\n tmpText.push([parseArabic(text[i])]);\n }\n }\n result = tmpText;\n } else {\n result = parseArabic(text);\n }\n if (typeof arguments[0] === \"string\") {\n return result;\n } else {\n arguments[0].text = result;\n return arguments[0];\n }\n });\n\n jsPDFAPI.events.push([\"preProcessText\", processArabic]);\n})(jsPDF.API);\n","/** @license\n * jsPDF Autoprint Plugin\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name autoprint\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer.\n *\n * @name autoPrint\n * @function\n * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer .\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF();\n * doc.text(10, 10, 'This is a test');\n * doc.autoPrint({variant: 'non-conform'});\n * doc.save('autoprint.pdf');\n */\n jsPDFAPI.autoPrint = function(options) {\n \"use strict\";\n var refAutoPrintTag;\n options = options || {};\n options.variant = options.variant || \"non-conform\";\n\n switch (options.variant) {\n case \"javascript\":\n //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb\n this.addJS(\"print({});\");\n break;\n case \"non-conform\":\n default:\n this.internal.events.subscribe(\"postPutResources\", function() {\n refAutoPrintTag = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /Named\");\n this.internal.out(\"/Type /Action\");\n this.internal.out(\"/N /Print\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.out(\"/OpenAction \" + refAutoPrintTag + \" 0 R\");\n });\n break;\n }\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Canvas PlugIn\n * This plugin mimics the HTML5 Canvas\n *\n * The goal is to provide a way for current canvas users to print directly to a PDF.\n * @name canvas\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @class Canvas\n * @classdesc A Canvas Wrapper for jsPDF\n */\n var Canvas = function() {\n var jsPdfInstance = undefined;\n Object.defineProperty(this, \"pdf\", {\n get: function() {\n return jsPdfInstance;\n },\n set: function(value) {\n jsPdfInstance = value;\n }\n });\n\n var _width = 150;\n /**\n * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used.\n * This is one of the two properties, the other being width, that controls the size of the canvas.\n *\n * @name width\n */\n Object.defineProperty(this, \"width\", {\n get: function() {\n return _width;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _width = 150;\n } else {\n _width = value;\n }\n if (this.getContext(\"2d\").pageWrapXEnabled) {\n this.getContext(\"2d\").pageWrapX = _width + 1;\n }\n }\n });\n\n var _height = 300;\n /**\n * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used.\n * This is one of the two properties, the other being height, that controls the size of the canvas.\n *\n * @name height\n */\n Object.defineProperty(this, \"height\", {\n get: function() {\n return _height;\n },\n set: function(value) {\n if (isNaN(value) || Number.isInteger(value) === false || value < 0) {\n _height = 300;\n } else {\n _height = value;\n }\n if (this.getContext(\"2d\").pageWrapYEnabled) {\n this.getContext(\"2d\").pageWrapY = _height + 1;\n }\n }\n });\n\n var _childNodes = [];\n Object.defineProperty(this, \"childNodes\", {\n get: function() {\n return _childNodes;\n },\n set: function(value) {\n _childNodes = value;\n }\n });\n\n var _style = {};\n Object.defineProperty(this, \"style\", {\n get: function() {\n return _style;\n },\n set: function(value) {\n _style = value;\n }\n });\n\n Object.defineProperty(this, \"parentNode\", {});\n };\n\n /**\n * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported.\n *\n * @name getContext\n * @function\n * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is \"2d\", leading to the creation of a Context2D object representing a two-dimensional rendering context.\n * @param {object} contextAttributes\n */\n Canvas.prototype.getContext = function(contextType, contextAttributes) {\n contextType = contextType || \"2d\";\n var key;\n\n if (contextType !== \"2d\") {\n return null;\n }\n for (key in contextAttributes) {\n if (this.pdf.context2d.hasOwnProperty(key)) {\n this.pdf.context2d[key] = contextAttributes[key];\n }\n }\n this.pdf.context2d._canvas = this;\n return this.pdf.context2d;\n };\n\n /**\n * The toDataURL() method is just a stub to throw an error if accidently called.\n *\n * @name toDataURL\n * @function\n */\n Canvas.prototype.toDataURL = function() {\n throw new Error(\"toDataURL is not implemented.\");\n };\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n this.canvas = new Canvas();\n this.canvas.pdf = this;\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n * 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n * 2013 Lee Driscoll, https://github.com/lsdriscoll\n * 2014 Juan Pablo Gaviria, https://github.com/juanpgaviria\n * 2014 James Hall, james@parall.ax\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name cell\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var NO_MARGINS = { left: 0, top: 0, bottom: 0, right: 0 };\n\n var px2pt = (0.264583 * 72) / 25.4;\n var printingHeaderRow = false;\n\n var _initialize = function() {\n if (typeof this.internal.__cell__ === \"undefined\") {\n this.internal.__cell__ = {};\n this.internal.__cell__.padding = 3;\n this.internal.__cell__.headerFunction = undefined;\n this.internal.__cell__.margins = Object.assign({}, NO_MARGINS);\n this.internal.__cell__.margins.width = this.getPageWidth();\n _reset.call(this);\n }\n };\n\n var _reset = function() {\n this.internal.__cell__.lastCell = new Cell();\n this.internal.__cell__.pages = 1;\n };\n\n var Cell = function() {\n var _x = arguments[0];\n Object.defineProperty(this, \"x\", {\n enumerable: true,\n get: function() {\n return _x;\n },\n set: function(value) {\n _x = value;\n }\n });\n var _y = arguments[1];\n Object.defineProperty(this, \"y\", {\n enumerable: true,\n get: function() {\n return _y;\n },\n set: function(value) {\n _y = value;\n }\n });\n var _width = arguments[2];\n Object.defineProperty(this, \"width\", {\n enumerable: true,\n get: function() {\n return _width;\n },\n set: function(value) {\n _width = value;\n }\n });\n var _height = arguments[3];\n Object.defineProperty(this, \"height\", {\n enumerable: true,\n get: function() {\n return _height;\n },\n set: function(value) {\n _height = value;\n }\n });\n var _text = arguments[4];\n Object.defineProperty(this, \"text\", {\n enumerable: true,\n get: function() {\n return _text;\n },\n set: function(value) {\n _text = value;\n }\n });\n var _lineNumber = arguments[5];\n Object.defineProperty(this, \"lineNumber\", {\n enumerable: true,\n get: function() {\n return _lineNumber;\n },\n set: function(value) {\n _lineNumber = value;\n }\n });\n var _align = arguments[6];\n Object.defineProperty(this, \"align\", {\n enumerable: true,\n get: function() {\n return _align;\n },\n set: function(value) {\n _align = value;\n }\n });\n\n return this;\n };\n\n Cell.prototype.clone = function() {\n return new Cell(\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n );\n };\n\n Cell.prototype.toArray = function() {\n return [\n this.x,\n this.y,\n this.width,\n this.height,\n this.text,\n this.lineNumber,\n this.align\n ];\n };\n\n /**\n * @name setHeaderFunction\n * @function\n * @param {function} func\n */\n jsPDFAPI.setHeaderFunction = function(func) {\n _initialize.call(this);\n this.internal.__cell__.headerFunction =\n typeof func === \"function\" ? func : undefined;\n return this;\n };\n\n /**\n * @name getTextDimensions\n * @function\n * @param {string} txt\n * @returns {Object} dimensions\n */\n jsPDFAPI.getTextDimensions = function(text, options) {\n _initialize.call(this);\n options = options || {};\n var fontSize = options.fontSize || this.getFontSize();\n var font = options.font || this.getFont();\n var scaleFactor = options.scaleFactor || this.internal.scaleFactor;\n var width = 0;\n var amountOfLines = 0;\n var height = 0;\n var tempWidth = 0;\n var scope = this;\n\n if (!Array.isArray(text) && typeof text !== \"string\") {\n if (typeof text === \"number\") {\n text = String(text);\n } else {\n throw new Error(\n \"getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings.\"\n );\n }\n }\n\n const maxWidth = options.maxWidth;\n if (maxWidth > 0) {\n if (typeof text === \"string\") {\n text = this.splitTextToSize(text, maxWidth);\n } else if (Object.prototype.toString.call(text) === \"[object Array]\") {\n text = text.reduce(function(acc, textLine) {\n return acc.concat(scope.splitTextToSize(textLine, maxWidth));\n }, []);\n }\n } else {\n // Without the else clause, it will not work if you do not pass along maxWidth\n text = Array.isArray(text) ? text : [text];\n }\n\n for (var i = 0; i < text.length; i++) {\n tempWidth = this.getStringUnitWidth(text[i], { font: font }) * fontSize;\n if (width < tempWidth) {\n width = tempWidth;\n }\n }\n\n if (width !== 0) {\n amountOfLines = text.length;\n }\n\n width = width / scaleFactor;\n height = Math.max(\n (amountOfLines * fontSize * this.getLineHeightFactor() -\n fontSize * (this.getLineHeightFactor() - 1)) /\n scaleFactor,\n 0\n );\n return { w: width, h: height };\n };\n\n /**\n * @name cellAddPage\n * @function\n */\n jsPDFAPI.cellAddPage = function() {\n _initialize.call(this);\n\n this.addPage();\n\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n this.internal.__cell__.lastCell = new Cell(\n margins.left,\n margins.top,\n undefined,\n undefined\n );\n this.internal.__cell__.pages += 1;\n\n return this;\n };\n\n /**\n * @name cell\n * @function\n * @param {number} x\n * @param {number} y\n * @param {number} width\n * @param {number} height\n * @param {string} text\n * @param {number} lineNumber lineNumber\n * @param {string} align\n * @return {jsPDF} jsPDF-instance\n */\n var cell = (jsPDFAPI.cell = function() {\n var currentCell;\n\n if (arguments[0] instanceof Cell) {\n currentCell = arguments[0];\n } else {\n currentCell = new Cell(\n arguments[0],\n arguments[1],\n arguments[2],\n arguments[3],\n arguments[4],\n arguments[5]\n );\n }\n _initialize.call(this);\n var lastCell = this.internal.__cell__.lastCell;\n var padding = this.internal.__cell__.padding;\n var margins = this.internal.__cell__.margins || NO_MARGINS;\n var tableHeaderRow = this.internal.__cell__.tableHeaderRow;\n var printHeaders = this.internal.__cell__.printHeaders;\n // If this is not the first cell, we must change its position\n if (typeof lastCell.lineNumber !== \"undefined\") {\n if (lastCell.lineNumber === currentCell.lineNumber) {\n //Same line\n currentCell.x = (lastCell.x || 0) + (lastCell.width || 0);\n currentCell.y = lastCell.y || 0;\n } else {\n //New line\n if (\n lastCell.y + lastCell.height + currentCell.height + margins.bottom >\n this.getPageHeight()\n ) {\n this.cellAddPage();\n currentCell.y = margins.top;\n if (printHeaders && tableHeaderRow) {\n this.printHeaderRow(currentCell.lineNumber, true);\n currentCell.y += tableHeaderRow[0].height;\n }\n } else {\n currentCell.y = lastCell.y + lastCell.height || currentCell.y;\n }\n }\n }\n\n if (typeof currentCell.text[0] !== \"undefined\") {\n this.rect(\n currentCell.x,\n currentCell.y,\n currentCell.width,\n currentCell.height,\n printingHeaderRow === true ? \"FD\" : undefined\n );\n if (currentCell.align === \"right\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width - padding,\n currentCell.y + padding,\n { align: \"right\", baseline: \"top\" }\n );\n } else if (currentCell.align === \"center\") {\n this.text(\n currentCell.text,\n currentCell.x + currentCell.width / 2,\n currentCell.y + padding,\n {\n align: \"center\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n } else {\n this.text(\n currentCell.text,\n currentCell.x + padding,\n currentCell.y + padding,\n {\n align: \"left\",\n baseline: \"top\",\n maxWidth: currentCell.width - padding - padding\n }\n );\n }\n }\n this.internal.__cell__.lastCell = currentCell;\n return this;\n });\n\n /**\n * Create a table from a set of data.\n * @name table\n * @function\n * @param {Integer} [x] : left-position for top-left corner of table\n * @param {Integer} [y] top-position for top-left corner of table\n * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data.\n * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost\n\n * @param {Object} [config.printHeaders] True to print column headers at the top of every page\n * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value\n * @param {Object} [config.margins] margin values for left, top, bottom, and width\n * @param {Object} [config.fontSize] Integer fontSize to use (optional)\n * @param {Object} [config.padding] cell-padding in pt to use (optional)\n * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional)\n * @param {Object} [config.headerTextColor] default is #000 (optional)\n * @param {Object} [config.rowStart] callback to handle before print each row (optional)\n * @param {Object} [config.cellStart] callback to handle before print each cell (optional)\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.table = function(x, y, data, headers, config) {\n _initialize.call(this);\n if (!data) {\n throw new Error(\"No data for PDF table.\");\n }\n\n config = config || {};\n\n var headerNames = [],\n headerLabels = [],\n headerAligns = [],\n i,\n columnMatrix = {},\n columnWidths = {},\n column,\n columnMinWidths = [],\n j,\n tableHeaderConfigs = [],\n //set up defaults. If a value is provided in config, defaults will be overwritten:\n autoSize = config.autoSize || false,\n printHeaders = config.printHeaders === false ? false : true,\n fontSize =\n config.css && typeof config.css[\"font-size\"] !== \"undefined\"\n ? config.css[\"font-size\"] * 16\n : config.fontSize || 12,\n margins =\n config.margins ||\n Object.assign({ width: this.getPageWidth() }, NO_MARGINS),\n padding = typeof config.padding === \"number\" ? config.padding : 3,\n headerBackgroundColor = config.headerBackgroundColor || \"#c8c8c8\",\n headerTextColor = config.headerTextColor || \"#000\";\n\n _reset.call(this);\n\n this.internal.__cell__.printHeaders = printHeaders;\n this.internal.__cell__.margins = margins;\n this.internal.__cell__.table_font_size = fontSize;\n this.internal.__cell__.padding = padding;\n this.internal.__cell__.headerBackgroundColor = headerBackgroundColor;\n this.internal.__cell__.headerTextColor = headerTextColor;\n this.setFontSize(fontSize);\n\n // Set header values\n if (headers === undefined || headers === null) {\n // No headers defined so we derive from data\n headerNames = Object.keys(data[0]);\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n } else if (Array.isArray(headers) && typeof headers[0] === \"object\") {\n headerNames = headers.map(function(header) {\n return header.name;\n });\n headerLabels = headers.map(function(header) {\n return header.prompt || header.name || \"\";\n });\n headerAligns = headers.map(function(header) {\n return header.align || \"left\";\n });\n // Split header configs into names and prompts\n for (i = 0; i < headers.length; i += 1) {\n columnWidths[headers[i].name] = headers[i].width * px2pt;\n }\n } else if (Array.isArray(headers) && typeof headers[0] === \"string\") {\n headerNames = headers;\n headerLabels = headerNames;\n headerAligns = headerNames.map(function() {\n return \"left\";\n });\n }\n\n if (\n autoSize ||\n (Array.isArray(headers) && typeof headers[0] === \"string\")\n ) {\n var headerName;\n for (i = 0; i < headerNames.length; i += 1) {\n headerName = headerNames[i];\n\n // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]}\n\n columnMatrix[headerName] = data.map(function(rec) {\n return rec[headerName];\n });\n\n // get header width\n this.setFont(undefined, \"bold\");\n columnMinWidths.push(\n this.getTextDimensions(headerLabels[i], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n column = columnMatrix[headerName];\n\n // get cell widths\n this.setFont(undefined, \"normal\");\n for (j = 0; j < column.length; j += 1) {\n columnMinWidths.push(\n this.getTextDimensions(column[j], {\n fontSize: this.internal.__cell__.table_font_size,\n scaleFactor: this.internal.scaleFactor\n }).w\n );\n }\n\n // get final column width\n columnWidths[headerName] =\n Math.max.apply(null, columnMinWidths) + padding + padding;\n\n //have to reset\n columnMinWidths = [];\n }\n }\n\n // -- Construct the table\n\n if (printHeaders) {\n var row = {};\n for (i = 0; i < headerNames.length; i += 1) {\n row[headerNames[i]] = {};\n row[headerNames[i]].text = headerLabels[i];\n row[headerNames[i]].align = headerAligns[i];\n }\n\n var rowHeight = calculateLineHeight.call(this, row, columnWidths);\n\n // Construct the header row\n tableHeaderConfigs = headerNames.map(function(value) {\n return new Cell(\n x,\n y,\n columnWidths[value],\n rowHeight,\n row[value].text,\n undefined,\n row[value].align\n );\n });\n\n // Store the table header config\n this.setTableHeaderRow(tableHeaderConfigs);\n\n // Print the header for the start of the table\n this.printHeaderRow(1, false);\n }\n\n // Construct the data rows\n\n var align = headers.reduce(function(pv, cv) {\n pv[cv.name] = cv.align;\n return pv;\n }, {});\n for (i = 0; i < data.length; i += 1) {\n if (\"rowStart\" in config && config.rowStart instanceof Function) {\n config.rowStart(\n {\n row: i,\n data: data[i]\n },\n this\n );\n }\n var lineHeight = calculateLineHeight.call(this, data[i], columnWidths);\n\n for (j = 0; j < headerNames.length; j += 1) {\n var cellData = data[i][headerNames[j]];\n if (\"cellStart\" in config && config.cellStart instanceof Function) {\n config.cellStart(\n {\n row: i,\n col: j,\n data: cellData\n },\n this\n );\n }\n cell.call(\n this,\n new Cell(\n x,\n y,\n columnWidths[headerNames[j]],\n lineHeight,\n cellData,\n i + 2,\n align[headerNames[j]]\n )\n );\n }\n }\n this.internal.__cell__.table_x = x;\n this.internal.__cell__.table_y = y;\n return this;\n };\n\n /**\n * Calculate the height for containing the highest column\n *\n * @name calculateLineHeight\n * @function\n * @param {Object[]} model is the line of data we want to calculate the height of\n * @param {Integer[]} columnWidths is size of each column\n * @returns {number} lineHeight\n * @private\n */\n var calculateLineHeight = function calculateLineHeight(model, columnWidths) {\n var padding = this.internal.__cell__.padding;\n var fontSize = this.internal.__cell__.table_font_size;\n var scaleFactor = this.internal.scaleFactor;\n\n return Object.keys(model)\n .map(function(key) {\n var value = model[key];\n return this.splitTextToSize(\n value.hasOwnProperty(\"text\") ? value.text : value,\n columnWidths[key] - padding - padding\n );\n }, this)\n .map(function(value) {\n return (\n (this.getLineHeightFactor() * value.length * fontSize) / scaleFactor +\n padding +\n padding\n );\n }, this)\n .reduce(function(pv, cv) {\n return Math.max(pv, cv);\n }, 0);\n };\n\n /**\n * Store the config for outputting a table header\n *\n * @name setTableHeaderRow\n * @function\n * @param {Object[]} config\n * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell\n * except the lineNumber parameter is excluded\n */\n jsPDFAPI.setTableHeaderRow = function(config) {\n _initialize.call(this);\n this.internal.__cell__.tableHeaderRow = config;\n };\n\n /**\n * Output the store header row\n *\n * @name printHeaderRow\n * @function\n * @param {number} lineNumber The line number to output the header at\n * @param {boolean} new_page\n */\n jsPDFAPI.printHeaderRow = function(lineNumber, new_page) {\n _initialize.call(this);\n if (!this.internal.__cell__.tableHeaderRow) {\n throw new Error(\"Property tableHeaderRow does not exist.\");\n }\n\n var tableHeaderCell;\n\n printingHeaderRow = true;\n if (typeof this.internal.__cell__.headerFunction === \"function\") {\n var position = this.internal.__cell__.headerFunction(\n this,\n this.internal.__cell__.pages\n );\n this.internal.__cell__.lastCell = new Cell(\n position[0],\n position[1],\n position[2],\n position[3],\n undefined,\n -1\n );\n }\n this.setFont(undefined, \"bold\");\n\n var tempHeaderConf = [];\n for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) {\n tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone();\n if (new_page) {\n tableHeaderCell.y = this.internal.__cell__.margins.top || 0;\n tempHeaderConf.push(tableHeaderCell);\n }\n tableHeaderCell.lineNumber = lineNumber;\n var currentTextColor = this.getTextColor();\n this.setTextColor(this.internal.__cell__.headerTextColor);\n this.setFillColor(this.internal.__cell__.headerBackgroundColor);\n cell.call(this, tableHeaderCell);\n this.setTextColor(currentTextColor);\n }\n if (tempHeaderConf.length > 0) {\n this.setTableHeaderRow(tempHeaderConf);\n }\n this.setFont(undefined, \"normal\");\n printingHeaderRow = false;\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF JavaScript plugin\n *\n * @name javascript\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n var jsNamesObj, jsJsObj, text;\n /**\n * @name addJS\n * @function\n * @param {string} javascript The javascript to be embedded into the PDF-file.\n * @returns {jsPDF}\n */\n jsPDFAPI.addJS = function(javascript) {\n text = javascript;\n this.internal.events.subscribe(\"postPutResources\", function() {\n jsNamesObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/Names [(EmbeddedJS) \" + (jsNamesObj + 1) + \" 0 R]\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n\n jsJsObj = this.internal.newObject();\n this.internal.out(\"<<\");\n this.internal.out(\"/S /JavaScript\");\n this.internal.out(\"/JS (\" + text + \")\");\n this.internal.out(\">>\");\n this.internal.out(\"endobj\");\n });\n this.internal.events.subscribe(\"putCatalog\", function() {\n if (jsNamesObj !== undefined && jsJsObj !== undefined) {\n this.internal.out(\"/Names <>\");\n }\n });\n return this;\n };\n})(jsPDF.API);\n","/* eslint-disable no-fallthrough */\r\n/* eslint-disable no-console */\r\n/**\r\n * @license\r\n * jsPDF Context2D PlugIn Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\r\n *\r\n * Licensed under the MIT License. http://opensource.org/licenses/mit-license\r\n */\r\n\r\nimport { jsPDF } from \"../jspdf.js\";\r\nimport { RGBColor } from \"../libs/rgbcolor.js\";\r\nimport { console } from \"../libs/console.js\";\r\nimport {\r\n buildFontFaceMap,\r\n parseFontFamily,\r\n resolveFontFace\r\n} from \"../libs/fontFace.js\";\r\n\r\n/**\r\n * This plugin mimics the HTML5 CanvasRenderingContext2D.\r\n *\r\n * The goal is to provide a way for current canvas implementations to print directly to a PDF.\r\n *\r\n * @name context2d\r\n * @module\r\n */\r\n(function(jsPDFAPI) {\r\n \"use strict\";\r\n var ContextLayer = function(ctx) {\r\n ctx = ctx || {};\r\n this.isStrokeTransparent = ctx.isStrokeTransparent || false;\r\n this.strokeOpacity = ctx.strokeOpacity || 1;\r\n this.strokeStyle = ctx.strokeStyle || \"#000000\";\r\n this.fillStyle = ctx.fillStyle || \"#000000\";\r\n this.isFillTransparent = ctx.isFillTransparent || false;\r\n this.fillOpacity = ctx.fillOpacity || 1;\r\n this.font = ctx.font || \"10px sans-serif\";\r\n this.textBaseline = ctx.textBaseline || \"alphabetic\";\r\n this.textAlign = ctx.textAlign || \"left\";\r\n this.lineWidth = ctx.lineWidth || 1;\r\n this.lineJoin = ctx.lineJoin || \"miter\";\r\n this.lineCap = ctx.lineCap || \"butt\";\r\n this.path = ctx.path || [];\r\n this.transform =\r\n typeof ctx.transform !== \"undefined\"\r\n ? ctx.transform.clone()\r\n : new Matrix();\r\n this.globalCompositeOperation = ctx.globalCompositeOperation || \"normal\";\r\n this.globalAlpha = ctx.globalAlpha || 1.0;\r\n this.clip_path = ctx.clip_path || [];\r\n this.currentPoint = ctx.currentPoint || new Point();\r\n this.miterLimit = ctx.miterLimit || 10.0;\r\n this.lastPoint = ctx.lastPoint || new Point();\r\n this.lineDashOffset = ctx.lineDashOffset || 0.0;\r\n this.lineDash = ctx.lineDash || [];\r\n this.margin = ctx.margin || [0, 0, 0, 0];\r\n this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0;\r\n\r\n this.ignoreClearRect =\r\n typeof ctx.ignoreClearRect === \"boolean\" ? ctx.ignoreClearRect : true;\r\n return this;\r\n };\r\n\r\n //stub\r\n var f2,\r\n getHorizontalCoordinateString,\r\n getVerticalCoordinateString,\r\n getHorizontalCoordinate,\r\n getVerticalCoordinate,\r\n Point,\r\n Rectangle,\r\n Matrix,\r\n _ctx;\r\n jsPDFAPI.events.push([\r\n \"initialized\",\r\n function() {\r\n this.context2d = new Context2D(this);\r\n\r\n f2 = this.internal.f2;\r\n getHorizontalCoordinateString = this.internal.getCoordinateString;\r\n getVerticalCoordinateString = this.internal.getVerticalCoordinateString;\r\n getHorizontalCoordinate = this.internal.getHorizontalCoordinate;\r\n getVerticalCoordinate = this.internal.getVerticalCoordinate;\r\n Point = this.internal.Point;\r\n Rectangle = this.internal.Rectangle;\r\n Matrix = this.internal.Matrix;\r\n _ctx = new ContextLayer();\r\n }\r\n ]);\r\n\r\n var Context2D = function(pdf) {\r\n Object.defineProperty(this, \"canvas\", {\r\n get: function() {\r\n return { parentNode: false, style: false };\r\n }\r\n });\r\n\r\n var _pdf = pdf;\r\n Object.defineProperty(this, \"pdf\", {\r\n get: function() {\r\n return _pdf;\r\n }\r\n });\r\n\r\n var _pageWrapXEnabled = false;\r\n /**\r\n * @name pageWrapXEnabled\r\n * @type {boolean}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"pageWrapXEnabled\", {\r\n get: function() {\r\n return _pageWrapXEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapXEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _pageWrapYEnabled = false;\r\n /**\r\n * @name pageWrapYEnabled\r\n * @type {boolean}\r\n * @default true\r\n */\r\n Object.defineProperty(this, \"pageWrapYEnabled\", {\r\n get: function() {\r\n return _pageWrapYEnabled;\r\n },\r\n set: function(value) {\r\n _pageWrapYEnabled = Boolean(value);\r\n }\r\n });\r\n\r\n var _posX = 0;\r\n /**\r\n * @name posX\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posX\", {\r\n get: function() {\r\n return _posX;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posX = value;\r\n }\r\n }\r\n });\r\n\r\n var _posY = 0;\r\n /**\r\n * @name posY\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"posY\", {\r\n get: function() {\r\n return _posY;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n _posY = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off.\r\n * @name margin\r\n * @type {number|number[]}\r\n * @default [0, 0, 0, 0]\r\n */\r\n Object.defineProperty(this, \"margin\", {\r\n get: function() {\r\n return _ctx.margin;\r\n },\r\n set: function(value) {\r\n var margin;\r\n if (typeof value === \"number\") {\r\n margin = [value, value, value, value];\r\n } else {\r\n margin = new Array(4);\r\n margin[0] = value[0];\r\n margin[1] = value.length >= 2 ? value[1] : margin[0];\r\n margin[2] = value.length >= 3 ? value[2] : margin[0];\r\n margin[3] = value.length >= 4 ? value[3] : margin[1];\r\n }\r\n _ctx.margin = margin;\r\n }\r\n });\r\n\r\n var _autoPaging = false;\r\n /**\r\n * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the\r\n * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new\r\n * pages if required.\r\n *\r\n * Context2d supports different modes:\r\n *
      \r\n *
    • \r\n * false: Auto paging is disabled.\r\n *
    • \r\n *
    • \r\n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\r\n * slice text in half, making it difficult to read.\r\n *
    • \r\n *
    • \r\n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\r\n * mostly of a single column of text.\r\n *
    • \r\n *
    \r\n * @name Context2D#autoPaging\r\n * @type {boolean|\"slice\"|\"text\"}\r\n * @default false\r\n */\r\n Object.defineProperty(this, \"autoPaging\", {\r\n get: function() {\r\n return _autoPaging;\r\n },\r\n set: function(value) {\r\n _autoPaging = value;\r\n }\r\n });\r\n\r\n var lastBreak = 0;\r\n /**\r\n * @name lastBreak\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"lastBreak\", {\r\n get: function() {\r\n return lastBreak;\r\n },\r\n set: function(value) {\r\n lastBreak = value;\r\n }\r\n });\r\n\r\n var pageBreaks = [];\r\n /**\r\n * Y Position of page breaks.\r\n * @name pageBreaks\r\n * @type {number}\r\n * @default 0\r\n */\r\n Object.defineProperty(this, \"pageBreaks\", {\r\n get: function() {\r\n return pageBreaks;\r\n },\r\n set: function(value) {\r\n pageBreaks = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctx\r\n * @type {object}\r\n * @default {}\r\n */\r\n Object.defineProperty(this, \"ctx\", {\r\n get: function() {\r\n return _ctx;\r\n },\r\n set: function(value) {\r\n if (value instanceof ContextLayer) {\r\n _ctx = value;\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * @name path\r\n * @type {array}\r\n * @default []\r\n */\r\n Object.defineProperty(this, \"path\", {\r\n get: function() {\r\n return _ctx.path;\r\n },\r\n set: function(value) {\r\n _ctx.path = value;\r\n }\r\n });\r\n\r\n /**\r\n * @name ctxStack\r\n * @type {array}\r\n * @default []\r\n */\r\n var _ctxStack = [];\r\n Object.defineProperty(this, \"ctxStack\", {\r\n get: function() {\r\n return _ctxStack;\r\n },\r\n set: function(value) {\r\n _ctxStack = value;\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used to fill the drawing\r\n *\r\n * @name fillStyle\r\n * @default #000000\r\n * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
    \r\n * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
    \r\n * A pattern object to use to fill the drawing (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"fillStyle\", {\r\n get: function() {\r\n return this.ctx.fillStyle;\r\n },\r\n set: function(value) {\r\n var rgba;\r\n rgba = getRGBA(value);\r\n\r\n this.ctx.fillStyle = rgba.style;\r\n this.ctx.isFillTransparent = rgba.a === 0;\r\n this.ctx.fillOpacity = rgba.a;\r\n\r\n this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { a: rgba.a });\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the color, gradient, or pattern used for strokes\r\n *\r\n * @name strokeStyle\r\n * @default #000000\r\n * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d)\r\n * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d)\r\n * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d)\r\n */\r\n Object.defineProperty(this, \"strokeStyle\", {\r\n get: function() {\r\n return this.ctx.strokeStyle;\r\n },\r\n set: function(value) {\r\n var rgba = getRGBA(value);\r\n\r\n this.ctx.strokeStyle = rgba.style;\r\n this.ctx.isStrokeTransparent = rgba.a === 0;\r\n this.ctx.strokeOpacity = rgba.a;\r\n\r\n if (rgba.a === 0) {\r\n this.pdf.setDrawColor(255, 255, 255);\r\n } else if (rgba.a === 1) {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n } else {\r\n this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the style of the end caps for a line\r\n *\r\n * @name lineCap\r\n * @default butt\r\n * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
    \r\n * round A rounded end cap is added to each end of the line
    \r\n * square A square end cap is added to each end of the line
    \r\n */\r\n Object.defineProperty(this, \"lineCap\", {\r\n get: function() {\r\n return this.ctx.lineCap;\r\n },\r\n set: function(value) {\r\n if ([\"butt\", \"round\", \"square\"].indexOf(value) !== -1) {\r\n this.ctx.lineCap = value;\r\n this.pdf.setLineCap(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the current line width\r\n *\r\n * @name lineWidth\r\n * @default 1\r\n * @property {number} lineWidth The current line width, in pixels\r\n */\r\n Object.defineProperty(this, \"lineWidth\", {\r\n get: function() {\r\n return this.ctx.lineWidth;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.lineWidth = value;\r\n this.pdf.setLineWidth(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * Sets or returns the type of corner created, when two lines meet\r\n */\r\n Object.defineProperty(this, \"lineJoin\", {\r\n get: function() {\r\n return this.ctx.lineJoin;\r\n },\r\n set: function(value) {\r\n if ([\"bevel\", \"round\", \"miter\"].indexOf(value) !== -1) {\r\n this.ctx.lineJoin = value;\r\n this.pdf.setLineJoin(value);\r\n }\r\n }\r\n });\r\n\r\n /**\r\n * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0.\r\n *\r\n * @name miterLimit\r\n * @default 10\r\n */\r\n Object.defineProperty(this, \"miterLimit\", {\r\n get: function() {\r\n return this.ctx.miterLimit;\r\n },\r\n set: function(value) {\r\n if (!isNaN(value)) {\r\n this.ctx.miterLimit = value;\r\n this.pdf.setMiterLimit(value);\r\n }\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textBaseline\", {\r\n get: function() {\r\n return this.ctx.textBaseline;\r\n },\r\n set: function(value) {\r\n this.ctx.textBaseline = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"textAlign\", {\r\n get: function() {\r\n return this.ctx.textAlign;\r\n },\r\n set: function(value) {\r\n if ([\"right\", \"end\", \"center\", \"left\", \"start\"].indexOf(value) !== -1) {\r\n this.ctx.textAlign = value;\r\n }\r\n }\r\n });\r\n\r\n var _fontFaceMap = null;\r\n\r\n function getFontFaceMap(pdf, fontFaces) {\r\n if (_fontFaceMap === null) {\r\n var fontMap = pdf.getFontList();\r\n\r\n var convertedFontFaces = convertToFontFaces(fontMap);\r\n\r\n _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces));\r\n }\r\n\r\n return _fontFaceMap;\r\n }\r\n\r\n function convertToFontFaces(fontMap) {\r\n var fontFaces = [];\r\n\r\n Object.keys(fontMap).forEach(function(family) {\r\n var styles = fontMap[family];\r\n\r\n styles.forEach(function(style) {\r\n var fontFace = null;\r\n\r\n switch (style) {\r\n case \"bold\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\"\r\n };\r\n break;\r\n\r\n case \"italic\":\r\n fontFace = {\r\n family: family,\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"bolditalic\":\r\n fontFace = {\r\n family: family,\r\n weight: \"bold\",\r\n style: \"italic\"\r\n };\r\n break;\r\n\r\n case \"\":\r\n case \"normal\":\r\n fontFace = {\r\n family: family\r\n };\r\n break;\r\n }\r\n\r\n // If font-face is still null here, it is a font with some styling we don't recognize and\r\n // cannot map or it is a font added via the fontFaces option of .html().\r\n if (fontFace !== null) {\r\n fontFace.ref = {\r\n name: family,\r\n style: style\r\n };\r\n\r\n fontFaces.push(fontFace);\r\n }\r\n });\r\n });\r\n\r\n return fontFaces;\r\n }\r\n\r\n var _fontFaces = null;\r\n /**\r\n * A map of available font-faces, as passed in the options of\r\n * .html(). If set a limited implementation of the font style matching\r\n * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm\r\n * will be used. If not set it will fallback to previous behavior.\r\n */\r\n\r\n Object.defineProperty(this, \"fontFaces\", {\r\n get: function() {\r\n return _fontFaces;\r\n },\r\n set: function(value) {\r\n _fontFaceMap = null;\r\n _fontFaces = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"font\", {\r\n get: function() {\r\n return this.ctx.font;\r\n },\r\n set: function(value) {\r\n this.ctx.font = value;\r\n var rx, matches;\r\n\r\n //source: https://stackoverflow.com/a/10136041\r\n // eslint-disable-next-line no-useless-escape\r\n rx = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-_,\\\"\\'\\sa-z]+?)\\s*$/i;\r\n matches = rx.exec(value);\r\n if (matches !== null) {\r\n var fontStyle = matches[1];\r\n var fontVariant = matches[2];\r\n var fontWeight = matches[3];\r\n var fontSize = matches[4];\r\n var lineHeight = matches[5];\r\n var fontFamily = matches[6];\r\n } else {\r\n return;\r\n }\r\n var rxFontSize = /^([.\\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i;\r\n var fontSizeUnit = rxFontSize.exec(fontSize)[2];\r\n\r\n if (\"px\" === fontSizeUnit) {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n } else if (\"em\" === fontSizeUnit) {\r\n fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize());\r\n } else {\r\n fontSize = Math.floor(\r\n parseFloat(fontSize) * this.pdf.internal.scaleFactor\r\n );\r\n }\r\n\r\n this.pdf.setFontSize(fontSize);\r\n var parts = parseFontFamily(fontFamily);\r\n\r\n if (this.fontFaces) {\r\n var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces);\r\n\r\n var rules = parts.map(function(ff) {\r\n return {\r\n family: ff,\r\n stretch: \"normal\", // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?)\r\n weight: fontWeight,\r\n style: fontStyle\r\n };\r\n });\r\n\r\n var font = resolveFontFace(fontFaceMap, rules);\r\n this.pdf.setFont(font.ref.name, font.ref.style);\r\n return;\r\n }\r\n\r\n var style = \"\";\r\n if (\r\n fontWeight === \"bold\" ||\r\n parseInt(fontWeight, 10) >= 700 ||\r\n fontStyle === \"bold\"\r\n ) {\r\n style = \"bold\";\r\n }\r\n\r\n if (fontStyle === \"italic\") {\r\n style += \"italic\";\r\n }\r\n\r\n if (style.length === 0) {\r\n style = \"normal\";\r\n }\r\n var jsPdfFontName = \"\";\r\n\r\n var fallbackFonts = {\r\n arial: \"Helvetica\",\r\n Arial: \"Helvetica\",\r\n verdana: \"Helvetica\",\r\n Verdana: \"Helvetica\",\r\n helvetica: \"Helvetica\",\r\n Helvetica: \"Helvetica\",\r\n \"sans-serif\": \"Helvetica\",\r\n fixed: \"Courier\",\r\n monospace: \"Courier\",\r\n terminal: \"Courier\",\r\n cursive: \"Times\",\r\n fantasy: \"Times\",\r\n serif: \"Times\"\r\n };\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (\r\n this.pdf.internal.getFont(parts[i], style, {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n break;\r\n } else if (\r\n style === \"bolditalic\" &&\r\n this.pdf.internal.getFont(parts[i], \"bold\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"bold\";\r\n } else if (\r\n this.pdf.internal.getFont(parts[i], \"normal\", {\r\n noFallback: true,\r\n disableWarning: true\r\n }) !== undefined\r\n ) {\r\n jsPdfFontName = parts[i];\r\n style = \"normal\";\r\n break;\r\n }\r\n }\r\n if (jsPdfFontName === \"\") {\r\n for (var j = 0; j < parts.length; j++) {\r\n if (fallbackFonts[parts[j]]) {\r\n jsPdfFontName = fallbackFonts[parts[j]];\r\n break;\r\n }\r\n }\r\n }\r\n jsPdfFontName = jsPdfFontName === \"\" ? \"Times\" : jsPdfFontName;\r\n this.pdf.setFont(jsPdfFontName, style);\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalCompositeOperation\", {\r\n get: function() {\r\n return this.ctx.globalCompositeOperation;\r\n },\r\n set: function(value) {\r\n this.ctx.globalCompositeOperation = value;\r\n }\r\n });\r\n\r\n Object.defineProperty(this, \"globalAlpha\", {\r\n get: function() {\r\n return this.ctx.globalAlpha;\r\n },\r\n set: function(value) {\r\n this.ctx.globalAlpha = value;\r\n }\r\n });\r\n\r\n /**\r\n * A float specifying the amount of the line dash offset. The default value is 0.0.\r\n *\r\n * @name lineDashOffset\r\n * @default 0.0\r\n */\r\n Object.defineProperty(this, \"lineDashOffset\", {\r\n get: function() {\r\n return this.ctx.lineDashOffset;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDashOffset = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"lineDash\", {\r\n get: function() {\r\n return this.ctx.lineDash;\r\n },\r\n set: function(value) {\r\n this.ctx.lineDash = value;\r\n setLineDash.call(this);\r\n }\r\n });\r\n\r\n // Not HTML API\r\n Object.defineProperty(this, \"ignoreClearRect\", {\r\n get: function() {\r\n return this.ctx.ignoreClearRect;\r\n },\r\n set: function(value) {\r\n this.ctx.ignoreClearRect = Boolean(value);\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Sets the line dash pattern used when stroking lines.\r\n * @name setLineDash\r\n * @function\r\n * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern.\r\n */\r\n Context2D.prototype.setLineDash = function(dashArray) {\r\n this.lineDash = dashArray;\r\n };\r\n\r\n /**\r\n * gets the current line dash pattern.\r\n * @name getLineDash\r\n * @function\r\n * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25].\r\n */\r\n Context2D.prototype.getLineDash = function() {\r\n if (this.lineDash.length % 2) {\r\n // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value\r\n return this.lineDash.concat(this.lineDash);\r\n } else {\r\n // The copied value is returned to prevent contamination from outside.\r\n return this.lineDash.slice();\r\n }\r\n };\r\n\r\n Context2D.prototype.fill = function() {\r\n pathPreProcess.call(this, \"fill\", false);\r\n };\r\n\r\n /**\r\n * Actually draws the path you have defined\r\n *\r\n * @name stroke\r\n * @function\r\n * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black.\r\n */\r\n Context2D.prototype.stroke = function() {\r\n pathPreProcess.call(this, \"stroke\", false);\r\n };\r\n\r\n /**\r\n * Begins a path, or resets the current\r\n *\r\n * @name beginPath\r\n * @function\r\n * @description The beginPath() method begins a path, or resets the current path.\r\n */\r\n Context2D.prototype.beginPath = function() {\r\n this.path = [\r\n {\r\n type: \"begin\"\r\n }\r\n ];\r\n };\r\n\r\n /**\r\n * Moves the path to the specified point in the canvas, without creating a line\r\n *\r\n * @name moveTo\r\n * @function\r\n * @param x {Number} The x-coordinate of where to move the path to\r\n * @param y {Number} The y-coordinate of where to move the path to\r\n */\r\n Context2D.prototype.moveTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.moveTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.moveTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"mt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(x, y);\r\n };\r\n\r\n /**\r\n * Creates a path from the current point back to the starting point\r\n *\r\n * @name closePath\r\n * @function\r\n * @description The closePath() method creates a path from the current point back to the starting point.\r\n */\r\n Context2D.prototype.closePath = function() {\r\n var pathBegin = new Point(0, 0);\r\n var i = 0;\r\n for (i = this.path.length - 1; i !== -1; i--) {\r\n if (this.path[i].type === \"begin\") {\r\n if (\r\n typeof this.path[i + 1] === \"object\" &&\r\n typeof this.path[i + 1].x === \"number\"\r\n ) {\r\n pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y);\r\n break;\r\n }\r\n }\r\n }\r\n this.path.push({\r\n type: \"close\"\r\n });\r\n this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y);\r\n };\r\n\r\n /**\r\n * Adds a new point and creates a line to that point from the last specified point in the canvas\r\n *\r\n * @name lineTo\r\n * @function\r\n * @param x The x-coordinate of where to create the line to\r\n * @param y The y-coordinate of where to create the line to\r\n * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line).\r\n */\r\n Context2D.prototype.lineTo = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.lineTo: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.lineTo\");\r\n }\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n\r\n this.path.push({\r\n type: \"lt\",\r\n x: pt.x,\r\n y: pt.y\r\n });\r\n this.ctx.lastPoint = new Point(pt.x, pt.y);\r\n };\r\n\r\n /**\r\n * Clips a region of any shape and size from the original canvas\r\n *\r\n * @name clip\r\n * @function\r\n * @description The clip() method clips a region of any shape and size from the original canvas.\r\n */\r\n Context2D.prototype.clip = function() {\r\n this.ctx.clip_path = JSON.parse(JSON.stringify(this.path));\r\n pathPreProcess.call(this, null, true);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name quadraticCurveTo\r\n * @function\r\n * @param cpx {Number} The x-coordinate of the Bézier control point\r\n * @param cpy {Number} The y-coordinate of the Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

    A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.quadraticCurveTo = function(cpx, cpy, x, y) {\r\n if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) {\r\n console.error(\r\n \"jsPDF.context2d.quadraticCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.quadraticCurveTo\"\r\n );\r\n }\r\n\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy));\r\n\r\n this.path.push({\r\n type: \"qct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates a cubic Bézier curve\r\n *\r\n * @name bezierCurveTo\r\n * @function\r\n * @param cp1x {Number} The x-coordinate of the first Bézier control point\r\n * @param cp1y {Number} The y-coordinate of the first Bézier control point\r\n * @param cp2x {Number} The x-coordinate of the second Bézier control point\r\n * @param cp2y {Number} The y-coordinate of the second Bézier control point\r\n * @param x {Number} The x-coordinate of the ending point\r\n * @param y {Number} The y-coordinate of the ending point\r\n * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

    A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point.\r\n */\r\n Context2D.prototype.bezierCurveTo = function(cp1x, cp1y, cp2x, cp2y, x, y) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(cp1x) ||\r\n isNaN(cp1y) ||\r\n isNaN(cp2x) ||\r\n isNaN(cp2y)\r\n ) {\r\n console.error(\r\n \"jsPDF.context2d.bezierCurveTo: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.bezierCurveTo\"\r\n );\r\n }\r\n var pt0 = this.ctx.transform.applyToPoint(new Point(x, y));\r\n var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y));\r\n var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y));\r\n\r\n this.path.push({\r\n type: \"bct\",\r\n x1: pt1.x,\r\n y1: pt1.y,\r\n x2: pt2.x,\r\n y2: pt2.y,\r\n x: pt0.x,\r\n y: pt0.y\r\n });\r\n this.ctx.lastPoint = new Point(pt0.x, pt0.y);\r\n };\r\n\r\n /**\r\n * Creates an arc/curve (used to create circles, or parts of circles)\r\n *\r\n * @name arc\r\n * @function\r\n * @param x {Number} The x-coordinate of the center of the circle\r\n * @param y {Number} The y-coordinate of the center of the circle\r\n * @param radius {Number} The radius of the circle\r\n * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle)\r\n * @param endAngle {Number} The ending angle, in radians\r\n * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise.\r\n * @description The arc() method creates an arc/curve (used to create circles, or parts of circles).\r\n */\r\n Context2D.prototype.arc = function(\r\n x,\r\n y,\r\n radius,\r\n startAngle,\r\n endAngle,\r\n counterclockwise\r\n ) {\r\n if (\r\n isNaN(x) ||\r\n isNaN(y) ||\r\n isNaN(radius) ||\r\n isNaN(startAngle) ||\r\n isNaN(endAngle)\r\n ) {\r\n console.error(\"jsPDF.context2d.arc: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.arc\");\r\n }\r\n counterclockwise = Boolean(counterclockwise);\r\n\r\n if (!this.ctx.transform.isIdentity) {\r\n var xpt = this.ctx.transform.applyToPoint(new Point(x, y));\r\n x = xpt.x;\r\n y = xpt.y;\r\n\r\n var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius));\r\n var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0));\r\n radius = Math.sqrt(\r\n Math.pow(x_radPt.x - x_radPt0.x, 2) +\r\n Math.pow(x_radPt.y - x_radPt0.y, 2)\r\n );\r\n }\r\n if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) {\r\n startAngle = 0;\r\n endAngle = 2 * Math.PI;\r\n }\r\n\r\n this.path.push({\r\n type: \"arc\",\r\n x: x,\r\n y: y,\r\n radius: radius,\r\n startAngle: startAngle,\r\n endAngle: endAngle,\r\n counterclockwise: counterclockwise\r\n });\r\n // this.ctx.lastPoint(new Point(pt.x,pt.y));\r\n };\r\n\r\n /**\r\n * Creates an arc/curve between two tangents\r\n *\r\n * @name arcTo\r\n * @function\r\n * @param x1 {Number} The x-coordinate of the first tangent\r\n * @param y1 {Number} The y-coordinate of the first tangent\r\n * @param x2 {Number} The x-coordinate of the second tangent\r\n * @param y2 {Number} The y-coordinate of the second tangent\r\n * @param radius The radius of the arc\r\n * @description The arcTo() method creates an arc/curve between two tangents on the canvas.\r\n */\r\n // eslint-disable-next-line no-unused-vars\r\n Context2D.prototype.arcTo = function(x1, y1, x2, y2, radius) {\r\n throw new Error(\"arcTo not implemented.\");\r\n };\r\n\r\n /**\r\n * Creates a rectangle\r\n *\r\n * @name rect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The rect() method creates a rectangle.\r\n */\r\n Context2D.prototype.rect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.rect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rect\");\r\n }\r\n this.moveTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x + w, y + h);\r\n this.lineTo(x, y + h);\r\n this.lineTo(x, y);\r\n this.lineTo(x + w, y);\r\n this.lineTo(x, y);\r\n };\r\n\r\n /**\r\n * Draws a \"filled\" rectangle\r\n *\r\n * @name fillRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The fillRect() method draws a \"filled\" rectangle. The default color of the fill is black.\r\n */\r\n Context2D.prototype.fillRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.fillRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillRect\");\r\n }\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n var tmp = {};\r\n if (this.lineCap !== \"butt\") {\r\n tmp.lineCap = this.lineCap;\r\n this.lineCap = \"butt\";\r\n }\r\n if (this.lineJoin !== \"miter\") {\r\n tmp.lineJoin = this.lineJoin;\r\n this.lineJoin = \"miter\";\r\n }\r\n\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.fill();\r\n\r\n if (tmp.hasOwnProperty(\"lineCap\")) {\r\n this.lineCap = tmp.lineCap;\r\n }\r\n if (tmp.hasOwnProperty(\"lineJoin\")) {\r\n this.lineJoin = tmp.lineJoin;\r\n }\r\n };\r\n\r\n /**\r\n * Draws a rectangle (no fill)\r\n *\r\n * @name strokeRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle, in pixels\r\n * @param h {Number} The height of the rectangle, in pixels\r\n * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black.\r\n */\r\n Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.strokeRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeRect\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n this.beginPath();\r\n this.rect(x, y, w, h);\r\n this.stroke();\r\n };\r\n\r\n /**\r\n * Clears the specified pixels within a given rectangle\r\n *\r\n * @name clearRect\r\n * @function\r\n * @param x {Number} The x-coordinate of the upper-left corner of the rectangle\r\n * @param y {Number} The y-coordinate of the upper-left corner of the rectangle\r\n * @param w {Number} The width of the rectangle to clear, in pixels\r\n * @param h {Number} The height of the rectangle to clear, in pixels\r\n * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
    \r\n * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set.\r\n * This results in all calls to clearRect() to do nothing, and keep the canvas transparent.\r\n * This flag is stored in the save/restore context and is managed the same way as other drawing states.\r\n *\r\n */\r\n Context2D.prototype.clearRect = function(x, y, w, h) {\r\n if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) {\r\n console.error(\"jsPDF.context2d.clearRect: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.clearRect\");\r\n }\r\n if (this.ignoreClearRect) {\r\n return;\r\n }\r\n\r\n this.fillStyle = \"#ffffff\";\r\n this.fillRect(x, y, w, h);\r\n };\r\n\r\n /**\r\n * Saves the state of the current context\r\n *\r\n * @name save\r\n * @function\r\n */\r\n Context2D.prototype.save = function(doStackPush) {\r\n doStackPush = typeof doStackPush === \"boolean\" ? doStackPush : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPush) {\r\n this.ctx.fontSize = this.pdf.internal.getFontSize();\r\n var ctx = new ContextLayer(this.ctx);\r\n this.ctxStack.push(this.ctx);\r\n this.ctx = ctx;\r\n }\r\n };\r\n\r\n /**\r\n * Returns previously saved path state and attributes\r\n *\r\n * @name restore\r\n * @function\r\n */\r\n Context2D.prototype.restore = function(doStackPop) {\r\n doStackPop = typeof doStackPop === \"boolean\" ? doStackPop : true;\r\n var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) {\r\n this.pdf.setPage(i + 1);\r\n this.pdf.internal.out(\"Q\");\r\n }\r\n this.pdf.setPage(tmpPageNumber);\r\n\r\n if (doStackPop && this.ctxStack.length !== 0) {\r\n this.ctx = this.ctxStack.pop();\r\n this.fillStyle = this.ctx.fillStyle;\r\n this.strokeStyle = this.ctx.strokeStyle;\r\n this.font = this.ctx.font;\r\n this.lineCap = this.ctx.lineCap;\r\n this.lineWidth = this.ctx.lineWidth;\r\n this.lineJoin = this.ctx.lineJoin;\r\n this.lineDash = this.ctx.lineDash;\r\n this.lineDashOffset = this.ctx.lineDashOffset;\r\n }\r\n };\r\n\r\n /**\r\n * @name toDataURL\r\n * @function\r\n */\r\n Context2D.prototype.toDataURL = function() {\r\n throw new Error(\"toDataUrl not implemented.\");\r\n };\r\n\r\n //helper functions\r\n\r\n /**\r\n * Get the decimal values of r, g, b and a\r\n *\r\n * @name getRGBA\r\n * @function\r\n * @private\r\n * @ignore\r\n */\r\n var getRGBA = function(style) {\r\n var rxRgb = /rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/;\r\n var rxRgba = /rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*([\\d.]+)\\s*\\)/;\r\n var rxTransparent = /transparent|rgba\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*0+\\s*\\)/;\r\n\r\n var r, g, b, a;\r\n\r\n if (style.isCanvasGradient === true) {\r\n style = style.getColor();\r\n }\r\n\r\n if (!style) {\r\n return { r: 0, g: 0, b: 0, a: 0, style: style };\r\n }\r\n\r\n if (rxTransparent.test(style)) {\r\n r = 0;\r\n g = 0;\r\n b = 0;\r\n a = 0;\r\n } else {\r\n var matches = rxRgb.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = 1;\r\n } else {\r\n matches = rxRgba.exec(style);\r\n if (matches !== null) {\r\n r = parseInt(matches[1]);\r\n g = parseInt(matches[2]);\r\n b = parseInt(matches[3]);\r\n a = parseFloat(matches[4]);\r\n } else {\r\n a = 1;\r\n\r\n if (typeof style === \"string\" && style.charAt(0) !== \"#\") {\r\n var rgbColor = new RGBColor(style);\r\n if (rgbColor.ok) {\r\n style = rgbColor.toHex();\r\n } else {\r\n style = \"#000000\";\r\n }\r\n }\r\n\r\n if (style.length === 4) {\r\n r = style.substring(1, 2);\r\n r += r;\r\n g = style.substring(2, 3);\r\n g += g;\r\n b = style.substring(3, 4);\r\n b += b;\r\n } else {\r\n r = style.substring(1, 3);\r\n g = style.substring(3, 5);\r\n b = style.substring(5, 7);\r\n }\r\n r = parseInt(r, 16);\r\n g = parseInt(g, 16);\r\n b = parseInt(b, 16);\r\n }\r\n }\r\n }\r\n return { r: r, g: g, b: b, a: a, style: style };\r\n };\r\n\r\n /**\r\n * @name isFillTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isFillTransparent = function() {\r\n return this.ctx.isFillTransparent || this.globalAlpha == 0;\r\n };\r\n\r\n /**\r\n * @name isStrokeTransparent\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns {Boolean}\r\n */\r\n var isStrokeTransparent = function() {\r\n return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0);\r\n };\r\n\r\n /**\r\n * Draws \"filled\" text on the canvas\r\n *\r\n * @name fillText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The fillText() method draws filled text on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.fillText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.fillText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.fillText\");\r\n }\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n if (isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n\r\n // We only use X axis as scale hint\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Draws text on the canvas (no fill)\r\n *\r\n * @name strokeText\r\n * @function\r\n * @param text {String} Specifies the text that will be written on the canvas\r\n * @param x {Number} The x coordinate where to start painting the text (relative to the canvas)\r\n * @param y {Number} The y coordinate where to start painting the text (relative to the canvas)\r\n * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels\r\n * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black.\r\n */\r\n Context2D.prototype.strokeText = function(text, x, y, maxWidth) {\r\n if (isNaN(x) || isNaN(y) || typeof text !== \"string\") {\r\n console.error(\"jsPDF.context2d.strokeText: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.strokeText\");\r\n }\r\n if (isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n maxWidth = isNaN(maxWidth) ? undefined : maxWidth;\r\n\r\n var degs = rad2deg(this.ctx.transform.rotation);\r\n var scale = this.ctx.transform.scaleX;\r\n\r\n putText.call(this, {\r\n text: text,\r\n x: x,\r\n y: y,\r\n scale: scale,\r\n renderingMode: \"stroke\",\r\n angle: degs,\r\n align: this.textAlign,\r\n maxWidth: maxWidth\r\n });\r\n };\r\n\r\n /**\r\n * Returns an object that contains the width of the specified text\r\n *\r\n * @name measureText\r\n * @function\r\n * @param text {String} The text to be measured\r\n * @description The measureText() method returns an object that contains the width of the specified text, in pixels.\r\n * @returns {Number}\r\n */\r\n Context2D.prototype.measureText = function(text) {\r\n if (typeof text !== \"string\") {\r\n console.error(\r\n \"jsPDF.context2d.measureText: Invalid arguments\",\r\n arguments\r\n );\r\n throw new Error(\r\n \"Invalid arguments passed to jsPDF.context2d.measureText\"\r\n );\r\n }\r\n var pdf = this.pdf;\r\n var k = this.pdf.internal.scaleFactor;\r\n\r\n var fontSize = pdf.internal.getFontSize();\r\n var txtWidth =\r\n (pdf.getStringUnitWidth(text) * fontSize) / pdf.internal.scaleFactor;\r\n txtWidth *= Math.round(((k * 96) / 72) * 10000) / 10000;\r\n\r\n var TextMetrics = function(options) {\r\n options = options || {};\r\n var _width = options.width || 0;\r\n Object.defineProperty(this, \"width\", {\r\n get: function() {\r\n return _width;\r\n }\r\n });\r\n return this;\r\n };\r\n return new TextMetrics({ width: txtWidth });\r\n };\r\n\r\n //Transformations\r\n\r\n /**\r\n * Scales the current drawing bigger or smaller\r\n *\r\n * @name scale\r\n * @function\r\n * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.)\r\n * @description The scale() method scales the current drawing, bigger or smaller.\r\n */\r\n Context2D.prototype.scale = function(scalewidth, scaleheight) {\r\n if (isNaN(scalewidth) || isNaN(scaleheight)) {\r\n console.error(\"jsPDF.context2d.scale: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.scale\");\r\n }\r\n var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Rotates the current drawing\r\n *\r\n * @name rotate\r\n * @function\r\n * @param angle {Number} The rotation angle, in radians.\r\n * @description To calculate from degrees to radians: degrees*Math.PI/180.
    \r\n * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180\r\n */\r\n Context2D.prototype.rotate = function(angle) {\r\n if (isNaN(angle)) {\r\n console.error(\"jsPDF.context2d.rotate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.rotate\");\r\n }\r\n var matrix = new Matrix(\r\n Math.cos(angle),\r\n Math.sin(angle),\r\n -Math.sin(angle),\r\n Math.cos(angle),\r\n 0.0,\r\n 0.0\r\n );\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Remaps the (0,0) position on the canvas\r\n *\r\n * @name translate\r\n * @function\r\n * @param x {Number} The value to add to horizontal (x) coordinates\r\n * @param y {Number} The value to add to vertical (y) coordinates\r\n * @description The translate() method remaps the (0,0) position on the canvas.\r\n */\r\n Context2D.prototype.translate = function(x, y) {\r\n if (isNaN(x) || isNaN(y)) {\r\n console.error(\"jsPDF.context2d.translate: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.translate\");\r\n }\r\n var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Replaces the current transformation matrix for the drawing\r\n *\r\n * @name transform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



    a c e

    b d f

    0 0 1

    In other words, the transform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.transform = function(a, b, c, d, e, f) {\r\n if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) {\r\n console.error(\"jsPDF.context2d.transform: Invalid arguments\", arguments);\r\n throw new Error(\"Invalid arguments passed to jsPDF.context2d.transform\");\r\n }\r\n var matrix = new Matrix(a, b, c, d, e, f);\r\n this.ctx.transform = this.ctx.transform.multiply(matrix);\r\n };\r\n\r\n /**\r\n * Resets the current transform to the identity matrix. Then runs transform()\r\n *\r\n * @name setTransform\r\n * @function\r\n * @param a {Number} Horizontal scaling\r\n * @param b {Number} Horizontal skewing\r\n * @param c {Number} Vertical skewing\r\n * @param d {Number} Vertical scaling\r\n * @param e {Number} Horizontal moving\r\n * @param f {Number} Vertical moving\r\n * @description Each object on the canvas has a current transformation matrix.

    The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

    In other words, the setTransform() method lets you scale, rotate, move, and skew the current context.\r\n */\r\n Context2D.prototype.setTransform = function(a, b, c, d, e, f) {\r\n a = isNaN(a) ? 1 : a;\r\n b = isNaN(b) ? 0 : b;\r\n c = isNaN(c) ? 0 : c;\r\n d = isNaN(d) ? 1 : d;\r\n e = isNaN(e) ? 0 : e;\r\n f = isNaN(f) ? 0 : f;\r\n this.ctx.transform = new Matrix(a, b, c, d, e, f);\r\n };\r\n\r\n /**\r\n * Should only be used if pageWrapYEnabled is true\r\n *\r\n * @name setPageByYPosition\r\n * @function\r\n * @private\r\n * @ignore\r\n * @returns One-based Page Number\r\n */\r\n var setPageByYPosition = function(y) {\r\n if (this.pageWrapYEnabled) {\r\n this.lastBreak = 0;\r\n var manualBreaks = 0;\r\n var autoBreaks = 0;\r\n for (var i = 0; i < this.pageBreaks.length; i++) {\r\n if (y >= this.pageBreaks[i]) {\r\n manualBreaks++;\r\n if (this.lastBreak === 0) {\r\n autoBreaks++;\r\n }\r\n var spaceBetweenLastBreak = this.pageBreaks[i] - this.lastBreak;\r\n this.lastBreak = this.pageBreaks[i];\r\n var pagesSinceLastBreak = Math.floor(\r\n spaceBetweenLastBreak / this.pageWrapY\r\n );\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n }\r\n if (this.lastBreak === 0) {\r\n var pagesSinceLastBreak = Math.floor(y / this.pageWrapY) + 1;\r\n autoBreaks += pagesSinceLastBreak;\r\n }\r\n return autoBreaks + manualBreaks;\r\n } else {\r\n return this.pdf.internal.getCurrentPageInfo().pageNumber;\r\n }\r\n };\r\n\r\n var hasMargins = function() {\r\n return (\r\n this.margin[0] > 0 ||\r\n this.margin[1] > 0 ||\r\n this.margin[2] > 0 ||\r\n this.margin[3] > 0\r\n );\r\n };\r\n\r\n /**\r\n * Draws an image, canvas, or video onto the canvas\r\n *\r\n * @function\r\n * @param img {} Specifies the image, canvas, or video element to use\r\n * @param sx {Number} Optional. The x coordinate where to start clipping\r\n * @param sy {Number} Optional. The y coordinate where to start clipping\r\n * @param swidth {Number} Optional. The width of the clipped image\r\n * @param sheight {Number} Optional. The height of the clipped image\r\n * @param x {Number} The x coordinate where to place the image on the canvas\r\n * @param y {Number} The y coordinate where to place the image on the canvas\r\n * @param width {Number} Optional. The width of the image to use (stretch or reduce the image)\r\n * @param height {Number} Optional. The height of the image to use (stretch or reduce the image)\r\n */\r\n Context2D.prototype.drawImage = function(\r\n img,\r\n sx,\r\n sy,\r\n swidth,\r\n sheight,\r\n x,\r\n y,\r\n width,\r\n height\r\n ) {\r\n var imageProperties = this.pdf.getImageProperties(img);\r\n var factorX = 1;\r\n var factorY = 1;\r\n var isClip;\r\n\r\n var clipFactorX = 1;\r\n var clipFactorY = 1;\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width !== \"undefined\") {\r\n isClip = true;\r\n clipFactorX = width / swidth;\r\n clipFactorY = height / sheight;\r\n factorX = ((imageProperties.width / swidth) * width) / swidth;\r\n factorY = ((imageProperties.height / sheight) * height) / sheight;\r\n }\r\n\r\n //is sx and sy are set and x and y not, set x and y with values of sx and sy\r\n if (typeof x === \"undefined\") {\r\n x = sx;\r\n y = sy;\r\n sx = 0;\r\n sy = 0;\r\n }\r\n\r\n if (typeof swidth !== \"undefined\" && typeof width === \"undefined\") {\r\n width = swidth;\r\n height = sheight;\r\n }\r\n if (typeof swidth === \"undefined\" && typeof width === \"undefined\") {\r\n width = imageProperties.width;\r\n height = imageProperties.height;\r\n }\r\n\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var angle = rad2deg(decomposedTransformationMatrix.rotate.shx);\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n var xRect = matrix.applyToRectangle(\r\n new Rectangle(\r\n x - sx * clipFactorX,\r\n y - sy * clipFactorY,\r\n swidth * factorX,\r\n sheight * factorY\r\n )\r\n );\r\n var pageArray = getPagesByPath.call(this, xRect);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var tmpRect = JSON.parse(JSON.stringify(xRect));\r\n tmpRect = pathPositionRedo(\r\n [tmpRect],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping = (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n tmpRect.x,\r\n tmpRect.y,\r\n tmpRect.w,\r\n tmpRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n this.pdf.addImage(\r\n img,\r\n \"JPEG\",\r\n xRect.x,\r\n xRect.y,\r\n xRect.w,\r\n xRect.h,\r\n null,\r\n null,\r\n angle\r\n );\r\n }\r\n };\r\n\r\n var getPagesByPath = function(path, pageWrapX, pageWrapY) {\r\n var result = [];\r\n pageWrapX = pageWrapX || this.pdf.internal.pageSize.width;\r\n pageWrapY =\r\n pageWrapY ||\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var yOffset = this.posY + this.ctx.prevPageLastElemOffset;\r\n\r\n switch (path.type) {\r\n default:\r\n case \"mt\":\r\n case \"lt\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n break;\r\n case \"arc\":\r\n result.push(\r\n Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1\r\n );\r\n break;\r\n case \"qct\":\r\n var rectOfQuadraticCurve = getQuadraticCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) /\r\n pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"bct\":\r\n var rectOfBezierCurve = getBezierCurveBoundary(\r\n this.ctx.lastPoint.x,\r\n this.ctx.lastPoint.y,\r\n path.x1,\r\n path.y1,\r\n path.x2,\r\n path.y2,\r\n path.x,\r\n path.y\r\n );\r\n result.push(\r\n Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1\r\n );\r\n result.push(\r\n Math.floor(\r\n (rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY\r\n ) + 1\r\n );\r\n break;\r\n case \"rect\":\r\n result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1);\r\n result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1);\r\n }\r\n\r\n for (var i = 0; i < result.length; i += 1) {\r\n while (this.pdf.internal.getNumberOfPages() < result[i]) {\r\n addPage.call(this);\r\n }\r\n }\r\n return result;\r\n };\r\n\r\n var addPage = function() {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var font = this.font;\r\n var lineCap = this.lineCap;\r\n var lineWidth = this.lineWidth;\r\n var lineJoin = this.lineJoin;\r\n this.pdf.addPage();\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.font = font;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n };\r\n\r\n var pathPositionRedo = function(paths, x, y) {\r\n for (var i = 0; i < paths.length; i++) {\r\n switch (paths[i].type) {\r\n case \"bct\":\r\n paths[i].x2 += x;\r\n paths[i].y2 += y;\r\n case \"qct\":\r\n paths[i].x1 += x;\r\n paths[i].y1 += y;\r\n case \"mt\":\r\n case \"lt\":\r\n case \"arc\":\r\n default:\r\n paths[i].x += x;\r\n paths[i].y += y;\r\n }\r\n }\r\n return paths;\r\n };\r\n\r\n var sortPages = function(pages) {\r\n return pages.sort(function(a, b) {\r\n return a - b;\r\n });\r\n };\r\n\r\n var pathPreProcess = function(rule, isClip) {\r\n var fillStyle = this.fillStyle;\r\n var strokeStyle = this.strokeStyle;\r\n var lineCap = this.lineCap;\r\n var oldLineWidth = this.lineWidth;\r\n var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX);\r\n var lineJoin = this.lineJoin;\r\n\r\n var origPath = JSON.parse(JSON.stringify(this.path));\r\n var xPath = JSON.parse(JSON.stringify(this.path));\r\n var clipPath;\r\n var tmpPath;\r\n var pages = [];\r\n\r\n for (var i = 0; i < xPath.length; i++) {\r\n if (typeof xPath[i].x !== \"undefined\") {\r\n var page = getPagesByPath.call(this, xPath[i]);\r\n\r\n for (var ii = 0; ii < page.length; ii += 1) {\r\n if (pages.indexOf(page[ii]) === -1) {\r\n pages.push(page[ii]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var j = 0; j < pages.length; j++) {\r\n while (this.pdf.internal.getNumberOfPages() < pages[j]) {\r\n addPage.call(this);\r\n }\r\n }\r\n sortPages(pages);\r\n\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var k = min; k < max + 1; k++) {\r\n this.pdf.setPage(k);\r\n\r\n this.fillStyle = fillStyle;\r\n this.strokeStyle = strokeStyle;\r\n this.lineCap = lineCap;\r\n this.lineWidth = lineWidth;\r\n this.lineJoin = lineJoin;\r\n\r\n var pageWidthMinusMargins =\r\n this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1];\r\n var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusMargins =\r\n this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2];\r\n var previousPageHeightSum =\r\n k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n drawPaths.call(this, rule, true);\r\n this.path = tmpPaths;\r\n }\r\n tmpPath = JSON.parse(JSON.stringify(origPath));\r\n this.path = pathPositionRedo(\r\n tmpPath,\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n );\r\n if (isClip === false || k === 0) {\r\n const needsClipping = (k > min || k < max) && hasMargins.call(this);\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n drawPaths.call(this, rule, isClip);\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n this.lineWidth = oldLineWidth;\r\n }\r\n } else {\r\n this.lineWidth = lineWidth;\r\n drawPaths.call(this, rule, isClip);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n this.path = origPath;\r\n };\r\n\r\n /**\r\n * Processes the paths\r\n *\r\n * @function\r\n * @param rule {String}\r\n * @param isClip {Boolean}\r\n * @private\r\n * @ignore\r\n */\r\n var drawPaths = function(rule, isClip) {\r\n if (rule === \"stroke\" && !isClip && isStrokeTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n if (rule !== \"stroke\" && !isClip && isFillTransparent.call(this)) {\r\n return;\r\n }\r\n\r\n var moves = [];\r\n\r\n //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha;\r\n var delta;\r\n var xPath = this.path;\r\n for (var i = 0; i < xPath.length; i++) {\r\n var pt = xPath[i];\r\n\r\n switch (pt.type) {\r\n case \"begin\":\r\n moves.push({\r\n begin: true\r\n });\r\n break;\r\n\r\n case \"close\":\r\n moves.push({\r\n close: true\r\n });\r\n break;\r\n\r\n case \"mt\":\r\n moves.push({\r\n start: pt,\r\n deltas: [],\r\n abs: []\r\n });\r\n break;\r\n\r\n case \"lt\":\r\n var iii = moves.length;\r\n if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) {\r\n delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y];\r\n if (iii > 0) {\r\n for (iii; iii >= 0; iii--) {\r\n if (\r\n moves[iii - 1].close !== true &&\r\n moves[iii - 1].begin !== true\r\n ) {\r\n moves[iii - 1].deltas.push(delta);\r\n moves[iii - 1].abs.push(pt);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n break;\r\n\r\n case \"bct\":\r\n delta = [\r\n pt.x1 - xPath[i - 1].x,\r\n pt.y1 - xPath[i - 1].y,\r\n pt.x2 - xPath[i - 1].x,\r\n pt.y2 - xPath[i - 1].y,\r\n pt.x - xPath[i - 1].x,\r\n pt.y - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"qct\":\r\n var x1 = xPath[i - 1].x + (2.0 / 3.0) * (pt.x1 - xPath[i - 1].x);\r\n var y1 = xPath[i - 1].y + (2.0 / 3.0) * (pt.y1 - xPath[i - 1].y);\r\n var x2 = pt.x + (2.0 / 3.0) * (pt.x1 - pt.x);\r\n var y2 = pt.y + (2.0 / 3.0) * (pt.y1 - pt.y);\r\n var x3 = pt.x;\r\n var y3 = pt.y;\r\n delta = [\r\n x1 - xPath[i - 1].x,\r\n y1 - xPath[i - 1].y,\r\n x2 - xPath[i - 1].x,\r\n y2 - xPath[i - 1].y,\r\n x3 - xPath[i - 1].x,\r\n y3 - xPath[i - 1].y\r\n ];\r\n moves[moves.length - 1].deltas.push(delta);\r\n break;\r\n\r\n case \"arc\":\r\n moves.push({\r\n deltas: [],\r\n abs: [],\r\n arc: true\r\n });\r\n\r\n if (Array.isArray(moves[moves.length - 1].abs)) {\r\n moves[moves.length - 1].abs.push(pt);\r\n }\r\n break;\r\n }\r\n }\r\n var style;\r\n if (!isClip) {\r\n if (rule === \"stroke\") {\r\n style = \"stroke\";\r\n } else {\r\n style = \"fill\";\r\n }\r\n } else {\r\n style = null;\r\n }\r\n\r\n var began = false;\r\n for (var k = 0; k < moves.length; k++) {\r\n if (moves[k].arc) {\r\n var arcs = moves[k].abs;\r\n\r\n for (var ii = 0; ii < arcs.length; ii++) {\r\n var arc = arcs[ii];\r\n\r\n if (arc.type === \"arc\") {\r\n drawArc.call(\r\n this,\r\n arc.x,\r\n arc.y,\r\n arc.radius,\r\n arc.startAngle,\r\n arc.endAngle,\r\n arc.counterclockwise,\r\n undefined,\r\n isClip,\r\n !began\r\n );\r\n } else {\r\n drawLine.call(this, arc.x, arc.y);\r\n }\r\n began = true;\r\n }\r\n } else if (moves[k].close === true) {\r\n this.pdf.internal.out(\"h\");\r\n began = false;\r\n } else if (moves[k].begin !== true) {\r\n var x = moves[k].start.x;\r\n var y = moves[k].start.y;\r\n drawLines.call(this, moves[k].deltas, x, y);\r\n began = true;\r\n }\r\n }\r\n\r\n if (style) {\r\n putStyle.call(this, style);\r\n }\r\n if (isClip) {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var getBaseline = function(y) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n switch (this.ctx.textBaseline) {\r\n case \"bottom\":\r\n return y - descent;\r\n case \"top\":\r\n return y + height - descent;\r\n case \"hanging\":\r\n return y + height - 2 * descent;\r\n case \"middle\":\r\n return y + height / 2 - descent;\r\n case \"ideographic\":\r\n // TODO not implemented\r\n return y;\r\n case \"alphabetic\":\r\n default:\r\n return y;\r\n }\r\n };\r\n\r\n var getTextBottom = function(yBaseLine) {\r\n var height =\r\n this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor;\r\n var descent = height * (this.pdf.internal.getLineHeightFactor() - 1);\r\n return yBaseLine + descent;\r\n };\r\n\r\n Context2D.prototype.createLinearGradient = function createLinearGradient() {\r\n var canvasGradient = function canvasGradient() {};\r\n\r\n canvasGradient.colorStops = [];\r\n canvasGradient.addColorStop = function(offset, color) {\r\n this.colorStops.push([offset, color]);\r\n };\r\n\r\n canvasGradient.getColor = function() {\r\n if (this.colorStops.length === 0) {\r\n return \"#000000\";\r\n }\r\n\r\n return this.colorStops[0][1];\r\n };\r\n\r\n canvasGradient.isCanvasGradient = true;\r\n return canvasGradient;\r\n };\r\n Context2D.prototype.createPattern = function createPattern() {\r\n return this.createLinearGradient();\r\n };\r\n Context2D.prototype.createRadialGradient = function createRadialGradient() {\r\n return this.createLinearGradient();\r\n };\r\n\r\n /**\r\n *\r\n * @param x Edge point X\r\n * @param y Edge point Y\r\n * @param r Radius\r\n * @param a1 start angle\r\n * @param a2 end angle\r\n * @param counterclockwise\r\n * @param style\r\n * @param isClip\r\n */\r\n var drawArc = function(\r\n x,\r\n y,\r\n r,\r\n a1,\r\n a2,\r\n counterclockwise,\r\n style,\r\n isClip,\r\n includeMove\r\n ) {\r\n // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html\r\n var curves = createArc.call(this, r, a1, a2, counterclockwise);\r\n\r\n for (var i = 0; i < curves.length; i++) {\r\n var curve = curves[i];\r\n if (i === 0) {\r\n if (includeMove) {\r\n doMove.call(this, curve.x1 + x, curve.y1 + y);\r\n } else {\r\n drawLine.call(this, curve.x1 + x, curve.y1 + y);\r\n }\r\n }\r\n drawCurve.call(\r\n this,\r\n x,\r\n y,\r\n curve.x2,\r\n curve.y2,\r\n curve.x3,\r\n curve.y3,\r\n curve.x4,\r\n curve.y4\r\n );\r\n }\r\n\r\n if (!isClip) {\r\n putStyle.call(this, style);\r\n } else {\r\n doClip.call(this);\r\n }\r\n };\r\n\r\n var putStyle = function(style) {\r\n switch (style) {\r\n case \"stroke\":\r\n this.pdf.internal.out(\"S\");\r\n break;\r\n case \"fill\":\r\n this.pdf.internal.out(\"f\");\r\n break;\r\n }\r\n };\r\n\r\n var doClip = function() {\r\n this.pdf.clip();\r\n this.pdf.discardPath();\r\n };\r\n\r\n var doMove = function(x, y) {\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x) +\r\n \" \" +\r\n getVerticalCoordinateString(y) +\r\n \" m\"\r\n );\r\n };\r\n\r\n var putText = function(options) {\r\n var textAlign;\r\n switch (options.align) {\r\n case \"right\":\r\n case \"end\":\r\n textAlign = \"right\";\r\n break;\r\n case \"center\":\r\n textAlign = \"center\";\r\n break;\r\n case \"left\":\r\n case \"start\":\r\n default:\r\n textAlign = \"left\";\r\n break;\r\n }\r\n\r\n var textDimensions = this.pdf.getTextDimensions(options.text);\r\n var yBaseLine = getBaseline.call(this, options.y);\r\n var yBottom = getTextBottom.call(this, yBaseLine);\r\n var yTop = yBottom - textDimensions.h;\r\n\r\n var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine));\r\n var decomposedTransformationMatrix = this.ctx.transform.decompose();\r\n var matrix = new Matrix();\r\n matrix = matrix.multiply(decomposedTransformationMatrix.translate);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.skew);\r\n matrix = matrix.multiply(decomposedTransformationMatrix.scale);\r\n\r\n var baselineRect = this.ctx.transform.applyToRectangle(\r\n new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)\r\n );\r\n var textBounds = matrix.applyToRectangle(\r\n new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)\r\n );\r\n var pageArray = getPagesByPath.call(this, textBounds);\r\n var pages = [];\r\n for (var ii = 0; ii < pageArray.length; ii += 1) {\r\n if (pages.indexOf(pageArray[ii]) === -1) {\r\n pages.push(pageArray[ii]);\r\n }\r\n }\r\n\r\n sortPages(pages);\r\n\r\n var clipPath, oldSize, oldLineWidth;\r\n if (this.autoPaging) {\r\n var min = pages[0];\r\n var max = pages[pages.length - 1];\r\n for (var i = min; i < max + 1; i++) {\r\n this.pdf.setPage(i);\r\n\r\n var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0];\r\n var firstPageHeight =\r\n this.pdf.internal.pageSize.height -\r\n this.posY -\r\n this.margin[0] -\r\n this.margin[2];\r\n var pageHeightMinusBottomMargin =\r\n this.pdf.internal.pageSize.height - this.margin[2];\r\n var pageHeightMinusMargins =\r\n pageHeightMinusBottomMargin - this.margin[0];\r\n var pageWidthMinusRightMargin =\r\n this.pdf.internal.pageSize.width - this.margin[1];\r\n var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3];\r\n var previousPageHeightSum =\r\n i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins;\r\n\r\n if (this.ctx.clip_path.length !== 0) {\r\n var tmpPaths = this.path;\r\n clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path));\r\n this.path = pathPositionRedo(\r\n clipPath,\r\n this.posX + this.margin[3],\r\n -1 * previousPageHeightSum + topMargin\r\n );\r\n drawPaths.call(this, \"fill\", true);\r\n this.path = tmpPaths;\r\n }\r\n var textBoundsOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(textBounds))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n\r\n var doSlice = this.autoPaging !== \"text\";\r\n\r\n if (\r\n doSlice ||\r\n textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin\r\n ) {\r\n if (\r\n doSlice ||\r\n (textBoundsOnPage.y >= topMargin &&\r\n textBoundsOnPage.x <= pageWidthMinusRightMargin)\r\n ) {\r\n var croppedText = doSlice\r\n ? options.text\r\n : this.pdf.splitTextToSize(\r\n options.text,\r\n options.maxWidth ||\r\n pageWidthMinusRightMargin - textBoundsOnPage.x\r\n )[0];\r\n var baseLineRectOnPage = pathPositionRedo(\r\n [JSON.parse(JSON.stringify(baselineRect))],\r\n this.posX + this.margin[3],\r\n -previousPageHeightSum +\r\n topMargin +\r\n this.ctx.prevPageLastElemOffset\r\n )[0];\r\n\r\n const needsClipping =\r\n doSlice && (i > min || i < max) && hasMargins.call(this);\r\n\r\n if (needsClipping) {\r\n this.pdf.saveGraphicsState();\r\n this.pdf\r\n .rect(\r\n this.margin[3],\r\n this.margin[0],\r\n pageWidthMinusMargins,\r\n pageHeightMinusMargins,\r\n null\r\n )\r\n .clip()\r\n .discardPath();\r\n }\r\n\r\n this.pdf.text(\r\n croppedText,\r\n baseLineRectOnPage.x,\r\n baseLineRectOnPage.y,\r\n {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode\r\n }\r\n );\r\n\r\n if (needsClipping) {\r\n this.pdf.restoreGraphicsState();\r\n }\r\n }\r\n } else {\r\n // This text is the last element of the page, but it got cut off due to the margin\r\n // so we render it in the next page\r\n\r\n if (textBoundsOnPage.y < pageHeightMinusBottomMargin) {\r\n // As a result, all other elements have their y offset increased\r\n this.ctx.prevPageLastElemOffset +=\r\n pageHeightMinusBottomMargin - textBoundsOnPage.y;\r\n }\r\n }\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n } else {\r\n if (options.scale >= 0.01) {\r\n oldSize = this.pdf.internal.getFontSize();\r\n this.pdf.setFontSize(oldSize * options.scale);\r\n oldLineWidth = this.lineWidth;\r\n this.lineWidth = oldLineWidth * options.scale;\r\n }\r\n this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, {\r\n angle: options.angle,\r\n align: textAlign,\r\n renderingMode: options.renderingMode,\r\n maxWidth: options.maxWidth\r\n });\r\n\r\n if (options.scale >= 0.01) {\r\n this.pdf.setFontSize(oldSize);\r\n this.lineWidth = oldLineWidth;\r\n }\r\n }\r\n };\r\n\r\n var drawLine = function(x, y, prevX, prevY) {\r\n prevX = prevX || 0;\r\n prevY = prevY || 0;\r\n\r\n this.pdf.internal.out(\r\n getHorizontalCoordinateString(x + prevX) +\r\n \" \" +\r\n getVerticalCoordinateString(y + prevY) +\r\n \" l\"\r\n );\r\n };\r\n\r\n var drawLines = function(lines, x, y) {\r\n return this.pdf.lines(lines, x, y, null, null);\r\n };\r\n\r\n var drawCurve = function(x, y, x1, y1, x2, y2, x3, y3) {\r\n this.pdf.internal.out(\r\n [\r\n f2(getHorizontalCoordinate(x1 + x)),\r\n f2(getVerticalCoordinate(y1 + y)),\r\n f2(getHorizontalCoordinate(x2 + x)),\r\n f2(getVerticalCoordinate(y2 + y)),\r\n f2(getHorizontalCoordinate(x3 + x)),\r\n f2(getVerticalCoordinate(y3 + y)),\r\n \"c\"\r\n ].join(\" \")\r\n );\r\n };\r\n\r\n /**\r\n * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius.\r\n *\r\n * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n * @function createArc\r\n */\r\n var createArc = function(radius, startAngle, endAngle, anticlockwise) {\r\n var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below\r\n var twoPi = Math.PI * 2;\r\n var halfPi = Math.PI / 2.0;\r\n\r\n while (startAngle > endAngle) {\r\n startAngle = startAngle - twoPi;\r\n }\r\n var totalAngle = Math.abs(endAngle - startAngle);\r\n if (totalAngle < twoPi) {\r\n if (anticlockwise) {\r\n totalAngle = twoPi - totalAngle;\r\n }\r\n }\r\n\r\n // Compute the sequence of arc curves, up to PI/2 at a time.\r\n var curves = [];\r\n\r\n // clockwise or counterclockwise\r\n var sgn = anticlockwise ? -1 : +1;\r\n\r\n var a1 = startAngle;\r\n for (; totalAngle > EPSILON; ) {\r\n var remain = sgn * Math.min(totalAngle, halfPi);\r\n var a2 = a1 + remain;\r\n curves.push(createSmallArc.call(this, radius, a1, a2));\r\n totalAngle -= Math.abs(a2 - a1);\r\n a1 = a2;\r\n }\r\n\r\n return curves;\r\n };\r\n\r\n /**\r\n * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r.\r\n *\r\n * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points.\r\n *\r\n * This algorithm is based on the approach described in: A. Riškus, \"Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa,\" Information Technology and Control, 35(4), 2006 pp. 371-378.\r\n */\r\n var createSmallArc = function(r, a1, a2) {\r\n var a = (a2 - a1) / 2.0;\r\n\r\n var x4 = r * Math.cos(a);\r\n var y4 = r * Math.sin(a);\r\n var x1 = x4;\r\n var y1 = -y4;\r\n\r\n var q1 = x1 * x1 + y1 * y1;\r\n var q2 = q1 + x1 * x4 + y1 * y4;\r\n var k2 = ((4 / 3) * (Math.sqrt(2 * q1 * q2) - q2)) / (x1 * y4 - y1 * x4);\r\n\r\n var x2 = x1 - k2 * y1;\r\n var y2 = y1 + k2 * x1;\r\n var x3 = x2;\r\n var y3 = -y2;\r\n\r\n var ar = a + a1;\r\n var cos_ar = Math.cos(ar);\r\n var sin_ar = Math.sin(ar);\r\n\r\n return {\r\n x1: r * Math.cos(a1),\r\n y1: r * Math.sin(a1),\r\n x2: x2 * cos_ar - y2 * sin_ar,\r\n y2: x2 * sin_ar + y2 * cos_ar,\r\n x3: x3 * cos_ar - y3 * sin_ar,\r\n y3: x3 * sin_ar + y3 * cos_ar,\r\n x4: r * Math.cos(a2),\r\n y4: r * Math.sin(a2)\r\n };\r\n };\r\n\r\n var rad2deg = function(value) {\r\n return (value * 180) / Math.PI;\r\n };\r\n\r\n var getQuadraticCurveBoundary = function(sx, sy, cpx, cpy, ex, ey) {\r\n var midX1 = sx + (cpx - sx) * 0.5;\r\n var midY1 = sy + (cpy - sy) * 0.5;\r\n var midX2 = ex + (cpx - ex) * 0.5;\r\n var midY2 = ey + (cpy - ey) * 0.5;\r\n var resultX1 = Math.min(sx, ex, midX1, midX2);\r\n var resultX2 = Math.max(sx, ex, midX1, midX2);\r\n var resultY1 = Math.min(sy, ey, midY1, midY2);\r\n var resultY2 = Math.max(sy, ey, midY1, midY2);\r\n return new Rectangle(\r\n resultX1,\r\n resultY1,\r\n resultX2 - resultX1,\r\n resultY2 - resultY1\r\n );\r\n };\r\n\r\n //De Casteljau algorithm\r\n var getBezierCurveBoundary = function(ax, ay, bx, by, cx, cy, dx, dy) {\r\n var tobx = bx - ax;\r\n var toby = by - ay;\r\n var tocx = cx - bx;\r\n var tocy = cy - by;\r\n var todx = dx - cx;\r\n var tody = dy - cy;\r\n var precision = 40;\r\n var d,\r\n i,\r\n px,\r\n py,\r\n qx,\r\n qy,\r\n rx,\r\n ry,\r\n tx,\r\n ty,\r\n sx,\r\n sy,\r\n x,\r\n y,\r\n minx,\r\n miny,\r\n maxx,\r\n maxy,\r\n toqx,\r\n toqy,\r\n torx,\r\n tory,\r\n totx,\r\n toty;\r\n for (i = 0; i < precision + 1; i++) {\r\n d = i / precision;\r\n px = ax + d * tobx;\r\n py = ay + d * toby;\r\n qx = bx + d * tocx;\r\n qy = by + d * tocy;\r\n rx = cx + d * todx;\r\n ry = cy + d * tody;\r\n toqx = qx - px;\r\n toqy = qy - py;\r\n torx = rx - qx;\r\n tory = ry - qy;\r\n\r\n sx = px + d * toqx;\r\n sy = py + d * toqy;\r\n tx = qx + d * torx;\r\n ty = qy + d * tory;\r\n totx = tx - sx;\r\n toty = ty - sy;\r\n\r\n x = sx + d * totx;\r\n y = sy + d * toty;\r\n if (i == 0) {\r\n minx = x;\r\n miny = y;\r\n maxx = x;\r\n maxy = y;\r\n } else {\r\n minx = Math.min(minx, x);\r\n miny = Math.min(miny, y);\r\n maxx = Math.max(maxx, x);\r\n maxy = Math.max(maxy, y);\r\n }\r\n }\r\n return new Rectangle(\r\n Math.round(minx),\r\n Math.round(miny),\r\n Math.round(maxx - minx),\r\n Math.round(maxy - miny)\r\n );\r\n };\r\n\r\n var getPrevLineDashValue = function(lineDash, lineDashOffset) {\r\n return JSON.stringify({\r\n lineDash: lineDash,\r\n lineDashOffset: lineDashOffset\r\n });\r\n };\r\n\r\n var setLineDash = function() {\r\n // Avoid unnecessary line dash declarations.\r\n if (\r\n !this.prevLineDash &&\r\n !this.ctx.lineDash.length &&\r\n !this.ctx.lineDashOffset\r\n ) {\r\n return;\r\n }\r\n\r\n // Avoid unnecessary line dash declarations.\r\n const nextLineDash = getPrevLineDashValue(\r\n this.ctx.lineDash,\r\n this.ctx.lineDashOffset\r\n );\r\n if (this.prevLineDash !== nextLineDash) {\r\n this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset);\r\n this.prevLineDash = nextLineDash;\r\n }\r\n };\r\n})(jsPDF.API);\r\n","/**\n * @license\n * jsPDF filters PlugIn\n * Copyright (c) 2014 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\n\n(function(jsPDFAPI) {\n \"use strict\";\n\n var ASCII85Encode = function(a) {\n var b, c, d, e, f, g, h, i, j, k;\n // eslint-disable-next-line no-control-regex\n for (\n !/[^\\x00-\\xFF]/.test(a),\n b = \"\\x00\\x00\\x00\\x00\".slice(a.length % 4 || 4),\n a += b,\n c = [],\n d = 0,\n e = a.length;\n e > d;\n d += 4\n )\n (f =\n (a.charCodeAt(d) << 24) +\n (a.charCodeAt(d + 1) << 16) +\n (a.charCodeAt(d + 2) << 8) +\n a.charCodeAt(d + 3)),\n 0 !== f\n ? ((k = f % 85),\n (f = (f - k) / 85),\n (j = f % 85),\n (f = (f - j) / 85),\n (i = f % 85),\n (f = (f - i) / 85),\n (h = f % 85),\n (f = (f - h) / 85),\n (g = f % 85),\n c.push(g + 33, h + 33, i + 33, j + 33, k + 33))\n : c.push(122);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(c, b.length),\n String.fromCharCode.apply(String, c) + \"~>\"\n );\n };\n\n var ASCII85Decode = function(a) {\n var c,\n d,\n e,\n f,\n g,\n h = String,\n l = \"length\",\n w = 255,\n x = \"charCodeAt\",\n y = \"slice\",\n z = \"replace\";\n for (\n \"~>\" === a[y](-2),\n a = a[y](0, -2)\n [z](/\\s/g, \"\")\n [z](\"z\", \"!!!!!\"),\n c = \"uuuuu\"[y](a[l] % 5 || 5),\n a += c,\n e = [],\n f = 0,\n g = a[l];\n g > f;\n f += 5\n )\n (d =\n 52200625 * (a[x](f) - 33) +\n 614125 * (a[x](f + 1) - 33) +\n 7225 * (a[x](f + 2) - 33) +\n 85 * (a[x](f + 3) - 33) +\n (a[x](f + 4) - 33)),\n e.push(w & (d >> 24), w & (d >> 16), w & (d >> 8), w & d);\n return (\n (function(a, b) {\n for (var c = b; c > 0; c--) a.pop();\n })(e, c[l]),\n h.fromCharCode.apply(h, e)\n );\n };\n\n var ASCIIHexEncode = function(value) {\n return (\n value\n .split(\"\")\n .map(function(value) {\n return (\"0\" + value.charCodeAt().toString(16)).slice(-2);\n })\n .join(\"\") + \">\"\n );\n };\n\n var ASCIIHexDecode = function(value) {\n var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/);\n value = value.replace(/\\s/g, \"\");\n if (value.indexOf(\">\") !== -1) {\n value = value.substr(0, value.indexOf(\">\"));\n }\n if (value.length % 2) {\n value += \"0\";\n }\n if (regexCheckIfHex.test(value) === false) {\n return \"\";\n }\n var result = \"\";\n for (var i = 0; i < value.length; i += 2) {\n result += String.fromCharCode(\"0x\" + (value[i] + value[i + 1]));\n }\n return result;\n };\n /*\n var FlatePredictors = {\n None: 1,\n TIFF: 2,\n PNG_None: 10,\n PNG_Sub: 11,\n PNG_Up: 12,\n PNG_Average: 13,\n PNG_Paeth: 14,\n PNG_Optimum: 15\n };\n */\n\n var FlateEncode = function(data) {\n var arr = new Uint8Array(data.length);\n var i = data.length;\n while (i--) {\n arr[i] = data.charCodeAt(i);\n }\n arr = zlibSync(arr);\n data = arr.reduce(function(data, byte) {\n return data + String.fromCharCode(byte);\n }, \"\");\n return data;\n };\n\n jsPDFAPI.processDataByFilters = function(origData, filterChain) {\n \"use strict\";\n var i = 0;\n var data = origData || \"\";\n var reverseChain = [];\n filterChain = filterChain || [];\n\n if (typeof filterChain === \"string\") {\n filterChain = [filterChain];\n }\n\n for (i = 0; i < filterChain.length; i += 1) {\n switch (filterChain[i]) {\n case \"ASCII85Decode\":\n case \"/ASCII85Decode\":\n data = ASCII85Decode(data);\n reverseChain.push(\"/ASCII85Encode\");\n break;\n case \"ASCII85Encode\":\n case \"/ASCII85Encode\":\n data = ASCII85Encode(data);\n reverseChain.push(\"/ASCII85Decode\");\n break;\n case \"ASCIIHexDecode\":\n case \"/ASCIIHexDecode\":\n data = ASCIIHexDecode(data);\n reverseChain.push(\"/ASCIIHexEncode\");\n break;\n case \"ASCIIHexEncode\":\n case \"/ASCIIHexEncode\":\n data = ASCIIHexEncode(data);\n reverseChain.push(\"/ASCIIHexDecode\");\n break;\n case \"FlateEncode\":\n case \"/FlateEncode\":\n data = FlateEncode(data);\n reverseChain.push(\"/FlateDecode\");\n break;\n default:\n throw new Error(\n 'The filter: \"' + filterChain[i] + '\" is not implemented'\n );\n }\n }\n\n return { data: data, reverseChain: reverseChain.reverse().join(\" \") };\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF fileloading PlugIn\n * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com)\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name fileloading\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name loadFile\n * @function\n * @param {string} url\n * @param {boolean} sync\n * @param {function} callback\n * @returns {string|undefined} result\n */\n jsPDFAPI.loadFile = function(url, sync, callback) {\n return browserRequest(url, sync, callback);\n\n };\n\n /**\n * @name loadImageFile\n * @function\n * @param {string} path\n * @param {boolean} sync\n * @param {function} callback\n */\n jsPDFAPI.loadImageFile = jsPDFAPI.loadFile;\n\n function browserRequest(url, sync, callback) {\n sync = sync === false ? false : true;\n callback = typeof callback === \"function\" ? callback : function() {};\n var result = undefined;\n\n var xhr = function(url, sync, callback) {\n var request = new XMLHttpRequest();\n var i = 0;\n\n var sanitizeUnicode = function(data) {\n var dataLength = data.length;\n var charArray = [];\n var StringFromCharCode = String.fromCharCode;\n\n //Transform Unicode to ASCII\n for (i = 0; i < dataLength; i += 1) {\n charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff));\n }\n return charArray.join(\"\");\n };\n\n request.open(\"GET\", url, !sync);\n // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com]\n request.overrideMimeType(\"text/plain; charset=x-user-defined\");\n\n if (sync === false) {\n request.onload = function() {\n if (request.status === 200) {\n callback(sanitizeUnicode(this.responseText));\n } else {\n callback(undefined);\n }\n };\n }\n request.send(null);\n\n if (sync && request.status === 200) {\n return sanitizeUnicode(request.responseText);\n }\n };\n try {\n result = xhr(url, sync, callback);\n // eslint-disable-next-line no-empty\n } catch (e) {}\n return result;\n }\n\n function nodeReadFile(url, sync, callback) {\n sync = sync === false ? false : true;\n var result = undefined;\n\n var fs = require(\"fs\");\n var path = require(\"path\");\n\n url = path.resolve(url);\n if (sync) {\n try {\n result = fs.readFileSync(url, { encoding: \"latin1\" });\n } catch (e) {\n return undefined;\n }\n } else {\n fs.readFile(url, { encoding: \"latin1\" }, function(err, data) {\n if (!callback) {\n return;\n }\n if (err) {\n callback(undefined);\n }\n callback(data);\n });\n }\n\n return result;\n }\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2018 Erik Koopmans\n * Released under the MIT License.\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { normalizeFontFace } from \"../libs/fontFace.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF html PlugIn\n *\n * @name html\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadHtml2Canvas() {\n return (function() {\n if (globalObject[\"html2canvas\"]) {\n return Promise.resolve(globalObject[\"html2canvas\"]);\n }\n\n return import(\"html2canvas\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load html2canvas: \" + e));\n })\n .then(function(html2canvas) {\n return html2canvas.default ? html2canvas.default : html2canvas;\n });\n }\n\n function loadDomPurify() {\n return (function() {\n if (globalObject[\"DOMPurify\"]) {\n return Promise.resolve(globalObject[\"DOMPurify\"]);\n }\n\n return import(\"dompurify\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load dompurify: \" + e));\n })\n .then(function(dompurify) {\n return dompurify.default ? dompurify.default : dompurify;\n });\n }\n\n /**\n * Determine the type of a variable/object.\n *\n * @private\n * @ignore\n */\n var objType = function(obj) {\n var type = typeof obj;\n if (type === \"undefined\") return \"undefined\";\n else if (type === \"string\" || obj instanceof String) return \"string\";\n else if (type === \"number\" || obj instanceof Number) return \"number\";\n else if (type === \"function\" || obj instanceof Function) return \"function\";\n else if (!!obj && obj.constructor === Array) return \"array\";\n else if (obj && obj.nodeType === 1) return \"element\";\n else if (type === \"object\") return \"object\";\n else return \"unknown\";\n };\n\n /**\n * Create an HTML element with optional className, innerHTML, and style.\n *\n * @private\n * @ignore\n */\n var createElement = function(tagName, opt) {\n var el = document.createElement(tagName);\n if (opt.className) el.className = opt.className;\n if (opt.innerHTML && opt.dompurify) {\n el.innerHTML = opt.dompurify.sanitize(opt.innerHTML);\n }\n for (var key in opt.style) {\n el.style[key] = opt.style[key];\n }\n return el;\n };\n\n /**\n * Deep-clone a node and preserve contents/properties.\n *\n * @private\n * @ignore\n */\n var cloneNode = function(node, javascriptEnabled) {\n // Recursively clone the node.\n var clone =\n node.nodeType === 3\n ? document.createTextNode(node.nodeValue)\n : node.cloneNode(false);\n for (var child = node.firstChild; child; child = child.nextSibling) {\n if (\n javascriptEnabled === true ||\n child.nodeType !== 1 ||\n child.nodeName !== \"SCRIPT\"\n ) {\n clone.appendChild(cloneNode(child, javascriptEnabled));\n }\n }\n\n if (node.nodeType === 1) {\n // Preserve contents/properties of special nodes.\n if (node.nodeName === \"CANVAS\") {\n clone.width = node.width;\n clone.height = node.height;\n clone.getContext(\"2d\").drawImage(node, 0, 0);\n } else if (node.nodeName === \"TEXTAREA\" || node.nodeName === \"SELECT\") {\n clone.value = node.value;\n }\n\n // Preserve the node's scroll position when it loads.\n clone.addEventListener(\n \"load\",\n function() {\n clone.scrollTop = node.scrollTop;\n clone.scrollLeft = node.scrollLeft;\n },\n true\n );\n }\n\n // Return the cloned node.\n return clone;\n };\n\n /* ----- CONSTRUCTOR ----- */\n\n var Worker = function Worker(opt) {\n // Create the root parent for the proto chain, and the starting Worker.\n var root = Object.assign(\n Worker.convert(Promise.resolve()),\n JSON.parse(JSON.stringify(Worker.template))\n );\n var self = Worker.convert(Promise.resolve(), root);\n\n // Set progress, optional settings, and return.\n self = self.setProgress(1, Worker, 1, [Worker]);\n self = self.set(opt);\n return self;\n };\n\n // Boilerplate for subclassing Promise.\n Worker.prototype = Object.create(Promise.prototype);\n Worker.prototype.constructor = Worker;\n\n // Converts/casts promises into Workers.\n Worker.convert = function convert(promise, inherit) {\n // Uses prototypal inheritance to receive changes made to ancestors' properties.\n promise.__proto__ = inherit || Worker.prototype;\n return promise;\n };\n\n Worker.template = {\n prop: {\n src: null,\n container: null,\n overlay: null,\n canvas: null,\n img: null,\n pdf: null,\n pageSize: null,\n callback: function() {}\n },\n progress: {\n val: 0,\n state: null,\n n: 0,\n stack: []\n },\n opt: {\n filename: \"file.pdf\",\n margin: [0, 0, 0, 0],\n enableLinks: true,\n x: 0,\n y: 0,\n html2canvas: {},\n jsPDF: {},\n backgroundColor: \"transparent\"\n }\n };\n\n /* ----- FROM / TO ----- */\n\n Worker.prototype.from = function from(src, type) {\n function getType(src) {\n switch (objType(src)) {\n case \"string\":\n return \"string\";\n case \"element\":\n return src.nodeName.toLowerCase() === \"canvas\" ? \"canvas\" : \"element\";\n default:\n return \"unknown\";\n }\n }\n\n return this.then(function from_main() {\n type = type || getType(src);\n switch (type) {\n case \"string\":\n return this.then(loadDomPurify).then(function(dompurify) {\n return this.set({\n src: createElement(\"div\", {\n innerHTML: src,\n dompurify: dompurify\n })\n });\n });\n case \"element\":\n return this.set({ src: src });\n case \"canvas\":\n return this.set({ canvas: src });\n case \"img\":\n return this.set({ img: src });\n default:\n return this.error(\"Unknown source type.\");\n }\n });\n };\n\n Worker.prototype.to = function to(target) {\n // Route the 'to' request to the appropriate method.\n switch (target) {\n case \"container\":\n return this.toContainer();\n case \"canvas\":\n return this.toCanvas();\n case \"img\":\n return this.toImg();\n case \"pdf\":\n return this.toPdf();\n default:\n return this.error(\"Invalid target.\");\n }\n };\n\n Worker.prototype.toContainer = function toContainer() {\n // Set up function prerequisites.\n var prereqs = [\n function checkSrc() {\n return (\n this.prop.src || this.error(\"Cannot duplicate - no source HTML.\")\n );\n },\n function checkPageSize() {\n return this.prop.pageSize || this.setPageSize();\n }\n ];\n return this.thenList(prereqs).then(function toContainer_main() {\n // Define the CSS styles for the container and its overlay parent.\n var overlayCSS = {\n position: \"fixed\",\n overflow: \"hidden\",\n zIndex: 1000,\n left: \"-100000px\",\n right: 0,\n bottom: 0,\n top: 0\n };\n var containerCSS = {\n position: \"relative\",\n display: \"inline-block\",\n width:\n (typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.windowWidth\n : Math.max(\n this.prop.src.clientWidth,\n this.prop.src.scrollWidth,\n this.prop.src.offsetWidth\n )) + \"px\",\n left: 0,\n right: 0,\n top: 0,\n margin: \"auto\",\n backgroundColor: this.opt.backgroundColor\n }; // Set the overlay to hidden (could be changed in the future to provide a print preview).\n\n var source = cloneNode(\n this.prop.src,\n this.opt.html2canvas.javascriptEnabled\n );\n\n if (source.tagName === \"BODY\") {\n containerCSS.height =\n Math.max(\n document.body.scrollHeight,\n document.body.offsetHeight,\n document.documentElement.clientHeight,\n document.documentElement.scrollHeight,\n document.documentElement.offsetHeight\n ) + \"px\";\n }\n\n this.prop.overlay = createElement(\"div\", {\n className: \"html2pdf__overlay\",\n style: overlayCSS\n });\n this.prop.container = createElement(\"div\", {\n className: \"html2pdf__container\",\n style: containerCSS\n });\n this.prop.container.appendChild(source);\n this.prop.container.firstChild.appendChild(\n createElement(\"div\", {\n style: {\n clear: \"both\",\n border: \"0 none transparent\",\n margin: 0,\n padding: 0,\n height: 0\n }\n })\n );\n this.prop.container.style.float = \"none\";\n this.prop.overlay.appendChild(this.prop.container);\n document.body.appendChild(this.prop.overlay);\n this.prop.container.firstChild.style.position = \"relative\";\n this.prop.container.height =\n Math.max(\n this.prop.container.firstChild.clientHeight,\n this.prop.container.firstChild.scrollHeight,\n this.prop.container.firstChild.offsetHeight\n ) + \"px\";\n });\n };\n\n Worker.prototype.toCanvas = function toCanvas() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toCanvas_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var options = Object.assign({}, this.opt.html2canvas);\n delete options.onrendered;\n\n return html2canvas(this.prop.container, options);\n })\n .then(function toCanvas_post(canvas) {\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toContext2d = function toContext2d() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContainer() {\n return (\n document.body.contains(this.prop.container) || this.toContainer()\n );\n }\n ];\n\n // Fulfill prereqs then create the canvas.\n return this.thenList(prereqs)\n .then(loadHtml2Canvas)\n .then(function toContext2d_main(html2canvas) {\n // Handle old-fashioned 'onrendered' argument.\n\n var pdf = this.opt.jsPDF;\n var fontFaces = this.opt.fontFaces;\n\n var scale =\n typeof this.opt.width === \"number\" &&\n !isNaN(this.opt.width) &&\n typeof this.opt.windowWidth === \"number\" &&\n !isNaN(this.opt.windowWidth)\n ? this.opt.width / this.opt.windowWidth\n : 1;\n\n var options = Object.assign(\n {\n async: true,\n allowTaint: true,\n scale: scale,\n scrollX: this.opt.scrollX || 0,\n scrollY: this.opt.scrollY || 0,\n backgroundColor: \"#ffffff\",\n imageTimeout: 15000,\n logging: true,\n proxy: null,\n removeContainer: true,\n foreignObjectRendering: false,\n useCORS: false\n },\n this.opt.html2canvas\n );\n delete options.onrendered;\n\n pdf.context2d.autoPaging =\n typeof this.opt.autoPaging === \"undefined\"\n ? true\n : this.opt.autoPaging;\n pdf.context2d.posX = this.opt.x;\n pdf.context2d.posY = this.opt.y;\n pdf.context2d.margin = this.opt.margin;\n pdf.context2d.fontFaces = fontFaces;\n\n if (fontFaces) {\n for (var i = 0; i < fontFaces.length; ++i) {\n var font = fontFaces[i];\n var src = font.src.find(function(src) {\n return src.format === \"truetype\";\n });\n\n if (src) {\n pdf.addFont(src.url, font.ref.name, font.ref.style);\n }\n }\n }\n\n options.windowHeight = options.windowHeight || 0;\n options.windowHeight =\n options.windowHeight == 0\n ? Math.max(\n this.prop.container.clientHeight,\n this.prop.container.scrollHeight,\n this.prop.container.offsetHeight\n )\n : options.windowHeight;\n\n pdf.context2d.save(true);\n return html2canvas(this.prop.container, options);\n })\n .then(function toContext2d_post(canvas) {\n this.opt.jsPDF.context2d.restore(true);\n\n // Handle old-fashioned 'onrendered' argument.\n var onRendered = this.opt.html2canvas.onrendered || function() {};\n onRendered(canvas);\n\n this.prop.canvas = canvas;\n document.body.removeChild(this.prop.overlay);\n });\n };\n\n Worker.prototype.toImg = function toImg() {\n // Set up function prerequisites.\n var prereqs = [\n function checkCanvas() {\n return this.prop.canvas || this.toCanvas();\n }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toImg_main() {\n var imgData = this.prop.canvas.toDataURL(\n \"image/\" + this.opt.image.type,\n this.opt.image.quality\n );\n this.prop.img = document.createElement(\"img\");\n this.prop.img.src = imgData;\n });\n };\n\n Worker.prototype.toPdf = function toPdf() {\n // Set up function prerequisites.\n var prereqs = [\n function checkContext2d() {\n return this.toContext2d();\n }\n //function checkCanvas() { return this.prop.canvas || this.toCanvas(); }\n ];\n\n // Fulfill prereqs then create the image.\n return this.thenList(prereqs).then(function toPdf_main() {\n // Create local copies of frequently used properties.\n this.prop.pdf = this.prop.pdf || this.opt.jsPDF;\n });\n };\n\n /* ----- OUTPUT / SAVE ----- */\n\n Worker.prototype.output = function output(type, options, src) {\n // Redirect requests to the correct function (outputPdf / outputImg).\n src = src || \"pdf\";\n if (src.toLowerCase() === \"img\" || src.toLowerCase() === \"image\") {\n return this.outputImg(type, options);\n } else {\n return this.outputPdf(type, options);\n }\n };\n\n Worker.prototype.outputPdf = function outputPdf(type, options) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputPdf_main() {\n /* Currently implemented output types:\n * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992\n * save(options), arraybuffer, blob, bloburi/bloburl,\n * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl\n */\n return this.prop.pdf.output(type, options);\n });\n };\n\n Worker.prototype.outputImg = function outputImg(type) {\n // Set up function prerequisites.\n var prereqs = [\n function checkImg() {\n return this.prop.img || this.toImg();\n }\n ];\n\n // Fulfill prereqs then perform the appropriate output.\n return this.thenList(prereqs).then(function outputImg_main() {\n switch (type) {\n case undefined:\n case \"img\":\n return this.prop.img;\n case \"datauristring\":\n case \"dataurlstring\":\n return this.prop.img.src;\n case \"datauri\":\n case \"dataurl\":\n return (document.location.href = this.prop.img.src);\n default:\n throw 'Image output type \"' + type + '\" is not supported.';\n }\n });\n };\n\n Worker.prototype.save = function save(filename) {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs)\n .set(filename ? { filename: filename } : null)\n .then(function save_main() {\n this.prop.pdf.save(this.opt.filename);\n });\n };\n\n Worker.prototype.doCallback = function doCallback() {\n // Set up function prerequisites.\n var prereqs = [\n function checkPdf() {\n return this.prop.pdf || this.toPdf();\n }\n ];\n\n // Fulfill prereqs, update the filename (if provided), and save the PDF.\n return this.thenList(prereqs).then(function doCallback_main() {\n this.prop.callback(this.prop.pdf);\n });\n };\n\n /* ----- SET / GET ----- */\n\n Worker.prototype.set = function set(opt) {\n // TODO: Implement ordered pairs?\n\n // Silently ignore invalid or empty input.\n if (objType(opt) !== \"object\") {\n return this;\n }\n\n // Build an array of setter functions to queue.\n var fns = Object.keys(opt || {}).map(function(key) {\n if (key in Worker.template.prop) {\n // Set pre-defined properties.\n return function set_prop() {\n this.prop[key] = opt[key];\n };\n } else {\n switch (key) {\n case \"margin\":\n return this.setMargin.bind(this, opt.margin);\n case \"jsPDF\":\n return function set_jsPDF() {\n this.opt.jsPDF = opt.jsPDF;\n return this.setPageSize();\n };\n case \"pageSize\":\n return this.setPageSize.bind(this, opt.pageSize);\n default:\n // Set any other properties in opt.\n return function set_opt() {\n this.opt[key] = opt[key];\n };\n }\n }\n }, this);\n\n // Set properties within the promise chain.\n return this.then(function set_main() {\n return this.thenList(fns);\n });\n };\n\n Worker.prototype.get = function get(key, cbk) {\n return this.then(function get_main() {\n // Fetch the requested property, either as a predefined prop or in opt.\n var val = key in Worker.template.prop ? this.prop[key] : this.opt[key];\n return cbk ? cbk(val) : val;\n });\n };\n\n Worker.prototype.setMargin = function setMargin(margin) {\n return this.then(function setMargin_main() {\n // Parse the margin property.\n switch (objType(margin)) {\n case \"number\":\n margin = [margin, margin, margin, margin];\n // eslint-disable-next-line no-fallthrough\n case \"array\":\n if (margin.length === 2) {\n margin = [margin[0], margin[1], margin[0], margin[1]];\n }\n if (margin.length === 4) {\n break;\n }\n // eslint-disable-next-line no-fallthrough\n default:\n return this.error(\"Invalid margin array.\");\n }\n\n // Set the margin property, then update pageSize.\n this.opt.margin = margin;\n }).then(this.setPageSize);\n };\n\n Worker.prototype.setPageSize = function setPageSize(pageSize) {\n function toPx(val, k) {\n return Math.floor(((val * k) / 72) * 96);\n }\n\n return this.then(function setPageSize_main() {\n // Retrieve page-size based on jsPDF settings, if not explicitly provided.\n pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF);\n\n // Add 'inner' field if not present.\n if (!pageSize.hasOwnProperty(\"inner\")) {\n pageSize.inner = {\n width: pageSize.width - this.opt.margin[1] - this.opt.margin[3],\n height: pageSize.height - this.opt.margin[0] - this.opt.margin[2]\n };\n pageSize.inner.px = {\n width: toPx(pageSize.inner.width, pageSize.k),\n height: toPx(pageSize.inner.height, pageSize.k)\n };\n pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width;\n }\n\n // Attach pageSize to this.\n this.prop.pageSize = pageSize;\n });\n };\n\n Worker.prototype.setProgress = function setProgress(val, state, n, stack) {\n // Immediately update all progress values.\n if (val != null) this.progress.val = val;\n if (state != null) this.progress.state = state;\n if (n != null) this.progress.n = n;\n if (stack != null) this.progress.stack = stack;\n this.progress.ratio = this.progress.val / this.progress.state;\n\n // Return this for command chaining.\n return this;\n };\n\n Worker.prototype.updateProgress = function updateProgress(\n val,\n state,\n n,\n stack\n ) {\n // Immediately update all progress values, using setProgress.\n return this.setProgress(\n val ? this.progress.val + val : null,\n state ? state : null,\n n ? this.progress.n + n : null,\n stack ? this.progress.stack.concat(stack) : null\n );\n };\n\n /* ----- PROMISE MAPPING ----- */\n\n Worker.prototype.then = function then(onFulfilled, onRejected) {\n // Wrap `this` for encapsulation.\n var self = this;\n\n return this.thenCore(onFulfilled, onRejected, function then_main(\n onFulfilled,\n onRejected\n ) {\n // Update progress while queuing, calling, and resolving `then`.\n self.updateProgress(null, null, 1, [onFulfilled]);\n return Promise.prototype.then\n .call(this, function then_pre(val) {\n self.updateProgress(null, onFulfilled);\n return val;\n })\n .then(onFulfilled, onRejected)\n .then(function then_post(val) {\n self.updateProgress(1);\n return val;\n });\n });\n };\n\n Worker.prototype.thenCore = function thenCore(\n onFulfilled,\n onRejected,\n thenBase\n ) {\n // Handle optional thenBase parameter.\n thenBase = thenBase || Promise.prototype.then;\n\n // Wrap `this` for encapsulation and bind it to the promise handlers.\n var self = this;\n if (onFulfilled) {\n onFulfilled = onFulfilled.bind(self);\n }\n if (onRejected) {\n onRejected = onRejected.bind(self);\n }\n\n // Cast self into a Promise to avoid polyfills recursively defining `then`.\n var isNative =\n Promise.toString().indexOf(\"[native code]\") !== -1 &&\n Promise.name === \"Promise\";\n var selfPromise = isNative\n ? self\n : Worker.convert(Object.assign({}, self), Promise.prototype);\n\n // Return the promise, after casting it into a Worker and preserving props.\n var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected);\n return Worker.convert(returnVal, self.__proto__);\n };\n\n Worker.prototype.thenExternal = function thenExternal(\n onFulfilled,\n onRejected\n ) {\n // Call `then` and return a standard promise (exits the Worker chain).\n return Promise.prototype.then.call(this, onFulfilled, onRejected);\n };\n\n Worker.prototype.thenList = function thenList(fns) {\n // Queue a series of promise 'factories' into the promise chain.\n var self = this;\n fns.forEach(function thenList_forEach(fn) {\n self = self.thenCore(fn);\n });\n return self;\n };\n\n Worker.prototype[\"catch\"] = function(onRejected) {\n // Bind `this` to the promise handler, call `catch`, and return a Worker.\n if (onRejected) {\n onRejected = onRejected.bind(this);\n }\n var returnVal = Promise.prototype[\"catch\"].call(this, onRejected);\n return Worker.convert(returnVal, this);\n };\n\n Worker.prototype.catchExternal = function catchExternal(onRejected) {\n // Call `catch` and return a standard promise (exits the Worker chain).\n return Promise.prototype[\"catch\"].call(this, onRejected);\n };\n\n Worker.prototype.error = function error(msg) {\n // Throw the error in the Promise chain.\n return this.then(function error_main() {\n throw new Error(msg);\n });\n };\n\n /* ----- ALIASES ----- */\n\n Worker.prototype.using = Worker.prototype.set;\n Worker.prototype.saveAs = Worker.prototype.save;\n Worker.prototype.export = Worker.prototype.output;\n Worker.prototype.run = Worker.prototype.then;\n\n // Get dimensions of a PDF page, as determined by jsPDF.\n jsPDF.getPageSize = function(orientation, unit, format) {\n // Decode options object\n if (typeof orientation === \"object\") {\n var options = orientation;\n orientation = options.orientation;\n unit = options.unit || unit;\n format = options.format || format;\n }\n\n // Default options\n unit = unit || \"mm\";\n format = format || \"a4\";\n orientation = (\"\" + (orientation || \"P\")).toLowerCase();\n var format_as_string = (\"\" + format).toLowerCase();\n\n // Size in pt of various paper formats\n var pageFormats = {\n a0: [2383.94, 3370.39],\n a1: [1683.78, 2383.94],\n a2: [1190.55, 1683.78],\n a3: [841.89, 1190.55],\n a4: [595.28, 841.89],\n a5: [419.53, 595.28],\n a6: [297.64, 419.53],\n a7: [209.76, 297.64],\n a8: [147.4, 209.76],\n a9: [104.88, 147.4],\n a10: [73.7, 104.88],\n b0: [2834.65, 4008.19],\n b1: [2004.09, 2834.65],\n b2: [1417.32, 2004.09],\n b3: [1000.63, 1417.32],\n b4: [708.66, 1000.63],\n b5: [498.9, 708.66],\n b6: [354.33, 498.9],\n b7: [249.45, 354.33],\n b8: [175.75, 249.45],\n b9: [124.72, 175.75],\n b10: [87.87, 124.72],\n c0: [2599.37, 3676.54],\n c1: [1836.85, 2599.37],\n c2: [1298.27, 1836.85],\n c3: [918.43, 1298.27],\n c4: [649.13, 918.43],\n c5: [459.21, 649.13],\n c6: [323.15, 459.21],\n c7: [229.61, 323.15],\n c8: [161.57, 229.61],\n c9: [113.39, 161.57],\n c10: [79.37, 113.39],\n dl: [311.81, 623.62],\n letter: [612, 792],\n \"government-letter\": [576, 756],\n legal: [612, 1008],\n \"junior-legal\": [576, 360],\n ledger: [1224, 792],\n tabloid: [792, 1224],\n \"credit-card\": [153, 243]\n };\n\n var k;\n // Unit conversion\n switch (unit) {\n case \"pt\":\n k = 1;\n break;\n case \"mm\":\n k = 72 / 25.4;\n break;\n case \"cm\":\n k = 72 / 2.54;\n break;\n case \"in\":\n k = 72;\n break;\n case \"px\":\n k = 72 / 96;\n break;\n case \"pc\":\n k = 12;\n break;\n case \"em\":\n k = 12;\n break;\n case \"ex\":\n k = 6;\n break;\n default:\n throw \"Invalid unit: \" + unit;\n }\n var pageHeight = 0;\n var pageWidth = 0;\n\n // Dimensions are stored as user units and converted to points on output\n if (pageFormats.hasOwnProperty(format_as_string)) {\n pageHeight = pageFormats[format_as_string][1] / k;\n pageWidth = pageFormats[format_as_string][0] / k;\n } else {\n try {\n pageHeight = format[1];\n pageWidth = format[0];\n } catch (err) {\n throw new Error(\"Invalid format: \" + format);\n }\n }\n\n var tmp;\n // Handle page orientation\n if (orientation === \"p\" || orientation === \"portrait\") {\n orientation = \"p\";\n if (pageWidth > pageHeight) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else if (orientation === \"l\" || orientation === \"landscape\") {\n orientation = \"l\";\n if (pageHeight > pageWidth) {\n tmp = pageWidth;\n pageWidth = pageHeight;\n pageHeight = tmp;\n }\n } else {\n throw \"Invalid orientation: \" + orientation;\n }\n\n // Return information (k is the unit conversion ratio from pts)\n var info = {\n width: pageWidth,\n height: pageHeight,\n unit: unit,\n k: k,\n orientation: orientation\n };\n return info;\n };\n\n /**\n * @typedef FontFace\n *\n * The font-face type implements an interface similar to that of the font-face CSS rule,\n * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D\n * is updated.\n *\n * All properties expect values similar to those in the font-face CSS rule. A difference\n * is the font-family, which do not need to be enclosed in double-quotes when containing\n * spaces like in CSS.\n *\n * @property {string} family The name of the font-family.\n * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'.\n * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.)\n * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded.\n * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched.\n * @property {string} [src] url A URL to a font of a specific format.\n * @property {string} [src] format Format of the font referenced by the URL.\n */\n\n /**\n * Generate a PDF from an HTML element or string using.\n *\n * @name html\n * @function\n * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML.\n * @param {Object} [options] Collection of settings\n * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance\n * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0.\n * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode.\n *
      \n *
    • \n * false: Auto paging is disabled.\n *
    • \n *
    • \n * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly\n * slice text in half, making it difficult to read.\n *
    • \n *
    • \n * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting\n * mostly of a single column of text.\n *
    • \n *
    \n * Default is true.\n * @param {string} [options.filename] name of the file\n * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image\n * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options\n * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm.\n * @param {jsPDF} [options.jsPDF] jsPDF instance\n * @param {number=} [options.x] x position on the PDF document in jsPDF units.\n * @param {number=} [options.y] y position on the PDF document in jsPDF units.\n * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be\n * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is\n * specified or the windowWidth option is NOT specified.\n * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the\n * html2canvas.windowWidth option, this option affects the actual container size while rendering and\n * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified.\n *\n * @example\n * var doc = new jsPDF();\n *\n * doc.html(document.body, {\n * callback: function (doc) {\n * doc.save();\n * },\n * x: 10,\n * y: 10\n * });\n */\n jsPDFAPI.html = function(src, options) {\n \"use strict\";\n\n options = options || {};\n options.callback = options.callback || function() {};\n options.html2canvas = options.html2canvas || {};\n options.html2canvas.canvas = options.html2canvas.canvas || this.canvas;\n options.jsPDF = options.jsPDF || this;\n options.fontFaces = options.fontFaces\n ? options.fontFaces.map(normalizeFontFace)\n : null;\n\n // Create a new worker with the given options.\n var worker = new Worker(options);\n\n if (!options.worker) {\n // If worker is not set to true, perform the traditional 'simple' operation.\n return worker.from(src).doCallback();\n } else {\n // Otherwise, return the worker for new Promise-based operation.\n return worker;\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF Outline PlugIn\n *\n * Generates a PDF Outline\n * @name outline\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var namesOid;\n //var destsGoto = [];\n\n jsPDFAPI.events.push([\n \"postPutResources\",\n function() {\n var pdf = this;\n var rx = /^(\\d+) 0 obj$/;\n\n // Write action goto objects for each page\n // this.outline.destsGoto = [];\n // for (var i = 0; i < totalPages; i++) {\n // var id = pdf.internal.newObject();\n // this.outline.destsGoto.push(id);\n // pdf.internal.write(\"<> endobj\");\n // }\n //\n // for (var i = 0; i < dests.length; i++) {\n // pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0\n // R\");\n // }\n //\n if (this.outline.root.children.length > 0) {\n var lines = pdf.outline.render().split(/\\r\\n/);\n for (var i = 0; i < lines.length; i++) {\n var line = lines[i];\n var m = rx.exec(line);\n if (m != null) {\n var oid = m[1];\n pdf.internal.newObjectDeferredBegin(oid, false);\n }\n pdf.internal.write(line);\n }\n }\n\n // This code will write named destination for each page reference\n // (page_1, etc)\n if (this.outline.createNamedDestinations) {\n var totalPages = this.internal.pages.length;\n // WARNING: this assumes jsPDF starts on page 3 and pageIDs\n // follow 5, 7, 9, etc\n // Write destination objects for each page\n var dests = [];\n for (var i = 0; i < totalPages; i++) {\n var id = pdf.internal.newObject();\n dests.push(id);\n var info = pdf.internal.getPageInfo(i + 1);\n pdf.internal.write(\n \"<< /D[\" + info.objId + \" 0 R /XYZ null null null]>> endobj\"\n );\n }\n\n // assign a name for each destination\n var names2Oid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Names [ \");\n for (var i = 0; i < dests.length; i++) {\n pdf.internal.write(\"(page_\" + (i + 1) + \")\" + dests[i] + \" 0 R\");\n }\n pdf.internal.write(\" ] >>\", \"endobj\");\n\n // var kids = pdf.internal.newObject();\n // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R');\n // pdf.internal.write(' ] >>', 'endobj');\n\n namesOid = pdf.internal.newObject();\n pdf.internal.write(\"<< /Dests \" + names2Oid + \" 0 R\");\n pdf.internal.write(\">>\", \"endobj\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"putCatalog\",\n function() {\n var pdf = this;\n if (pdf.outline.root.children.length > 0) {\n pdf.internal.write(\n \"/Outlines\",\n this.outline.makeRef(this.outline.root)\n );\n if (this.outline.createNamedDestinations) {\n pdf.internal.write(\"/Names \" + namesOid + \" 0 R\");\n }\n // Open with Bookmarks showing\n // pdf.internal.write(\"/PageMode /UseOutlines\");\n }\n }\n ]);\n\n jsPDFAPI.events.push([\n \"initialized\",\n function() {\n var pdf = this;\n\n pdf.outline = {\n createNamedDestinations: false,\n root: {\n children: []\n }\n };\n\n /**\n * Options: pageNumber\n */\n pdf.outline.add = function(parent, title, options) {\n var item = {\n title: title,\n options: options,\n children: []\n };\n if (parent == null) {\n parent = this.root;\n }\n parent.children.push(item);\n return item;\n };\n\n pdf.outline.render = function() {\n this.ctx = {};\n this.ctx.val = \"\";\n this.ctx.pdf = pdf;\n\n this.genIds_r(this.root);\n this.renderRoot(this.root);\n this.renderItems(this.root);\n\n return this.ctx.val;\n };\n\n pdf.outline.genIds_r = function(node) {\n node.id = pdf.internal.newObjectDeferred();\n for (var i = 0; i < node.children.length; i++) {\n this.genIds_r(node.children[i]);\n }\n };\n\n pdf.outline.renderRoot = function(node) {\n this.objStart(node);\n this.line(\"/Type /Outlines\");\n if (node.children.length > 0) {\n this.line(\"/First \" + this.makeRef(node.children[0]));\n this.line(\n \"/Last \" + this.makeRef(node.children[node.children.length - 1])\n );\n }\n this.line(\n \"/Count \" +\n this.count_r(\n {\n count: 0\n },\n node\n )\n );\n this.objEnd();\n };\n\n pdf.outline.renderItems = function(node) {\n var getVerticalCoordinateString = this.ctx.pdf.internal\n .getVerticalCoordinateString;\n for (var i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.objStart(item);\n\n this.line(\"/Title \" + this.makeString(item.title));\n\n this.line(\"/Parent \" + this.makeRef(node));\n if (i > 0) {\n this.line(\"/Prev \" + this.makeRef(node.children[i - 1]));\n }\n if (i < node.children.length - 1) {\n this.line(\"/Next \" + this.makeRef(node.children[i + 1]));\n }\n if (item.children.length > 0) {\n this.line(\"/First \" + this.makeRef(item.children[0]));\n this.line(\n \"/Last \" + this.makeRef(item.children[item.children.length - 1])\n );\n }\n\n var count = (this.count = this.count_r(\n {\n count: 0\n },\n item\n ));\n if (count > 0) {\n this.line(\"/Count \" + count);\n }\n\n if (item.options) {\n if (item.options.pageNumber) {\n // Explicit Destination\n //WARNING this assumes page ids are 3,5,7, etc.\n var info = pdf.internal.getPageInfo(item.options.pageNumber);\n this.line(\n \"/Dest \" +\n \"[\" +\n info.objId +\n \" 0 R /XYZ 0 \" +\n getVerticalCoordinateString(0) +\n \" 0]\"\n );\n // this line does not work on all clients (pageNumber instead of page ref)\n //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]');\n\n // Named Destination\n // this.line('/Dest (page_' + (item.options.pageNumber) + ')');\n\n // Action Destination\n // var id = pdf.internal.newObject();\n // pdf.internal.write('<> endobj');\n // this.line('/A ' + id + ' 0 R' );\n }\n }\n this.objEnd();\n }\n for (var z = 0; z < node.children.length; z++) {\n this.renderItems(node.children[z]);\n }\n };\n\n pdf.outline.line = function(text) {\n this.ctx.val += text + \"\\r\\n\";\n };\n\n pdf.outline.makeRef = function(node) {\n return node.id + \" 0 R\";\n };\n\n pdf.outline.makeString = function(val) {\n return \"(\" + pdf.internal.pdfEscape(val) + \")\";\n };\n\n pdf.outline.objStart = function(node) {\n this.ctx.val += \"\\r\\n\" + node.id + \" 0 obj\" + \"\\r\\n<<\\r\\n\";\n };\n\n pdf.outline.objEnd = function() {\n this.ctx.val += \">> \\r\\n\" + \"endobj\" + \"\\r\\n\";\n };\n\n pdf.outline.count_r = function(ctx, node) {\n for (var i = 0; i < node.children.length; i++) {\n ctx.count++;\n this.count_r(ctx, node.children[i]);\n }\n return ctx.count;\n };\n }\n ]);\n\n return this;\n})(jsPDF.API);\n","/**\n * @license\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF jpeg Support PlugIn\n *\n * @name jpeg_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * 0xc0 (SOF) Huffman - Baseline DCT\n * 0xc1 (SOF) Huffman - Extended sequential DCT\n * 0xc2 Progressive DCT (SOF2)\n * 0xc3 Spatial (sequential) lossless (SOF3)\n * 0xc4 Differential sequential DCT (SOF5)\n * 0xc5 Differential progressive DCT (SOF6)\n * 0xc6 Differential spatial (SOF7)\n * 0xc7\n */\n var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7];\n\n //takes a string imgData containing the raw bytes of\n //a jpeg image and returns [width, height]\n //Algorithm from: http://www.64lines.com/jpeg-width-height\n var getJpegInfo = function(imgData) {\n var width, height, numcomponents;\n var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5);\n var len = imgData.length;\n var result = { width: 0, height: 0, numcomponents: 1 };\n for (var i = 4; i < len; i += 2) {\n i += blockLength;\n if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) {\n height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6);\n width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8);\n numcomponents = imgData.charCodeAt(i + 9);\n result = { width: width, height: height, numcomponents: numcomponents };\n break;\n } else {\n blockLength =\n imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3);\n }\n }\n return result;\n };\n\n /**\n * @ignore\n */\n jsPDFAPI.processJPEG = function(\n data,\n index,\n alias,\n compression,\n dataAsBinaryString,\n colorSpace\n ) {\n var filter = this.decode.DCT_DECODE,\n bpc = 8,\n dims,\n result = null;\n\n if (\n typeof data === \"string\" ||\n this.__addimage__.isArrayBuffer(data) ||\n this.__addimage__.isArrayBufferView(data)\n ) {\n // if we already have a stored binary string rep use that\n data = dataAsBinaryString || data;\n data = this.__addimage__.isArrayBuffer(data)\n ? new Uint8Array(data)\n : data;\n data = this.__addimage__.isArrayBufferView(data)\n ? this.__addimage__.arrayBufferToBinaryString(data)\n : data;\n\n dims = getJpegInfo(data);\n switch (dims.numcomponents) {\n case 1:\n colorSpace = this.color_spaces.DEVICE_GRAY;\n break;\n case 4:\n colorSpace = this.color_spaces.DEVICE_CMYK;\n break;\n case 3:\n colorSpace = this.color_spaces.DEVICE_RGB;\n break;\n }\n\n result = {\n data: data,\n width: dims.width,\n height: dims.height,\n colorSpace: colorSpace,\n bitsPerComponent: bpc,\n filter: filter,\n index: index,\n alias: alias\n };\n }\n return result;\n };\n})(jsPDF.API);\n","// Generated by CoffeeScript 1.4.0\n\n/**\n * @license\n * PNG.js\n * Copyright (c) 2011 Devon Govett\n * MIT LICENSE\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy of this\n * software and associated documentation files (the \"Software\"), to deal in the Software\n * without restriction, including without limitation the rights to use, copy, modify, merge,\n * publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons\n * to whom the Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all copies or\n * substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING\n * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN 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 OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n */\n\nimport { unzlibSync } from \"./fflate.js\";\nimport { globalObject } from \"./globalObject.js\";\n\nvar PNG = (function() {\n var APNG_BLEND_OP_OVER,\n APNG_BLEND_OP_SOURCE,\n APNG_DISPOSE_OP_BACKGROUND,\n APNG_DISPOSE_OP_NONE,\n APNG_DISPOSE_OP_PREVIOUS,\n makeImage,\n scratchCanvas,\n scratchCtx;\n\n APNG_DISPOSE_OP_NONE = 0;\n\n APNG_DISPOSE_OP_BACKGROUND = 1;\n\n APNG_DISPOSE_OP_PREVIOUS = 2;\n\n APNG_BLEND_OP_SOURCE = 0;\n\n APNG_BLEND_OP_OVER = 1;\n\n function PNG(data) {\n var chunkSize,\n colors,\n palLen,\n delayDen,\n delayNum,\n frame,\n i,\n index,\n key,\n section,\n palShort,\n text,\n _i,\n _j,\n _ref;\n this.data = data;\n this.pos = 8;\n this.palette = [];\n this.imgData = [];\n this.transparency = {};\n this.animation = null;\n this.text = {};\n frame = null;\n while (true) {\n chunkSize = this.readUInt32();\n section = function() {\n var _i, _results;\n _results = [];\n for (i = _i = 0; _i < 4; i = ++_i) {\n _results.push(String.fromCharCode(this.data[this.pos++]));\n }\n return _results;\n }\n .call(this)\n .join(\"\");\n switch (section) {\n case \"IHDR\":\n this.width = this.readUInt32();\n this.height = this.readUInt32();\n this.bits = this.data[this.pos++];\n this.colorType = this.data[this.pos++];\n this.compressionMethod = this.data[this.pos++];\n this.filterMethod = this.data[this.pos++];\n this.interlaceMethod = this.data[this.pos++];\n break;\n case \"acTL\":\n this.animation = {\n numFrames: this.readUInt32(),\n numPlays: this.readUInt32() || Infinity,\n frames: []\n };\n break;\n case \"PLTE\":\n this.palette = this.read(chunkSize);\n break;\n case \"fcTL\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.pos += 4;\n frame = {\n width: this.readUInt32(),\n height: this.readUInt32(),\n xOffset: this.readUInt32(),\n yOffset: this.readUInt32()\n };\n delayNum = this.readUInt16();\n delayDen = this.readUInt16() || 100;\n frame.delay = (1000 * delayNum) / delayDen;\n frame.disposeOp = this.data[this.pos++];\n frame.blendOp = this.data[this.pos++];\n frame.data = [];\n break;\n case \"IDAT\":\n case \"fdAT\":\n if (section === \"fdAT\") {\n this.pos += 4;\n chunkSize -= 4;\n }\n data = (frame != null ? frame.data : void 0) || this.imgData;\n for (\n i = _i = 0;\n 0 <= chunkSize ? _i < chunkSize : _i > chunkSize;\n i = 0 <= chunkSize ? ++_i : --_i\n ) {\n data.push(this.data[this.pos++]);\n }\n break;\n case \"tRNS\":\n this.transparency = {};\n switch (this.colorType) {\n case 3:\n palLen = this.palette.length / 3;\n this.transparency.indexed = this.read(chunkSize);\n if (this.transparency.indexed.length > palLen)\n throw new Error(\"More transparent colors than palette size\");\n /*\n * According to the PNG spec trns should be increased to the same size as palette if shorter\n */\n //palShort = 255 - this.transparency.indexed.length;\n palShort = palLen - this.transparency.indexed.length;\n if (palShort > 0) {\n for (\n i = _j = 0;\n 0 <= palShort ? _j < palShort : _j > palShort;\n i = 0 <= palShort ? ++_j : --_j\n ) {\n this.transparency.indexed.push(255);\n }\n }\n break;\n case 0:\n this.transparency.grayscale = this.read(chunkSize)[0];\n break;\n case 2:\n this.transparency.rgb = this.read(chunkSize);\n }\n break;\n case \"tEXt\":\n text = this.read(chunkSize);\n index = text.indexOf(0);\n key = String.fromCharCode.apply(String, text.slice(0, index));\n this.text[key] = String.fromCharCode.apply(\n String,\n text.slice(index + 1)\n );\n break;\n case \"IEND\":\n if (frame) {\n this.animation.frames.push(frame);\n }\n this.colors = function() {\n switch (this.colorType) {\n case 0:\n case 3:\n case 4:\n return 1;\n case 2:\n case 6:\n return 3;\n }\n }.call(this);\n this.hasAlphaChannel = (_ref = this.colorType) === 4 || _ref === 6;\n colors = this.colors + (this.hasAlphaChannel ? 1 : 0);\n this.pixelBitlength = this.bits * colors;\n this.colorSpace = function() {\n switch (this.colors) {\n case 1:\n return \"DeviceGray\";\n case 3:\n return \"DeviceRGB\";\n }\n }.call(this);\n this.imgData = new Uint8Array(this.imgData);\n return;\n default:\n this.pos += chunkSize;\n }\n this.pos += 4;\n if (this.pos > this.data.length) {\n throw new Error(\"Incomplete or corrupt PNG file\");\n }\n }\n }\n\n PNG.prototype.read = function(bytes) {\n var i, _i, _results;\n _results = [];\n for (\n i = _i = 0;\n 0 <= bytes ? _i < bytes : _i > bytes;\n i = 0 <= bytes ? ++_i : --_i\n ) {\n _results.push(this.data[this.pos++]);\n }\n return _results;\n };\n\n PNG.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.data[this.pos++] << 24;\n b2 = this.data[this.pos++] << 16;\n b3 = this.data[this.pos++] << 8;\n b4 = this.data[this.pos++];\n return b1 | b2 | b3 | b4;\n };\n\n PNG.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.data[this.pos++] << 8;\n b2 = this.data[this.pos++];\n return b1 | b2;\n };\n\n PNG.prototype.decodePixels = function(data) {\n var pixelBytes = this.pixelBitlength / 8;\n var fullPixels = new Uint8Array(this.width * this.height * pixelBytes);\n var pos = 0;\n var _this = this;\n\n if (data == null) {\n data = this.imgData;\n }\n if (data.length === 0) {\n return new Uint8Array(0);\n }\n\n data = unzlibSync(data);\n function pass(x0, y0, dx, dy) {\n var abyte,\n c,\n col,\n i,\n left,\n length,\n p,\n pa,\n paeth,\n pb,\n pc,\n pixels,\n row,\n scanlineLength,\n upper,\n upperLeft,\n _i,\n _j,\n _k,\n _l,\n _m;\n var w = Math.ceil((_this.width - x0) / dx),\n h = Math.ceil((_this.height - y0) / dy);\n var isFull = _this.width == w && _this.height == h;\n scanlineLength = pixelBytes * w;\n pixels = isFull ? fullPixels : new Uint8Array(scanlineLength * h);\n length = data.length;\n row = 0;\n c = 0;\n while (row < h && pos < length) {\n switch (data[pos++]) {\n case 0:\n for (i = _i = 0; _i < scanlineLength; i = _i += 1) {\n pixels[c++] = data[pos++];\n }\n break;\n case 1:\n for (i = _j = 0; _j < scanlineLength; i = _j += 1) {\n abyte = data[pos++];\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n pixels[c++] = (abyte + left) % 256;\n }\n break;\n case 2:\n for (i = _k = 0; _k < scanlineLength; i = _k += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (upper + abyte) % 256;\n }\n break;\n case 3:\n for (i = _l = 0; _l < scanlineLength; i = _l += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n upper =\n row &&\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n pixels[c++] = (abyte + Math.floor((left + upper) / 2)) % 256;\n }\n break;\n case 4:\n for (i = _m = 0; _m < scanlineLength; i = _m += 1) {\n abyte = data[pos++];\n col = (i - (i % pixelBytes)) / pixelBytes;\n left = i < pixelBytes ? 0 : pixels[c - pixelBytes];\n if (row === 0) {\n upper = upperLeft = 0;\n } else {\n upper =\n pixels[\n (row - 1) * scanlineLength +\n col * pixelBytes +\n (i % pixelBytes)\n ];\n upperLeft =\n col &&\n pixels[\n (row - 1) * scanlineLength +\n (col - 1) * pixelBytes +\n (i % pixelBytes)\n ];\n }\n p = left + upper - upperLeft;\n pa = Math.abs(p - left);\n pb = Math.abs(p - upper);\n pc = Math.abs(p - upperLeft);\n if (pa <= pb && pa <= pc) {\n paeth = left;\n } else if (pb <= pc) {\n paeth = upper;\n } else {\n paeth = upperLeft;\n }\n pixels[c++] = (abyte + paeth) % 256;\n }\n break;\n default:\n throw new Error(\"Invalid filter algorithm: \" + data[pos - 1]);\n }\n if (!isFull) {\n var fullPos = ((y0 + row * dy) * _this.width + x0) * pixelBytes;\n var partPos = row * scanlineLength;\n for (i = 0; i < w; i += 1) {\n for (var j = 0; j < pixelBytes; j += 1)\n fullPixels[fullPos++] = pixels[partPos++];\n fullPos += (dx - 1) * pixelBytes;\n }\n }\n row++;\n }\n }\n if (_this.interlaceMethod == 1) {\n /*\n 1 6 4 6 2 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n 3 6 4 6 3 6 4 6\n 7 7 7 7 7 7 7 7\n 5 6 5 6 5 6 5 6\n 7 7 7 7 7 7 7 7\n */\n pass(0, 0, 8, 8); // 1\n /* NOTE these seem to follow the pattern:\n * pass(x, 0, 2*x, 2*x);\n * pass(0, x, x, 2*x);\n * with x being 4, 2, 1.\n */\n pass(4, 0, 8, 8); // 2\n pass(0, 4, 4, 8); // 3\n\n pass(2, 0, 4, 4); // 4\n pass(0, 2, 2, 4); // 5\n\n pass(1, 0, 2, 2); // 6\n pass(0, 1, 1, 2); // 7\n } else {\n pass(0, 0, 1, 1);\n }\n return fullPixels;\n };\n\n PNG.prototype.decodePalette = function() {\n var c, i, length, palette, pos, ret, transparency, _i, _ref, _ref1;\n palette = this.palette;\n transparency = this.transparency.indexed || [];\n ret = new Uint8Array((transparency.length || 0) + palette.length);\n pos = 0;\n length = palette.length;\n c = 0;\n for (i = _i = 0, _ref = length; _i < _ref; i = _i += 3) {\n ret[pos++] = palette[i];\n ret[pos++] = palette[i + 1];\n ret[pos++] = palette[i + 2];\n ret[pos++] = (_ref1 = transparency[c++]) != null ? _ref1 : 255;\n }\n return ret;\n };\n\n PNG.prototype.copyToImageData = function(imageData, pixels) {\n var alpha, colors, data, i, input, j, k, length, palette, v, _ref;\n colors = this.colors;\n palette = null;\n alpha = this.hasAlphaChannel;\n if (this.palette.length) {\n palette =\n (_ref = this._decodedPalette) != null\n ? _ref\n : (this._decodedPalette = this.decodePalette());\n colors = 4;\n alpha = true;\n }\n data = imageData.data || imageData;\n length = data.length;\n input = palette || pixels;\n i = j = 0;\n if (colors === 1) {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n v = input[k++];\n data[i++] = v;\n data[i++] = v;\n data[i++] = v;\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n } else {\n while (i < length) {\n k = palette ? pixels[i / 4] * 4 : j;\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = input[k++];\n data[i++] = alpha ? input[k++] : 255;\n j = k;\n }\n }\n };\n\n PNG.prototype.decode = function() {\n var ret;\n ret = new Uint8Array(this.width * this.height * 4);\n this.copyToImageData(ret, this.decodePixels());\n return ret;\n };\n\n var hasBrowserCanvas = function() {\n if (Object.prototype.toString.call(globalObject) === \"[object Window]\") {\n try {\n scratchCanvas = globalObject.document.createElement(\"canvas\");\n scratchCtx = scratchCanvas.getContext(\"2d\");\n } catch (e) {\n return false;\n }\n return true;\n }\n return false;\n };\n\n hasBrowserCanvas();\n\n makeImage = function(imageData) {\n if (hasBrowserCanvas() === true) {\n var img;\n scratchCtx.width = imageData.width;\n scratchCtx.height = imageData.height;\n scratchCtx.clearRect(0, 0, imageData.width, imageData.height);\n scratchCtx.putImageData(imageData, 0, 0);\n img = new Image();\n img.src = scratchCanvas.toDataURL();\n return img;\n }\n throw new Error(\"This method requires a Browser with Canvas-capability.\");\n };\n\n PNG.prototype.decodeFrames = function(ctx) {\n var frame, i, imageData, pixels, _i, _len, _ref, _results;\n if (!this.animation) {\n return;\n }\n _ref = this.animation.frames;\n _results = [];\n for (i = _i = 0, _len = _ref.length; _i < _len; i = ++_i) {\n frame = _ref[i];\n imageData = ctx.createImageData(frame.width, frame.height);\n pixels = this.decodePixels(new Uint8Array(frame.data));\n this.copyToImageData(imageData, pixels);\n frame.imageData = imageData;\n _results.push((frame.image = makeImage(imageData)));\n }\n return _results;\n };\n\n PNG.prototype.renderFrame = function(ctx, number) {\n var frame, frames, prev;\n frames = this.animation.frames;\n frame = frames[number];\n prev = frames[number - 1];\n if (number === 0) {\n ctx.clearRect(0, 0, this.width, this.height);\n }\n if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_BACKGROUND\n ) {\n ctx.clearRect(prev.xOffset, prev.yOffset, prev.width, prev.height);\n } else if (\n (prev != null ? prev.disposeOp : void 0) === APNG_DISPOSE_OP_PREVIOUS\n ) {\n ctx.putImageData(prev.imageData, prev.xOffset, prev.yOffset);\n }\n if (frame.blendOp === APNG_BLEND_OP_SOURCE) {\n ctx.clearRect(frame.xOffset, frame.yOffset, frame.width, frame.height);\n }\n return ctx.drawImage(frame.image, frame.xOffset, frame.yOffset);\n };\n\n PNG.prototype.animate = function(ctx) {\n var doFrame,\n frameNumber,\n frames,\n numFrames,\n numPlays,\n _ref,\n _this = this;\n frameNumber = 0;\n (_ref = this.animation),\n (numFrames = _ref.numFrames),\n (frames = _ref.frames),\n (numPlays = _ref.numPlays);\n return (doFrame = function() {\n var f, frame;\n f = frameNumber++ % numFrames;\n frame = frames[f];\n _this.renderFrame(ctx, f);\n if (numFrames > 1 && frameNumber / numFrames < numPlays) {\n return (_this.animation._timeout = setTimeout(doFrame, frame.delay));\n }\n })();\n };\n\n PNG.prototype.stopAnimation = function() {\n var _ref;\n return clearTimeout(\n (_ref = this.animation) != null ? _ref._timeout : void 0\n );\n };\n\n PNG.prototype.render = function(canvas) {\n var ctx, data;\n if (canvas._png) {\n canvas._png.stopAnimation();\n }\n canvas._png = this;\n canvas.width = this.width;\n canvas.height = this.height;\n ctx = canvas.getContext(\"2d\");\n if (this.animation) {\n this.decodeFrames(ctx);\n return this.animate(ctx);\n } else {\n data = ctx.createImageData(this.width, this.height);\n this.copyToImageData(data, this.decodePixels());\n return ctx.putImageData(data, 0, 0);\n }\n };\n\n return PNG;\n})();\n\nexport { PNG };\n","/** @license\n * MIT license.\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * 2014 Diego Casorran, https://github.com/diegocr\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF split_text_to_size plugin\n *\n * @name split_text_to_size\n * @module\n */\n(function(API) {\n \"use strict\";\n /**\n * Returns an array of length matching length of the 'word' string, with each\n * cell occupied by the width of the char in that position.\n *\n * @name getCharWidthsArray\n * @function\n * @param {string} text\n * @param {Object} options\n * @returns {Array}\n */\n var getCharWidthsArray = (API.getCharWidthsArray = function(text, options) {\n options = options || {};\n\n var activeFont = options.font || this.internal.getFont();\n var fontSize = options.fontSize || this.internal.getFontSize();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n\n var widths = options.widths\n ? options.widths\n : activeFont.metadata.Unicode.widths;\n var widthsFractionOf = widths.fof ? widths.fof : 1;\n var kerning = options.kerning\n ? options.kerning\n : activeFont.metadata.Unicode.kerning;\n var kerningFractionOf = kerning.fof ? kerning.fof : 1;\n var doKerning = options.doKerning === false ? false : true;\n var kerningValue = 0;\n\n var i;\n var length = text.length;\n var char_code;\n var prior_char_code = 0; //for kerning\n var default_char_width = widths[0] || widthsFractionOf;\n var output = [];\n\n for (i = 0; i < length; i++) {\n char_code = text.charCodeAt(i);\n\n if (typeof activeFont.metadata.widthOfString === \"function\") {\n output.push(\n (activeFont.metadata.widthOfGlyph(\n activeFont.metadata.characterToGlyph(char_code)\n ) +\n charSpace * (1000 / fontSize) || 0) / 1000\n );\n } else {\n if (\n doKerning &&\n typeof kerning[char_code] === \"object\" &&\n !isNaN(parseInt(kerning[char_code][prior_char_code], 10))\n ) {\n kerningValue =\n kerning[char_code][prior_char_code] / kerningFractionOf;\n } else {\n kerningValue = 0;\n }\n output.push(\n (widths[char_code] || default_char_width) / widthsFractionOf +\n kerningValue\n );\n }\n prior_char_code = char_code;\n }\n\n return output;\n });\n\n /**\n * Returns a widths of string in a given font, if the font size is set as 1 point.\n *\n * In other words, this is \"proportional\" value. For 1 unit of font size, the length\n * of the string will be that much.\n *\n * Multiply by font size to get actual width in *points*\n * Then divide by 72 to get inches or divide by (72/25.6) to get 'mm' etc.\n *\n * @name getStringUnitWidth\n * @public\n * @function\n * @param {string} text\n * @param {string} options\n * @returns {number} result\n */\n var getStringUnitWidth = (API.getStringUnitWidth = function(text, options) {\n options = options || {};\n\n var fontSize = options.fontSize || this.internal.getFontSize();\n var font = options.font || this.internal.getFont();\n var charSpace = options.charSpace || this.internal.getCharSpace();\n var result = 0;\n\n if (API.processArabic) {\n text = API.processArabic(text);\n }\n\n if (typeof font.metadata.widthOfString === \"function\") {\n result =\n font.metadata.widthOfString(text, fontSize, charSpace) / fontSize;\n } else {\n result = getCharWidthsArray\n .apply(this, arguments)\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n }\n return result;\n });\n\n /**\n returns array of lines\n */\n var splitLongWord = function(word, widths_array, firstLineMaxLen, maxLen) {\n var answer = [];\n\n // 1st, chop off the piece that can fit on the hanging line.\n var i = 0,\n l = word.length,\n workingLen = 0;\n while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) {\n workingLen += widths_array[i];\n i++;\n }\n // this is first line.\n answer.push(word.slice(0, i));\n\n // 2nd. Split the rest into maxLen pieces.\n var startOfLine = i;\n workingLen = 0;\n while (i !== l) {\n if (workingLen + widths_array[i] > maxLen) {\n answer.push(word.slice(startOfLine, i));\n workingLen = 0;\n startOfLine = i;\n }\n workingLen += widths_array[i];\n i++;\n }\n if (startOfLine !== i) {\n answer.push(word.slice(startOfLine, i));\n }\n\n return answer;\n };\n\n // Note, all sizing inputs for this function must be in \"font measurement units\"\n // By default, for PDF, it's \"point\".\n var splitParagraphIntoLines = function(text, maxlen, options) {\n // at this time works only on Western scripts, ones with space char\n // separating the words. Feel free to expand.\n\n if (!options) {\n options = {};\n }\n\n var line = [],\n lines = [line],\n line_length = options.textIndent || 0,\n separator_length = 0,\n current_word_length = 0,\n word,\n widths_array,\n words = text.split(\" \"),\n spaceCharWidth = getCharWidthsArray.apply(this, [\" \", options])[0],\n i,\n l,\n tmp,\n lineIndent;\n\n if (options.lineIndent === -1) {\n lineIndent = words[0].length + 2;\n } else {\n lineIndent = options.lineIndent || 0;\n }\n if (lineIndent) {\n var pad = Array(lineIndent).join(\" \"),\n wrds = [];\n words.map(function(wrd) {\n wrd = wrd.split(/\\s*\\n/);\n if (wrd.length > 1) {\n wrds = wrds.concat(\n wrd.map(function(wrd, idx) {\n return (idx && wrd.length ? \"\\n\" : \"\") + wrd;\n })\n );\n } else {\n wrds.push(wrd[0]);\n }\n });\n words = wrds;\n lineIndent = getStringUnitWidth.apply(this, [pad, options]);\n }\n\n for (i = 0, l = words.length; i < l; i++) {\n var force = 0;\n\n word = words[i];\n if (lineIndent && word[0] == \"\\n\") {\n word = word.substr(1);\n force = 1;\n }\n widths_array = getCharWidthsArray.apply(this, [word, options]);\n current_word_length = widths_array.reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n\n if (\n line_length + separator_length + current_word_length > maxlen ||\n force\n ) {\n if (current_word_length > maxlen) {\n // this happens when you have space-less long URLs for example.\n // we just chop these to size. We do NOT insert hiphens\n tmp = splitLongWord.apply(this, [\n word,\n widths_array,\n maxlen - (line_length + separator_length),\n maxlen\n ]);\n // first line we add to existing line object\n line.push(tmp.shift()); // it's ok to have extra space indicator there\n // last line we make into new line object\n line = [tmp.pop()];\n // lines in the middle we apped to lines object as whole lines\n while (tmp.length) {\n lines.push([tmp.shift()]); // single fragment occupies whole line\n }\n current_word_length = widths_array\n .slice(word.length - (line[0] ? line[0].length : 0))\n .reduce(function(pv, cv) {\n return pv + cv;\n }, 0);\n } else {\n // just put it on a new line\n line = [word];\n }\n\n // now we attach new line to lines\n lines.push(line);\n line_length = current_word_length + lineIndent;\n separator_length = spaceCharWidth;\n } else {\n line.push(word);\n\n line_length += separator_length + current_word_length;\n separator_length = spaceCharWidth;\n }\n }\n\n var postProcess;\n if (lineIndent) {\n postProcess = function(ln, idx) {\n return (idx ? pad : \"\") + ln.join(\" \");\n };\n } else {\n postProcess = function(ln) {\n return ln.join(\" \");\n };\n }\n\n return lines.map(postProcess);\n };\n\n /**\n * Splits a given string into an array of strings. Uses 'size' value\n * (in measurement units declared as default for the jsPDF instance)\n * and the font's \"widths\" and \"Kerning\" tables, where available, to\n * determine display length of a given string for a given font.\n *\n * We use character's 100% of unit size (height) as width when Width\n * table or other default width is not available.\n *\n * @name splitTextToSize\n * @public\n * @function\n * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string.\n * @param {number} size Nominal number, measured in units default to this instance of jsPDF.\n * @param {Object} options Optional flags needed for chopper to do the right thing.\n * @returns {Array} array Array with strings chopped to size.\n */\n API.splitTextToSize = function(text, maxlen, options) {\n \"use strict\";\n\n options = options || {};\n\n var fsize = options.fontSize || this.internal.getFontSize(),\n newOptions = function(options) {\n var widths = {\n 0: 1\n },\n kerning = {};\n\n if (!options.widths || !options.kerning) {\n var f = this.internal.getFont(options.fontName, options.fontStyle),\n encoding = \"Unicode\";\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE\n // Actual JavaScript-native String's 16bit char codes used.\n // no multi-byte logic here\n\n if (f.metadata[encoding]) {\n return {\n widths: f.metadata[encoding].widths || widths,\n kerning: f.metadata[encoding].kerning || kerning\n };\n } else {\n return {\n font: f.metadata,\n fontSize: this.internal.getFontSize(),\n charSpace: this.internal.getCharSpace()\n };\n }\n } else {\n return {\n widths: options.widths,\n kerning: options.kerning\n };\n }\n }.call(this, options);\n\n // first we split on end-of-line chars\n var paragraphs;\n if (Array.isArray(text)) {\n paragraphs = text;\n } else {\n paragraphs = String(text).split(/\\r?\\n/);\n }\n\n // now we convert size (max length of line) into \"font size units\"\n // at present time, the \"font size unit\" is always 'point'\n // 'proportional' means, \"in proportion to font size\"\n var fontUnit_maxLen = (1.0 * this.internal.scaleFactor * maxlen) / fsize;\n // at this time, fsize is always in \"points\" regardless of the default measurement unit of the doc.\n // this may change in the future?\n // until then, proportional_maxlen is likely to be in 'points'\n\n // If first line is to be indented (shorter or longer) than maxLen\n // we indicate that by using CSS-style \"text-indent\" option.\n // here it's in font units too (which is likely 'points')\n // it can be negative (which makes the first line longer than maxLen)\n newOptions.textIndent = options.textIndent\n ? (options.textIndent * 1.0 * this.internal.scaleFactor) / fsize\n : 0;\n newOptions.lineIndent = options.lineIndent;\n\n var i,\n l,\n output = [];\n for (i = 0, l = paragraphs.length; i < l; i++) {\n output = output.concat(\n splitParagraphIntoLines.apply(this, [\n paragraphs[i],\n fontUnit_maxLen,\n newOptions\n ])\n );\n }\n\n return output;\n };\n})(jsPDF.API);\n","/**\n * @license\n * (c) Dean McNamee , 2013.\n *\n * https://github.com/deanm/omggif\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to\n * deal in the Software without restriction, including without limitation the\n * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n * sell copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all 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,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n * omggif is a JavaScript implementation of a GIF 89a encoder and decoder,\n * including animation and compression. It does not rely on any specific\n * underlying system, so should run in the browser, Node, or Plask.\n */\n\n\"use strict\";\n\nimport { console } from \"./console.js\";\n\nfunction GifWriter(buf, width, height, gopts) {\n var p = 0;\n\n var gopts = gopts === undefined ? {} : gopts;\n var loop_count = gopts.loop === undefined ? null : gopts.loop;\n var global_palette = gopts.palette === undefined ? null : gopts.palette;\n\n if (width <= 0 || height <= 0 || width > 65535 || height > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n function check_palette_and_num_colors(palette) {\n var num_colors = palette.length;\n if (num_colors < 2 || num_colors > 256 || num_colors & (num_colors - 1)) {\n throw new Error(\n \"Invalid code/color length, must be power of 2 and 2 .. 256.\"\n );\n }\n return num_colors;\n }\n\n // - Header.\n buf[p++] = 0x47;\n buf[p++] = 0x49;\n buf[p++] = 0x46; // GIF\n buf[p++] = 0x38;\n buf[p++] = 0x39;\n buf[p++] = 0x61; // 89a\n\n // Handling of Global Color Table (palette) and background index.\n var gp_num_colors_pow2 = 0;\n var background = 0;\n if (global_palette !== null) {\n var gp_num_colors = check_palette_and_num_colors(global_palette);\n while ((gp_num_colors >>= 1)) ++gp_num_colors_pow2;\n gp_num_colors = 1 << gp_num_colors_pow2;\n --gp_num_colors_pow2;\n if (gopts.background !== undefined) {\n background = gopts.background;\n if (background >= gp_num_colors)\n throw new Error(\"Background index out of range.\");\n // The GIF spec states that a background index of 0 should be ignored, so\n // this is probably a mistake and you really want to set it to another\n // slot in the palette. But actually in the end most browsers, etc end\n // up ignoring this almost completely (including for dispose background).\n if (background === 0)\n throw new Error(\"Background index explicitly passed as 0.\");\n }\n }\n\n // - Logical Screen Descriptor.\n // NOTE(deanm): w/h apparently ignored by implementations, but set anyway.\n buf[p++] = width & 0xff;\n buf[p++] = (width >> 8) & 0xff;\n buf[p++] = height & 0xff;\n buf[p++] = (height >> 8) & 0xff;\n // NOTE: Indicates 0-bpp original color resolution (unused?).\n buf[p++] = (global_palette !== null ? 0x80 : 0) | gp_num_colors_pow2; // Global Color Table Flag. // NOTE: No sort flag (unused?).\n buf[p++] = background; // Background Color Index.\n buf[p++] = 0; // Pixel aspect ratio (unused?).\n\n // - Global Color Table\n if (global_palette !== null) {\n for (var i = 0, il = global_palette.length; i < il; ++i) {\n var rgb = global_palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n if (loop_count !== null) {\n // Netscape block for looping.\n if (loop_count < 0 || loop_count > 65535)\n throw new Error(\"Loop count invalid.\");\n // Extension code, label, and length.\n buf[p++] = 0x21;\n buf[p++] = 0xff;\n buf[p++] = 0x0b;\n // NETSCAPE2.0\n buf[p++] = 0x4e;\n buf[p++] = 0x45;\n buf[p++] = 0x54;\n buf[p++] = 0x53;\n buf[p++] = 0x43;\n buf[p++] = 0x41;\n buf[p++] = 0x50;\n buf[p++] = 0x45;\n buf[p++] = 0x32;\n buf[p++] = 0x2e;\n buf[p++] = 0x30;\n // Sub-block\n buf[p++] = 0x03;\n buf[p++] = 0x01;\n buf[p++] = loop_count & 0xff;\n buf[p++] = (loop_count >> 8) & 0xff;\n buf[p++] = 0x00; // Terminator.\n }\n\n var ended = false;\n\n this.addFrame = function(x, y, w, h, indexed_pixels, opts) {\n if (ended === true) {\n --p;\n ended = false;\n } // Un-end.\n\n opts = opts === undefined ? {} : opts;\n\n // TODO(deanm): Bounds check x, y. Do they need to be within the virtual\n // canvas width/height, I imagine?\n if (x < 0 || y < 0 || x > 65535 || y > 65535)\n throw new Error(\"x/y invalid.\");\n\n if (w <= 0 || h <= 0 || w > 65535 || h > 65535)\n throw new Error(\"Width/Height invalid.\");\n\n if (indexed_pixels.length < w * h)\n throw new Error(\"Not enough pixels for the frame size.\");\n\n var using_local_palette = true;\n var palette = opts.palette;\n if (palette === undefined || palette === null) {\n using_local_palette = false;\n palette = global_palette;\n }\n\n if (palette === undefined || palette === null)\n throw new Error(\"Must supply either a local or global palette.\");\n\n var num_colors = check_palette_and_num_colors(palette);\n\n // Compute the min_code_size (power of 2), destroying num_colors.\n var min_code_size = 0;\n while ((num_colors >>= 1)) ++min_code_size;\n num_colors = 1 << min_code_size; // Now we can easily get it back.\n\n var delay = opts.delay === undefined ? 0 : opts.delay;\n\n // From the spec:\n // 0 - No disposal specified. The decoder is\n // not required to take any action.\n // 1 - Do not dispose. The graphic is to be left\n // in place.\n // 2 - Restore to background color. The area used by the\n // graphic must be restored to the background color.\n // 3 - Restore to previous. The decoder is required to\n // restore the area overwritten by the graphic with\n // what was there prior to rendering the graphic.\n // 4-7 - To be defined.\n // NOTE(deanm): Dispose background doesn't really work, apparently most\n // browsers ignore the background palette index and clear to transparency.\n var disposal = opts.disposal === undefined ? 0 : opts.disposal;\n if (disposal < 0 || disposal > 3)\n // 4-7 is reserved.\n throw new Error(\"Disposal out of range.\");\n\n var use_transparency = false;\n var transparent_index = 0;\n if (opts.transparent !== undefined && opts.transparent !== null) {\n use_transparency = true;\n transparent_index = opts.transparent;\n if (transparent_index < 0 || transparent_index >= num_colors)\n throw new Error(\"Transparent color index.\");\n }\n\n if (disposal !== 0 || use_transparency || delay !== 0) {\n // - Graphics Control Extension\n buf[p++] = 0x21;\n buf[p++] = 0xf9; // Extension / Label.\n buf[p++] = 4; // Byte size.\n\n buf[p++] = (disposal << 2) | (use_transparency === true ? 1 : 0);\n buf[p++] = delay & 0xff;\n buf[p++] = (delay >> 8) & 0xff;\n buf[p++] = transparent_index; // Transparent color index.\n buf[p++] = 0; // Block Terminator.\n }\n\n // - Image Descriptor\n buf[p++] = 0x2c; // Image Seperator.\n buf[p++] = x & 0xff;\n buf[p++] = (x >> 8) & 0xff; // Left.\n buf[p++] = y & 0xff;\n buf[p++] = (y >> 8) & 0xff; // Top.\n buf[p++] = w & 0xff;\n buf[p++] = (w >> 8) & 0xff;\n buf[p++] = h & 0xff;\n buf[p++] = (h >> 8) & 0xff;\n // NOTE: No sort flag (unused?).\n // TODO(deanm): Support interlace.\n buf[p++] = using_local_palette === true ? 0x80 | (min_code_size - 1) : 0;\n\n // - Local Color Table\n if (using_local_palette === true) {\n for (var i = 0, il = palette.length; i < il; ++i) {\n var rgb = palette[i];\n buf[p++] = (rgb >> 16) & 0xff;\n buf[p++] = (rgb >> 8) & 0xff;\n buf[p++] = rgb & 0xff;\n }\n }\n\n p = GifWriterOutputLZWCodeStream(\n buf,\n p,\n min_code_size < 2 ? 2 : min_code_size,\n indexed_pixels\n );\n\n return p;\n };\n\n this.end = function() {\n if (ended === false) {\n buf[p++] = 0x3b; // Trailer.\n ended = true;\n }\n return p;\n };\n\n this.getOutputBuffer = function() {\n return buf;\n };\n this.setOutputBuffer = function(v) {\n buf = v;\n };\n this.getOutputBufferPosition = function() {\n return p;\n };\n this.setOutputBufferPosition = function(v) {\n p = v;\n };\n}\n\n// Main compression routine, palette indexes -> LZW code stream.\n// |index_stream| must have at least one entry.\nfunction GifWriterOutputLZWCodeStream(buf, p, min_code_size, index_stream) {\n buf[p++] = min_code_size;\n var cur_subblock = p++; // Pointing at the length field.\n\n var clear_code = 1 << min_code_size;\n var code_mask = clear_code - 1;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n var cur_shift = 0;\n // We have at most 12-bit codes, so we should have to hold a max of 19\n // bits here (and then we would write out).\n var cur = 0;\n\n function emit_bytes_to_buffer(bit_block_size) {\n while (cur_shift >= bit_block_size) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n }\n\n function emit_code(c) {\n cur |= c << cur_shift;\n cur_shift += cur_code_size;\n emit_bytes_to_buffer(8);\n }\n\n // I am not an expert on the topic, and I don't want to write a thesis.\n // However, it is good to outline here the basic algorithm and the few data\n // structures and optimizations here that make this implementation fast.\n // The basic idea behind LZW is to build a table of previously seen runs\n // addressed by a short id (herein called output code). All data is\n // referenced by a code, which represents one or more values from the\n // original input stream. All input bytes can be referenced as the same\n // value as an output code. So if you didn't want any compression, you\n // could more or less just output the original bytes as codes (there are\n // some details to this, but it is the idea). In order to achieve\n // compression, values greater then the input range (codes can be up to\n // 12-bit while input only 8-bit) represent a sequence of previously seen\n // inputs. The decompressor is able to build the same mapping while\n // decoding, so there is always a shared common knowledge between the\n // encoding and decoder, which is also important for \"timing\" aspects like\n // how to handle variable bit width code encoding.\n //\n // One obvious but very important consequence of the table system is there\n // is always a unique id (at most 12-bits) to map the runs. 'A' might be\n // 4, then 'AA' might be 10, 'AAA' 11, 'AAAA' 12, etc. This relationship\n // can be used for an effecient lookup strategy for the code mapping. We\n // need to know if a run has been seen before, and be able to map that run\n // to the output code. Since we start with known unique ids (input bytes),\n // and then from those build more unique ids (table entries), we can\n // continue this chain (almost like a linked list) to always have small\n // integer values that represent the current byte chains in the encoder.\n // This means instead of tracking the input bytes (AAAABCD) to know our\n // current state, we can track the table entry for AAAABC (it is guaranteed\n // to exist by the nature of the algorithm) and the next character D.\n // Therefor the tuple of (table_entry, byte) is guaranteed to also be\n // unique. This allows us to create a simple lookup key for mapping input\n // sequences to codes (table indices) without having to store or search\n // any of the code sequences. So if 'AAAA' has a table entry of 12, the\n // tuple of ('AAAA', K) for any input byte K will be unique, and can be our\n // key. This leads to a integer value at most 20-bits, which can always\n // fit in an SMI value and be used as a fast sparse array / object key.\n\n // Output code for the current contents of the index buffer.\n var ib_code = index_stream[0] & code_mask; // Load first input index.\n var code_table = {}; // Key'd on our 20-bit \"tuple\".\n\n emit_code(clear_code); // Spec says first code should be a clear code.\n\n // First index already loaded, process the rest of the stream.\n for (var i = 1, il = index_stream.length; i < il; ++i) {\n var k = index_stream[i] & code_mask;\n var cur_key = (ib_code << 8) | k; // (prev, k) unique tuple.\n var cur_code = code_table[cur_key]; // buffer + k.\n\n // Check if we have to create a new code table entry.\n if (cur_code === undefined) {\n // We don't have buffer + k.\n // Emit index buffer (without k).\n // This is an inline version of emit_code, because this is the core\n // writing routine of the compressor (and V8 cannot inline emit_code\n // because it is a closure here in a different context). Additionally\n // we can call emit_byte_to_buffer less often, because we can have\n // 30-bits (from our 31-bit signed SMI), and we know our codes will only\n // be 12-bits, so can safely have 18-bits there without overflow.\n // emit_code(ib_code);\n cur |= ib_code << cur_shift;\n cur_shift += cur_code_size;\n while (cur_shift >= 8) {\n buf[p++] = cur & 0xff;\n cur >>= 8;\n cur_shift -= 8;\n if (p === cur_subblock + 256) {\n // Finished a subblock.\n buf[cur_subblock] = 255;\n cur_subblock = p++;\n }\n }\n\n if (next_code === 4096) {\n // Table full, need a clear.\n emit_code(clear_code);\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_table = {};\n } else {\n // Table not full, insert a new entry.\n // Increase our variable bit code sizes if necessary. This is a bit\n // tricky as it is based on \"timing\" between the encoding and\n // decoder. From the encoders perspective this should happen after\n // we've already emitted the index buffer and are about to create the\n // first table entry that would overflow our current code bit size.\n if (next_code >= 1 << cur_code_size) ++cur_code_size;\n code_table[cur_key] = next_code++; // Insert into code table.\n }\n\n ib_code = k; // Index buffer to single input k.\n } else {\n ib_code = cur_code; // Index buffer to sequence in code table.\n }\n }\n\n emit_code(ib_code); // There will still be something in the index buffer.\n emit_code(eoi_code); // End Of Information.\n\n // Flush / finalize the sub-blocks stream to the buffer.\n emit_bytes_to_buffer(1);\n\n // Finish the sub-blocks, writing out any unfinished lengths and\n // terminating with a sub-block of length 0. If we have already started\n // but not yet used a sub-block it can just become the terminator.\n if (cur_subblock + 1 === p) {\n // Started but unused.\n buf[cur_subblock] = 0;\n } else {\n // Started and used, write length and additional terminator block.\n buf[cur_subblock] = p - cur_subblock - 1;\n buf[p++] = 0;\n }\n return p;\n}\n\nfunction GifReader(buf) {\n var p = 0;\n\n // - Header (GIF87a or GIF89a).\n if (\n buf[p++] !== 0x47 ||\n buf[p++] !== 0x49 ||\n buf[p++] !== 0x46 ||\n buf[p++] !== 0x38 ||\n ((buf[p++] + 1) & 0xfd) !== 0x38 ||\n buf[p++] !== 0x61\n ) {\n throw new Error(\"Invalid GIF 87a/89a header.\");\n }\n\n // - Logical Screen Descriptor.\n var width = buf[p++] | (buf[p++] << 8);\n var height = buf[p++] | (buf[p++] << 8);\n var pf0 = buf[p++]; // .\n var global_palette_flag = pf0 >> 7;\n var num_global_colors_pow2 = pf0 & 0x7;\n var num_global_colors = 1 << (num_global_colors_pow2 + 1);\n var background = buf[p++];\n buf[p++]; // Pixel aspect ratio (unused?).\n\n var global_palette_offset = null;\n var global_palette_size = null;\n\n if (global_palette_flag) {\n global_palette_offset = p;\n global_palette_size = num_global_colors;\n p += num_global_colors * 3; // Seek past palette.\n }\n\n var no_eof = true;\n\n var frames = [];\n\n var delay = 0;\n var transparent_index = null;\n var disposal = 0; // 0 - No disposal specified.\n var loop_count = null;\n\n this.width = width;\n this.height = height;\n\n while (no_eof && p < buf.length) {\n switch (buf[p++]) {\n case 0x21: // Graphics Control Extension Block\n switch (buf[p++]) {\n case 0xff: // Application specific block\n // Try if it's a Netscape block (with animation loop counter).\n if (\n buf[p] !== 0x0b || // 21 FF already read, check block size.\n // NETSCAPE2.0\n (buf[p + 1] == 0x4e &&\n buf[p + 2] == 0x45 &&\n buf[p + 3] == 0x54 &&\n buf[p + 4] == 0x53 &&\n buf[p + 5] == 0x43 &&\n buf[p + 6] == 0x41 &&\n buf[p + 7] == 0x50 &&\n buf[p + 8] == 0x45 &&\n buf[p + 9] == 0x32 &&\n buf[p + 10] == 0x2e &&\n buf[p + 11] == 0x30 &&\n // Sub-block\n buf[p + 12] == 0x03 &&\n buf[p + 13] == 0x01 &&\n buf[p + 16] == 0)\n ) {\n p += 14;\n loop_count = buf[p++] | (buf[p++] << 8);\n p++; // Skip terminator.\n } else {\n // We don't know what it is, just try to get past it.\n p += 12;\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n }\n break;\n\n case 0xf9: // Graphics Control Extension\n if (buf[p++] !== 0x4 || buf[p + 4] !== 0)\n throw new Error(\"Invalid graphics extension block.\");\n var pf1 = buf[p++];\n delay = buf[p++] | (buf[p++] << 8);\n transparent_index = buf[p++];\n if ((pf1 & 1) === 0) transparent_index = null;\n disposal = (pf1 >> 2) & 0x7;\n p++; // Skip terminator.\n break;\n\n case 0xfe: // Comment Extension.\n while (true) {\n // Seek through subblocks.\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n // console.log(buf.slice(p, p+block_size).toString('ascii'));\n p += block_size;\n }\n break;\n\n default:\n throw new Error(\n \"Unknown graphic control label: 0x\" + buf[p - 1].toString(16)\n );\n }\n break;\n\n case 0x2c: // Image Descriptor.\n var x = buf[p++] | (buf[p++] << 8);\n var y = buf[p++] | (buf[p++] << 8);\n var w = buf[p++] | (buf[p++] << 8);\n var h = buf[p++] | (buf[p++] << 8);\n var pf2 = buf[p++];\n var local_palette_flag = pf2 >> 7;\n var interlace_flag = (pf2 >> 6) & 1;\n var num_local_colors_pow2 = pf2 & 0x7;\n var num_local_colors = 1 << (num_local_colors_pow2 + 1);\n var palette_offset = global_palette_offset;\n var palette_size = global_palette_size;\n var has_local_palette = false;\n if (local_palette_flag) {\n var has_local_palette = true;\n palette_offset = p; // Override with local palette.\n palette_size = num_local_colors;\n p += num_local_colors * 3; // Seek past palette.\n }\n\n var data_offset = p;\n\n p++; // codesize\n while (true) {\n var block_size = buf[p++];\n // Bad block size (ex: undefined from an out of bounds read).\n if (!(block_size >= 0)) throw Error(\"Invalid block size\");\n if (block_size === 0) break; // 0 size is terminator\n p += block_size;\n }\n\n frames.push({\n x: x,\n y: y,\n width: w,\n height: h,\n has_local_palette: has_local_palette,\n palette_offset: palette_offset,\n palette_size: palette_size,\n data_offset: data_offset,\n data_length: p - data_offset,\n transparent_index: transparent_index,\n interlaced: !!interlace_flag,\n delay: delay,\n disposal: disposal\n });\n break;\n\n case 0x3b: // Trailer Marker (end of file).\n no_eof = false;\n break;\n\n default:\n throw new Error(\"Unknown gif block: 0x\" + buf[p - 1].toString(16));\n break;\n }\n }\n\n this.numFrames = function() {\n return frames.length;\n };\n\n this.loopCount = function() {\n return loop_count;\n };\n\n this.frameInfo = function(frame_num) {\n if (frame_num < 0 || frame_num >= frames.length)\n throw new Error(\"Frame index out of range.\");\n return frames[frame_num];\n };\n\n this.decodeAndBlitFrameBGRA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = b;\n pixels[op++] = g;\n pixels[op++] = r;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n\n // I will go to copy and paste hell one day...\n this.decodeAndBlitFrameRGBA = function(frame_num, pixels) {\n var frame = this.frameInfo(frame_num);\n var num_pixels = frame.width * frame.height;\n var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices.\n GifReaderLZWOutputIndexStream(\n buf,\n frame.data_offset,\n index_stream,\n num_pixels\n );\n var palette_offset = frame.palette_offset;\n\n // NOTE(deanm): It seems to be much faster to compare index to 256 than\n // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in\n // the profile, not sure if it's related to using a Uint8Array.\n var trans = frame.transparent_index;\n if (trans === null) trans = 256;\n\n // We are possibly just blitting to a portion of the entire frame.\n // That is a subrect within the framerect, so the additional pixels\n // must be skipped over after we finished a scanline.\n var framewidth = frame.width;\n var framestride = width - framewidth;\n var xleft = framewidth; // Number of subrect pixels left in scanline.\n\n // Output indices of the top left and bottom right corners of the subrect.\n var opbeg = (frame.y * width + frame.x) * 4;\n var opend = ((frame.y + frame.height) * width + frame.x) * 4;\n var op = opbeg;\n\n var scanstride = framestride * 4;\n\n // Use scanstride to skip past the rows when interlacing. This is skipping\n // 7 rows for the first two passes, then 3 then 1.\n if (frame.interlaced === true) {\n scanstride += width * 4 * 7; // Pass 1.\n }\n\n var interlaceskip = 8; // Tracking the row interval in the current pass.\n\n for (var i = 0, il = index_stream.length; i < il; ++i) {\n var index = index_stream[i];\n\n if (xleft === 0) {\n // Beginning of new scan line\n op += scanstride;\n xleft = framewidth;\n if (op >= opend) {\n // Catch the wrap to switch passes when interlacing.\n scanstride = framestride * 4 + width * 4 * (interlaceskip - 1);\n // interlaceskip / 2 * 4 is interlaceskip << 1.\n op = opbeg + (framewidth + framestride) * (interlaceskip << 1);\n interlaceskip >>= 1;\n }\n }\n\n if (index === trans) {\n op += 4;\n } else {\n var r = buf[palette_offset + index * 3];\n var g = buf[palette_offset + index * 3 + 1];\n var b = buf[palette_offset + index * 3 + 2];\n pixels[op++] = r;\n pixels[op++] = g;\n pixels[op++] = b;\n pixels[op++] = 255;\n }\n --xleft;\n }\n };\n}\n\nfunction GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) {\n var min_code_size = code_stream[p++];\n\n var clear_code = 1 << min_code_size;\n var eoi_code = clear_code + 1;\n var next_code = eoi_code + 1;\n\n var cur_code_size = min_code_size + 1; // Number of bits per code.\n // NOTE: This shares the same name as the encoder, but has a different\n // meaning here. Here this masks each code coming from the code stream.\n var code_mask = (1 << cur_code_size) - 1;\n var cur_shift = 0;\n var cur = 0;\n\n var op = 0; // Output pointer.\n\n var subblock_size = code_stream[p++];\n\n // TODO(deanm): Would using a TypedArray be any faster? At least it would\n // solve the fast mode / backing store uncertainty.\n // var code_table = Array(4096);\n var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits.\n\n var prev_code = null; // Track code-1.\n\n while (true) {\n // Read up to two bytes, making sure we always 12-bits for max sized code.\n while (cur_shift < 16) {\n if (subblock_size === 0) break; // No more data to be read.\n\n cur |= code_stream[p++] << cur_shift;\n cur_shift += 8;\n\n if (subblock_size === 1) {\n // Never let it get to 0 to hold logic above.\n subblock_size = code_stream[p++]; // Next subblock.\n } else {\n --subblock_size;\n }\n }\n\n // TODO(deanm): We should never really get here, we should have received\n // and EOI.\n if (cur_shift < cur_code_size) break;\n\n var code = cur & code_mask;\n cur >>= cur_code_size;\n cur_shift -= cur_code_size;\n\n // TODO(deanm): Maybe should check that the first code was a clear code,\n // at least this is what you're supposed to do. But actually our encoder\n // now doesn't emit a clear code first anyway.\n if (code === clear_code) {\n // We don't actually have to clear the table. This could be a good idea\n // for greater error checking, but we don't really do any anyway. We\n // will just track it with next_code and overwrite old entries.\n\n next_code = eoi_code + 1;\n cur_code_size = min_code_size + 1;\n code_mask = (1 << cur_code_size) - 1;\n\n // Don't update prev_code ?\n prev_code = null;\n continue;\n } else if (code === eoi_code) {\n break;\n }\n\n // We have a similar situation as the decoder, where we want to store\n // variable length entries (code table entries), but we want to do in a\n // faster manner than an array of arrays. The code below stores sort of a\n // linked list within the code table, and then \"chases\" through it to\n // construct the dictionary entries. When a new entry is created, just the\n // last byte is stored, and the rest (prefix) of the entry is only\n // referenced by its table entry. Then the code chases through the\n // prefixes until it reaches a single byte code. We have to chase twice,\n // first to compute the length, and then to actually copy the data to the\n // output (backwards, since we know the length). The alternative would be\n // storing something in an intermediate stack, but that doesn't make any\n // more sense. I implemented an approach where it also stored the length\n // in the code table, although it's a bit tricky because you run out of\n // bits (12 + 12 + 8), but I didn't measure much improvements (the table\n // entries are generally not the long). Even when I created benchmarks for\n // very long table entries the complexity did not seem worth it.\n // The code table stores the prefix entry in 12 bits and then the suffix\n // byte in 8 bits, so each entry is 20 bits.\n\n var chase_code = code < next_code ? code : prev_code;\n\n // Chase what we will output, either {CODE} or {CODE-1}.\n var chase_length = 0;\n var chase = chase_code;\n while (chase > clear_code) {\n chase = code_table[chase] >> 8;\n ++chase_length;\n }\n\n var k = chase;\n\n var op_end = op + chase_length + (chase_code !== code ? 1 : 0);\n if (op_end > output_length) {\n console.log(\"Warning, gif stream longer than expected.\");\n return;\n }\n\n // Already have the first byte from the chase, might as well write it fast.\n output[op++] = k;\n\n op += chase_length;\n var b = op; // Track pointer, writing backwards.\n\n if (chase_code !== code)\n // The case of emitting {CODE-1} + k.\n output[op++] = k;\n\n chase = chase_code;\n while (chase_length--) {\n chase = code_table[chase];\n output[--b] = chase & 0xff; // Write backwards.\n chase >>= 8; // Pull down to the prefix code.\n }\n\n if (prev_code !== null && next_code < 4096) {\n code_table[next_code++] = (prev_code << 8) | k;\n // TODO(deanm): Figure out this clearing vs code growth logic better. I\n // have an feeling that it should just happen somewhere else, for now it\n // is awkward between when we grow past the max and then hit a clear code.\n // For now just check if we hit the max 12-bits (then a clear code should\n // follow, also of course encoded in 12-bits).\n if (next_code >= code_mask + 1 && cur_code_size < 12) {\n ++cur_code_size;\n code_mask = (code_mask << 1) | 1;\n }\n }\n\n prev_code = code;\n }\n\n if (op !== output_length) {\n console.log(\"Warning, gif stream shorter than expected.\");\n }\n\n return output;\n}\n\nexport { GifReader, GifWriter };\n","/**\n * @license\n Copyright (c) 2008, Adobe Systems Incorporated\n All rights reserved.\n\n Redistribution and use in source and binary forms, with or without \n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright notice, \n this list of conditions and the following disclaimer.\n \n * Redistributions in binary form must reproduce the above copyright\n notice, this list of conditions and the following disclaimer in the \n documentation and/or other materials provided with the distribution.\n \n * Neither the name of Adobe Systems Incorporated nor the names of its \n contributors may be used to endorse or promote products derived from \n this software without specific prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS\n IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,\n THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\n PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR \n CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\n EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR\n PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\n LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n*/\n/*\nJPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009\n\nBasic GUI blocking jpeg encoder\n*/\n\nfunction JPEGEncoder(quality) {\n var ffloor = Math.floor;\n var YTable = new Array(64);\n var UVTable = new Array(64);\n var fdtbl_Y = new Array(64);\n var fdtbl_UV = new Array(64);\n var YDC_HT;\n var UVDC_HT;\n var YAC_HT;\n var UVAC_HT;\n\n var bitcode = new Array(65535);\n var category = new Array(65535);\n var outputfDCTQuant = new Array(64);\n var DU = new Array(64);\n var byteout = [];\n var bytenew = 0;\n var bytepos = 7;\n\n var YDU = new Array(64);\n var UDU = new Array(64);\n var VDU = new Array(64);\n var clt = new Array(256);\n var RGB_YUV_TABLE = new Array(2048);\n var currentQuality;\n\n var ZigZag = [\n 0,\n 1,\n 5,\n 6,\n 14,\n 15,\n 27,\n 28,\n 2,\n 4,\n 7,\n 13,\n 16,\n 26,\n 29,\n 42,\n 3,\n 8,\n 12,\n 17,\n 25,\n 30,\n 41,\n 43,\n 9,\n 11,\n 18,\n 24,\n 31,\n 40,\n 44,\n 53,\n 10,\n 19,\n 23,\n 32,\n 39,\n 45,\n 52,\n 54,\n 20,\n 22,\n 33,\n 38,\n 46,\n 51,\n 55,\n 60,\n 21,\n 34,\n 37,\n 47,\n 50,\n 56,\n 59,\n 61,\n 35,\n 36,\n 48,\n 49,\n 57,\n 58,\n 62,\n 63\n ];\n\n var std_dc_luminance_nrcodes = [\n 0,\n 0,\n 1,\n 5,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_luminance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 3,\n 3,\n 2,\n 4,\n 3,\n 5,\n 5,\n 4,\n 4,\n 0,\n 0,\n 1,\n 0x7d\n ];\n var std_ac_luminance_values = [\n 0x01,\n 0x02,\n 0x03,\n 0x00,\n 0x04,\n 0x11,\n 0x05,\n 0x12,\n 0x21,\n 0x31,\n 0x41,\n 0x06,\n 0x13,\n 0x51,\n 0x61,\n 0x07,\n 0x22,\n 0x71,\n 0x14,\n 0x32,\n 0x81,\n 0x91,\n 0xa1,\n 0x08,\n 0x23,\n 0x42,\n 0xb1,\n 0xc1,\n 0x15,\n 0x52,\n 0xd1,\n 0xf0,\n 0x24,\n 0x33,\n 0x62,\n 0x72,\n 0x82,\n 0x09,\n 0x0a,\n 0x16,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x25,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x34,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe1,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf1,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n var std_dc_chrominance_nrcodes = [\n 0,\n 0,\n 3,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];\n var std_ac_chrominance_nrcodes = [\n 0,\n 0,\n 2,\n 1,\n 2,\n 4,\n 4,\n 3,\n 4,\n 7,\n 5,\n 4,\n 4,\n 0,\n 1,\n 2,\n 0x77\n ];\n var std_ac_chrominance_values = [\n 0x00,\n 0x01,\n 0x02,\n 0x03,\n 0x11,\n 0x04,\n 0x05,\n 0x21,\n 0x31,\n 0x06,\n 0x12,\n 0x41,\n 0x51,\n 0x07,\n 0x61,\n 0x71,\n 0x13,\n 0x22,\n 0x32,\n 0x81,\n 0x08,\n 0x14,\n 0x42,\n 0x91,\n 0xa1,\n 0xb1,\n 0xc1,\n 0x09,\n 0x23,\n 0x33,\n 0x52,\n 0xf0,\n 0x15,\n 0x62,\n 0x72,\n 0xd1,\n 0x0a,\n 0x16,\n 0x24,\n 0x34,\n 0xe1,\n 0x25,\n 0xf1,\n 0x17,\n 0x18,\n 0x19,\n 0x1a,\n 0x26,\n 0x27,\n 0x28,\n 0x29,\n 0x2a,\n 0x35,\n 0x36,\n 0x37,\n 0x38,\n 0x39,\n 0x3a,\n 0x43,\n 0x44,\n 0x45,\n 0x46,\n 0x47,\n 0x48,\n 0x49,\n 0x4a,\n 0x53,\n 0x54,\n 0x55,\n 0x56,\n 0x57,\n 0x58,\n 0x59,\n 0x5a,\n 0x63,\n 0x64,\n 0x65,\n 0x66,\n 0x67,\n 0x68,\n 0x69,\n 0x6a,\n 0x73,\n 0x74,\n 0x75,\n 0x76,\n 0x77,\n 0x78,\n 0x79,\n 0x7a,\n 0x82,\n 0x83,\n 0x84,\n 0x85,\n 0x86,\n 0x87,\n 0x88,\n 0x89,\n 0x8a,\n 0x92,\n 0x93,\n 0x94,\n 0x95,\n 0x96,\n 0x97,\n 0x98,\n 0x99,\n 0x9a,\n 0xa2,\n 0xa3,\n 0xa4,\n 0xa5,\n 0xa6,\n 0xa7,\n 0xa8,\n 0xa9,\n 0xaa,\n 0xb2,\n 0xb3,\n 0xb4,\n 0xb5,\n 0xb6,\n 0xb7,\n 0xb8,\n 0xb9,\n 0xba,\n 0xc2,\n 0xc3,\n 0xc4,\n 0xc5,\n 0xc6,\n 0xc7,\n 0xc8,\n 0xc9,\n 0xca,\n 0xd2,\n 0xd3,\n 0xd4,\n 0xd5,\n 0xd6,\n 0xd7,\n 0xd8,\n 0xd9,\n 0xda,\n 0xe2,\n 0xe3,\n 0xe4,\n 0xe5,\n 0xe6,\n 0xe7,\n 0xe8,\n 0xe9,\n 0xea,\n 0xf2,\n 0xf3,\n 0xf4,\n 0xf5,\n 0xf6,\n 0xf7,\n 0xf8,\n 0xf9,\n 0xfa\n ];\n\n function initQuantTables(sf) {\n var YQT = [\n 16,\n 11,\n 10,\n 16,\n 24,\n 40,\n 51,\n 61,\n 12,\n 12,\n 14,\n 19,\n 26,\n 58,\n 60,\n 55,\n 14,\n 13,\n 16,\n 24,\n 40,\n 57,\n 69,\n 56,\n 14,\n 17,\n 22,\n 29,\n 51,\n 87,\n 80,\n 62,\n 18,\n 22,\n 37,\n 56,\n 68,\n 109,\n 103,\n 77,\n 24,\n 35,\n 55,\n 64,\n 81,\n 104,\n 113,\n 92,\n 49,\n 64,\n 78,\n 87,\n 103,\n 121,\n 120,\n 101,\n 72,\n 92,\n 95,\n 98,\n 112,\n 100,\n 103,\n 99\n ];\n\n for (var i = 0; i < 64; i++) {\n var t = ffloor((YQT[i] * sf + 50) / 100);\n t = Math.min(Math.max(t, 1), 255);\n YTable[ZigZag[i]] = t;\n }\n var UVQT = [\n 17,\n 18,\n 24,\n 47,\n 99,\n 99,\n 99,\n 99,\n 18,\n 21,\n 26,\n 66,\n 99,\n 99,\n 99,\n 99,\n 24,\n 26,\n 56,\n 99,\n 99,\n 99,\n 99,\n 99,\n 47,\n 66,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99,\n 99\n ];\n for (var j = 0; j < 64; j++) {\n var u = ffloor((UVQT[j] * sf + 50) / 100);\n u = Math.min(Math.max(u, 1), 255);\n UVTable[ZigZag[j]] = u;\n }\n var aasf = [\n 1.0,\n 1.387039845,\n 1.306562965,\n 1.175875602,\n 1.0,\n 0.785694958,\n 0.5411961,\n 0.275899379\n ];\n var k = 0;\n for (var row = 0; row < 8; row++) {\n for (var col = 0; col < 8; col++) {\n fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0);\n k++;\n }\n }\n }\n\n function computeHuffmanTbl(nrcodes, std_table) {\n var codevalue = 0;\n var pos_in_table = 0;\n var HT = new Array();\n for (var k = 1; k <= 16; k++) {\n for (var j = 1; j <= nrcodes[k]; j++) {\n HT[std_table[pos_in_table]] = [];\n HT[std_table[pos_in_table]][0] = codevalue;\n HT[std_table[pos_in_table]][1] = k;\n pos_in_table++;\n codevalue++;\n }\n codevalue *= 2;\n }\n return HT;\n }\n\n function initHuffmanTbl() {\n YDC_HT = computeHuffmanTbl(\n std_dc_luminance_nrcodes,\n std_dc_luminance_values\n );\n UVDC_HT = computeHuffmanTbl(\n std_dc_chrominance_nrcodes,\n std_dc_chrominance_values\n );\n YAC_HT = computeHuffmanTbl(\n std_ac_luminance_nrcodes,\n std_ac_luminance_values\n );\n UVAC_HT = computeHuffmanTbl(\n std_ac_chrominance_nrcodes,\n std_ac_chrominance_values\n );\n }\n\n function initCategoryNumber() {\n var nrlower = 1;\n var nrupper = 2;\n for (var cat = 1; cat <= 15; cat++) {\n //Positive numbers\n for (var nr = nrlower; nr < nrupper; nr++) {\n category[32767 + nr] = cat;\n bitcode[32767 + nr] = [];\n bitcode[32767 + nr][1] = cat;\n bitcode[32767 + nr][0] = nr;\n }\n //Negative numbers\n for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) {\n category[32767 + nrneg] = cat;\n bitcode[32767 + nrneg] = [];\n bitcode[32767 + nrneg][1] = cat;\n bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg;\n }\n nrlower <<= 1;\n nrupper <<= 1;\n }\n }\n\n function initRGBYUVTable() {\n for (var i = 0; i < 256; i++) {\n RGB_YUV_TABLE[i] = 19595 * i;\n RGB_YUV_TABLE[(i + 256) >> 0] = 38470 * i;\n RGB_YUV_TABLE[(i + 512) >> 0] = 7471 * i + 0x8000;\n RGB_YUV_TABLE[(i + 768) >> 0] = -11059 * i;\n RGB_YUV_TABLE[(i + 1024) >> 0] = -21709 * i;\n RGB_YUV_TABLE[(i + 1280) >> 0] = 32768 * i + 0x807fff;\n RGB_YUV_TABLE[(i + 1536) >> 0] = -27439 * i;\n RGB_YUV_TABLE[(i + 1792) >> 0] = -5329 * i;\n }\n }\n\n // IO functions\n function writeBits(bs) {\n var value = bs[0];\n var posval = bs[1] - 1;\n while (posval >= 0) {\n if (value & (1 << posval)) {\n bytenew |= 1 << bytepos;\n }\n posval--;\n bytepos--;\n if (bytepos < 0) {\n if (bytenew == 0xff) {\n writeByte(0xff);\n writeByte(0);\n } else {\n writeByte(bytenew);\n }\n bytepos = 7;\n bytenew = 0;\n }\n }\n }\n\n function writeByte(value) {\n //byteout.push(clt[value]); // write char directly instead of converting later\n byteout.push(value);\n }\n\n function writeWord(value) {\n writeByte((value >> 8) & 0xff);\n writeByte(value & 0xff);\n }\n\n // DCT & quantization core\n function fDCTQuant(data, fdtbl) {\n var d0, d1, d2, d3, d4, d5, d6, d7;\n /* Pass 1: process rows. */\n var dataOff = 0;\n var i;\n var I8 = 8;\n var I64 = 64;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 1];\n d2 = data[dataOff + 2];\n d3 = data[dataOff + 3];\n d4 = data[dataOff + 4];\n d5 = data[dataOff + 5];\n d6 = data[dataOff + 6];\n d7 = data[dataOff + 7];\n\n var tmp0 = d0 + d7;\n var tmp7 = d0 - d7;\n var tmp1 = d1 + d6;\n var tmp6 = d1 - d6;\n var tmp2 = d2 + d5;\n var tmp5 = d2 - d5;\n var tmp3 = d3 + d4;\n var tmp4 = d3 - d4;\n\n /* Even part */\n var tmp10 = tmp0 + tmp3; /* phase 2 */\n var tmp13 = tmp0 - tmp3;\n var tmp11 = tmp1 + tmp2;\n var tmp12 = tmp1 - tmp2;\n\n data[dataOff] = tmp10 + tmp11; /* phase 3 */\n data[dataOff + 4] = tmp10 - tmp11;\n\n var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */\n data[dataOff + 2] = tmp13 + z1; /* phase 5 */\n data[dataOff + 6] = tmp13 - z1;\n\n /* Odd part */\n tmp10 = tmp4 + tmp5; /* phase 2 */\n tmp11 = tmp5 + tmp6;\n tmp12 = tmp6 + tmp7;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */\n var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */\n var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */\n var z3 = tmp11 * 0.707106781; /* c4 */\n\n var z11 = tmp7 + z3; /* phase 5 */\n var z13 = tmp7 - z3;\n\n data[dataOff + 5] = z13 + z2; /* phase 6 */\n data[dataOff + 3] = z13 - z2;\n data[dataOff + 1] = z11 + z4;\n data[dataOff + 7] = z11 - z4;\n\n dataOff += 8; /* advance pointer to next row */\n }\n\n /* Pass 2: process columns. */\n dataOff = 0;\n for (i = 0; i < I8; ++i) {\n d0 = data[dataOff];\n d1 = data[dataOff + 8];\n d2 = data[dataOff + 16];\n d3 = data[dataOff + 24];\n d4 = data[dataOff + 32];\n d5 = data[dataOff + 40];\n d6 = data[dataOff + 48];\n d7 = data[dataOff + 56];\n\n var tmp0p2 = d0 + d7;\n var tmp7p2 = d0 - d7;\n var tmp1p2 = d1 + d6;\n var tmp6p2 = d1 - d6;\n var tmp2p2 = d2 + d5;\n var tmp5p2 = d2 - d5;\n var tmp3p2 = d3 + d4;\n var tmp4p2 = d3 - d4;\n\n /* Even part */\n var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */\n var tmp13p2 = tmp0p2 - tmp3p2;\n var tmp11p2 = tmp1p2 + tmp2p2;\n var tmp12p2 = tmp1p2 - tmp2p2;\n\n data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */\n data[dataOff + 32] = tmp10p2 - tmp11p2;\n\n var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */\n data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */\n data[dataOff + 48] = tmp13p2 - z1p2;\n\n /* Odd part */\n tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */\n tmp11p2 = tmp5p2 + tmp6p2;\n tmp12p2 = tmp6p2 + tmp7p2;\n\n /* The rotator is modified from fig 4-8 to avoid extra negations. */\n var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */\n var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */\n var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */\n var z3p2 = tmp11p2 * 0.707106781; /* c4 */\n\n var z11p2 = tmp7p2 + z3p2; /* phase 5 */\n var z13p2 = tmp7p2 - z3p2;\n\n data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */\n data[dataOff + 24] = z13p2 - z2p2;\n data[dataOff + 8] = z11p2 + z4p2;\n data[dataOff + 56] = z11p2 - z4p2;\n\n dataOff++; /* advance pointer to next column */\n }\n\n // Quantize/descale the coefficients\n var fDCTQuant;\n for (i = 0; i < I64; ++i) {\n // Apply the quantization and scaling factor & Round to nearest integer\n fDCTQuant = data[i] * fdtbl[i];\n outputfDCTQuant[i] =\n fDCTQuant > 0.0 ? (fDCTQuant + 0.5) | 0 : (fDCTQuant - 0.5) | 0;\n //outputfDCTQuant[i] = fround(fDCTQuant);\n }\n return outputfDCTQuant;\n }\n\n function writeAPP0() {\n writeWord(0xffe0); // marker\n writeWord(16); // length\n writeByte(0x4a); // J\n writeByte(0x46); // F\n writeByte(0x49); // I\n writeByte(0x46); // F\n writeByte(0); // = \"JFIF\",'\\0'\n writeByte(1); // versionhi\n writeByte(1); // versionlo\n writeByte(0); // xyunits\n writeWord(1); // xdensity\n writeWord(1); // ydensity\n writeByte(0); // thumbnwidth\n writeByte(0); // thumbnheight\n }\n\n function writeSOF0(width, height) {\n writeWord(0xffc0); // marker\n writeWord(17); // length, truecolor YUV JPG\n writeByte(8); // precision\n writeWord(height);\n writeWord(width);\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0x11); // HVY\n writeByte(0); // QTY\n writeByte(2); // IdU\n writeByte(0x11); // HVU\n writeByte(1); // QTU\n writeByte(3); // IdV\n writeByte(0x11); // HVV\n writeByte(1); // QTV\n }\n\n function writeDQT() {\n writeWord(0xffdb); // marker\n writeWord(132); // length\n writeByte(0);\n for (var i = 0; i < 64; i++) {\n writeByte(YTable[i]);\n }\n writeByte(1);\n for (var j = 0; j < 64; j++) {\n writeByte(UVTable[j]);\n }\n }\n\n function writeDHT() {\n writeWord(0xffc4); // marker\n writeWord(0x01a2); // length\n\n writeByte(0); // HTYDCinfo\n for (var i = 0; i < 16; i++) {\n writeByte(std_dc_luminance_nrcodes[i + 1]);\n }\n for (var j = 0; j <= 11; j++) {\n writeByte(std_dc_luminance_values[j]);\n }\n\n writeByte(0x10); // HTYACinfo\n for (var k = 0; k < 16; k++) {\n writeByte(std_ac_luminance_nrcodes[k + 1]);\n }\n for (var l = 0; l <= 161; l++) {\n writeByte(std_ac_luminance_values[l]);\n }\n\n writeByte(1); // HTUDCinfo\n for (var m = 0; m < 16; m++) {\n writeByte(std_dc_chrominance_nrcodes[m + 1]);\n }\n for (var n = 0; n <= 11; n++) {\n writeByte(std_dc_chrominance_values[n]);\n }\n\n writeByte(0x11); // HTUACinfo\n for (var o = 0; o < 16; o++) {\n writeByte(std_ac_chrominance_nrcodes[o + 1]);\n }\n for (var p = 0; p <= 161; p++) {\n writeByte(std_ac_chrominance_values[p]);\n }\n }\n\n function writeSOS() {\n writeWord(0xffda); // marker\n writeWord(12); // length\n writeByte(3); // nrofcomponents\n writeByte(1); // IdY\n writeByte(0); // HTY\n writeByte(2); // IdU\n writeByte(0x11); // HTU\n writeByte(3); // IdV\n writeByte(0x11); // HTV\n writeByte(0); // Ss\n writeByte(0x3f); // Se\n writeByte(0); // Bf\n }\n\n function processDU(CDU, fdtbl, DC, HTDC, HTAC) {\n var EOB = HTAC[0x00];\n var M16zeroes = HTAC[0xf0];\n var pos;\n var I16 = 16;\n var I63 = 63;\n var I64 = 64;\n var DU_DCT = fDCTQuant(CDU, fdtbl);\n //ZigZag reorder\n for (var j = 0; j < I64; ++j) {\n DU[ZigZag[j]] = DU_DCT[j];\n }\n var Diff = DU[0] - DC;\n DC = DU[0];\n //Encode DC\n if (Diff == 0) {\n writeBits(HTDC[0]); // Diff might be 0\n } else {\n pos = 32767 + Diff;\n writeBits(HTDC[category[pos]]);\n writeBits(bitcode[pos]);\n }\n //Encode ACs\n var end0pos = 63; // was const... which is crazy\n while (end0pos > 0 && DU[end0pos] == 0) {\n end0pos--;\n }\n //end0pos = first element in reverse order !=0\n if (end0pos == 0) {\n writeBits(EOB);\n return DC;\n }\n var i = 1;\n var lng;\n while (i <= end0pos) {\n var startpos = i;\n while (DU[i] == 0 && i <= end0pos) {\n ++i;\n }\n var nrzeroes = i - startpos;\n if (nrzeroes >= I16) {\n lng = nrzeroes >> 4;\n for (var nrmarker = 1; nrmarker <= lng; ++nrmarker)\n writeBits(M16zeroes);\n nrzeroes = nrzeroes & 0xf;\n }\n pos = 32767 + DU[i];\n writeBits(HTAC[(nrzeroes << 4) + category[pos]]);\n writeBits(bitcode[pos]);\n i++;\n }\n if (end0pos != I63) {\n writeBits(EOB);\n }\n return DC;\n }\n\n function initCharLookupTable() {\n var sfcc = String.fromCharCode;\n for (var i = 0; i < 256; i++) {\n ///// ACHTUNG // 255\n clt[i] = sfcc(i);\n }\n }\n\n this.encode = function(\n image,\n quality // image data object\n ) {\n if (quality) setQuality(quality);\n\n // Initialize bit writer\n byteout = new Array();\n bytenew = 0;\n bytepos = 7;\n\n // Add JPEG headers\n writeWord(0xffd8); // SOI\n writeAPP0();\n writeDQT();\n writeSOF0(image.width, image.height);\n writeDHT();\n writeSOS();\n\n // Encode 8x8 macroblocks\n var DCY = 0;\n var DCU = 0;\n var DCV = 0;\n\n bytenew = 0;\n bytepos = 7;\n\n this.encode.displayName = \"_encode_\";\n\n var imageData = image.data;\n var width = image.width;\n var height = image.height;\n\n var quadWidth = width * 4;\n\n var x,\n y = 0;\n var r, g, b;\n var start, p, col, row, pos;\n while (y < height) {\n x = 0;\n while (x < quadWidth) {\n start = quadWidth * y + x;\n col = -1;\n row = 0;\n\n for (pos = 0; pos < 64; pos++) {\n row = pos >> 3; // /8\n col = (pos & 7) * 4; // %8\n p = start + row * quadWidth + col;\n\n if (y + row >= height) {\n // padding bottom\n p -= quadWidth * (y + 1 + row - height);\n }\n\n if (x + col >= quadWidth) {\n // padding right\n p -= x + col - quadWidth + 4;\n }\n\n r = imageData[p++];\n g = imageData[p++];\n b = imageData[p++];\n\n /* // calculate YUV values dynamically\n\t\t\t\t\tYDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80\n\t\t\t\t\tUDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b));\n\t\t\t\t\tVDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b));\n\t\t\t\t\t*/\n\n // use lookup table (slightly faster)\n YDU[pos] =\n ((RGB_YUV_TABLE[r] +\n RGB_YUV_TABLE[(g + 256) >> 0] +\n RGB_YUV_TABLE[(b + 512) >> 0]) >>\n 16) -\n 128;\n UDU[pos] =\n ((RGB_YUV_TABLE[(r + 768) >> 0] +\n RGB_YUV_TABLE[(g + 1024) >> 0] +\n RGB_YUV_TABLE[(b + 1280) >> 0]) >>\n 16) -\n 128;\n VDU[pos] =\n ((RGB_YUV_TABLE[(r + 1280) >> 0] +\n RGB_YUV_TABLE[(g + 1536) >> 0] +\n RGB_YUV_TABLE[(b + 1792) >> 0]) >>\n 16) -\n 128;\n }\n\n DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT);\n DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT);\n DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT);\n x += 32;\n }\n y += 8;\n }\n\n ////////////////////////////////////////////////////////////////\n\n // Do the bit alignment of the EOI marker\n if (bytepos >= 0) {\n var fillbits = [];\n fillbits[1] = bytepos + 1;\n fillbits[0] = (1 << (bytepos + 1)) - 1;\n writeBits(fillbits);\n }\n\n writeWord(0xffd9); //EOI\n\n return new Uint8Array(byteout);\n };\n\n function setQuality(quality) {\n quality = Math.min(Math.max(quality, 1), 100);\n\n if (currentQuality == quality) return; // don't recalc if unchanged\n\n var sf =\n quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2);\n\n initQuantTables(sf);\n currentQuality = quality;\n //console.log('Quality set to: '+quality +'%');\n }\n\n function init() {\n quality = quality || 50;\n // Create tables\n initCharLookupTable();\n initHuffmanTbl();\n initCategoryNumber();\n initRGBYUVTable();\n\n setQuality(quality);\n }\n init();\n}\n\nexport { JPEGEncoder };\n","/**\n * @author shaozilee\n *\n * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp\n *\n */\n\nimport { console } from \"./console.js\";\n\nfunction BmpDecoder(buffer, is_with_alpha) {\n this.pos = 0;\n this.buffer = buffer;\n this.datav = new DataView(buffer.buffer);\n this.is_with_alpha = !!is_with_alpha;\n this.bottom_up = true;\n this.flag =\n String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]);\n this.pos += 2;\n if ([\"BM\", \"BA\", \"CI\", \"CP\", \"IC\", \"PT\"].indexOf(this.flag) === -1)\n throw new Error(\"Invalid BMP File\");\n this.parseHeader();\n this.parseBGR();\n}\n\nBmpDecoder.prototype.parseHeader = function() {\n this.fileSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.reserved = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.offset = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.headerSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.width = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.height = this.datav.getInt32(this.pos, true);\n this.pos += 4;\n this.planes = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.bitPP = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n this.compress = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.rawSize = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.hr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.vr = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.colors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n this.importantColors = this.datav.getUint32(this.pos, true);\n this.pos += 4;\n\n if (this.bitPP === 16 && this.is_with_alpha) {\n this.bitPP = 15;\n }\n if (this.bitPP < 15) {\n var len = this.colors === 0 ? 1 << this.bitPP : this.colors;\n this.palette = new Array(len);\n for (var i = 0; i < len; i++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var quad = this.datav.getUint8(this.pos++, true);\n this.palette[i] = {\n red: red,\n green: green,\n blue: blue,\n quad: quad\n };\n }\n }\n if (this.height < 0) {\n this.height *= -1;\n this.bottom_up = false;\n }\n};\n\nBmpDecoder.prototype.parseBGR = function() {\n this.pos = this.offset;\n try {\n var bitn = \"bit\" + this.bitPP;\n var len = this.width * this.height * 4;\n this.data = new Uint8Array(len);\n\n this[bitn]();\n } catch (e) {\n console.log(\"bit decode error:\" + e);\n }\n};\n\nBmpDecoder.prototype.bit1 = function() {\n var xlen = Math.ceil(this.width / 8);\n var mode = xlen % 4;\n var y;\n for (y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 8 * 4;\n for (var i = 0; i < 8; i++) {\n if (x * 8 + i < this.width) {\n var rgb = this.palette[(b >> (7 - i)) & 0x1];\n this.data[location + i * 4] = rgb.blue;\n this.data[location + i * 4 + 1] = rgb.green;\n this.data[location + i * 4 + 2] = rgb.red;\n this.data[location + i * 4 + 3] = 0xff;\n } else {\n break;\n }\n }\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit4 = function() {\n var xlen = Math.ceil(this.width / 2);\n var mode = xlen % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < xlen; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 2 * 4;\n\n var before = b >> 4;\n var after = b & 0x0f;\n\n var rgb = this.palette[before];\n this.data[location] = rgb.blue;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.red;\n this.data[location + 3] = 0xff;\n\n if (x * 2 + 1 >= this.width) break;\n\n rgb = this.palette[after];\n this.data[location + 4] = rgb.blue;\n this.data[location + 4 + 1] = rgb.green;\n this.data[location + 4 + 2] = rgb.red;\n this.data[location + 4 + 3] = 0xff;\n }\n\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit8 = function() {\n var mode = this.width % 4;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var b = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n if (b < this.palette.length) {\n var rgb = this.palette[b];\n this.data[location] = rgb.red;\n this.data[location + 1] = rgb.green;\n this.data[location + 2] = rgb.blue;\n this.data[location + 3] = 0xff;\n } else {\n this.data[location] = 0xff;\n this.data[location + 1] = 0xff;\n this.data[location + 2] = 0xff;\n this.data[location + 3] = 0xff;\n }\n }\n if (mode !== 0) {\n this.pos += 4 - mode;\n }\n }\n};\n\nBmpDecoder.prototype.bit15 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_5) / _1_5) * 255) | 0;\n var red = ((((B >> 10) & _1_5) / _1_5) * 255) | 0;\n var alpha = B >> 15 ? 0xff : 0x00;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit16 = function() {\n var dif_w = this.width % 3;\n var _11111 = parseInt(\"11111\", 2),\n _1_5 = _11111;\n var _111111 = parseInt(\"111111\", 2),\n _1_6 = _111111;\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var B = this.datav.getUint16(this.pos, true);\n this.pos += 2;\n var alpha = 0xff;\n var blue = (((B & _1_5) / _1_5) * 255) | 0;\n var green = ((((B >> 5) & _1_6) / _1_6) * 255) | 0;\n var red = (((B >> 11) / _1_5) * 255) | 0;\n\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n this.pos += dif_w;\n }\n};\n\nBmpDecoder.prototype.bit24 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = 0xff;\n }\n //skip extra bytes\n this.pos += this.width % 4;\n }\n};\n\n/**\n * add 32bit decode func\n * @author soubok\n */\nBmpDecoder.prototype.bit32 = function() {\n //when height > 0\n for (var y = this.height - 1; y >= 0; y--) {\n var line = this.bottom_up ? y : this.height - 1 - y;\n for (var x = 0; x < this.width; x++) {\n var blue = this.datav.getUint8(this.pos++, true);\n var green = this.datav.getUint8(this.pos++, true);\n var red = this.datav.getUint8(this.pos++, true);\n var alpha = this.datav.getUint8(this.pos++, true);\n var location = line * this.width * 4 + x * 4;\n this.data[location] = red;\n this.data[location + 1] = green;\n this.data[location + 2] = blue;\n this.data[location + 3] = alpha;\n }\n //skip extra bytes\n //this.pos += (this.width % 4);\n }\n};\n\nBmpDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { BmpDecoder };\n","function WebPDecoder(imageData) {\n /** @license\n * Copyright 2011 Google Inc.\n *\n * This code is licensed under the same terms as WebM:\n * Software License Agreement: http://www.webmproject.org/license/software/\n * Additional IP Rights Grant: http://www.webmproject.org/license/additional/\n * -----------------------------------------------------------------------------\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\n * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\n * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY\n * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,\n * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * -----------------------------------------------------------------------------\n *\n * Copyright 2011-2017 Dominik Homberger\n * Libwebp Javascript / libwebpjs - the libwebp implementation in javascript (v0.6.0)\n *\n * Author: Dominik Homberger (dominik.homberger@gmail.com)\n */\n\n var self = this;\n var UpsampleRgbLinePair,\n UpsampleBgrLinePair,\n UpsampleRgbaLinePair,\n UpsampleBgraLinePair,\n UpsampleArgbLinePair,\n UpsampleArgbLinePair,\n UpsampleRgba4444LinePair,\n UpsampleRgb565LinePair;\n\n function x(F) {\n if (!F) throw Error(\"assert :P\");\n }\n function fa(F, L, J) {\n for (var H = 0; 4 > H; H++) if (F[L + H] != J.charCodeAt(H)) return !0;\n return !1;\n }\n function I(F, L, J, H, Z) {\n for (var O = 0; O < Z; O++) F[L + O] = J[H + O];\n }\n function M(F, L, J, H) {\n for (var Z = 0; Z < H; Z++) F[L + Z] = J;\n }\n function V(F) {\n return new Int32Array(F);\n }\n function wa(F, L) {\n for (var J = [], H = 0; H < F; H++) J.push(new L());\n return J;\n }\n function wb() {\n function F(J, H, Z) {\n for (var O = Z[H], L = 0; L < O; L++) {\n J.push(Z.length > H + 1 ? [] : 0);\n if (Z.length < H + 1) break;\n F(J[L], H + 1, Z);\n }\n }\n var L = [];\n F(L, 0, [3, 11]);\n return L;\n }\n function Ed(F, L) {\n function J(H, O, F) {\n for (var Z = F[O], ma = 0; ma < Z; ma++) {\n H.push(F.length > O + 1 ? [] : new L());\n if (F.length < O + 1) break;\n J(H[ma], O + 1, F);\n }\n }\n var H = [];\n J(H, 0, F);\n return H;\n }\n var _WebPDecoder = function() {\n var self = this;\n function F() {\n V(55);\n }\n function L(a, b) {\n for (var c = (1 << (b - 1)) >>> 0; a & c; ) c >>>= 1;\n return c ? (a & (c - 1)) + c : a;\n }\n function J(a, b, c, d, e) {\n x(!(d % c));\n do (d -= c), (a[b + d] = e);\n while (0 < d);\n }\n function H(a, b, c, d, e, f) {\n var g = b,\n h = 1 << c,\n k,\n l,\n m = V(16),\n n = V(16);\n x(0 != e);\n x(null != d);\n x(null != a);\n x(0 < c);\n for (l = 0; l < e; ++l) {\n if (15 < d[l]) return 0;\n ++m[d[l]];\n }\n if (m[0] == e) return 0;\n n[1] = 0;\n for (k = 1; 15 > k; ++k) {\n if (m[k] > 1 << k) return 0;\n n[k + 1] = n[k] + m[k];\n }\n for (l = 0; l < e; ++l) (k = d[l]), 0 < d[l] && (f[n[k]++] = l);\n if (1 == n[15])\n return (d = new O()), (d.g = 0), (d.value = f[0]), J(a, g, 1, h, d), h;\n var r = -1,\n q = h - 1,\n t = 0,\n v = 1,\n p = 1,\n u,\n w = 1 << c;\n l = 0;\n k = 1;\n for (e = 2; k <= c; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k])\n (d = new O()),\n (d.g = k),\n (d.value = f[l++]),\n J(a, g + t, e, w, d),\n (t = L(t, k));\n }\n k = c + 1;\n for (e = 2; 15 >= k; ++k, e <<= 1) {\n p <<= 1;\n v += p;\n p -= m[k];\n if (0 > p) return 0;\n for (; 0 < m[k]; --m[k]) {\n d = new O();\n if ((t & q) != r) {\n g += w;\n r = k;\n for (u = 1 << (r - c); 15 > r; ) {\n u -= m[r];\n if (0 >= u) break;\n ++r;\n u <<= 1;\n }\n u = r - c;\n w = 1 << u;\n h += w;\n r = t & q;\n a[b + r].g = u + c;\n a[b + r].value = g - b - r;\n }\n d.g = k - c;\n d.value = f[l++];\n J(a, g + (t >> c), e, w, d);\n t = L(t, k);\n }\n }\n return v != 2 * n[15] - 1 ? 0 : h;\n }\n function Z(a, b, c, d, e) {\n x(2328 >= e);\n if (512 >= e) var f = V(512);\n else if (((f = V(e)), null == f)) return 0;\n return H(a, b, c, d, e, f);\n }\n function O() {\n this.value = this.g = 0;\n }\n function Fd() {\n this.value = this.g = 0;\n }\n function Ub() {\n this.G = wa(5, O);\n this.H = V(5);\n this.jc = this.Qb = this.qb = this.nd = 0;\n this.pd = wa(xb, Fd);\n }\n function ma(a, b, c, d) {\n x(null != a);\n x(null != b);\n x(2147483648 > d);\n a.Ca = 254;\n a.I = 0;\n a.b = -8;\n a.Ka = 0;\n a.oa = b;\n a.pa = c;\n a.Jd = b;\n a.Yc = c + d;\n a.Zc = 4 <= d ? c + d - 4 + 1 : c;\n Qa(a);\n }\n function na(a, b) {\n for (var c = 0; 0 < b--; ) c |= K(a, 128) << b;\n return c;\n }\n function ca(a, b) {\n var c = na(a, b);\n return G(a) ? -c : c;\n }\n function cb(a, b, c, d) {\n var e,\n f = 0;\n x(null != a);\n x(null != b);\n x(4294967288 > d);\n a.Sb = d;\n a.Ra = 0;\n a.u = 0;\n a.h = 0;\n 4 < d && (d = 4);\n for (e = 0; e < d; ++e) f += b[c + e] << (8 * e);\n a.Ra = f;\n a.bb = d;\n a.oa = b;\n a.pa = c;\n }\n function Vb(a) {\n for (; 8 <= a.u && a.bb < a.Sb; )\n (a.Ra >>>= 8),\n (a.Ra += (a.oa[a.pa + a.bb] << (ob - 8)) >>> 0),\n ++a.bb,\n (a.u -= 8);\n db(a) && ((a.h = 1), (a.u = 0));\n }\n function D(a, b) {\n x(0 <= b);\n if (!a.h && b <= Gd) {\n var c = pb(a) & Hd[b];\n a.u += b;\n Vb(a);\n return c;\n }\n a.h = 1;\n return (a.u = 0);\n }\n function Wb() {\n this.b = this.Ca = this.I = 0;\n this.oa = [];\n this.pa = 0;\n this.Jd = [];\n this.Yc = 0;\n this.Zc = [];\n this.Ka = 0;\n }\n function Ra() {\n this.Ra = 0;\n this.oa = [];\n this.h = this.u = this.bb = this.Sb = this.pa = 0;\n }\n function pb(a) {\n return (a.Ra >>> (a.u & (ob - 1))) >>> 0;\n }\n function db(a) {\n x(a.bb <= a.Sb);\n return a.h || (a.bb == a.Sb && a.u > ob);\n }\n function qb(a, b) {\n a.u = b;\n a.h = db(a);\n }\n function Sa(a) {\n a.u >= Xb && (x(a.u >= Xb), Vb(a));\n }\n function Qa(a) {\n x(null != a && null != a.oa);\n a.pa < a.Zc\n ? ((a.I = (a.oa[a.pa++] | (a.I << 8)) >>> 0), (a.b += 8))\n : (x(null != a && null != a.oa),\n a.pa < a.Yc\n ? ((a.b += 8), (a.I = a.oa[a.pa++] | (a.I << 8)))\n : a.Ka\n ? (a.b = 0)\n : ((a.I <<= 8), (a.b += 8), (a.Ka = 1)));\n }\n function G(a) {\n return na(a, 1);\n }\n function K(a, b) {\n var c = a.Ca;\n 0 > a.b && Qa(a);\n var d = a.b,\n e = (c * b) >>> 8,\n f = (a.I >>> d > e) + 0;\n f ? ((c -= e), (a.I -= ((e + 1) << d) >>> 0)) : (c = e + 1);\n d = c;\n for (e = 0; 256 <= d; ) (e += 8), (d >>= 8);\n d = 7 ^ (e + Id[d]);\n a.b -= d;\n a.Ca = (c << d) - 1;\n return f;\n }\n function ra(a, b, c) {\n a[b + 0] = (c >> 24) & 255;\n a[b + 1] = (c >> 16) & 255;\n a[b + 2] = (c >> 8) & 255;\n a[b + 3] = (c >> 0) & 255;\n }\n function Ta(a, b) {\n return (a[b + 0] << 0) | (a[b + 1] << 8);\n }\n function Yb(a, b) {\n return Ta(a, b) | (a[b + 2] << 16);\n }\n function Ha(a, b) {\n return Ta(a, b) | (Ta(a, b + 2) << 16);\n }\n function Zb(a, b) {\n var c = 1 << b;\n x(null != a);\n x(0 < b);\n a.X = V(c);\n if (null == a.X) return 0;\n a.Mb = 32 - b;\n a.Xa = b;\n return 1;\n }\n function $b(a, b) {\n x(null != a);\n x(null != b);\n x(a.Xa == b.Xa);\n I(b.X, 0, a.X, 0, 1 << b.Xa);\n }\n function ac() {\n this.X = [];\n this.Xa = this.Mb = 0;\n }\n function bc(a, b, c, d) {\n x(null != c);\n x(null != d);\n var e = c[0],\n f = d[0];\n 0 == e && (e = (a * f + b / 2) / b);\n 0 == f && (f = (b * e + a / 2) / a);\n if (0 >= e || 0 >= f) return 0;\n c[0] = e;\n d[0] = f;\n return 1;\n }\n function xa(a, b) {\n return (a + (1 << b) - 1) >>> b;\n }\n function yb(a, b) {\n return (\n (((((a & 4278255360) + (b & 4278255360)) >>> 0) & 4278255360) +\n ((((a & 16711935) + (b & 16711935)) >>> 0) & 16711935)) >>>\n 0\n );\n }\n function X(a, b) {\n self[b] = function(b, d, e, f, g, h, k) {\n var c;\n for (c = 0; c < g; ++c) {\n var m = self[a](h[k + c - 1], e, f + c);\n h[k + c] = yb(b[d + c], m);\n }\n };\n }\n function Jd() {\n this.ud = this.hd = this.jd = 0;\n }\n function aa(a, b) {\n return ((((a ^ b) & 4278124286) >>> 1) + (a & b)) >>> 0;\n }\n function sa(a) {\n if (0 <= a && 256 > a) return a;\n if (0 > a) return 0;\n if (255 < a) return 255;\n }\n function eb(a, b) {\n return sa(a + ((a - b + 0.5) >> 1));\n }\n function Ia(a, b, c) {\n return Math.abs(b - c) - Math.abs(a - c);\n }\n function cc(a, b, c, d, e, f, g) {\n d = f[g - 1];\n for (c = 0; c < e; ++c) f[g + c] = d = yb(a[b + c], d);\n }\n function Kd(a, b, c, d, e) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + f],\n h = (g >> 8) & 255,\n k = g & 16711935,\n k = k + ((h << 16) + h),\n k = k & 16711935;\n d[e + f] = ((g & 4278255360) + k) >>> 0;\n }\n }\n function dc(a, b) {\n b.jd = (a >> 0) & 255;\n b.hd = (a >> 8) & 255;\n b.ud = (a >> 16) & 255;\n }\n function Ld(a, b, c, d, e, f) {\n var g;\n for (g = 0; g < d; ++g) {\n var h = b[c + g],\n k = h >>> 8,\n l = h >>> 16,\n m = h,\n l = l + ((((a.jd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n l = l & 255,\n m = m + ((((a.hd << 24) >> 24) * ((k << 24) >> 24)) >>> 5),\n m = m + ((((a.ud << 24) >> 24) * ((l << 24) >> 24)) >>> 5),\n m = m & 255;\n e[f + g] = (h & 4278255360) + (l << 16) + m;\n }\n }\n function ec(a, b, c, d, e) {\n self[b] = function(a, b, c, k, l, m, n, r, q) {\n for (k = n; k < r; ++k)\n for (n = 0; n < q; ++n) l[m++] = e(c[d(a[b++])]);\n };\n self[a] = function(a, b, h, k, l, m, n) {\n var f = 8 >> a.b,\n g = a.Ea,\n t = a.K[0],\n v = a.w;\n if (8 > f)\n for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) {\n var p = 0,\n u;\n for (u = 0; u < g; ++u)\n u & a || (p = d(k[l++])), (m[n++] = e(t[p & v])), (p >>= f);\n }\n else self[\"VP8LMapColor\" + c](k, l, t, v, m, n, b, h, g);\n };\n }\n function Md(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n }\n }\n function Nd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 16) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 24) & 255;\n }\n }\n function Od(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 240) | ((f >> 12) & 15),\n f = ((f >> 0) & 240) | ((f >> 28) & 15);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Pd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++],\n g = ((f >> 16) & 248) | ((f >> 13) & 7),\n f = ((f >> 5) & 224) | ((f >> 3) & 31);\n d[e++] = g;\n d[e++] = f;\n }\n }\n function Qd(a, b, c, d, e) {\n for (c = b + c; b < c; ) {\n var f = a[b++];\n d[e++] = (f >> 0) & 255;\n d[e++] = (f >> 8) & 255;\n d[e++] = (f >> 16) & 255;\n }\n }\n function fb(a, b, c, d, e, f) {\n if (0 == f)\n for (c = b + c; b < c; )\n (f = a[b++]),\n ra(\n d,\n ((f[0] >> 24) |\n ((f[1] >> 8) & 65280) |\n ((f[2] << 8) & 16711680) |\n (f[3] << 24)) >>>\n 0\n ),\n (e += 32);\n else I(d, e, a, b, c);\n }\n function gb(a, b) {\n self[b][0] = self[a + \"0\"];\n self[b][1] = self[a + \"1\"];\n self[b][2] = self[a + \"2\"];\n self[b][3] = self[a + \"3\"];\n self[b][4] = self[a + \"4\"];\n self[b][5] = self[a + \"5\"];\n self[b][6] = self[a + \"6\"];\n self[b][7] = self[a + \"7\"];\n self[b][8] = self[a + \"8\"];\n self[b][9] = self[a + \"9\"];\n self[b][10] = self[a + \"10\"];\n self[b][11] = self[a + \"11\"];\n self[b][12] = self[a + \"12\"];\n self[b][13] = self[a + \"13\"];\n self[b][14] = self[a + \"0\"];\n self[b][15] = self[a + \"0\"];\n }\n function hb(a) {\n return a == zb || a == Ab || a == Ja || a == Bb;\n }\n function Rd() {\n this.eb = [];\n this.size = this.A = this.fb = 0;\n }\n function Sd() {\n this.y = [];\n this.f = [];\n this.ea = [];\n this.F = [];\n this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0;\n }\n function Cb() {\n this.Rd = this.height = this.width = this.S = 0;\n this.f = {};\n this.f.RGBA = new Rd();\n this.f.kb = new Sd();\n this.sd = null;\n }\n function Td() {\n this.width = [0];\n this.height = [0];\n this.Pd = [0];\n this.Qd = [0];\n this.format = [0];\n }\n function Ud() {\n this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0;\n }\n function Vd(a) {\n alert(\"todo:WebPSamplerProcessPlane\");\n return a.T;\n }\n function Wd(a, b) {\n var c = a.T,\n d = b.ba.f.RGBA,\n e = d.eb,\n f = d.fb + a.ka * d.A,\n g = P[b.ba.S],\n h = a.y,\n k = a.O,\n l = a.f,\n m = a.N,\n n = a.ea,\n r = a.W,\n q = b.cc,\n t = b.dc,\n v = b.Mc,\n p = b.Nc,\n u = a.ka,\n w = a.ka + a.T,\n y = a.U,\n A = (y + 1) >> 1;\n 0 == u\n ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y)\n : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y),\n ++c);\n for (; u + 2 < w; u += 2)\n (q = l),\n (t = m),\n (v = n),\n (p = r),\n (m += a.Rc),\n (r += a.Rc),\n (f += 2 * d.A),\n (k += 2 * a.fa),\n g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y);\n k += a.fa;\n a.j + w < a.o\n ? (I(b.ec, b.fc, h, k, y),\n I(b.cc, b.dc, l, m, A),\n I(b.Mc, b.Nc, n, r, A),\n c--)\n : w & 1 ||\n g(\n h,\n k,\n null,\n null,\n l,\n m,\n n,\n r,\n l,\n m,\n n,\n r,\n e,\n f + d.A,\n null,\n null,\n y\n );\n return c;\n }\n function Xd(a, b, c) {\n var d = a.F,\n e = [a.J];\n if (null != d) {\n var f = a.U,\n g = b.ba.S,\n h = g == ya || g == Ja;\n b = b.ba.f.RGBA;\n var k = [0],\n l = a.ka;\n k[0] = a.T;\n a.Kb &&\n (0 == l ? --k[0] : (--l, (e[0] -= a.width)),\n a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l));\n var m = b.eb,\n l = b.fb + l * b.A;\n a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A);\n x(c == k);\n a && hb(g) && za(m, l, h, f, k, b.A);\n }\n return 0;\n }\n function gc(a) {\n var b = a.ma,\n c = b.ba.S,\n d = 11 > c,\n e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c);\n b.memory = null;\n b.Ib = null;\n b.Jb = null;\n b.Nd = null;\n if (!hc(b.Oa, a, e ? 11 : 12)) return 0;\n e && hb(c) && ic();\n if (a.da) alert(\"todo:use_scaling\");\n else {\n if (d) {\n if (((b.Ib = Vd), a.Kb)) {\n c = (a.U + 1) >> 1;\n b.memory = V(a.U + 2 * c);\n if (null == b.memory) return 0;\n b.ec = b.memory;\n b.fc = 0;\n b.cc = b.ec;\n b.dc = b.fc + a.U;\n b.Mc = b.cc;\n b.Nc = b.dc + c;\n b.Ib = Wd;\n ic();\n }\n } else alert(\"todo:EmitYUV\");\n e && ((b.Jb = Xd), d && Aa());\n }\n if (d && !jc) {\n for (a = 0; 256 > a; ++a)\n (Yd[a] = (89858 * (a - 128) + Ba) >> Wa),\n (Zd[a] = -22014 * (a - 128) + Ba),\n ($d[a] = -45773 * (a - 128)),\n (ae[a] = (113618 * (a - 128) + Ba) >> Wa);\n for (a = ta; a < Eb; ++a)\n (b = (76283 * (a - 16) + Ba) >> Wa),\n (be[a - ta] = ga(b, 255)),\n (ce[a - ta] = ga((b + 8) >> 4, 15));\n jc = 1;\n }\n return 1;\n }\n function kc(a) {\n var b = a.ma,\n c = a.U,\n d = a.T;\n x(!(a.ka & 1));\n if (0 >= c || 0 >= d) return 0;\n c = b.Ib(a, b);\n null != b.Jb && b.Jb(a, b, c);\n b.Dc += c;\n return 1;\n }\n function lc(a) {\n a.ma.memory = null;\n }\n function mc(a, b, c, d) {\n if (47 != D(a, 8)) return 0;\n b[0] = D(a, 14) + 1;\n c[0] = D(a, 14) + 1;\n d[0] = D(a, 1);\n return 0 != D(a, 3) ? 0 : !a.h;\n }\n function ib(a, b) {\n if (4 > a) return a + 1;\n var c = (a - 2) >> 1;\n return ((2 + (a & 1)) << c) + D(b, c) + 1;\n }\n function nc(a, b) {\n if (120 < b) return b - 120;\n var c = de[b - 1],\n c = (c >> 4) * a + (8 - (c & 15));\n return 1 <= c ? c : 1;\n }\n function ua(a, b, c) {\n var d = pb(c);\n b += d & 255;\n var e = a[b].g - 8;\n 0 < e &&\n (qb(c, c.u + 8),\n (d = pb(c)),\n (b += a[b].value),\n (b += d & ((1 << e) - 1)));\n qb(c, c.u + a[b].g);\n return a[b].value;\n }\n function ub(a, b, c) {\n c.g += a.g;\n c.value += (a.value << b) >>> 0;\n x(8 >= c.g);\n return a.g;\n }\n function ha(a, b, c) {\n var d = a.xc;\n b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)];\n x(b < a.Wb);\n return a.Ya[b];\n }\n function oc(a, b, c, d) {\n var e = a.ab,\n f = a.c * b,\n g = a.C;\n b = g + b;\n var h = c,\n k = d;\n d = a.Ta;\n for (c = a.Ua; 0 < e--; ) {\n var l = a.gc[e],\n m = g,\n n = b,\n r = h,\n q = k,\n k = d,\n h = c,\n t = l.Ea;\n x(m < n);\n x(n <= l.nc);\n switch (l.hc) {\n case 2:\n pc(r, q, (n - m) * t, k, h);\n break;\n case 0:\n var v = l,\n p = m,\n u = n,\n w = k,\n y = h,\n A = v.Ea;\n 0 == p &&\n (ee(r, q, null, null, 1, w, y),\n cc(r, q + 1, 0, 0, A - 1, w, y + 1),\n (q += A),\n (y += A),\n ++p);\n for (\n var E = 1 << v.b,\n B = E - 1,\n C = xa(A, v.b),\n N = v.K,\n v = v.w + (p >> v.b) * C;\n p < u;\n\n ) {\n var z = N,\n Q = v,\n S = 1;\n for (fe(r, q, w, y - A, 1, w, y); S < A; ) {\n var K = qc[(z[Q++] >> 8) & 15],\n D = (S & ~B) + E;\n D > A && (D = A);\n K(r, q + +S, w, y + S - A, D - S, w, y + S);\n S = D;\n }\n q += A;\n y += A;\n ++p;\n p & B || (v += C);\n }\n n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t);\n break;\n case 1:\n t = r;\n u = q;\n r = l.Ea;\n q = 1 << l.b;\n w = q - 1;\n y = r & ~w;\n A = r - y;\n p = xa(r, l.b);\n E = l.K;\n for (l = l.w + (m >> l.b) * p; m < n; ) {\n B = E;\n C = l;\n N = new Jd();\n v = u + y;\n for (z = u + r; u < v; )\n dc(B[C++], N), Fb(N, t, u, q, k, h), (u += q), (h += q);\n u < z &&\n (dc(B[C++], N), Fb(N, t, u, A, k, h), (u += A), (h += A));\n ++m;\n m & w || (l += p);\n }\n break;\n case 3:\n if (r == k && q == h && 0 < l.b) {\n y = (n - m) * xa(l.Ea, l.b);\n t = h + (n - m) * t - y;\n u = k;\n r = t;\n q = k;\n w = h;\n A = y;\n p = [];\n for (y = A - 1; 0 <= y; --y) p[y] = q[w + y];\n for (y = A - 1; 0 <= y; --y) u[r + y] = p[y];\n rc(l, m, n, k, t, k, h);\n } else rc(l, m, n, r, q, k, h);\n }\n h = d;\n k = c;\n }\n k != c && I(d, c, h, k, f);\n }\n function ge(a, b) {\n var c = a.V,\n d = a.Ba + a.c * a.C,\n e = b - a.C;\n x(b <= a.l.o);\n x(16 >= e);\n if (0 < e) {\n var f = a.l,\n g = a.Ta,\n h = a.Ua,\n k = f.width;\n oc(a, e, c, d);\n h = [h];\n c = a.C;\n d = b;\n e = h;\n x(c < d);\n x(f.v < f.va);\n d > f.o && (d = f.o);\n if (c < f.j) {\n var l = f.j - c,\n c = f.j;\n e[0] += l * k;\n }\n c >= d\n ? (c = 0)\n : ((e[0] += 4 * f.v),\n (f.ka = c - f.j),\n (f.U = f.va - f.v),\n (f.T = d - c),\n (c = 1));\n if (c) {\n h = h[0];\n c = a.ca;\n if (11 > c.S) {\n for (\n var m = c.f.RGBA,\n d = c.S,\n e = f.U,\n f = f.T,\n l = m.eb,\n n = m.A,\n r = f,\n m = m.fb + a.Ma * m.A;\n 0 < r--;\n\n ) {\n var q = g,\n t = h,\n v = e,\n p = l,\n u = m;\n switch (d) {\n case Ca:\n sc(q, t, v, p, u);\n break;\n case Ua:\n Gb(q, t, v, p, u);\n break;\n case zb:\n Gb(q, t, v, p, u);\n za(p, u, 0, v, 1, 0);\n break;\n case tc:\n uc(q, t, v, p, u);\n break;\n case Va:\n fb(q, t, v, p, u, 1);\n break;\n case Ab:\n fb(q, t, v, p, u, 1);\n za(p, u, 0, v, 1, 0);\n break;\n case ya:\n fb(q, t, v, p, u, 0);\n break;\n case Ja:\n fb(q, t, v, p, u, 0);\n za(p, u, 1, v, 1, 0);\n break;\n case Db:\n Hb(q, t, v, p, u);\n break;\n case Bb:\n Hb(q, t, v, p, u);\n vc(p, u, v, 1, 0);\n break;\n case wc:\n xc(q, t, v, p, u);\n break;\n default:\n x(0);\n }\n h += k;\n m += n;\n }\n a.Ma += f;\n } else alert(\"todo:EmitRescaledRowsYUVA\");\n x(a.Ma <= c.height);\n }\n }\n a.C = b;\n x(a.C <= a.i);\n }\n function yc(a) {\n var b;\n if (0 < a.ua) return 0;\n for (b = 0; b < a.Wb; ++b) {\n var c = a.Ya[b].G,\n d = a.Ya[b].H;\n if (\n 0 < c[1][d[1] + 0].g ||\n 0 < c[2][d[2] + 0].g ||\n 0 < c[3][d[3] + 0].g\n )\n return 0;\n }\n return 1;\n }\n function zc(a, b, c, d, e, f) {\n if (0 != a.Z) {\n var g = a.qd,\n h = a.rd;\n for (x(null != ia[a.Z]); b < c; ++b)\n ia[a.Z](g, h, d, e, d, e, f), (g = d), (h = e), (e += f);\n a.qd = g;\n a.rd = h;\n }\n }\n function Ib(a, b) {\n var c = a.l.ma,\n d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C,\n d = a.C < d ? d : a.C;\n x(b <= a.l.o);\n if (b > d) {\n var e = a.l.width,\n f = c.ca,\n g = c.tb + e * d,\n h = a.V,\n k = a.Ba + a.c * d,\n l = a.gc;\n x(1 == a.ab);\n x(3 == l[0].hc);\n he(l[0], d, b, h, k, f, g);\n zc(c, d, b, f, g, e);\n }\n a.C = a.Ma = b;\n }\n function Jb(a, b, c, d, e, f, g) {\n var h = a.$ / d,\n k = a.$ % d,\n l = a.m,\n m = a.s,\n n = c + a.$,\n r = n;\n e = c + d * e;\n var q = c + d * f,\n t = 280 + m.ua,\n v = a.Pb ? h : 16777216,\n p = 0 < m.ua ? m.Wa : null,\n u = m.wc,\n w = n < q ? ha(m, k, h) : null;\n x(a.C < f);\n x(q <= e);\n var y = !1;\n a: for (;;) {\n for (; y || n < q; ) {\n var A = 0;\n if (h >= v) {\n var v = a,\n E = n - c;\n x(v.Pb);\n v.wd = v.m;\n v.xd = E;\n 0 < v.s.ua && $b(v.s.Wa, v.s.vb);\n v = h + ie;\n }\n k & u || (w = ha(m, k, h));\n x(null != w);\n w.Qb && ((b[n] = w.qb), (y = !0));\n if (!y)\n if ((Sa(l), w.jc)) {\n var A = l,\n E = b,\n B = n,\n C = w.pd[pb(A) & (xb - 1)];\n x(w.jc);\n 256 > C.g\n ? (qb(A, A.u + C.g), (E[B] = C.value), (A = 0))\n : (qb(A, A.u + C.g - 256), x(256 <= C.value), (A = C.value));\n 0 == A && (y = !0);\n } else A = ua(w.G[0], w.H[0], l);\n if (l.h) break;\n if (y || 256 > A) {\n if (!y)\n if (w.nd) b[n] = (w.qb | (A << 8)) >>> 0;\n else {\n Sa(l);\n y = ua(w.G[1], w.H[1], l);\n Sa(l);\n E = ua(w.G[2], w.H[2], l);\n B = ua(w.G[3], w.H[3], l);\n if (l.h) break;\n b[n] = ((B << 24) | (y << 16) | (A << 8) | E) >>> 0;\n }\n y = !1;\n ++n;\n ++k;\n if (\n k >= d &&\n ((k = 0),\n ++h,\n null != g && h <= f && !(h % 16) && g(a, h),\n null != p)\n )\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (280 > A) {\n A = ib(A - 256, l);\n E = ua(w.G[4], w.H[4], l);\n Sa(l);\n E = ib(E, l);\n E = nc(d, E);\n if (l.h) break;\n if (n - c < E || e - n < A) break a;\n else for (B = 0; B < A; ++B) b[n + B] = b[n + B - E];\n n += A;\n for (k += A; k >= d; )\n (k -= d), ++h, null != g && h <= f && !(h % 16) && g(a, h);\n x(n <= e);\n k & u && (w = ha(m, k, h));\n if (null != p)\n for (; r < n; )\n (A = b[r++]),\n (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n } else if (A < t) {\n y = A - 280;\n for (x(null != p); r < n; )\n (A = b[r++]), (p.X[((506832829 * A) & 4294967295) >>> p.Mb] = A);\n A = n;\n E = p;\n x(!(y >>> E.Xa));\n b[A] = E.X[y];\n y = !0;\n } else break a;\n y || x(l.h == db(l));\n }\n if (a.Pb && l.h && n < e)\n x(a.m.h),\n (a.a = 5),\n (a.m = a.wd),\n (a.$ = a.xd),\n 0 < a.s.ua && $b(a.s.vb, a.s.Wa);\n else if (l.h) break a;\n else null != g && g(a, h > f ? f : h), (a.a = 0), (a.$ = n - c);\n return 1;\n }\n a.a = 3;\n return 0;\n }\n function Ac(a) {\n x(null != a);\n a.vc = null;\n a.yc = null;\n a.Ya = null;\n var b = a.Wa;\n null != b && (b.X = null);\n a.vb = null;\n x(null != a);\n }\n function Bc() {\n var a = new je();\n if (null == a) return null;\n a.a = 0;\n a.xb = Cc;\n gb(\"Predictor\", \"VP8LPredictors\");\n gb(\"Predictor\", \"VP8LPredictors_C\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd\");\n gb(\"PredictorAdd\", \"VP8LPredictorsAdd_C\");\n pc = Kd;\n Fb = Ld;\n sc = Md;\n Gb = Nd;\n Hb = Od;\n xc = Pd;\n uc = Qd;\n self.VP8LMapColor32b = ke;\n self.VP8LMapColor8b = le;\n return a;\n }\n function rb(a, b, c, d, e) {\n var f = 1,\n g = [a],\n h = [b],\n k = d.m,\n l = d.s,\n m = null,\n n = 0;\n a: for (;;) {\n if (c)\n for (; f && D(k, 1); ) {\n var r = g,\n q = h,\n t = d,\n v = 1,\n p = t.m,\n u = t.gc[t.ab],\n w = D(p, 2);\n if (t.Oc & (1 << w)) f = 0;\n else {\n t.Oc |= 1 << w;\n u.hc = w;\n u.Ea = r[0];\n u.nc = q[0];\n u.K = [null];\n ++t.ab;\n x(4 >= t.ab);\n switch (w) {\n case 0:\n case 1:\n u.b = D(p, 3) + 2;\n v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K);\n u.K = u.K[0];\n break;\n case 3:\n var y = D(p, 8) + 1,\n A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3;\n r[0] = xa(u.Ea, A);\n u.b = A;\n var v = rb(y, 1, 0, t, u.K),\n E;\n if ((E = v)) {\n var B,\n C = y,\n N = u,\n z = 1 << (8 >> N.b),\n Q = V(z);\n if (null == Q) E = 0;\n else {\n var S = N.K[0],\n K = N.w;\n Q[0] = N.K[0][0];\n for (B = 1; B < 1 * C; ++B) Q[B] = yb(S[K + B], Q[B - 1]);\n for (; B < 4 * z; ++B) Q[B] = 0;\n N.K[0] = null;\n N.K[0] = Q;\n E = 1;\n }\n }\n v = E;\n break;\n case 2:\n break;\n default:\n x(0);\n }\n f = v;\n }\n }\n g = g[0];\n h = h[0];\n if (f && D(k, 1) && ((n = D(k, 4)), (f = 1 <= n && 11 >= n), !f)) {\n d.a = 3;\n break a;\n }\n var H;\n if ((H = f))\n b: {\n var F = d,\n G = g,\n L = h,\n J = n,\n T = c,\n Da,\n ba,\n X = F.m,\n R = F.s,\n P = [null],\n U,\n W = 1,\n aa = 0,\n na = me[J];\n c: for (;;) {\n if (T && D(X, 1)) {\n var ca = D(X, 3) + 2,\n ga = xa(G, ca),\n ka = xa(L, ca),\n qa = ga * ka;\n if (!rb(ga, ka, 0, F, P)) break c;\n P = P[0];\n R.xc = ca;\n for (Da = 0; Da < qa; ++Da) {\n var ia = (P[Da] >> 8) & 65535;\n P[Da] = ia;\n ia >= W && (W = ia + 1);\n }\n }\n if (X.h) break c;\n for (ba = 0; 5 > ba; ++ba) {\n var Y = Dc[ba];\n !ba && 0 < J && (Y += 1 << J);\n aa < Y && (aa = Y);\n }\n var ma = wa(W * na, O);\n var ua = W,\n va = wa(ua, Ub);\n if (null == va) var la = null;\n else x(65536 >= ua), (la = va);\n var ha = V(aa);\n if (null == la || null == ha || null == ma) {\n F.a = 1;\n break c;\n }\n var pa = ma;\n for (Da = U = 0; Da < W; ++Da) {\n var ja = la[Da],\n da = ja.G,\n ea = ja.H,\n Fa = 0,\n ra = 1,\n Ha = 0;\n for (ba = 0; 5 > ba; ++ba) {\n Y = Dc[ba];\n da[ba] = pa;\n ea[ba] = U;\n !ba && 0 < J && (Y += 1 << J);\n d: {\n var sa,\n za = Y,\n ta = F,\n oa = ha,\n db = pa,\n eb = U,\n Ia = 0,\n Ka = ta.m,\n fb = D(Ka, 1);\n M(oa, 0, 0, za);\n if (fb) {\n var gb = D(Ka, 1) + 1,\n hb = D(Ka, 1),\n Ja = D(Ka, 0 == hb ? 1 : 8);\n oa[Ja] = 1;\n 2 == gb && ((Ja = D(Ka, 8)), (oa[Ja] = 1));\n var ya = 1;\n } else {\n var Ua = V(19),\n Va = D(Ka, 4) + 4;\n if (19 < Va) {\n ta.a = 3;\n var Aa = 0;\n break d;\n }\n for (sa = 0; sa < Va; ++sa) Ua[ne[sa]] = D(Ka, 3);\n var Ba = void 0,\n sb = void 0,\n Wa = ta,\n ib = Ua,\n Ca = za,\n Xa = oa,\n Oa = 0,\n La = Wa.m,\n Ya = 8,\n Za = wa(128, O);\n e: for (;;) {\n if (!Z(Za, 0, 7, ib, 19)) break e;\n if (D(La, 1)) {\n var kb = 2 + 2 * D(La, 3),\n Ba = 2 + D(La, kb);\n if (Ba > Ca) break e;\n } else Ba = Ca;\n for (sb = 0; sb < Ca && Ba--; ) {\n Sa(La);\n var $a = Za[0 + (pb(La) & 127)];\n qb(La, La.u + $a.g);\n var jb = $a.value;\n if (16 > jb) (Xa[sb++] = jb), 0 != jb && (Ya = jb);\n else {\n var lb = 16 == jb,\n ab = jb - 16,\n mb = oe[ab],\n bb = D(La, pe[ab]) + mb;\n if (sb + bb > Ca) break e;\n else\n for (var nb = lb ? Ya : 0; 0 < bb--; )\n Xa[sb++] = nb;\n }\n }\n Oa = 1;\n break e;\n }\n Oa || (Wa.a = 3);\n ya = Oa;\n }\n (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za));\n ya && 0 != Ia ? (Aa = Ia) : ((ta.a = 3), (Aa = 0));\n }\n if (0 == Aa) break c;\n ra && 1 == qe[ba] && (ra = 0 == pa[U].g);\n Fa += pa[U].g;\n U += Aa;\n if (3 >= ba) {\n var Pa = ha[0],\n tb;\n for (tb = 1; tb < Y; ++tb) ha[tb] > Pa && (Pa = ha[tb]);\n Ha += Pa;\n }\n }\n ja.nd = ra;\n ja.Qb = 0;\n ra &&\n ((ja.qb =\n ((da[3][ea[3] + 0].value << 24) |\n (da[1][ea[1] + 0].value << 16) |\n da[2][ea[2] + 0].value) >>>\n 0),\n 0 == Fa &&\n 256 > da[0][ea[0] + 0].value &&\n ((ja.Qb = 1), (ja.qb += da[0][ea[0] + 0].value << 8)));\n ja.jc = !ja.Qb && 6 > Ha;\n if (ja.jc) {\n var Ga,\n Ea = ja;\n for (Ga = 0; Ga < xb; ++Ga) {\n var Ma = Ga,\n Na = Ea.pd[Ma],\n vb = Ea.G[0][Ea.H[0] + Ma];\n 256 <= vb.value\n ? ((Na.g = vb.g + 256), (Na.value = vb.value))\n : ((Na.g = 0),\n (Na.value = 0),\n (Ma >>= ub(vb, 8, Na)),\n (Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na)),\n (Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na)),\n ub(Ea.G[3][Ea.H[3] + Ma], 24, Na));\n }\n }\n }\n R.vc = P;\n R.Wb = W;\n R.Ya = la;\n R.yc = ma;\n H = 1;\n break b;\n }\n H = 0;\n }\n f = H;\n if (!f) {\n d.a = 3;\n break a;\n }\n if (0 < n) {\n if (((l.ua = 1 << n), !Zb(l.Wa, n))) {\n d.a = 1;\n f = 0;\n break a;\n }\n } else l.ua = 0;\n var Qa = d,\n cb = g,\n ob = h,\n Ra = Qa.s,\n Ta = Ra.xc;\n Qa.c = cb;\n Qa.i = ob;\n Ra.md = xa(cb, Ta);\n Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1;\n if (c) {\n d.xb = re;\n break a;\n }\n m = V(g * h);\n if (null == m) {\n d.a = 1;\n f = 0;\n break a;\n }\n f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h;\n break a;\n }\n f\n ? (null != e ? (e[0] = m) : (x(null == m), x(c)), (d.$ = 0), c || Ac(l))\n : Ac(l);\n return f;\n }\n function Ec(a, b) {\n var c = a.c * a.i,\n d = c + b + 16 * b;\n x(a.c <= b);\n a.V = V(d);\n if (null == a.V) return (a.Ta = null), (a.Ua = 0), (a.a = 1), 0;\n a.Ta = a.V;\n a.Ua = a.Ba + c + b;\n return 1;\n }\n function se(a, b) {\n var c = a.C,\n d = b - c,\n e = a.V,\n f = a.Ba + a.c * c;\n for (x(b <= a.l.o); 0 < d; ) {\n var g = 16 < d ? 16 : d,\n h = a.l.ma,\n k = a.l.width,\n l = k * g,\n m = h.ca,\n n = h.tb + k * c,\n r = a.Ta,\n q = a.Ua;\n oc(a, g, e, f);\n Fc(r, q, m, n, l);\n zc(h, c, c + g, m, n, k);\n d -= g;\n e += g * a.c;\n c += g;\n }\n x(c == b);\n a.C = a.Ma = b;\n }\n function te(a, b) {\n var c = [0],\n d = [0],\n e = [0];\n a: for (;;) {\n if (null == a) return 0;\n if (null == b) return (a.a = 2), 0;\n a.l = b;\n a.a = 0;\n cb(a.m, b.data, b.w, b.ha);\n if (!mc(a.m, c, d, e)) {\n a.a = 3;\n break a;\n }\n a.xb = Cc;\n b.width = c[0];\n b.height = d[0];\n if (!rb(c[0], d[0], 1, a, null)) break a;\n return 1;\n }\n x(0 != a.a);\n return 0;\n }\n function ue() {\n this.ub = this.yd = this.td = this.Rb = 0;\n }\n function ve() {\n this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0;\n }\n function we() {\n this.Fb = this.Bb = this.Cb = 0;\n this.Zb = V(4);\n this.Lb = V(4);\n }\n function Gc() {\n this.Yb = wb();\n }\n function xe() {\n this.jb = V(3);\n this.Wc = Ed([4, 8], Gc);\n this.Xc = Ed([4, 17], Gc);\n }\n function ye() {\n this.Pc = this.wb = this.Tb = this.zd = 0;\n this.vd = new V(4);\n this.od = new V(4);\n }\n function Xa() {\n this.ld = this.La = this.dd = this.tc = 0;\n }\n function Hc() {\n this.Na = this.la = 0;\n }\n function ze() {\n this.Sc = [0, 0];\n this.Eb = [0, 0];\n this.Qc = [0, 0];\n this.ia = this.lc = 0;\n }\n function Kb() {\n this.ad = V(384);\n this.Za = 0;\n this.Ob = V(16);\n this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0;\n }\n function Ae() {\n this.uc = this.M = this.Nb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.ya = Array(new Kb());\n this.aa = 0;\n this.l = new Oa();\n }\n function Ic() {\n this.y = V(16);\n this.f = V(8);\n this.ea = V(8);\n }\n function Be() {\n this.cb = this.a = 0;\n this.sc = \"\";\n this.m = new Wb();\n this.Od = new ue();\n this.Kc = new ve();\n this.ed = new ye();\n this.Qa = new we();\n this.Ic = this.$c = this.Aa = 0;\n this.D = new Ae();\n this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0;\n this.Jc = wa(8, Wb);\n this.ia = 0;\n new F();\n this.pb = wa(4, ze);\n this.Pa = new xe();\n this.Bd = this.kc = 0;\n this.Ac = [];\n this.Bc = 0;\n this.zc = [0, 0, 0, 0];\n this.Gd = Array(new Ic());\n this.Hd = 0;\n this.rb = Array(new Hc());\n this.sb = 0;\n this.wa = Array(new Xa());\n this.Y = 0;\n this.oc = [];\n this.pc = 0;\n this.sa = [];\n this.ta = 0;\n this.qa = [];\n this.ra = 0;\n this.Ha = [];\n this.B = this.R = this.Ia = 0;\n this.Ec = [];\n this.M = this.ja = this.Vb = this.Fc = 0;\n this.ya = Array(new Kb());\n this.L = this.aa = 0;\n this.gd = Ed([4, 2], Xa);\n this.ga = null;\n this.Fa = [];\n this.Cc = this.qc = this.P = 0;\n this.Gb = [];\n this.Uc = 0;\n this.mb = [];\n this.nb = 0;\n this.rc = [];\n this.Ga = this.Vc = 0;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function Oa() {\n this.T = this.U = this.ka = this.height = this.width = 0;\n this.y = [];\n this.f = [];\n this.ea = [];\n this.Rc = this.fa = this.W = this.N = this.O = 0;\n this.ma = \"void\";\n this.put = \"VP8IoPutHook\";\n this.ac = \"VP8IoSetupHook\";\n this.bc = \"VP8IoTeardownHook\";\n this.ha = this.Kb = 0;\n this.data = [];\n this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0;\n this.F = [];\n this.J = 0;\n }\n function Ce() {\n var a = new Be();\n null != a &&\n ((a.a = 0), (a.sc = \"OK\"), (a.cb = 0), (a.Xb = 0), oa || (oa = De));\n return a;\n }\n function T(a, b, c) {\n 0 == a.a && ((a.a = b), (a.sc = c), (a.cb = 0));\n return 0;\n }\n function Jc(a, b, c) {\n return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2];\n }\n function Kc(a, b) {\n if (null == a) return 0;\n a.a = 0;\n a.sc = \"OK\";\n if (null == b) return T(a, 2, \"null VP8Io passed to VP8GetHeaders()\");\n var c = b.data;\n var d = b.w;\n var e = b.ha;\n if (4 > e) return T(a, 7, \"Truncated header.\");\n var f = c[d + 0] | (c[d + 1] << 8) | (c[d + 2] << 16);\n var g = a.Od;\n g.Rb = !(f & 1);\n g.td = (f >> 1) & 7;\n g.yd = (f >> 4) & 1;\n g.ub = f >> 5;\n if (3 < g.td) return T(a, 3, \"Incorrect keyframe parameters.\");\n if (!g.yd) return T(a, 4, \"Frame not displayable.\");\n d += 3;\n e -= 3;\n var h = a.Kc;\n if (g.Rb) {\n if (7 > e) return T(a, 7, \"cannot parse picture header\");\n if (!Jc(c, d, e)) return T(a, 3, \"Bad code word\");\n h.c = ((c[d + 4] << 8) | c[d + 3]) & 16383;\n h.Td = c[d + 4] >> 6;\n h.i = ((c[d + 6] << 8) | c[d + 5]) & 16383;\n h.Ud = c[d + 6] >> 6;\n d += 7;\n e -= 7;\n a.za = (h.c + 15) >> 4;\n a.Ub = (h.i + 15) >> 4;\n b.width = h.c;\n b.height = h.i;\n b.Da = 0;\n b.j = 0;\n b.v = 0;\n b.va = b.width;\n b.o = b.height;\n b.da = 0;\n b.ib = b.width;\n b.hb = b.height;\n b.U = b.width;\n b.T = b.height;\n f = a.Pa;\n M(f.jb, 0, 255, f.jb.length);\n f = a.Qa;\n x(null != f);\n f.Cb = 0;\n f.Bb = 0;\n f.Fb = 1;\n M(f.Zb, 0, 0, f.Zb.length);\n M(f.Lb, 0, 0, f.Lb);\n }\n if (g.ub > e) return T(a, 7, \"bad partition length\");\n f = a.m;\n ma(f, c, d, g.ub);\n d += g.ub;\n e -= g.ub;\n g.Rb && ((h.Ld = G(f)), (h.Kd = G(f)));\n h = a.Qa;\n var k = a.Pa,\n l;\n x(null != f);\n x(null != h);\n h.Cb = G(f);\n if (h.Cb) {\n h.Bb = G(f);\n if (G(f)) {\n h.Fb = G(f);\n for (l = 0; 4 > l; ++l) h.Zb[l] = G(f) ? ca(f, 7) : 0;\n for (l = 0; 4 > l; ++l) h.Lb[l] = G(f) ? ca(f, 6) : 0;\n }\n if (h.Bb) for (l = 0; 3 > l; ++l) k.jb[l] = G(f) ? na(f, 8) : 255;\n } else h.Bb = 0;\n if (f.Ka) return T(a, 3, \"cannot parse segment header\");\n h = a.ed;\n h.zd = G(f);\n h.Tb = na(f, 6);\n h.wb = na(f, 3);\n h.Pc = G(f);\n if (h.Pc && G(f)) {\n for (k = 0; 4 > k; ++k) G(f) && (h.vd[k] = ca(f, 6));\n for (k = 0; 4 > k; ++k) G(f) && (h.od[k] = ca(f, 6));\n }\n a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2;\n if (f.Ka) return T(a, 3, \"cannot parse filter header\");\n l = d;\n var m = e;\n e = l;\n d = l + m;\n h = m;\n a.Xb = (1 << na(a.m, 2)) - 1;\n k = a.Xb;\n if (m < 3 * k) c = 7;\n else {\n l += 3 * k;\n h -= 3 * k;\n for (m = 0; m < k; ++m) {\n var n = c[e + 0] | (c[e + 1] << 8) | (c[e + 2] << 16);\n n > h && (n = h);\n ma(a.Jc[+m], c, l, n);\n l += n;\n h -= n;\n e += 3;\n }\n ma(a.Jc[+k], c, l, h);\n c = l < d ? 0 : 5;\n }\n if (0 != c) return T(a, c, \"cannot parse partitions\");\n l = a.m;\n c = na(l, 7);\n e = G(l) ? ca(l, 4) : 0;\n d = G(l) ? ca(l, 4) : 0;\n h = G(l) ? ca(l, 4) : 0;\n k = G(l) ? ca(l, 4) : 0;\n l = G(l) ? ca(l, 4) : 0;\n m = a.Qa;\n for (n = 0; 4 > n; ++n) {\n if (m.Cb) {\n var r = m.Zb[n];\n m.Fb || (r += c);\n } else if (0 < n) {\n a.pb[n] = a.pb[0];\n continue;\n } else r = c;\n var q = a.pb[n];\n q.Sc[0] = Lb[ga(r + e, 127)];\n q.Sc[1] = Mb[ga(r + 0, 127)];\n q.Eb[0] = 2 * Lb[ga(r + d, 127)];\n q.Eb[1] = (101581 * Mb[ga(r + h, 127)]) >> 16;\n 8 > q.Eb[1] && (q.Eb[1] = 8);\n q.Qc[0] = Lb[ga(r + k, 117)];\n q.Qc[1] = Mb[ga(r + l, 127)];\n q.lc = r + l;\n }\n if (!g.Rb) return T(a, 4, \"Not a key frame.\");\n G(f);\n g = a.Pa;\n for (c = 0; 4 > c; ++c) {\n for (e = 0; 8 > e; ++e)\n for (d = 0; 3 > d; ++d)\n for (h = 0; 11 > h; ++h)\n (k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h]),\n (g.Wc[c][e].Yb[d][h] = k);\n for (e = 0; 17 > e; ++e) g.Xc[c][e] = g.Wc[c][Ge[e]];\n }\n a.kc = G(f);\n a.kc && (a.Bd = na(f, 8));\n return (a.cb = 1);\n }\n function De(a, b, c, d, e, f, g) {\n var h = b[e].Yb[c];\n for (c = 0; 16 > e; ++e) {\n if (!K(a, h[c + 0])) return e;\n for (; !K(a, h[c + 1]); )\n if (((h = b[++e].Yb[0]), (c = 0), 16 == e)) return 16;\n var k = b[e + 1].Yb;\n if (K(a, h[c + 2])) {\n var l = a,\n m = h,\n n = c;\n var r = 0;\n if (K(l, m[n + 3]))\n if (K(l, m[n + 6])) {\n h = 0;\n r = K(l, m[n + 8]);\n m = K(l, m[n + 9 + r]);\n n = 2 * r + m;\n r = 0;\n for (m = He[n]; m[h]; ++h) r += r + K(l, m[h]);\n r += 3 + (8 << n);\n } else\n K(l, m[n + 7])\n ? ((r = 7 + 2 * K(l, 165)), (r += K(l, 145)))\n : (r = 5 + K(l, 159));\n else K(l, m[n + 4]) ? (r = 3 + K(l, m[n + 5])) : (r = 2);\n h = k[2];\n } else (r = 1), (h = k[1]);\n k = g + Ie[e];\n l = a;\n 0 > l.b && Qa(l);\n var m = l.b,\n n = l.Ca >> 1,\n q = (n - (l.I >> m)) >> 31;\n --l.b;\n l.Ca += q;\n l.Ca |= 1;\n l.I -= ((n + 1) & q) << m;\n f[k] = ((r ^ q) - q) * d[(0 < e) + 0];\n }\n return 16;\n }\n function Lc(a) {\n var b = a.rb[a.sb - 1];\n b.la = 0;\n b.Na = 0;\n M(a.zc, 0, 0, a.zc.length);\n a.ja = 0;\n }\n function Je(a, b) {\n for (a.M = 0; a.M < a.Va; ++a.M) {\n var c = a.Jc[a.M & a.Xb],\n d = a.m,\n e = a,\n f;\n for (f = 0; f < e.za; ++f) {\n var g = d;\n var h = e;\n var k = h.Ac,\n l = h.Bc + 4 * f,\n m = h.zc,\n n = h.ya[h.aa + f];\n h.Qa.Bb\n ? (n.$b = K(g, h.Pa.jb[0])\n ? 2 + K(g, h.Pa.jb[2])\n : K(g, h.Pa.jb[1]))\n : (n.$b = 0);\n h.kc && (n.Ad = K(g, h.Bd));\n n.Za = !K(g, 145) + 0;\n if (n.Za) {\n var r = n.Ob,\n q = 0;\n for (h = 0; 4 > h; ++h) {\n var t = m[0 + h];\n var v;\n for (v = 0; 4 > v; ++v) {\n t = Ke[k[l + v]][t];\n for (var p = Mc[K(g, t[0])]; 0 < p; )\n p = Mc[2 * p + K(g, t[p])];\n t = -p;\n k[l + v] = t;\n }\n I(r, q, k, l, 4);\n q += 4;\n m[0 + h] = t;\n }\n } else\n (t = K(g, 156) ? (K(g, 128) ? 1 : 3) : K(g, 163) ? 2 : 0),\n (n.Ob[0] = t),\n M(k, l, t, 4),\n M(m, 0, t, 4);\n n.Dd = K(g, 142) ? (K(g, 114) ? (K(g, 183) ? 1 : 3) : 2) : 0;\n }\n if (e.m.Ka) return T(a, 7, \"Premature end-of-partition0 encountered.\");\n for (; a.ja < a.za; ++a.ja) {\n d = a;\n e = c;\n g = d.rb[d.sb - 1];\n k = d.rb[d.sb + d.ja];\n f = d.ya[d.aa + d.ja];\n if ((l = d.kc ? f.Ad : 0))\n (g.la = k.la = 0),\n f.Za || (g.Na = k.Na = 0),\n (f.Hc = 0),\n (f.Gc = 0),\n (f.ia = 0);\n else {\n var u,\n w,\n g = k,\n k = e,\n l = d.Pa.Xc,\n m = d.ya[d.aa + d.ja],\n n = d.pb[m.$b];\n h = m.ad;\n r = 0;\n q = d.rb[d.sb - 1];\n t = v = 0;\n M(h, r, 0, 384);\n if (m.Za) {\n var y = 0;\n var A = l[3];\n } else {\n p = V(16);\n var E = g.Na + q.Na;\n E = oa(k, l[1], E, n.Eb, 0, p, 0);\n g.Na = q.Na = (0 < E) + 0;\n if (1 < E) Nc(p, 0, h, r);\n else {\n var B = (p[0] + 3) >> 3;\n for (p = 0; 256 > p; p += 16) h[r + p] = B;\n }\n y = 1;\n A = l[0];\n }\n var C = g.la & 15;\n var N = q.la & 15;\n for (p = 0; 4 > p; ++p) {\n var z = N & 1;\n for (B = w = 0; 4 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, A, E, n.Sc, y, h, r)),\n (z = E > y),\n (C = (C >> 1) | (z << 7)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 4;\n N = (N >> 1) | (z << 7);\n v = ((v << 8) | w) >>> 0;\n }\n A = C;\n y = N >> 4;\n for (u = 0; 4 > u; u += 2) {\n w = 0;\n C = g.la >> (4 + u);\n N = q.la >> (4 + u);\n for (p = 0; 2 > p; ++p) {\n z = N & 1;\n for (B = 0; 2 > B; ++B)\n (E = z + (C & 1)),\n (E = oa(k, l[2], E, n.Qc, 0, h, r)),\n (z = 0 < E),\n (C = (C >> 1) | (z << 3)),\n (w = (w << 2) | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0])),\n (r += 16);\n C >>= 2;\n N = (N >> 1) | (z << 5);\n }\n t |= w << (4 * u);\n A |= (C << 4) << u;\n y |= (N & 240) << u;\n }\n g.la = A;\n q.la = y;\n m.Hc = v;\n m.Gc = t;\n m.ia = t & 43690 ? 0 : n.ia;\n l = !(v | t);\n }\n 0 < d.L &&\n ((d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za]),\n (d.wa[d.Y + d.ja].La |= !l));\n if (e.Ka) return T(a, 7, \"Premature end-of-file encountered.\");\n }\n Lc(a);\n c = a;\n d = b;\n e = 1;\n f = c.D;\n g = 0 < c.L && c.M >= c.zb && c.M <= c.Va;\n if (0 == c.Aa)\n a: {\n (f.M = c.M), (f.uc = g), Oc(c, f), (e = 1);\n w = c.D;\n f = w.Nb;\n t = Ya[c.L];\n g = t * c.R;\n k = (t / 2) * c.B;\n p = 16 * f * c.R;\n B = 8 * f * c.B;\n l = c.sa;\n m = c.ta - g + p;\n n = c.qa;\n h = c.ra - k + B;\n r = c.Ha;\n q = c.Ia - k + B;\n C = w.M;\n N = 0 == C;\n v = C >= c.Va - 1;\n 2 == c.Aa && Oc(c, w);\n if (w.uc)\n for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) {\n var Q = E;\n y = w;\n A = z;\n var S = Q.D,\n D = S.Nb;\n u = Q.R;\n var S = S.wa[S.Y + y],\n F = Q.sa,\n H = Q.ta + 16 * D * u + 16 * y,\n J = S.dd,\n G = S.tc;\n if (0 != G)\n if ((x(3 <= G), 1 == Q.L))\n 0 < y && Pc(F, H, u, G + 4),\n S.La && Qc(F, H, u, G),\n 0 < A && Rc(F, H, u, G + 4),\n S.La && Sc(F, H, u, G);\n else {\n var L = Q.B,\n O = Q.qa,\n P = Q.ra + 8 * D * L + 8 * y,\n R = Q.Ha,\n Q = Q.Ia + 8 * D * L + 8 * y,\n D = S.ld;\n 0 < y &&\n (Tc(F, H, u, G + 4, J, D),\n Uc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D));\n 0 < A &&\n (Xc(F, H, u, G + 4, J, D),\n Yc(O, P, R, Q, L, G + 4, J, D));\n S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D));\n }\n }\n c.ia && alert(\"todo:DitherRow\");\n if (null != d.put) {\n w = 16 * C;\n C = 16 * (C + 1);\n N\n ? ((d.y = c.sa),\n (d.O = c.ta + p),\n (d.f = c.qa),\n (d.N = c.ra + B),\n (d.ea = c.Ha),\n (d.W = c.Ia + B))\n : ((w -= t),\n (d.y = l),\n (d.O = m),\n (d.f = n),\n (d.N = h),\n (d.ea = r),\n (d.W = q));\n v || (C -= t);\n C > d.o && (C = d.o);\n d.F = null;\n d.J = null;\n if (\n null != c.Fa &&\n 0 < c.Fa.length &&\n w < C &&\n ((d.J = Le(c, d, w, C - w)),\n (d.F = c.mb),\n null == d.F && 0 == d.F.length)\n ) {\n e = T(c, 3, \"Could not decode alpha data.\");\n break a;\n }\n w < d.j &&\n ((t = d.j - w),\n (w = d.j),\n x(!(t & 1)),\n (d.O += c.R * t),\n (d.N += c.B * (t >> 1)),\n (d.W += c.B * (t >> 1)),\n null != d.F && (d.J += d.width * t));\n w < C &&\n ((d.O += d.v),\n (d.N += d.v >> 1),\n (d.W += d.v >> 1),\n null != d.F && (d.J += d.v),\n (d.ka = w - d.j),\n (d.U = d.va - d.v),\n (d.T = C - w),\n (e = d.put(d)));\n }\n f + 1 != c.Ic ||\n v ||\n (I(c.sa, c.ta - g, l, m + 16 * c.R, g),\n I(c.qa, c.ra - k, n, h + 8 * c.B, k),\n I(c.Ha, c.Ia - k, r, q + 8 * c.B, k));\n }\n if (!e) return T(a, 6, \"Output aborted.\");\n }\n return 1;\n }\n function Me(a, b) {\n if (null == a) return 0;\n if (null == b) return T(a, 2, \"NULL VP8Io parameter in VP8Decode().\");\n if (!a.cb && !Kc(a, b)) return 0;\n x(a.cb);\n if (null == b.ac || b.ac(b)) {\n b.ob && (a.L = 0);\n var c = Ya[a.L];\n 2 == a.L\n ? ((a.yb = 0), (a.zb = 0))\n : ((a.yb = (b.v - c) >> 4),\n (a.zb = (b.j - c) >> 4),\n 0 > a.yb && (a.yb = 0),\n 0 > a.zb && (a.zb = 0));\n a.Va = (b.o + 15 + c) >> 4;\n a.Hb = (b.va + 15 + c) >> 4;\n a.Hb > a.za && (a.Hb = a.za);\n a.Va > a.Ub && (a.Va = a.Ub);\n if (0 < a.L) {\n var d = a.ed;\n for (c = 0; 4 > c; ++c) {\n var e;\n if (a.Qa.Cb) {\n var f = a.Qa.Lb[c];\n a.Qa.Fb || (f += d.Tb);\n } else f = d.Tb;\n for (e = 0; 1 >= e; ++e) {\n var g = a.gd[c][e],\n h = f;\n d.Pc && ((h += d.vd[0]), e && (h += d.od[0]));\n h = 0 > h ? 0 : 63 < h ? 63 : h;\n if (0 < h) {\n var k = h;\n 0 < d.wb &&\n ((k = 4 < d.wb ? k >> 2 : k >> 1),\n k > 9 - d.wb && (k = 9 - d.wb));\n 1 > k && (k = 1);\n g.dd = k;\n g.tc = 2 * h + k;\n g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0;\n } else g.tc = 0;\n g.La = e;\n }\n }\n }\n c = 0;\n } else T(a, 6, \"Frame setup failed\"), (c = a.a);\n if ((c = 0 == c)) {\n if (c) {\n a.$c = 0;\n 0 < a.Aa || (a.Ic = Ne);\n b: {\n c = a.Ic;\n var k = a.za,\n d = 4 * k,\n l = 32 * k,\n m = k + 1,\n n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0,\n r = (2 == a.Aa ? 2 : 1) * k;\n e = ((3 * (16 * c + Ya[a.L])) / 2) * l;\n f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0;\n g = d + 832 + e + f;\n if (g != g) c = 0;\n else {\n if (g > a.Vb) {\n a.Vb = 0;\n a.Ec = V(g);\n a.Fc = 0;\n if (null == a.Ec) {\n c = T(a, 1, \"no memory during frame initialization.\");\n break b;\n }\n a.Vb = g;\n }\n g = a.Ec;\n h = a.Fc;\n a.Ac = g;\n a.Bc = h;\n h += d;\n a.Gd = wa(l, Ic);\n a.Hd = 0;\n a.rb = wa(m + 1, Hc);\n a.sb = 1;\n a.wa = n ? wa(n, Xa) : null;\n a.Y = 0;\n a.D.Nb = 0;\n a.D.wa = a.wa;\n a.D.Y = a.Y;\n 0 < a.Aa && (a.D.Y += k);\n x(!0);\n a.oc = g;\n a.pc = h;\n h += 832;\n a.ya = wa(r, Kb);\n a.aa = 0;\n a.D.ya = a.ya;\n a.D.aa = a.aa;\n 2 == a.Aa && (a.D.aa += k);\n a.R = 16 * k;\n a.B = 8 * k;\n l = Ya[a.L];\n k = l * a.R;\n l = (l / 2) * a.B;\n a.sa = g;\n a.ta = h + k;\n a.qa = a.sa;\n a.ra = a.ta + 16 * c * a.R + l;\n a.Ha = a.qa;\n a.Ia = a.ra + 8 * c * a.B + l;\n a.$c = 0;\n h += e;\n a.mb = f ? g : null;\n a.nb = f ? h : null;\n x(h + f <= a.Fc + a.Vb);\n Lc(a);\n M(a.Ac, a.Bc, 0, d);\n c = 1;\n }\n }\n if (c) {\n b.ka = 0;\n b.y = a.sa;\n b.O = a.ta;\n b.f = a.qa;\n b.N = a.ra;\n b.ea = a.Ha;\n b.Vd = a.Ia;\n b.fa = a.R;\n b.Rc = a.B;\n b.F = null;\n b.J = 0;\n if (!ad) {\n for (c = -255; 255 >= c; ++c) bd[255 + c] = 0 > c ? -c : c;\n for (c = -1020; 1020 >= c; ++c)\n cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c;\n for (c = -112; 112 >= c; ++c)\n dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c;\n for (c = -255; 510 >= c; ++c)\n ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c;\n ad = 1;\n }\n Nc = Oe;\n Za = Pe;\n Nb = Qe;\n pa = Re;\n Ob = Se;\n fd = Te;\n Xc = Ue;\n Tc = Ve;\n Yc = We;\n Uc = Xe;\n Zc = Ye;\n Vc = Ze;\n $c = $e;\n Wc = af;\n Rc = gd;\n Pc = hd;\n Sc = bf;\n Qc = cf;\n W[0] = df;\n W[1] = ef;\n W[2] = ff;\n W[3] = gf;\n W[4] = hf;\n W[5] = jf;\n W[6] = kf;\n W[7] = lf;\n W[8] = mf;\n W[9] = nf;\n Y[0] = of;\n Y[1] = pf;\n Y[2] = qf;\n Y[3] = rf;\n Y[4] = sf;\n Y[5] = tf;\n Y[6] = uf;\n ka[0] = vf;\n ka[1] = wf;\n ka[2] = xf;\n ka[3] = yf;\n ka[4] = zf;\n ka[5] = Af;\n ka[6] = Bf;\n c = 1;\n } else c = 0;\n }\n c && (c = Je(a, b));\n null != b.bc && b.bc(b);\n c &= 1;\n }\n if (!c) return 0;\n a.cb = 0;\n return c;\n }\n function qa(a, b, c, d, e) {\n e = a[b + c + 32 * d] + (e >> 3);\n a[b + c + 32 * d] = e & -256 ? (0 > e ? 0 : 255) : e;\n }\n function kb(a, b, c, d, e, f) {\n qa(a, b, 0, c, d + e);\n qa(a, b, 1, c, d + f);\n qa(a, b, 2, c, d - f);\n qa(a, b, 3, c, d - e);\n }\n function da(a) {\n return ((20091 * a) >> 16) + a;\n }\n function id(a, b, c, d) {\n var e = 0,\n f;\n var g = V(16);\n for (f = 0; 4 > f; ++f) {\n var h = a[b + 0] + a[b + 8];\n var k = a[b + 0] - a[b + 8];\n var l = ((35468 * a[b + 4]) >> 16) - da(a[b + 12]);\n var m = da(a[b + 4]) + ((35468 * a[b + 12]) >> 16);\n g[e + 0] = h + m;\n g[e + 1] = k + l;\n g[e + 2] = k - l;\n g[e + 3] = h - m;\n e += 4;\n b++;\n }\n for (f = e = 0; 4 > f; ++f)\n (a = g[e + 0] + 4),\n (h = a + g[e + 8]),\n (k = a - g[e + 8]),\n (l = ((35468 * g[e + 4]) >> 16) - da(g[e + 12])),\n (m = da(g[e + 4]) + ((35468 * g[e + 12]) >> 16)),\n qa(c, d, 0, 0, h + m),\n qa(c, d, 1, 0, k + l),\n qa(c, d, 2, 0, k - l),\n qa(c, d, 3, 0, h - m),\n e++,\n (d += 32);\n }\n function Te(a, b, c, d) {\n var e = a[b + 0] + 4,\n f = (35468 * a[b + 4]) >> 16,\n g = da(a[b + 4]),\n h = (35468 * a[b + 1]) >> 16;\n a = da(a[b + 1]);\n kb(c, d, 0, e + g, a, h);\n kb(c, d, 1, e + f, a, h);\n kb(c, d, 2, e - f, a, h);\n kb(c, d, 3, e - g, a, h);\n }\n function Pe(a, b, c, d, e) {\n id(a, b, c, d);\n e && id(a, b + 16, c, d + 4);\n }\n function Qe(a, b, c, d) {\n Za(a, b + 0, c, d, 1);\n Za(a, b + 32, c, d + 128, 1);\n }\n function Re(a, b, c, d) {\n a = a[b + 0] + 4;\n var e;\n for (e = 0; 4 > e; ++e) for (b = 0; 4 > b; ++b) qa(c, d, b, e, a);\n }\n function Se(a, b, c, d) {\n a[b + 0] && pa(a, b + 0, c, d);\n a[b + 16] && pa(a, b + 16, c, d + 4);\n a[b + 32] && pa(a, b + 32, c, d + 128);\n a[b + 48] && pa(a, b + 48, c, d + 128 + 4);\n }\n function Oe(a, b, c, d) {\n var e = V(16),\n f;\n for (f = 0; 4 > f; ++f) {\n var g = a[b + 0 + f] + a[b + 12 + f];\n var h = a[b + 4 + f] + a[b + 8 + f];\n var k = a[b + 4 + f] - a[b + 8 + f];\n var l = a[b + 0 + f] - a[b + 12 + f];\n e[0 + f] = g + h;\n e[8 + f] = g - h;\n e[4 + f] = l + k;\n e[12 + f] = l - k;\n }\n for (f = 0; 4 > f; ++f)\n (a = e[0 + 4 * f] + 3),\n (g = a + e[3 + 4 * f]),\n (h = e[1 + 4 * f] + e[2 + 4 * f]),\n (k = e[1 + 4 * f] - e[2 + 4 * f]),\n (l = a - e[3 + 4 * f]),\n (c[d + 0] = (g + h) >> 3),\n (c[d + 16] = (l + k) >> 3),\n (c[d + 32] = (g - h) >> 3),\n (c[d + 48] = (l - k) >> 3),\n (d += 64);\n }\n function Pb(a, b, c) {\n var d = b - 32,\n e = R,\n f = 255 - a[d - 1],\n g;\n for (g = 0; g < c; ++g) {\n var h = e,\n k = f + a[b - 1],\n l;\n for (l = 0; l < c; ++l) a[b + l] = h[k + a[d + l]];\n b += 32;\n }\n }\n function ef(a, b) {\n Pb(a, b, 4);\n }\n function wf(a, b) {\n Pb(a, b, 8);\n }\n function pf(a, b) {\n Pb(a, b, 16);\n }\n function qf(a, b) {\n var c;\n for (c = 0; 16 > c; ++c) I(a, b + 32 * c, a, b - 32, 16);\n }\n function rf(a, b) {\n var c;\n for (c = 16; 0 < c; --c) M(a, b, a[b - 1], 16), (b += 32);\n }\n function $a(a, b, c) {\n var d;\n for (d = 0; 16 > d; ++d) M(b, c + 32 * d, a, 16);\n }\n function of(a, b) {\n var c = 16,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d] + a[b + d - 32];\n $a(c >> 5, a, b);\n }\n function sf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b - 1 + 32 * d];\n $a(c >> 4, a, b);\n }\n function tf(a, b) {\n var c = 8,\n d;\n for (d = 0; 16 > d; ++d) c += a[b + d - 32];\n $a(c >> 4, a, b);\n }\n function uf(a, b) {\n $a(128, a, b);\n }\n function z(a, b, c) {\n return (a + 2 * b + c + 2) >> 2;\n }\n function ff(a, b) {\n var c = b - 32,\n c = new Uint8Array([\n z(a[c - 1], a[c + 0], a[c + 1]),\n z(a[c + 0], a[c + 1], a[c + 2]),\n z(a[c + 1], a[c + 2], a[c + 3]),\n z(a[c + 2], a[c + 3], a[c + 4])\n ]),\n d;\n for (d = 0; 4 > d; ++d) I(a, b + 32 * d, c, 0, c.length);\n }\n function gf(a, b) {\n var c = a[b - 1],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d));\n ra(a, b + 32, 16843009 * z(c, d, e));\n ra(a, b + 64, 16843009 * z(d, e, f));\n ra(a, b + 96, 16843009 * z(e, f, f));\n }\n function df(a, b) {\n var c = 4,\n d;\n for (d = 0; 4 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n c >>= 3;\n for (d = 0; 4 > d; ++d) M(a, b + 32 * d, c, 4);\n }\n function hf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 96] = z(d, e, a[b - 1 + 96]);\n a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e);\n a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d);\n a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c);\n a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f);\n a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g);\n a[b + 3 + 0] = z(l, k, h);\n }\n function kf(a, b) {\n var c = a[b + 1 - 32],\n d = a[b + 2 - 32],\n e = a[b + 3 - 32],\n f = a[b + 4 - 32],\n g = a[b + 5 - 32],\n h = a[b + 6 - 32],\n k = a[b + 7 - 32];\n a[b + 0 + 0] = z(a[b + 0 - 32], c, d);\n a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e);\n a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f);\n a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h);\n a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, k);\n }\n function jf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 - 32],\n g = a[b + 0 - 32],\n h = a[b + 1 - 32],\n k = a[b + 2 - 32],\n l = a[b + 3 - 32];\n a[b + 0 + 0] = a[b + 1 + 64] = (f + g + 1) >> 1;\n a[b + 1 + 0] = a[b + 2 + 64] = (g + h + 1) >> 1;\n a[b + 2 + 0] = a[b + 3 + 64] = (h + k + 1) >> 1;\n a[b + 3 + 0] = (k + l + 1) >> 1;\n a[b + 0 + 96] = z(e, d, c);\n a[b + 0 + 64] = z(d, c, f);\n a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g);\n a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k);\n a[b + 3 + 32] = z(h, k, l);\n }\n function lf(a, b) {\n var c = a[b + 0 - 32],\n d = a[b + 1 - 32],\n e = a[b + 2 - 32],\n f = a[b + 3 - 32],\n g = a[b + 4 - 32],\n h = a[b + 5 - 32],\n k = a[b + 6 - 32],\n l = a[b + 7 - 32];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 1 + 0] = a[b + 0 + 64] = (d + e + 1) >> 1;\n a[b + 2 + 0] = a[b + 1 + 64] = (e + f + 1) >> 1;\n a[b + 3 + 0] = a[b + 2 + 64] = (f + g + 1) >> 1;\n a[b + 0 + 32] = z(c, d, e);\n a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f);\n a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g);\n a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h);\n a[b + 3 + 64] = z(g, h, k);\n a[b + 3 + 96] = z(h, k, l);\n }\n function nf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96];\n a[b + 0 + 0] = (c + d + 1) >> 1;\n a[b + 2 + 0] = a[b + 0 + 32] = (d + e + 1) >> 1;\n a[b + 2 + 32] = a[b + 0 + 64] = (e + f + 1) >> 1;\n a[b + 1 + 0] = z(c, d, e);\n a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f);\n a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f);\n a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[\n b + 2 + 96\n ] = a[b + 3 + 96] = f;\n }\n function mf(a, b) {\n var c = a[b - 1 + 0],\n d = a[b - 1 + 32],\n e = a[b - 1 + 64],\n f = a[b - 1 + 96],\n g = a[b - 1 - 32],\n h = a[b + 0 - 32],\n k = a[b + 1 - 32],\n l = a[b + 2 - 32];\n a[b + 0 + 0] = a[b + 2 + 32] = (c + g + 1) >> 1;\n a[b + 0 + 32] = a[b + 2 + 64] = (d + c + 1) >> 1;\n a[b + 0 + 64] = a[b + 2 + 96] = (e + d + 1) >> 1;\n a[b + 0 + 96] = (f + e + 1) >> 1;\n a[b + 3 + 0] = z(h, k, l);\n a[b + 2 + 0] = z(g, h, k);\n a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h);\n a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g);\n a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c);\n a[b + 1 + 96] = z(f, e, d);\n }\n function xf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) I(a, b + 32 * c, a, b - 32, 8);\n }\n function yf(a, b) {\n var c;\n for (c = 0; 8 > c; ++c) M(a, b, a[b - 1], 8), (b += 32);\n }\n function lb(a, b, c) {\n var d;\n for (d = 0; 8 > d; ++d) M(b, c + 32 * d, a, 8);\n }\n function vf(a, b) {\n var c = 8,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32] + a[b - 1 + 32 * d];\n lb(c >> 4, a, b);\n }\n function Af(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b + d - 32];\n lb(c >> 3, a, b);\n }\n function zf(a, b) {\n var c = 4,\n d;\n for (d = 0; 8 > d; ++d) c += a[b - 1 + 32 * d];\n lb(c >> 3, a, b);\n }\n function Bf(a, b) {\n lb(128, a, b);\n }\n function ab(a, b, c) {\n var d = a[b - c],\n e = a[b + 0],\n f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]],\n g = mb[112 + ((f + 4) >> 3)];\n a[b - c] = R[255 + d + mb[112 + ((f + 3) >> 3)]];\n a[b + 0] = R[255 + e - g];\n }\n function jd(a, b, c, d) {\n var e = a[b + 0],\n f = a[b + c];\n return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d;\n }\n function kd(a, b, c, d) {\n return (\n 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d\n );\n }\n function ld(a, b, c, d, e) {\n var f = a[b - 3 * c],\n g = a[b - 2 * c],\n h = a[b - c],\n k = a[b + 0],\n l = a[b + c],\n m = a[b + 2 * c],\n n = a[b + 3 * c];\n return 4 * U[255 + h - k] + U[255 + g - l] > d\n ? 0\n : U[255 + a[b - 4 * c] - f] <= e &&\n U[255 + f - g] <= e &&\n U[255 + g - h] <= e &&\n U[255 + n - m] <= e &&\n U[255 + m - l] <= e &&\n U[255 + l - k] <= e;\n }\n function gd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d, c, e) && ab(a, b + d, c);\n }\n function hd(a, b, c, d) {\n var e = 2 * d + 1;\n for (d = 0; 16 > d; ++d) kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1);\n }\n function bf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4 * c), gd(a, b, c, d);\n }\n function cf(a, b, c, d) {\n var e;\n for (e = 3; 0 < e; --e) (b += 4), hd(a, b, c, d);\n }\n function ea(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - 2 * m],\n r = k[l - m],\n q = k[l + 0],\n t = k[l + m],\n v = k[l + 2 * m],\n p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]],\n u = (27 * p + 63) >> 7,\n w = (18 * p + 63) >> 7,\n p = (9 * p + 63) >> 7;\n k[l - 3 * m] = R[255 + k[l - 3 * m] + p];\n k[l - 2 * m] = R[255 + n + w];\n k[l - m] = R[255 + r + u];\n k[l + 0] = R[255 + q - u];\n k[l + m] = R[255 + t - w];\n k[l + 2 * m] = R[255 + v - p];\n }\n b += d;\n }\n }\n function Fa(a, b, c, d, e, f, g, h) {\n for (f = 2 * f + 1; 0 < e--; ) {\n if (ld(a, b, c, f, g))\n if (jd(a, b, c, h)) ab(a, b, c);\n else {\n var k = a,\n l = b,\n m = c,\n n = k[l - m],\n r = k[l + 0],\n q = k[l + m],\n t = 3 * (r - n),\n v = mb[112 + ((t + 4) >> 3)],\n t = mb[112 + ((t + 3) >> 3)],\n p = (v + 1) >> 1;\n k[l - 2 * m] = R[255 + k[l - 2 * m] + p];\n k[l - m] = R[255 + n + t];\n k[l + 0] = R[255 + r - v];\n k[l + m] = R[255 + q - p];\n }\n b += d;\n }\n }\n function Ue(a, b, c, d, e, f) {\n ea(a, b, c, 1, 16, d, e, f);\n }\n function Ve(a, b, c, d, e, f) {\n ea(a, b, 1, c, 16, d, e, f);\n }\n function Ye(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4 * c), Fa(a, b, c, 1, 16, d, e, f);\n }\n function Ze(a, b, c, d, e, f) {\n var g;\n for (g = 3; 0 < g; --g) (b += 4), Fa(a, b, 1, c, 16, d, e, f);\n }\n function We(a, b, c, d, e, f, g, h) {\n ea(a, b, e, 1, 8, f, g, h);\n ea(c, d, e, 1, 8, f, g, h);\n }\n function Xe(a, b, c, d, e, f, g, h) {\n ea(a, b, 1, e, 8, f, g, h);\n ea(c, d, 1, e, 8, f, g, h);\n }\n function $e(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4 * e, e, 1, 8, f, g, h);\n Fa(c, d + 4 * e, e, 1, 8, f, g, h);\n }\n function af(a, b, c, d, e, f, g, h) {\n Fa(a, b + 4, 1, e, 8, f, g, h);\n Fa(c, d + 4, 1, e, 8, f, g, h);\n }\n function Cf() {\n this.ba = new Cb();\n this.ec = [];\n this.cc = [];\n this.Mc = [];\n this.Dc = this.Nc = this.dc = this.fc = 0;\n this.Oa = new Ud();\n this.memory = 0;\n this.Ib = \"OutputFunc\";\n this.Jb = \"OutputAlphaFunc\";\n this.Nd = \"OutputRowFunc\";\n }\n function md() {\n this.data = [];\n this.offset = this.kd = this.ha = this.w = 0;\n this.na = [];\n this.xa = this.gb = this.Ja = this.Sa = this.P = 0;\n }\n function Df() {\n this.nc = this.Ea = this.b = this.hc = 0;\n this.K = [];\n this.w = 0;\n }\n function Ef() {\n this.ua = 0;\n this.Wa = new ac();\n this.vb = new ac();\n this.md = this.xc = this.wc = 0;\n this.vc = [];\n this.Wb = 0;\n this.Ya = new Ub();\n this.yc = new O();\n }\n function je() {\n this.xb = this.a = 0;\n this.l = new Oa();\n this.ca = new Cb();\n this.V = [];\n this.Ba = 0;\n this.Ta = [];\n this.Ua = 0;\n this.m = new Ra();\n this.Pb = 0;\n this.wd = new Ra();\n this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0;\n this.s = new Ef();\n this.ab = 0;\n this.gc = wa(4, Df);\n this.Oc = 0;\n }\n function Ff() {\n this.Lc = this.Z = this.$a = this.i = this.c = 0;\n this.l = new Oa();\n this.ic = 0;\n this.ca = [];\n this.tb = 0;\n this.qd = null;\n this.rd = 0;\n }\n function Rb(a, b, c, d, e, f, g) {\n a = null == a ? 0 : a[b + 0];\n for (b = 0; b < g; ++b) (e[f + b] = (a + c[d + b]) & 255), (a = e[f + b]);\n }\n function Gf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h;\n for (h = 0; h < g; ++h) e[f + h] = (a[b + h] + c[d + h]) & 255;\n }\n }\n function Hf(a, b, c, d, e, f, g) {\n if (null == a) Rb(null, null, c, d, e, f, g);\n else {\n var h = a[b + 0],\n k = h,\n l = h,\n m;\n for (m = 0; m < g; ++m)\n (h = a[b + m]),\n (k = l + h - k),\n (l = (c[d + m] + (k & -256 ? (0 > k ? 0 : 255) : k)) & 255),\n (k = h),\n (e[f + m] = l);\n }\n }\n function Le(a, b, c, d) {\n var e = b.width,\n f = b.o;\n x(null != a && null != b);\n if (0 > c || 0 >= d || c + d > f) return null;\n if (!a.Cc) {\n if (null == a.ga) {\n a.ga = new Ff();\n var g;\n (g = null == a.ga) ||\n ((g = b.width * b.o),\n x(0 == a.Gb.length),\n (a.Gb = V(g)),\n (a.Uc = 0),\n null == a.Gb\n ? (g = 0)\n : ((a.mb = a.Gb), (a.nb = a.Uc), (a.rc = null), (g = 1)),\n (g = !g));\n if (!g) {\n g = a.ga;\n var h = a.Fa,\n k = a.P,\n l = a.qc,\n m = a.mb,\n n = a.nb,\n r = k + 1,\n q = l - 1,\n t = g.l;\n x(null != h && null != m && null != b);\n ia[0] = null;\n ia[1] = Rb;\n ia[2] = Gf;\n ia[3] = Hf;\n g.ca = m;\n g.tb = n;\n g.c = b.width;\n g.i = b.height;\n x(0 < g.c && 0 < g.i);\n if (1 >= l) b = 0;\n else if (\n ((g.$a = (h[k + 0] >> 0) & 3),\n (g.Z = (h[k + 0] >> 2) & 3),\n (g.Lc = (h[k + 0] >> 4) & 3),\n (k = (h[k + 0] >> 6) & 3),\n 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k)\n )\n b = 0;\n else if (\n ((t.put = kc),\n (t.ac = gc),\n (t.bc = lc),\n (t.ma = g),\n (t.width = b.width),\n (t.height = b.height),\n (t.Da = b.Da),\n (t.v = b.v),\n (t.va = b.va),\n (t.j = b.j),\n (t.o = b.o),\n g.$a)\n )\n b: {\n x(1 == g.$a), (b = Bc());\n c: for (;;) {\n if (null == b) {\n b = 0;\n break b;\n }\n x(null != g);\n g.mc = b;\n b.c = g.c;\n b.i = g.i;\n b.l = g.l;\n b.l.ma = g;\n b.l.width = g.c;\n b.l.height = g.i;\n b.a = 0;\n cb(b.m, h, r, q);\n if (!rb(g.c, g.i, 1, b, null)) break c;\n 1 == b.ab && 3 == b.gc[0].hc && yc(b.s)\n ? ((g.ic = 1),\n (h = b.c * b.i),\n (b.Ta = null),\n (b.Ua = 0),\n (b.V = V(h)),\n (b.Ba = 0),\n null == b.V ? ((b.a = 1), (b = 0)) : (b = 1))\n : ((g.ic = 0), (b = Ec(b, g.c)));\n if (!b) break c;\n b = 1;\n break b;\n }\n g.mc = null;\n b = 0;\n }\n else b = q >= g.c * g.i;\n g = !b;\n }\n if (g) return null;\n 1 != a.ga.Lc ? (a.Ga = 0) : (d = f - c);\n }\n x(null != a.ga);\n x(c + d <= f);\n a: {\n h = a.ga;\n b = h.c;\n f = h.l.o;\n if (0 == h.$a) {\n r = a.rc;\n q = a.Vc;\n t = a.Fa;\n k = a.P + 1 + c * b;\n l = a.mb;\n m = a.nb + c * b;\n x(k <= a.P + a.qc);\n if (0 != h.Z)\n for (x(null != ia[h.Z]), g = 0; g < d; ++g)\n ia[h.Z](r, q, t, k, l, m, b),\n (r = l),\n (q = m),\n (m += b),\n (k += b);\n else\n for (g = 0; g < d; ++g)\n I(l, m, t, k, b), (r = l), (q = m), (m += b), (k += b);\n a.rc = r;\n a.Vc = q;\n } else {\n x(null != h.mc);\n b = c + d;\n g = h.mc;\n x(null != g);\n x(b <= g.i);\n if (g.C >= b) b = 1;\n else if ((h.ic || Aa(), h.ic)) {\n var h = g.V,\n r = g.Ba,\n q = g.c,\n v = g.i,\n t = 1,\n k = g.$ / q,\n l = g.$ % q,\n m = g.m,\n n = g.s,\n p = g.$,\n u = q * v,\n w = q * b,\n y = n.wc,\n A = p < w ? ha(n, l, k) : null;\n x(p <= u);\n x(b <= v);\n x(yc(n));\n c: for (;;) {\n for (; !m.h && p < w; ) {\n l & y || (A = ha(n, l, k));\n x(null != A);\n Sa(m);\n v = ua(A.G[0], A.H[0], m);\n if (256 > v)\n (h[r + p] = v),\n ++p,\n ++l,\n l >= q && ((l = 0), ++k, k <= b && !(k % 16) && Ib(g, k));\n else if (280 > v) {\n var v = ib(v - 256, m);\n var E = ua(A.G[4], A.H[4], m);\n Sa(m);\n E = ib(E, m);\n E = nc(q, E);\n if (p >= E && u - p >= v) {\n var B;\n for (B = 0; B < v; ++B) h[r + p + B] = h[r + p + B - E];\n } else {\n t = 0;\n break c;\n }\n p += v;\n for (l += v; l >= q; )\n (l -= q), ++k, k <= b && !(k % 16) && Ib(g, k);\n p < w && l & y && (A = ha(n, l, k));\n } else {\n t = 0;\n break c;\n }\n x(m.h == db(m));\n }\n Ib(g, k > b ? b : k);\n break c;\n }\n !t || (m.h && p < u) ? ((t = 0), (g.a = m.h ? 5 : 3)) : (g.$ = p);\n b = t;\n } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se);\n if (!b) {\n d = 0;\n break a;\n }\n }\n c + d >= f && (a.Cc = 1);\n d = 1;\n }\n if (!d) return null;\n if (\n a.Cc &&\n ((d = a.ga), null != d && (d.mc = null), (a.ga = null), 0 < a.Ga)\n )\n return alert(\"todo:WebPDequantizeLevels\"), null;\n }\n return a.nb + c * e;\n }\n function If(a, b, c, d, e, f) {\n for (; 0 < e--; ) {\n var g = a,\n h = b + (c ? 1 : 0),\n k = a,\n l = b + (c ? 0 : 3),\n m;\n for (m = 0; m < d; ++m) {\n var n = k[l + 4 * m];\n 255 != n &&\n ((n *= 32897),\n (g[h + 4 * m + 0] = (g[h + 4 * m + 0] * n) >> 23),\n (g[h + 4 * m + 1] = (g[h + 4 * m + 1] * n) >> 23),\n (g[h + 4 * m + 2] = (g[h + 4 * m + 2] * n) >> 23));\n }\n b += f;\n }\n }\n function Jf(a, b, c, d, e) {\n for (; 0 < d--; ) {\n var f;\n for (f = 0; f < c; ++f) {\n var g = a[b + 2 * f + 0],\n h = a[b + 2 * f + 1],\n k = h & 15,\n l = 4369 * k,\n h = (((h & 240) | (h >> 4)) * l) >> 16;\n a[b + 2 * f + 0] =\n (((((g & 240) | (g >> 4)) * l) >> 16) & 240) |\n ((((((g & 15) | (g << 4)) * l) >> 16) >> 4) & 15);\n a[b + 2 * f + 1] = (h & 240) | k;\n }\n b += e;\n }\n }\n function Kf(a, b, c, d, e, f, g, h) {\n var k = 255,\n l,\n m;\n for (m = 0; m < e; ++m) {\n for (l = 0; l < d; ++l) {\n var n = a[b + l];\n f[g + 4 * l] = n;\n k &= n;\n }\n b += c;\n g += h;\n }\n return 255 != k;\n }\n function Lf(a, b, c, d, e) {\n var f;\n for (f = 0; f < e; ++f) c[d + f] = a[b + f] >> 8;\n }\n function Aa() {\n za = If;\n vc = Jf;\n fc = Kf;\n Fc = Lf;\n }\n function va(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) {\n var d,\n E = (y - 1) >> 1;\n var B = h[k + 0] | (l[m + 0] << 16);\n var C = n[r + 0] | (q[t + 0] << 16);\n x(null != a);\n var z = (3 * B + C + 131074) >> 2;\n b(a[e + 0], z & 255, z >> 16, v, p);\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + 0], z & 255, z >> 16, u, w));\n for (d = 1; d <= E; ++d) {\n var D = h[k + d] | (l[m + d] << 16);\n var G = n[r + d] | (q[t + d] << 16);\n var F = B + D + C + G + 524296;\n var H = (F + 2 * (D + C)) >> 3;\n F = (F + 2 * (B + G)) >> 3;\n z = (H + B) >> 1;\n B = (F + D) >> 1;\n b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c);\n b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c);\n null != f &&\n ((z = (F + C) >> 1),\n (B = (H + G) >> 1),\n b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c),\n b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c));\n B = D;\n C = G;\n }\n y & 1 ||\n ((z = (3 * B + C + 131074) >> 2),\n b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c),\n null != f &&\n ((z = (3 * C + B + 131074) >> 2),\n b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c)));\n };\n }\n function ic() {\n P[Ca] = Mf;\n P[Ua] = nd;\n P[tc] = Nf;\n P[Va] = od;\n P[ya] = pd;\n P[Db] = qd;\n P[wc] = Of;\n P[zb] = nd;\n P[Ab] = od;\n P[Ja] = pd;\n P[Bb] = qd;\n }\n function Sb(a) {\n return a & ~Pf ? (0 > a ? 0 : 255) : a >> rd;\n }\n function bb(a, b) {\n return Sb(((19077 * a) >> 8) + ((26149 * b) >> 8) - 14234);\n }\n function nb(a, b, c) {\n return Sb(\n ((19077 * a) >> 8) - ((6419 * b) >> 8) - ((13320 * c) >> 8) + 8708\n );\n }\n function Pa(a, b) {\n return Sb(((19077 * a) >> 8) + ((33050 * b) >> 8) - 17685);\n }\n function Ga(a, b, c, d, e) {\n d[e + 0] = bb(a, c);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = Pa(a, b);\n }\n function Tb(a, b, c, d, e) {\n d[e + 0] = Pa(a, b);\n d[e + 1] = nb(a, b, c);\n d[e + 2] = bb(a, c);\n }\n function sd(a, b, c, d, e) {\n var f = nb(a, b, c);\n b = ((f << 3) & 224) | (Pa(a, b) >> 3);\n d[e + 0] = (bb(a, c) & 248) | (f >> 5);\n d[e + 1] = b;\n }\n function td(a, b, c, d, e) {\n var f = (Pa(a, b) & 240) | 15;\n d[e + 0] = (bb(a, c) & 240) | (nb(a, b, c) >> 4);\n d[e + 1] = f;\n }\n function ud(a, b, c, d, e) {\n d[e + 0] = 255;\n Ga(a, b, c, d, e + 1);\n }\n function vd(a, b, c, d, e) {\n Tb(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function wd(a, b, c, d, e) {\n Ga(a, b, c, d, e);\n d[e + 3] = 255;\n }\n function ga(a, b) {\n return 0 > a ? 0 : a > b ? b : a;\n }\n function la(a, b, c) {\n self[a] = function(a, e, f, g, h, k, l, m, n) {\n for (var d = m + (n & -2) * c; m != d; )\n b(a[e + 0], f[g + 0], h[k + 0], l, m),\n b(a[e + 1], f[g + 0], h[k + 0], l, m + c),\n (e += 2),\n ++g,\n ++k,\n (m += 2 * c);\n n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m);\n };\n }\n function xd(a, b, c) {\n return 0 == c ? (0 == a ? (0 == b ? 6 : 5) : 0 == b ? 4 : 0) : c;\n }\n function yd(a, b, c, d, e) {\n switch (a >>> 30) {\n case 3:\n Za(b, c, d, e, 0);\n break;\n case 2:\n fd(b, c, d, e);\n break;\n case 1:\n pa(b, c, d, e);\n }\n }\n function Oc(a, b) {\n var c,\n d,\n e = b.M,\n f = b.Nb,\n g = a.oc,\n h = a.pc + 40,\n k = a.oc,\n l = a.pc + 584,\n m = a.oc,\n n = a.pc + 600;\n for (c = 0; 16 > c; ++c) g[h + 32 * c - 1] = 129;\n for (c = 0; 8 > c; ++c)\n (k[l + 32 * c - 1] = 129), (m[n + 32 * c - 1] = 129);\n 0 < e\n ? (g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129)\n : (M(g, h - 32 - 1, 127, 21),\n M(k, l - 32 - 1, 127, 9),\n M(m, n - 32 - 1, 127, 9));\n for (d = 0; d < a.za; ++d) {\n var r = b.ya[b.aa + d];\n if (0 < d) {\n for (c = -1; 16 > c; ++c) I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4);\n for (c = -1; 8 > c; ++c)\n I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4),\n I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4);\n }\n var q = a.Gd,\n t = a.Hd + d,\n v = r.ad,\n p = r.Hc;\n 0 < e &&\n (I(g, h - 32, q[t].y, 0, 16),\n I(k, l - 32, q[t].f, 0, 8),\n I(m, n - 32, q[t].ea, 0, 8));\n if (r.Za) {\n var u = g;\n var w = h - 32 + 16;\n 0 < e &&\n (d >= a.za - 1\n ? M(u, w, q[t].y[15], 4)\n : I(u, w, q[t + 1].y, 0, 4));\n for (c = 0; 4 > c; c++)\n u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c];\n for (c = 0; 16 > c; ++c, p <<= 2)\n (u = g), (w = h + zd[c]), W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w);\n } else if (((u = xd(d, e, r.Ob[0])), Y[u](g, h), 0 != p))\n for (c = 0; 16 > c; ++c, p <<= 2) yd(p, v, 16 * +c, g, h + zd[c]);\n c = r.Gc;\n u = xd(d, e, r.Dd);\n ka[u](k, l);\n ka[u](m, n);\n r = c >> 0;\n p = v;\n u = k;\n w = l;\n r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w));\n c >>= 8;\n r = m;\n p = n;\n c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p));\n e < a.Ub - 1 &&\n (I(q[t].y, 0, g, h + 480, 16),\n I(q[t].f, 0, k, l + 224, 8),\n I(q[t].ea, 0, m, n + 224, 8));\n c = 8 * f * a.B;\n q = a.sa;\n t = a.ta + 16 * d + 16 * f * a.R;\n v = a.qa;\n r = a.ra + 8 * d + c;\n p = a.Ha;\n u = a.Ia + 8 * d + c;\n for (c = 0; 16 > c; ++c) I(q, t + c * a.R, g, h + 32 * c, 16);\n for (c = 0; 8 > c; ++c)\n I(v, r + c * a.B, k, l + 32 * c, 8),\n I(p, u + c * a.B, m, n + 32 * c, 8);\n }\n }\n function Ad(a, b, c, d, e, f, g, h, k) {\n var l = [0],\n m = [0],\n n = 0,\n r = null != k ? k.kd : 0,\n q = null != k ? k : new md();\n if (null == a || 12 > c) return 7;\n q.data = a;\n q.w = b;\n q.ha = c;\n b = [b];\n c = [c];\n q.gb = [q.gb];\n a: {\n var t = b;\n var v = c;\n var p = q.gb;\n x(null != a);\n x(null != v);\n x(null != p);\n p[0] = 0;\n if (12 <= v[0] && !fa(a, t[0], \"RIFF\")) {\n if (fa(a, t[0] + 8, \"WEBP\")) {\n p = 3;\n break a;\n }\n var u = Ha(a, t[0] + 4);\n if (12 > u || 4294967286 < u) {\n p = 3;\n break a;\n }\n if (r && u > v[0] - 8) {\n p = 7;\n break a;\n }\n p[0] = u;\n t[0] += 12;\n v[0] -= 12;\n }\n p = 0;\n }\n if (0 != p) return p;\n u = 0 < q.gb[0];\n for (c = c[0]; ; ) {\n t = [0];\n n = [n];\n a: {\n var w = a;\n v = b;\n p = c;\n var y = n,\n A = l,\n z = m,\n B = t;\n y[0] = 0;\n if (8 > p[0]) p = 7;\n else {\n if (!fa(w, v[0], \"VP8X\")) {\n if (10 != Ha(w, v[0] + 4)) {\n p = 3;\n break a;\n }\n if (18 > p[0]) {\n p = 7;\n break a;\n }\n var C = Ha(w, v[0] + 8);\n var D = 1 + Yb(w, v[0] + 12);\n w = 1 + Yb(w, v[0] + 15);\n if (2147483648 <= D * w) {\n p = 3;\n break a;\n }\n null != B && (B[0] = C);\n null != A && (A[0] = D);\n null != z && (z[0] = w);\n v[0] += 18;\n p[0] -= 18;\n y[0] = 1;\n }\n p = 0;\n }\n }\n n = n[0];\n t = t[0];\n if (0 != p) return p;\n v = !!(t & 2);\n if (!u && n) return 3;\n null != f && (f[0] = !!(t & 16));\n null != g && (g[0] = v);\n null != h && (h[0] = 0);\n g = l[0];\n t = m[0];\n if (n && v && null == k) {\n p = 0;\n break;\n }\n if (4 > c) {\n p = 7;\n break;\n }\n if ((u && n) || (!u && !n && !fa(a, b[0], \"ALPH\"))) {\n c = [c];\n q.na = [q.na];\n q.P = [q.P];\n q.Sa = [q.Sa];\n a: {\n C = a;\n p = b;\n u = c;\n var y = q.gb,\n A = q.na,\n z = q.P,\n B = q.Sa;\n D = 22;\n x(null != C);\n x(null != u);\n w = p[0];\n var F = u[0];\n x(null != A);\n x(null != B);\n A[0] = null;\n z[0] = null;\n for (B[0] = 0; ; ) {\n p[0] = w;\n u[0] = F;\n if (8 > F) {\n p = 7;\n break a;\n }\n var G = Ha(C, w + 4);\n if (4294967286 < G) {\n p = 3;\n break a;\n }\n var H = (8 + G + 1) & -2;\n D += H;\n if (0 < y && D > y) {\n p = 3;\n break a;\n }\n if (!fa(C, w, \"VP8 \") || !fa(C, w, \"VP8L\")) {\n p = 0;\n break a;\n }\n if (F[0] < H) {\n p = 7;\n break a;\n }\n fa(C, w, \"ALPH\") || ((A[0] = C), (z[0] = w + 8), (B[0] = G));\n w += H;\n F -= H;\n }\n }\n c = c[0];\n q.na = q.na[0];\n q.P = q.P[0];\n q.Sa = q.Sa[0];\n if (0 != p) break;\n }\n c = [c];\n q.Ja = [q.Ja];\n q.xa = [q.xa];\n a: if (\n ((y = a),\n (p = b),\n (u = c),\n (A = q.gb[0]),\n (z = q.Ja),\n (B = q.xa),\n (C = p[0]),\n (w = !fa(y, C, \"VP8 \")),\n (D = !fa(y, C, \"VP8L\")),\n x(null != y),\n x(null != u),\n x(null != z),\n x(null != B),\n 8 > u[0])\n )\n p = 7;\n else {\n if (w || D) {\n y = Ha(y, C + 4);\n if (12 <= A && y > A - 12) {\n p = 3;\n break a;\n }\n if (r && y > u[0] - 8) {\n p = 7;\n break a;\n }\n z[0] = y;\n p[0] += 8;\n u[0] -= 8;\n B[0] = D;\n } else\n (B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5)),\n (z[0] = u[0]);\n p = 0;\n }\n c = c[0];\n q.Ja = q.Ja[0];\n q.xa = q.xa[0];\n b = b[0];\n if (0 != p) break;\n if (4294967286 < q.Ja) return 3;\n null == h || v || (h[0] = q.xa ? 2 : 1);\n g = [g];\n t = [t];\n if (q.xa) {\n if (5 > c) {\n p = 7;\n break;\n }\n h = g;\n r = t;\n v = f;\n null == a || 5 > c\n ? (a = 0)\n : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5)\n ? ((u = [0]),\n (y = [0]),\n (A = [0]),\n (z = new Ra()),\n cb(z, a, b, c),\n mc(z, u, y, A)\n ? (null != h && (h[0] = u[0]),\n null != r && (r[0] = y[0]),\n null != v && (v[0] = A[0]),\n (a = 1))\n : (a = 0))\n : (a = 0);\n } else {\n if (10 > c) {\n p = 7;\n break;\n }\n h = t;\n null == a || 10 > c || !Jc(a, b + 3, c - 3)\n ? (a = 0)\n : ((r = a[b + 0] | (a[b + 1] << 8) | (a[b + 2] << 16)),\n (v = ((a[b + 7] << 8) | a[b + 6]) & 16383),\n (a = ((a[b + 9] << 8) | a[b + 8]) & 16383),\n r & 1 ||\n 3 < ((r >> 1) & 7) ||\n !((r >> 4) & 1) ||\n r >> 5 >= q.Ja ||\n !v ||\n !a\n ? (a = 0)\n : (g && (g[0] = v), h && (h[0] = a), (a = 1)));\n }\n if (!a) return 3;\n g = g[0];\n t = t[0];\n if (n && (l[0] != g || m[0] != t)) return 3;\n null != k &&\n ((k[0] = q),\n (k.offset = b - k.w),\n x(4294967286 > b - k.w),\n x(k.offset == k.ha - c));\n break;\n }\n return 0 == p || (7 == p && n && null == k)\n ? (null != f && (f[0] |= null != q.na && 0 < q.na.length),\n null != d && (d[0] = g),\n null != e && (e[0] = t),\n 0)\n : p;\n }\n function hc(a, b, c) {\n var d = b.width,\n e = b.height,\n f = 0,\n g = 0,\n h = d,\n k = e;\n b.Da = null != a && 0 < a.Da;\n if (\n b.Da &&\n ((h = a.cd),\n (k = a.bd),\n (f = a.v),\n (g = a.j),\n 11 > c || ((f &= -2), (g &= -2)),\n 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)\n )\n return 0;\n b.v = f;\n b.j = g;\n b.va = f + h;\n b.o = g + k;\n b.U = h;\n b.T = k;\n b.da = null != a && 0 < a.da;\n if (b.da) {\n c = [a.ib];\n f = [a.hb];\n if (!bc(h, k, c, f)) return 0;\n b.ib = c[0];\n b.hb = f[0];\n }\n b.ob = null != a && a.ob;\n b.Kb = null == a || !a.Sd;\n b.da && ((b.ob = b.ib < (3 * d) / 4 && b.hb < (3 * e) / 4), (b.Kb = 0));\n return 1;\n }\n function Bd(a) {\n if (null == a) return 2;\n if (11 > a.S) {\n var b = a.f.RGBA;\n b.fb += (a.height - 1) * b.A;\n b.A = -b.A;\n } else\n (b = a.f.kb),\n (a = a.height),\n (b.O += (a - 1) * b.fa),\n (b.fa = -b.fa),\n (b.N += ((a - 1) >> 1) * b.Ab),\n (b.Ab = -b.Ab),\n (b.W += ((a - 1) >> 1) * b.Db),\n (b.Db = -b.Db),\n null != b.F && ((b.J += (a - 1) * b.lb), (b.lb = -b.lb));\n return 0;\n }\n function Cd(a, b, c, d) {\n if (null == d || 0 >= a || 0 >= b) return 2;\n if (null != c) {\n if (c.Da) {\n var e = c.cd,\n f = c.bd,\n g = c.v & -2,\n h = c.j & -2;\n if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b)\n return 2;\n a = e;\n b = f;\n }\n if (c.da) {\n e = [c.ib];\n f = [c.hb];\n if (!bc(a, b, e, f)) return 2;\n a = e[0];\n b = f[0];\n }\n }\n d.width = a;\n d.height = b;\n a: {\n var k = d.width;\n var l = d.height;\n a = d.S;\n if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;\n else {\n if (0 >= d.Rd && null == d.sd) {\n var g = (f = e = b = 0),\n h = k * Dd[a],\n m = h * l;\n 11 > a ||\n ((b = (k + 1) / 2),\n (f = ((l + 1) / 2) * b),\n 12 == a && ((e = k), (g = e * l)));\n l = V(m + 2 * f + g);\n if (null == l) {\n a = 1;\n break a;\n }\n d.sd = l;\n 11 > a\n ? ((k = d.f.RGBA),\n (k.eb = l),\n (k.fb = 0),\n (k.A = h),\n (k.size = m))\n : ((k = d.f.kb),\n (k.y = l),\n (k.O = 0),\n (k.fa = h),\n (k.Fd = m),\n (k.f = l),\n (k.N = 0 + m),\n (k.Ab = b),\n (k.Cd = f),\n (k.ea = l),\n (k.W = 0 + m + f),\n (k.Db = b),\n (k.Ed = f),\n 12 == a && ((k.F = l), (k.J = 0 + m + 2 * f)),\n (k.Tc = g),\n (k.lb = e));\n }\n b = 1;\n e = d.S;\n f = d.width;\n g = d.height;\n if (e >= Ca && 13 > e)\n if (11 > e)\n (a = d.f.RGBA),\n (h = Math.abs(a.A)),\n (b &= h * (g - 1) + f <= a.size),\n (b &= h >= f * Dd[e]),\n (b &= null != a.eb);\n else {\n a = d.f.kb;\n h = (f + 1) / 2;\n m = (g + 1) / 2;\n k = Math.abs(a.fa);\n var l = Math.abs(a.Ab),\n n = Math.abs(a.Db),\n r = Math.abs(a.lb),\n q = r * (g - 1) + f;\n b &= k * (g - 1) + f <= a.Fd;\n b &= l * (m - 1) + h <= a.Cd;\n b &= n * (m - 1) + h <= a.Ed;\n b = b & (k >= f) & (l >= h) & (n >= h);\n b &= null != a.y;\n b &= null != a.f;\n b &= null != a.ea;\n 12 == e && ((b &= r >= f), (b &= q <= a.Tc), (b &= null != a.F));\n }\n else b = 0;\n a = b ? 0 : 2;\n }\n }\n if (0 != a) return a;\n null != c && c.fd && (a = Bd(d));\n return a;\n }\n var xb = 64,\n Hd = [\n 0,\n 1,\n 3,\n 7,\n 15,\n 31,\n 63,\n 127,\n 255,\n 511,\n 1023,\n 2047,\n 4095,\n 8191,\n 16383,\n 32767,\n 65535,\n 131071,\n 262143,\n 524287,\n 1048575,\n 2097151,\n 4194303,\n 8388607,\n 16777215\n ],\n Gd = 24,\n ob = 32,\n Xb = 8,\n Id = [\n 0,\n 0,\n 1,\n 1,\n 2,\n 2,\n 2,\n 2,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 3,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 4,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7,\n 7\n ];\n X(\"Predictor0\", \"PredictorAdd0\");\n self.Predictor0 = function() {\n return 4278190080;\n };\n self.Predictor1 = function(a) {\n return a;\n };\n self.Predictor2 = function(a, b, c) {\n return b[c + 0];\n };\n self.Predictor3 = function(a, b, c) {\n return b[c + 1];\n };\n self.Predictor4 = function(a, b, c) {\n return b[c - 1];\n };\n self.Predictor5 = function(a, b, c) {\n return aa(aa(a, b[c + 1]), b[c + 0]);\n };\n self.Predictor6 = function(a, b, c) {\n return aa(a, b[c - 1]);\n };\n self.Predictor7 = function(a, b, c) {\n return aa(a, b[c + 0]);\n };\n self.Predictor8 = function(a, b, c) {\n return aa(b[c - 1], b[c + 0]);\n };\n self.Predictor9 = function(a, b, c) {\n return aa(b[c + 0], b[c + 1]);\n };\n self.Predictor10 = function(a, b, c) {\n return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1]));\n };\n self.Predictor11 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return 0 >=\n Ia((d >> 24) & 255, (a >> 24) & 255, (b >> 24) & 255) +\n Ia((d >> 16) & 255, (a >> 16) & 255, (b >> 16) & 255) +\n Ia((d >> 8) & 255, (a >> 8) & 255, (b >> 8) & 255) +\n Ia(d & 255, a & 255, b & 255)\n ? d\n : a;\n };\n self.Predictor12 = function(a, b, c) {\n var d = b[c + 0];\n b = b[c - 1];\n return (\n ((sa(((a >> 24) & 255) + ((d >> 24) & 255) - ((b >> 24) & 255)) << 24) |\n (sa(((a >> 16) & 255) + ((d >> 16) & 255) - ((b >> 16) & 255)) <<\n 16) |\n (sa(((a >> 8) & 255) + ((d >> 8) & 255) - ((b >> 8) & 255)) << 8) |\n sa((a & 255) + (d & 255) - (b & 255))) >>>\n 0\n );\n };\n self.Predictor13 = function(a, b, c) {\n var d = b[c - 1];\n a = aa(a, b[c + 0]);\n return (\n ((eb((a >> 24) & 255, (d >> 24) & 255) << 24) |\n (eb((a >> 16) & 255, (d >> 16) & 255) << 16) |\n (eb((a >> 8) & 255, (d >> 8) & 255) << 8) |\n eb((a >> 0) & 255, (d >> 0) & 255)) >>>\n 0\n );\n };\n var ee = self.PredictorAdd0;\n self.PredictorAdd1 = cc;\n X(\"Predictor2\", \"PredictorAdd2\");\n X(\"Predictor3\", \"PredictorAdd3\");\n X(\"Predictor4\", \"PredictorAdd4\");\n X(\"Predictor5\", \"PredictorAdd5\");\n X(\"Predictor6\", \"PredictorAdd6\");\n X(\"Predictor7\", \"PredictorAdd7\");\n X(\"Predictor8\", \"PredictorAdd8\");\n X(\"Predictor9\", \"PredictorAdd9\");\n X(\"Predictor10\", \"PredictorAdd10\");\n X(\"Predictor11\", \"PredictorAdd11\");\n X(\"Predictor12\", \"PredictorAdd12\");\n X(\"Predictor13\", \"PredictorAdd13\");\n var fe = self.PredictorAdd2;\n ec(\n \"ColorIndexInverseTransform\",\n \"MapARGB\",\n \"32b\",\n function(a) {\n return (a >> 8) & 255;\n },\n function(a) {\n return a;\n }\n );\n ec(\n \"VP8LColorIndexInverseTransformAlpha\",\n \"MapAlpha\",\n \"8b\",\n function(a) {\n return a;\n },\n function(a) {\n return (a >> 8) & 255;\n }\n );\n var rc = self.ColorIndexInverseTransform,\n ke = self.MapARGB,\n he = self.VP8LColorIndexInverseTransformAlpha,\n le = self.MapAlpha,\n pc,\n qc = (self.VP8LPredictorsAdd = []);\n qc.length = 16;\n (self.VP8LPredictors = []).length = 16;\n (self.VP8LPredictorsAdd_C = []).length = 16;\n (self.VP8LPredictors_C = []).length = 16;\n var Fb,\n sc,\n Gb,\n Hb,\n xc,\n uc,\n bd = V(511),\n cd = V(2041),\n dd = V(225),\n ed = V(767),\n ad = 0,\n Qb = cd,\n mb = dd,\n R = ed,\n U = bd,\n Ca = 0,\n Ua = 1,\n tc = 2,\n Va = 3,\n ya = 4,\n Db = 5,\n wc = 6,\n zb = 7,\n Ab = 8,\n Ja = 9,\n Bb = 10,\n pe = [2, 3, 7],\n oe = [3, 3, 11],\n Dc = [280, 256, 256, 256, 40],\n qe = [0, 1, 1, 1, 0],\n ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],\n de = [\n 24,\n 7,\n 23,\n 25,\n 40,\n 6,\n 39,\n 41,\n 22,\n 26,\n 38,\n 42,\n 56,\n 5,\n 55,\n 57,\n 21,\n 27,\n 54,\n 58,\n 37,\n 43,\n 72,\n 4,\n 71,\n 73,\n 20,\n 28,\n 53,\n 59,\n 70,\n 74,\n 36,\n 44,\n 88,\n 69,\n 75,\n 52,\n 60,\n 3,\n 87,\n 89,\n 19,\n 29,\n 86,\n 90,\n 35,\n 45,\n 68,\n 76,\n 85,\n 91,\n 51,\n 61,\n 104,\n 2,\n 103,\n 105,\n 18,\n 30,\n 102,\n 106,\n 34,\n 46,\n 84,\n 92,\n 67,\n 77,\n 101,\n 107,\n 50,\n 62,\n 120,\n 1,\n 119,\n 121,\n 83,\n 93,\n 17,\n 31,\n 100,\n 108,\n 66,\n 78,\n 118,\n 122,\n 33,\n 47,\n 117,\n 123,\n 49,\n 63,\n 99,\n 109,\n 82,\n 94,\n 0,\n 116,\n 124,\n 65,\n 79,\n 16,\n 32,\n 98,\n 110,\n 48,\n 115,\n 125,\n 81,\n 95,\n 64,\n 114,\n 126,\n 97,\n 111,\n 80,\n 113,\n 127,\n 96,\n 112\n ],\n me = [\n 2954,\n 2956,\n 2958,\n 2962,\n 2970,\n 2986,\n 3018,\n 3082,\n 3212,\n 3468,\n 3980,\n 5004\n ],\n ie = 8,\n Lb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 17,\n 18,\n 19,\n 20,\n 20,\n 21,\n 21,\n 22,\n 22,\n 23,\n 23,\n 24,\n 25,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 59,\n 60,\n 61,\n 62,\n 63,\n 64,\n 65,\n 66,\n 67,\n 68,\n 69,\n 70,\n 71,\n 72,\n 73,\n 74,\n 75,\n 76,\n 76,\n 77,\n 78,\n 79,\n 80,\n 81,\n 82,\n 83,\n 84,\n 85,\n 86,\n 87,\n 88,\n 89,\n 91,\n 93,\n 95,\n 96,\n 98,\n 100,\n 101,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 118,\n 122,\n 124,\n 126,\n 128,\n 130,\n 132,\n 134,\n 136,\n 138,\n 140,\n 143,\n 145,\n 148,\n 151,\n 154,\n 157\n ],\n Mb = [\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 16,\n 17,\n 18,\n 19,\n 20,\n 21,\n 22,\n 23,\n 24,\n 25,\n 26,\n 27,\n 28,\n 29,\n 30,\n 31,\n 32,\n 33,\n 34,\n 35,\n 36,\n 37,\n 38,\n 39,\n 40,\n 41,\n 42,\n 43,\n 44,\n 45,\n 46,\n 47,\n 48,\n 49,\n 50,\n 51,\n 52,\n 53,\n 54,\n 55,\n 56,\n 57,\n 58,\n 60,\n 62,\n 64,\n 66,\n 68,\n 70,\n 72,\n 74,\n 76,\n 78,\n 80,\n 82,\n 84,\n 86,\n 88,\n 90,\n 92,\n 94,\n 96,\n 98,\n 100,\n 102,\n 104,\n 106,\n 108,\n 110,\n 112,\n 114,\n 116,\n 119,\n 122,\n 125,\n 128,\n 131,\n 134,\n 137,\n 140,\n 143,\n 146,\n 149,\n 152,\n 155,\n 158,\n 161,\n 164,\n 167,\n 170,\n 173,\n 177,\n 181,\n 185,\n 189,\n 193,\n 197,\n 201,\n 205,\n 209,\n 213,\n 217,\n 221,\n 225,\n 229,\n 234,\n 239,\n 245,\n 249,\n 254,\n 259,\n 264,\n 269,\n 274,\n 279,\n 284\n ],\n oa = null,\n He = [\n [173, 148, 140, 0],\n [176, 155, 140, 135, 0],\n [180, 157, 141, 134, 130, 0],\n [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]\n ],\n Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15],\n Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9],\n Fe = [\n [\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128],\n [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128],\n [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]\n ],\n [\n [1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128],\n [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128],\n [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]\n ],\n [\n [1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128],\n [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128],\n [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]\n ],\n [\n [1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128],\n [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128],\n [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]\n ],\n [\n [1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128],\n [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128],\n [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]\n ],\n [\n [1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128],\n [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128],\n [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62],\n [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1],\n [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]\n ],\n [\n [1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128],\n [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128],\n [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]\n ],\n [\n [1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128],\n [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128],\n [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]\n ],\n [\n [1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128],\n [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128],\n [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]\n ],\n [\n [1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128],\n [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128],\n [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]\n ],\n [\n [1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128],\n [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128],\n [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]\n ],\n [\n [1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128],\n [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128],\n [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]\n ],\n [\n [1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128],\n [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128],\n [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128],\n [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]\n ],\n [\n [1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128],\n [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128],\n [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]\n ],\n [\n [1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128],\n [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128],\n [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]\n ],\n [\n [1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128],\n [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128],\n [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128],\n [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128],\n [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128],\n [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128],\n [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ],\n [\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128],\n [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ],\n [\n [\n [202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255],\n [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128],\n [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]\n ],\n [\n [1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128],\n [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128],\n [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]\n ],\n [\n [1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128],\n [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128],\n [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]\n ],\n [\n [1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128],\n [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128],\n [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]\n ],\n [\n [1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128],\n [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128],\n [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]\n ],\n [\n [1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128],\n [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128],\n [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]\n ],\n [\n [1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128],\n [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128],\n [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]\n ],\n [\n [1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128],\n [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]\n ]\n ]\n ],\n Ke = [\n [\n [231, 120, 48, 89, 115, 113, 120, 152, 112],\n [152, 179, 64, 126, 170, 118, 46, 70, 95],\n [175, 69, 143, 80, 85, 82, 72, 155, 103],\n [56, 58, 10, 171, 218, 189, 17, 13, 152],\n [114, 26, 17, 163, 44, 195, 21, 10, 173],\n [121, 24, 80, 195, 26, 62, 44, 64, 85],\n [144, 71, 10, 38, 171, 213, 144, 34, 26],\n [170, 46, 55, 19, 136, 160, 33, 206, 71],\n [63, 20, 8, 114, 114, 208, 12, 9, 226],\n [81, 40, 11, 96, 182, 84, 29, 16, 36]\n ],\n [\n [134, 183, 89, 137, 98, 101, 106, 165, 148],\n [72, 187, 100, 130, 157, 111, 32, 75, 80],\n [66, 102, 167, 99, 74, 62, 40, 234, 128],\n [41, 53, 9, 178, 241, 141, 26, 8, 107],\n [74, 43, 26, 146, 73, 166, 49, 23, 157],\n [65, 38, 105, 160, 51, 52, 31, 115, 128],\n [104, 79, 12, 27, 217, 255, 87, 17, 7],\n [87, 68, 71, 44, 114, 51, 15, 186, 23],\n [47, 41, 14, 110, 182, 183, 21, 17, 194],\n [66, 45, 25, 102, 197, 189, 23, 18, 22]\n ],\n [\n [88, 88, 147, 150, 42, 46, 45, 196, 205],\n [43, 97, 183, 117, 85, 38, 35, 179, 61],\n [39, 53, 200, 87, 26, 21, 43, 232, 171],\n [56, 34, 51, 104, 114, 102, 29, 93, 77],\n [39, 28, 85, 171, 58, 165, 90, 98, 64],\n [34, 22, 116, 206, 23, 34, 43, 166, 73],\n [107, 54, 32, 26, 51, 1, 81, 43, 31],\n [68, 25, 106, 22, 64, 171, 36, 225, 114],\n [34, 19, 21, 102, 132, 188, 16, 76, 124],\n [62, 18, 78, 95, 85, 57, 50, 48, 51]\n ],\n [\n [193, 101, 35, 159, 215, 111, 89, 46, 111],\n [60, 148, 31, 172, 219, 228, 21, 18, 111],\n [112, 113, 77, 85, 179, 255, 38, 120, 114],\n [40, 42, 1, 196, 245, 209, 10, 25, 109],\n [88, 43, 29, 140, 166, 213, 37, 43, 154],\n [61, 63, 30, 155, 67, 45, 68, 1, 209],\n [100, 80, 8, 43, 154, 1, 51, 26, 71],\n [142, 78, 78, 16, 255, 128, 34, 197, 171],\n [41, 40, 5, 102, 211, 183, 4, 1, 221],\n [51, 50, 17, 168, 209, 192, 23, 25, 82]\n ],\n [\n [138, 31, 36, 171, 27, 166, 38, 44, 229],\n [67, 87, 58, 169, 82, 115, 26, 59, 179],\n [63, 59, 90, 180, 59, 166, 93, 73, 154],\n [40, 40, 21, 116, 143, 209, 34, 39, 175],\n [47, 15, 16, 183, 34, 223, 49, 45, 183],\n [46, 17, 33, 183, 6, 98, 15, 32, 183],\n [57, 46, 22, 24, 128, 1, 54, 17, 37],\n [65, 32, 73, 115, 28, 128, 23, 128, 205],\n [40, 3, 9, 115, 51, 192, 18, 6, 223],\n [87, 37, 9, 115, 59, 77, 64, 21, 47]\n ],\n [\n [104, 55, 44, 218, 9, 54, 53, 130, 226],\n [64, 90, 70, 205, 40, 41, 23, 26, 57],\n [54, 57, 112, 184, 5, 41, 38, 166, 213],\n [30, 34, 26, 133, 152, 116, 10, 32, 134],\n [39, 19, 53, 221, 26, 114, 32, 73, 255],\n [31, 9, 65, 234, 2, 15, 1, 118, 73],\n [75, 32, 12, 51, 192, 255, 160, 43, 51],\n [88, 31, 35, 67, 102, 85, 55, 186, 85],\n [56, 21, 23, 111, 59, 205, 45, 37, 192],\n [55, 38, 70, 124, 73, 102, 1, 34, 98]\n ],\n [\n [125, 98, 42, 88, 104, 85, 117, 175, 82],\n [95, 84, 53, 89, 128, 100, 113, 101, 45],\n [75, 79, 123, 47, 51, 128, 81, 171, 1],\n [57, 17, 5, 71, 102, 57, 53, 41, 49],\n [38, 33, 13, 121, 57, 73, 26, 1, 85],\n [41, 10, 67, 138, 77, 110, 90, 47, 114],\n [115, 21, 2, 10, 102, 255, 166, 23, 6],\n [101, 29, 16, 10, 85, 128, 101, 196, 26],\n [57, 18, 10, 102, 102, 213, 34, 20, 43],\n [117, 20, 15, 36, 163, 128, 68, 1, 26]\n ],\n [\n [102, 61, 71, 37, 34, 53, 31, 243, 192],\n [69, 60, 71, 38, 73, 119, 28, 222, 37],\n [68, 45, 128, 34, 1, 47, 11, 245, 171],\n [62, 17, 19, 70, 146, 85, 55, 62, 70],\n [37, 43, 37, 154, 100, 163, 85, 160, 1],\n [63, 9, 92, 136, 28, 64, 32, 201, 85],\n [75, 15, 9, 9, 64, 255, 184, 119, 16],\n [86, 6, 28, 5, 64, 255, 25, 248, 1],\n [56, 8, 17, 132, 137, 255, 55, 116, 128],\n [58, 15, 20, 82, 135, 57, 26, 121, 40]\n ],\n [\n [164, 50, 31, 137, 154, 133, 25, 35, 218],\n [51, 103, 44, 131, 131, 123, 31, 6, 158],\n [86, 40, 64, 135, 148, 224, 45, 183, 128],\n [22, 26, 17, 131, 240, 154, 14, 1, 209],\n [45, 16, 21, 91, 64, 222, 7, 1, 197],\n [56, 21, 39, 155, 60, 138, 23, 102, 213],\n [83, 12, 13, 54, 192, 255, 68, 47, 28],\n [85, 26, 85, 85, 128, 128, 32, 146, 171],\n [18, 11, 7, 63, 144, 171, 4, 4, 246],\n [35, 27, 10, 146, 174, 171, 12, 26, 128]\n ],\n [\n [190, 80, 35, 99, 180, 80, 126, 54, 45],\n [85, 126, 47, 87, 176, 51, 41, 20, 32],\n [101, 75, 128, 139, 118, 146, 116, 128, 85],\n [56, 41, 15, 176, 236, 85, 37, 9, 62],\n [71, 30, 17, 119, 118, 255, 17, 18, 138],\n [101, 38, 60, 138, 55, 70, 43, 26, 142],\n [146, 36, 19, 30, 171, 255, 97, 27, 20],\n [138, 45, 61, 62, 219, 1, 81, 188, 64],\n [32, 41, 20, 117, 151, 142, 20, 21, 163],\n [112, 19, 12, 61, 195, 128, 48, 4, 24]\n ]\n ],\n Ee = [\n [\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255],\n [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255],\n [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255],\n [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255],\n [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]\n ],\n [\n [255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ],\n [\n [\n [248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255],\n [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255],\n [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ],\n [\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255],\n [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]\n ]\n ]\n ],\n Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0],\n Nc,\n Y = [],\n W = [],\n ka = [],\n Za,\n fd,\n Nb,\n pa,\n Ob,\n Xc,\n Tc,\n Yc,\n Uc,\n Zc,\n Vc,\n $c,\n Wc,\n Rc,\n Pc,\n Sc,\n Qc,\n re = 1,\n Cc = 2,\n ia = [],\n za,\n vc,\n fc,\n Fc,\n P = [];\n va(\"UpsampleRgbLinePair\", Ga, 3);\n va(\"UpsampleBgrLinePair\", Tb, 3);\n va(\"UpsampleRgbaLinePair\", wd, 4);\n va(\"UpsampleBgraLinePair\", vd, 4);\n va(\"UpsampleArgbLinePair\", ud, 4);\n va(\"UpsampleRgba4444LinePair\", td, 2);\n va(\"UpsampleRgb565LinePair\", sd, 2);\n var Mf = self.UpsampleRgbLinePair,\n Nf = self.UpsampleBgrLinePair,\n nd = self.UpsampleRgbaLinePair,\n od = self.UpsampleBgraLinePair,\n pd = self.UpsampleArgbLinePair,\n qd = self.UpsampleRgba4444LinePair,\n Of = self.UpsampleRgb565LinePair,\n Wa = 16,\n Ba = 1 << (Wa - 1),\n ta = -227,\n Eb = 482,\n rd = 6,\n Pf = (256 << rd) - 1,\n jc = 0,\n Yd = V(256),\n ae = V(256),\n $d = V(256),\n Zd = V(256),\n be = V(Eb - ta),\n ce = V(Eb - ta);\n la(\"YuvToRgbRow\", Ga, 3);\n la(\"YuvToBgrRow\", Tb, 3);\n la(\"YuvToRgbaRow\", wd, 4);\n la(\"YuvToBgraRow\", vd, 4);\n la(\"YuvToArgbRow\", ud, 4);\n la(\"YuvToRgba4444Row\", td, 2);\n la(\"YuvToRgb565Row\", sd, 2);\n var zd = [\n 0,\n 4,\n 8,\n 12,\n 128,\n 132,\n 136,\n 140,\n 256,\n 260,\n 264,\n 268,\n 384,\n 388,\n 392,\n 396\n ],\n Ya = [0, 2, 8],\n Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1],\n Ne = 1;\n this.WebPDecodeRGBA = function(a, b, c, d, e) {\n var f = Ua;\n var g = new Cf(),\n h = new Cb();\n g.ba = h;\n h.S = f;\n h.width = [h.width];\n h.height = [h.height];\n var k = h.width;\n var l = h.height,\n m = new Td();\n if (null == m || null == a) var n = 2;\n else\n x(null != m),\n (n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null));\n 0 != n\n ? (k = 0)\n : (null != k && (k[0] = m.width[0]),\n null != l && (l[0] = m.height[0]),\n (k = 1));\n if (k) {\n h.width = h.width[0];\n h.height = h.height[0];\n null != d && (d[0] = h.width);\n null != e && (e[0] = h.height);\n b: {\n d = new Oa();\n e = new md();\n e.data = a;\n e.w = b;\n e.ha = c;\n e.kd = 1;\n b = [0];\n x(null != e);\n a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e);\n (0 == a || 7 == a) && b[0] && (a = 4);\n b = a;\n if (0 == b) {\n x(null != g);\n d.data = e.data;\n d.w = e.w + e.offset;\n d.ha = e.ha - e.offset;\n d.put = kc;\n d.ac = gc;\n d.bc = lc;\n d.ma = g;\n if (e.xa) {\n a = Bc();\n if (null == a) {\n g = 1;\n break b;\n }\n if (te(a, d)) {\n b = Cd(d.width, d.height, g.Oa, g.ba);\n if ((d = 0 == b)) {\n c: {\n d = a;\n d: for (;;) {\n if (null == d) {\n d = 0;\n break c;\n }\n x(null != d.s.yc);\n x(null != d.s.Ya);\n x(0 < d.s.Wb);\n c = d.l;\n x(null != c);\n e = c.ma;\n x(null != e);\n if (0 != d.xb) {\n d.ca = e.ba;\n d.tb = e.tb;\n x(null != d.ca);\n if (!hc(e.Oa, c, Va)) {\n d.a = 2;\n break d;\n }\n if (!Ec(d, c.width)) break d;\n if (c.da) break d;\n (c.da || hb(d.ca.S)) && Aa();\n 11 > d.ca.S ||\n (alert(\"todo:WebPInitConvertARGBToYUV\"),\n null != d.ca.f.kb.F && Aa());\n if (\n d.Pb &&\n 0 < d.s.ua &&\n null == d.s.vb.X &&\n !Zb(d.s.vb, d.s.Wa.Xa)\n ) {\n d.a = 1;\n break d;\n }\n d.xb = 0;\n }\n if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d;\n e.Dc = d.Ma;\n d = 1;\n break c;\n }\n x(0 != d.a);\n d = 0;\n }\n d = !d;\n }\n d && (b = a.a);\n } else b = a.a;\n } else {\n a = new Ce();\n if (null == a) {\n g = 1;\n break b;\n }\n a.Fa = e.na;\n a.P = e.P;\n a.qc = e.Sa;\n if (Kc(a, d)) {\n if (((b = Cd(d.width, d.height, g.Oa, g.ba)), 0 == b)) {\n a.Aa = 0;\n c = g.Oa;\n e = a;\n x(null != e);\n if (null != c) {\n k = c.Md;\n k = 0 > k ? 0 : 100 < k ? 255 : (255 * k) / 100;\n if (0 < k) {\n for (l = m = 0; 4 > l; ++l)\n (n = e.pb[l]),\n 12 > n.lc &&\n (n.ia = (k * Qf[0 > n.lc ? 0 : n.lc]) >> 3),\n (m |= n.ia);\n m && (alert(\"todo:VP8InitRandom\"), (e.ia = 1));\n }\n e.Ga = c.Id;\n 100 < e.Ga ? (e.Ga = 100) : 0 > e.Ga && (e.Ga = 0);\n }\n Me(a, d) || (b = a.a);\n }\n } else b = a.a;\n }\n 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba));\n }\n g = b;\n }\n f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y;\n } else f = null;\n return f;\n };\n var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1];\n };\n new _WebPDecoder();\n\n /** @license\n * Copyright (c) 2017 Dominik Homberger\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nhttps://webpjs.appspot.com\nWebPRiffParser dominikhlbg@gmail.com\n*/\n\n function memcmp(data, data_off, str, size) {\n for (var i = 0; i < size; i++)\n if (data[data_off + i] != str.charCodeAt(i)) return true;\n return false;\n }\n\n function GetTag(data, data_off) {\n var str = \"\";\n for (var i = 0; i < 4; i++) str += String.fromCharCode(data[data_off++]);\n return str;\n }\n\n function GetLE16(data, data_off) {\n return (data[data_off + 0] << 0) | (data[data_off + 1] << 8);\n }\n\n function GetLE24(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16)) >>>\n 0\n );\n }\n\n function GetLE32(data, data_off) {\n return (\n ((data[data_off + 0] << 0) |\n (data[data_off + 1] << 8) |\n (data[data_off + 2] << 16) |\n (data[data_off + 3] << 24)) >>>\n 0\n );\n }\n\n function WebPRiffParser(src, src_off) {\n var imagearray = {};\n var i = 0;\n var alpha_chunk = false;\n var alpha_size = 0;\n var alpha_offset = 0;\n imagearray[\"frames\"] = [];\n if (memcmp(src, src_off, \"RIFF\", 4)) return;\n src_off += 4;\n var riff_size = GetLE32(src, src_off) + 8;\n src_off += 8;\n\n while (src_off < src.length) {\n var fourcc = GetTag(src, src_off);\n src_off += 4;\n\n var payload_size = GetLE32(src, src_off);\n src_off += 4;\n var payload_size_padded = payload_size + (payload_size & 1);\n\n switch (fourcc) {\n case \"VP8 \":\n case \"VP8L\":\n if (typeof imagearray[\"frames\"][i] === \"undefined\")\n imagearray[\"frames\"][i] = {};\n var obj = imagearray[\"frames\"][i];\n var height = [0];\n var width = [0];\n obj[\"src_off\"] = alpha_chunk ? alpha_offset : src_off - 8;\n obj[\"src_size\"] = alpha_size + payload_size + 8;\n //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height);\n //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]};\n i++;\n if (alpha_chunk) {\n alpha_chunk = false;\n alpha_size = 0;\n alpha_offset = 0;\n }\n break;\n case \"VP8X\":\n var obj = (imagearray[\"header\"] = {});\n var feature_flags = (obj[\"feature_flags\"] = src[src_off]);\n var src_off_ = src_off + 4;\n var canvas_width = (obj[\"canvas_width\"] = 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n var canvas_height = (obj[\"canvas_height\"] =\n 1 + GetLE24(src, src_off_));\n src_off_ += 3;\n break;\n case \"ALPH\":\n alpha_chunk = true;\n alpha_size = payload_size_padded + 8;\n alpha_offset = src_off - 8;\n break;\n\n case \"ANIM\":\n var obj = imagearray[\"header\"];\n var bgcolor = (obj[\"bgcolor\"] = GetLE32(src, src_off));\n src_off_ = src_off + 4;\n\n var loop_count = (obj[\"loop_count\"] = GetLE16(src, src_off_));\n src_off_ += 2;\n break;\n case \"ANMF\":\n var offset_x = 0,\n offset_y = 0,\n width = 0,\n height = 0,\n duration = 0,\n blend = 0,\n dispose = 0,\n temp = 0;\n var obj = (imagearray[\"frames\"][i] = {});\n obj[\"offset_x\"] = offset_x = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"offset_y\"] = offset_y = 2 * GetLE24(src, src_off);\n src_off += 3;\n obj[\"width\"] = width = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"height\"] = height = 1 + GetLE24(src, src_off);\n src_off += 3;\n obj[\"duration\"] = duration = GetLE24(src, src_off);\n src_off += 3;\n temp = src[src_off++];\n obj[\"dispose\"] = dispose = temp & 1;\n obj[\"blend\"] = blend = (temp >> 1) & 1;\n break;\n default:\n }\n if (fourcc != \"ANMF\") src_off += payload_size_padded;\n }\n return imagearray;\n }\n\n var height = [0];\n var width = [0];\n var pixels = [];\n var webpdecoder = new _WebPDecoder();\n\n var response = imageData;\n var imagearray = WebPRiffParser(response, 0);\n imagearray[\"response\"] = response;\n imagearray[\"rgbaoutput\"] = true;\n imagearray[\"dataurl\"] = false;\n\n var header = imagearray[\"header\"] ? imagearray[\"header\"] : null;\n var frames = imagearray[\"frames\"] ? imagearray[\"frames\"] : null;\n\n if (header) {\n header[\"loop_counter\"] = header[\"loop_count\"];\n height = [header[\"canvas_height\"]];\n width = [header[\"canvas_width\"]];\n\n var blend = false;\n for (var f = 0; f < frames.length; f++)\n if (frames[f][\"blend\"] == 0) {\n blend = true;\n break;\n }\n }\n\n var frame = frames[0];\n var rgba = webpdecoder.WebPDecodeRGBA(\n response,\n frame[\"src_off\"],\n frame[\"src_size\"],\n width,\n height\n );\n frame[\"rgba\"] = rgba;\n frame[\"imgwidth\"] = width[0];\n frame[\"imgheight\"] = height[0];\n\n for (var i = 0; i < width[0] * height[0] * 4; i++) {\n pixels[i] = rgba[i];\n }\n\n this.width = width;\n this.height = height;\n this.data = pixels;\n return this;\n}\n\nWebPDecoder.prototype.getData = function() {\n return this.data;\n};\n\nexport { WebPDecoder };\n","/**\n * @license\n *\n * Copyright (c) 2014 James Robb, https://github.com/jamesbrobb\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { zlibSync } from \"../libs/fflate.js\";\nimport { PNG } from \"../libs/png.js\";\n\n/**\n * jsPDF PNG PlugIn\n * @name png_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /*\n * @see http://www.w3.org/TR/PNG-Chunks.html\n *\n Color Allowed Interpretation\n Type Bit Depths\n\n 0 1,2,4,8,16 Each pixel is a grayscale sample.\n\n 2 8,16 Each pixel is an R,G,B triple.\n\n 3 1,2,4,8 Each pixel is a palette index;\n a PLTE chunk must appear.\n\n 4 8,16 Each pixel is a grayscale sample,\n followed by an alpha sample.\n\n 6 8,16 Each pixel is an R,G,B triple,\n followed by an alpha sample.\n */\n\n /*\n * PNG filter method types\n *\n * @see http://www.w3.org/TR/PNG-Filters.html\n * @see http://www.libpng.org/pub/png/book/chapter09.html\n *\n * This is what the value 'Predictor' in decode params relates to\n *\n * 15 is \"optimal prediction\", which means the prediction algorithm can change from line to line.\n * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte.\n *\n 0 None\n 1 Sub\n 2 Up\n 3 Average\n 4 Paeth\n */\n\n var canCompress = function(value) {\n return value !== jsPDFAPI.image_compression.NONE && hasCompressionJS();\n };\n\n var hasCompressionJS = function() {\n return typeof zlibSync === \"function\";\n };\n var compressBytes = function(bytes, lineLength, colorsPerPixel, compression) {\n var level = 4;\n var filter_method = filterUp;\n\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n level = 1;\n filter_method = filterSub;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n level = 6;\n filter_method = filterAverage;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n level = 9;\n filter_method = filterPaeth;\n break;\n }\n\n bytes = applyPngFilterMethod(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n );\n var dat = zlibSync(bytes, { level: level });\n return jsPDFAPI.__addimage__.arrayBufferToBinaryString(dat);\n };\n\n var applyPngFilterMethod = function(\n bytes,\n lineLength,\n colorsPerPixel,\n filter_method\n ) {\n var lines = bytes.length / lineLength,\n result = new Uint8Array(bytes.length + lines),\n filter_methods = getFilterMethods(),\n line,\n prevLine,\n offset;\n\n for (var i = 0; i < lines; i += 1) {\n offset = i * lineLength;\n line = bytes.subarray(offset, offset + lineLength);\n\n if (filter_method) {\n result.set(filter_method(line, colorsPerPixel, prevLine), offset + i);\n } else {\n var len = filter_methods.length,\n results = [];\n\n for (var j; j < len; j += 1) {\n results[j] = filter_methods[j](line, colorsPerPixel, prevLine);\n }\n\n var ind = getIndexOfSmallestSum(results.concat());\n\n result.set(results[ind], offset + i);\n }\n\n prevLine = line;\n }\n\n return result;\n };\n\n var filterNone = function(line) {\n /*var result = new Uint8Array(line.length + 1);\n result[0] = 0;\n result.set(line, 1);*/\n\n var result = Array.apply([], line);\n result.unshift(0);\n\n return result;\n };\n\n var filterSub = function(line, colorsPerPixel) {\n var result = [],\n len = line.length,\n left;\n\n result[0] = 1;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n result[i + 1] = (line[i] - left + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterUp = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n up;\n\n result[0] = 2;\n\n for (var i = 0; i < len; i += 1) {\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] - up + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var filterAverage = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up;\n\n result[0] = 3;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n result[i + 1] = (line[i] + 0x0100 - ((left + up) >>> 1)) & 0xff;\n }\n\n return result;\n };\n\n var filterPaeth = function(line, colorsPerPixel, prevLine) {\n var result = [],\n len = line.length,\n left,\n up,\n upLeft,\n paeth;\n\n result[0] = 4;\n\n for (var i = 0; i < len; i += 1) {\n left = line[i - colorsPerPixel] || 0;\n up = (prevLine && prevLine[i]) || 0;\n upLeft = (prevLine && prevLine[i - colorsPerPixel]) || 0;\n paeth = paethPredictor(left, up, upLeft);\n result[i + 1] = (line[i] - paeth + 0x0100) & 0xff;\n }\n\n return result;\n };\n\n var paethPredictor = function(left, up, upLeft) {\n if (left === up && up === upLeft) {\n return left;\n }\n var pLeft = Math.abs(up - upLeft),\n pUp = Math.abs(left - upLeft),\n pUpLeft = Math.abs(left + up - upLeft - upLeft);\n return pLeft <= pUp && pLeft <= pUpLeft\n ? left\n : pUp <= pUpLeft\n ? up\n : upLeft;\n };\n\n var getFilterMethods = function() {\n return [filterNone, filterSub, filterUp, filterAverage, filterPaeth];\n };\n\n var getIndexOfSmallestSum = function(arrays) {\n var sum = arrays.map(function(value) {\n return value.reduce(function(pv, cv) {\n return pv + Math.abs(cv);\n }, 0);\n });\n return sum.indexOf(Math.min.apply(null, sum));\n };\n\n var getPredictorFromCompression = function(compression) {\n var predictor;\n switch (compression) {\n case jsPDFAPI.image_compression.FAST:\n predictor = 11;\n break;\n\n case jsPDFAPI.image_compression.MEDIUM:\n predictor = 13;\n break;\n\n case jsPDFAPI.image_compression.SLOW:\n predictor = 14;\n break;\n\n default:\n predictor = 12;\n break;\n }\n return predictor;\n };\n\n /**\n * @name processPNG\n * @function\n * @ignore\n */\n jsPDFAPI.processPNG = function(imageData, index, alias, compression) {\n \"use strict\";\n\n var colorSpace,\n filter = this.decode.FLATE_DECODE,\n bitsPerComponent,\n image,\n decodeParameters = \"\",\n trns,\n colors,\n pal,\n smask,\n pixels,\n len,\n alphaData,\n imgData,\n hasColors,\n pixel,\n i,\n n;\n\n if (this.__addimage__.isArrayBuffer(imageData))\n imageData = new Uint8Array(imageData);\n\n if (this.__addimage__.isArrayBufferView(imageData)) {\n image = new PNG(imageData);\n imageData = image.imgData;\n bitsPerComponent = image.bits;\n colorSpace = image.colorSpace;\n colors = image.colors;\n\n /*\n * colorType 6 - Each pixel is an R,G,B triple, followed by an alpha sample.\n *\n * colorType 4 - Each pixel is a grayscale sample, followed by an alpha sample.\n *\n * Extract alpha to create two separate images, using the alpha as a sMask\n */\n if ([4, 6].indexOf(image.colorType) !== -1) {\n /*\n * processes 8 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 8) {\n pixels =\n image.pixelBitlength == 32\n ? new Uint32Array(image.decodePixels().buffer)\n : image.pixelBitlength == 16\n ? new Uint16Array(image.decodePixels().buffer)\n : new Uint8Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(len * image.colors);\n alphaData = new Uint8Array(len);\n var pDiff = image.pixelBitlength - image.bits;\n i = 0;\n n = 0;\n var pbl;\n\n for (; i < len; i++) {\n pixel = pixels[i];\n pbl = 0;\n\n while (pbl < pDiff) {\n imgData[n++] = (pixel >>> pbl) & 0xff;\n pbl = pbl + image.bits;\n }\n\n alphaData[i] = (pixel >>> pbl) & 0xff;\n }\n }\n\n /*\n * processes 16 bit RGBA and grayscale + alpha images\n */\n if (image.bits === 16) {\n pixels = new Uint32Array(image.decodePixels().buffer);\n len = pixels.length;\n imgData = new Uint8Array(\n len * (32 / image.pixelBitlength) * image.colors\n );\n alphaData = new Uint8Array(len * (32 / image.pixelBitlength));\n hasColors = image.colors > 1;\n i = 0;\n n = 0;\n var a = 0;\n\n while (i < len) {\n pixel = pixels[i++];\n\n imgData[n++] = (pixel >>> 0) & 0xff;\n\n if (hasColors) {\n imgData[n++] = (pixel >>> 16) & 0xff;\n\n pixel = pixels[i++];\n imgData[n++] = (pixel >>> 0) & 0xff;\n }\n\n alphaData[a++] = (pixel >>> 16) & 0xff;\n }\n bitsPerComponent = 8;\n }\n\n if (canCompress(compression)) {\n imageData = compressBytes(\n imgData,\n image.width * image.colors,\n image.colors,\n compression\n );\n smask = compressBytes(alphaData, image.width, 1, compression);\n } else {\n imageData = imgData;\n smask = alphaData;\n filter = undefined;\n }\n }\n\n /*\n * Indexed png. Each pixel is a palette index.\n */\n if (image.colorType === 3) {\n colorSpace = this.color_spaces.INDEXED;\n pal = image.palette;\n\n if (image.transparency.indexed) {\n var trans = image.transparency.indexed;\n var total = 0;\n i = 0;\n len = trans.length;\n\n for (; i < len; ++i) {\n total += trans[i];\n }\n\n total = total / 255;\n\n /*\n * a single color is specified as 100% transparent (0),\n * so we set trns to use a /Mask with that index\n */\n if (total === len - 1 && trans.indexOf(0) !== -1) {\n trns = [trans.indexOf(0)];\n\n /*\n * there's more than one colour within the palette that specifies\n * a transparency value less than 255, so we unroll the pixels to create an image sMask\n */\n } else if (total !== len) {\n pixels = image.decodePixels();\n alphaData = new Uint8Array(pixels.length);\n i = 0;\n len = pixels.length;\n\n for (; i < len; i++) {\n alphaData[i] = trans[pixels[i]];\n }\n\n smask = compressBytes(alphaData, image.width, 1);\n }\n }\n }\n\n var predictor = getPredictorFromCompression(compression);\n\n if (filter === this.decode.FLATE_DECODE) {\n decodeParameters = \"/Predictor \" + predictor + \" \";\n }\n decodeParameters +=\n \"/Colors \" +\n colors +\n \" /BitsPerComponent \" +\n bitsPerComponent +\n \" /Columns \" +\n image.width;\n\n if (\n this.__addimage__.isArrayBuffer(imageData) ||\n this.__addimage__.isArrayBufferView(imageData)\n ) {\n imageData = this.__addimage__.arrayBufferToBinaryString(imageData);\n }\n\n if (\n (smask && this.__addimage__.isArrayBuffer(smask)) ||\n this.__addimage__.isArrayBufferView(smask)\n ) {\n smask = this.__addimage__.arrayBufferToBinaryString(smask);\n }\n\n return {\n alias: alias,\n data: imageData,\n index: index,\n filter: filter,\n decodeParameters: decodeParameters,\n transparency: trns,\n palette: pal,\n sMask: smask,\n predictor: predictor,\n width: image.width,\n height: image.height,\n bitsPerComponent: bitsPerComponent,\n colorSpace: colorSpace\n };\n }\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2017 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { GifReader } from \"../libs/omggif.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\n\n/**\n * jsPDF Gif Support PlugIn\n *\n * @name gif_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processGIF89A = function(imageData, index, alias, compression) {\n var reader = new GifReader(imageData);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = [];\n\n reader.decodeAndBlitFrameRGBA(0, pixels);\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n\n jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A;\n})(jsPDF.API);\n","import { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { BmpDecoder } from \"../libs/BMPDecoder.js\";\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @license\n * Copyright (c) 2018 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\n/**\n * jsPDF bmp Support PlugIn\n * @name bmp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processBMP = function(imageData, index, alias, compression) {\n var reader = new BmpDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n * Copyright (c) 2019 Aras Abbasi\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { JPEGEncoder } from \"../libs/JPEGEncoder.js\";\nimport { WebPDecoder } from \"../libs/WebPDecoder.js\";\n\n/**\n * jsPDF webp Support PlugIn\n *\n * @name webp_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n jsPDFAPI.processWEBP = function(imageData, index, alias, compression) {\n var reader = new WebPDecoder(imageData, false);\n var width = reader.width,\n height = reader.height;\n var qu = 100;\n var pixels = reader.getData();\n\n var rawImageData = {\n data: pixels,\n width: width,\n height: height\n };\n\n var encoder = new JPEGEncoder(qu);\n var data = encoder.encode(rawImageData, qu);\n return jsPDFAPI.processJPEG.call(this, data, index, alias, compression);\n };\n})(jsPDF.API);\n","/**\n * @license\n *\n * Copyright (c) 2021 Antti Palola, https://github.com/Pantura\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF RGBA array PlugIn\n * @name rgba_support\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * @name processRGBA\n * @function\n *\n * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...].\n * RGBA array data can be obtained from DOM canvas getImageData.\n * @ignore\n */\n jsPDFAPI.processRGBA = function(imageData, index, alias) {\n \"use strict\";\n\n var imagePixels = imageData.data;\n var length = imagePixels.length;\n // jsPDF takes alpha data separately so extract that.\n var rgbOut = new Uint8Array((length / 4) * 3);\n var alphaOut = new Uint8Array(length / 4);\n var outIndex = 0;\n var alphaIndex = 0;\n\n for (var i = 0; i < length; i += 4) {\n var r = imagePixels[i];\n var g = imagePixels[i + 1];\n var b = imagePixels[i + 2];\n var alpha = imagePixels[i + 3];\n rgbOut[outIndex++] = r;\n rgbOut[outIndex++] = g;\n rgbOut[outIndex++] = b;\n alphaOut[alphaIndex++] = alpha;\n }\n\n var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut);\n var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut);\n\n return {\n alpha: alphaData,\n data: rgbData,\n index: index,\n alias: alias,\n colorSpace: \"DeviceRGB\",\n bitsPerComponent: 8,\n width: imageData.width,\n height: imageData.height\n };\n };\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF setLanguage Plugin\n *\n * @name setLanguage\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n /**\n * Add Language Tag to the generated PDF\n *\n * @name setLanguage\n * @function\n * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB').\n * @returns {jsPDF}\n * @example\n * var doc = new jsPDF()\n * doc.text(10, 10, 'This is a test')\n * doc.setLanguage(\"en-US\")\n * doc.save('english.pdf')\n */\n jsPDFAPI.setLanguage = function(langCode) {\n \"use strict\";\n\n var langCodes = {\n af: \"Afrikaans\",\n sq: \"Albanian\",\n ar: \"Arabic (Standard)\",\n \"ar-DZ\": \"Arabic (Algeria)\",\n \"ar-BH\": \"Arabic (Bahrain)\",\n \"ar-EG\": \"Arabic (Egypt)\",\n \"ar-IQ\": \"Arabic (Iraq)\",\n \"ar-JO\": \"Arabic (Jordan)\",\n \"ar-KW\": \"Arabic (Kuwait)\",\n \"ar-LB\": \"Arabic (Lebanon)\",\n \"ar-LY\": \"Arabic (Libya)\",\n \"ar-MA\": \"Arabic (Morocco)\",\n \"ar-OM\": \"Arabic (Oman)\",\n \"ar-QA\": \"Arabic (Qatar)\",\n \"ar-SA\": \"Arabic (Saudi Arabia)\",\n \"ar-SY\": \"Arabic (Syria)\",\n \"ar-TN\": \"Arabic (Tunisia)\",\n \"ar-AE\": \"Arabic (U.A.E.)\",\n \"ar-YE\": \"Arabic (Yemen)\",\n an: \"Aragonese\",\n hy: \"Armenian\",\n as: \"Assamese\",\n ast: \"Asturian\",\n az: \"Azerbaijani\",\n eu: \"Basque\",\n be: \"Belarusian\",\n bn: \"Bengali\",\n bs: \"Bosnian\",\n br: \"Breton\",\n bg: \"Bulgarian\",\n my: \"Burmese\",\n ca: \"Catalan\",\n ch: \"Chamorro\",\n ce: \"Chechen\",\n zh: \"Chinese\",\n \"zh-HK\": \"Chinese (Hong Kong)\",\n \"zh-CN\": \"Chinese (PRC)\",\n \"zh-SG\": \"Chinese (Singapore)\",\n \"zh-TW\": \"Chinese (Taiwan)\",\n cv: \"Chuvash\",\n co: \"Corsican\",\n cr: \"Cree\",\n hr: \"Croatian\",\n cs: \"Czech\",\n da: \"Danish\",\n nl: \"Dutch (Standard)\",\n \"nl-BE\": \"Dutch (Belgian)\",\n en: \"English\",\n \"en-AU\": \"English (Australia)\",\n \"en-BZ\": \"English (Belize)\",\n \"en-CA\": \"English (Canada)\",\n \"en-IE\": \"English (Ireland)\",\n \"en-JM\": \"English (Jamaica)\",\n \"en-NZ\": \"English (New Zealand)\",\n \"en-PH\": \"English (Philippines)\",\n \"en-ZA\": \"English (South Africa)\",\n \"en-TT\": \"English (Trinidad & Tobago)\",\n \"en-GB\": \"English (United Kingdom)\",\n \"en-US\": \"English (United States)\",\n \"en-ZW\": \"English (Zimbabwe)\",\n eo: \"Esperanto\",\n et: \"Estonian\",\n fo: \"Faeroese\",\n fj: \"Fijian\",\n fi: \"Finnish\",\n fr: \"French (Standard)\",\n \"fr-BE\": \"French (Belgium)\",\n \"fr-CA\": \"French (Canada)\",\n \"fr-FR\": \"French (France)\",\n \"fr-LU\": \"French (Luxembourg)\",\n \"fr-MC\": \"French (Monaco)\",\n \"fr-CH\": \"French (Switzerland)\",\n fy: \"Frisian\",\n fur: \"Friulian\",\n gd: \"Gaelic (Scots)\",\n \"gd-IE\": \"Gaelic (Irish)\",\n gl: \"Galacian\",\n ka: \"Georgian\",\n de: \"German (Standard)\",\n \"de-AT\": \"German (Austria)\",\n \"de-DE\": \"German (Germany)\",\n \"de-LI\": \"German (Liechtenstein)\",\n \"de-LU\": \"German (Luxembourg)\",\n \"de-CH\": \"German (Switzerland)\",\n el: \"Greek\",\n gu: \"Gujurati\",\n ht: \"Haitian\",\n he: \"Hebrew\",\n hi: \"Hindi\",\n hu: \"Hungarian\",\n is: \"Icelandic\",\n id: \"Indonesian\",\n iu: \"Inuktitut\",\n ga: \"Irish\",\n it: \"Italian (Standard)\",\n \"it-CH\": \"Italian (Switzerland)\",\n ja: \"Japanese\",\n kn: \"Kannada\",\n ks: \"Kashmiri\",\n kk: \"Kazakh\",\n km: \"Khmer\",\n ky: \"Kirghiz\",\n tlh: \"Klingon\",\n ko: \"Korean\",\n \"ko-KP\": \"Korean (North Korea)\",\n \"ko-KR\": \"Korean (South Korea)\",\n la: \"Latin\",\n lv: \"Latvian\",\n lt: \"Lithuanian\",\n lb: \"Luxembourgish\",\n mk: \"North Macedonia\",\n ms: \"Malay\",\n ml: \"Malayalam\",\n mt: \"Maltese\",\n mi: \"Maori\",\n mr: \"Marathi\",\n mo: \"Moldavian\",\n nv: \"Navajo\",\n ng: \"Ndonga\",\n ne: \"Nepali\",\n no: \"Norwegian\",\n nb: \"Norwegian (Bokmal)\",\n nn: \"Norwegian (Nynorsk)\",\n oc: \"Occitan\",\n or: \"Oriya\",\n om: \"Oromo\",\n fa: \"Persian\",\n \"fa-IR\": \"Persian/Iran\",\n pl: \"Polish\",\n pt: \"Portuguese\",\n \"pt-BR\": \"Portuguese (Brazil)\",\n pa: \"Punjabi\",\n \"pa-IN\": \"Punjabi (India)\",\n \"pa-PK\": \"Punjabi (Pakistan)\",\n qu: \"Quechua\",\n rm: \"Rhaeto-Romanic\",\n ro: \"Romanian\",\n \"ro-MO\": \"Romanian (Moldavia)\",\n ru: \"Russian\",\n \"ru-MO\": \"Russian (Moldavia)\",\n sz: \"Sami (Lappish)\",\n sg: \"Sango\",\n sa: \"Sanskrit\",\n sc: \"Sardinian\",\n sd: \"Sindhi\",\n si: \"Singhalese\",\n sr: \"Serbian\",\n sk: \"Slovak\",\n sl: \"Slovenian\",\n so: \"Somani\",\n sb: \"Sorbian\",\n es: \"Spanish\",\n \"es-AR\": \"Spanish (Argentina)\",\n \"es-BO\": \"Spanish (Bolivia)\",\n \"es-CL\": \"Spanish (Chile)\",\n \"es-CO\": \"Spanish (Colombia)\",\n \"es-CR\": \"Spanish (Costa Rica)\",\n \"es-DO\": \"Spanish (Dominican Republic)\",\n \"es-EC\": \"Spanish (Ecuador)\",\n \"es-SV\": \"Spanish (El Salvador)\",\n \"es-GT\": \"Spanish (Guatemala)\",\n \"es-HN\": \"Spanish (Honduras)\",\n \"es-MX\": \"Spanish (Mexico)\",\n \"es-NI\": \"Spanish (Nicaragua)\",\n \"es-PA\": \"Spanish (Panama)\",\n \"es-PY\": \"Spanish (Paraguay)\",\n \"es-PE\": \"Spanish (Peru)\",\n \"es-PR\": \"Spanish (Puerto Rico)\",\n \"es-ES\": \"Spanish (Spain)\",\n \"es-UY\": \"Spanish (Uruguay)\",\n \"es-VE\": \"Spanish (Venezuela)\",\n sx: \"Sutu\",\n sw: \"Swahili\",\n sv: \"Swedish\",\n \"sv-FI\": \"Swedish (Finland)\",\n \"sv-SV\": \"Swedish (Sweden)\",\n ta: \"Tamil\",\n tt: \"Tatar\",\n te: \"Teluga\",\n th: \"Thai\",\n tig: \"Tigre\",\n ts: \"Tsonga\",\n tn: \"Tswana\",\n tr: \"Turkish\",\n tk: \"Turkmen\",\n uk: \"Ukrainian\",\n hsb: \"Upper Sorbian\",\n ur: \"Urdu\",\n ve: \"Venda\",\n vi: \"Vietnamese\",\n vo: \"Volapuk\",\n wa: \"Walloon\",\n cy: \"Welsh\",\n xh: \"Xhosa\",\n ji: \"Yiddish\",\n zu: \"Zulu\"\n };\n\n if (this.internal.languageSettings === undefined) {\n this.internal.languageSettings = {};\n this.internal.languageSettings.isSubscribed = false;\n }\n\n if (langCodes[langCode] !== undefined) {\n this.internal.languageSettings.languageCode = langCode;\n if (this.internal.languageSettings.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n this.internal.write(\n \"/Lang (\" + this.internal.languageSettings.languageCode + \")\"\n );\n });\n this.internal.languageSettings.isSubscribed = true;\n }\n }\n return this;\n };\n})(jsPDF.API);\n","/** @license\n jsPDF standard_fonts_metrics plugin\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n * MIT license.\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n * \n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n * \n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * This file adds the standard font metrics to jsPDF.\n *\n * Font metrics data is reprocessed derivative of contents of\n * \"Font Metrics for PDF Core 14 Fonts\" package, which exhibits the following copyright and license:\n *\n * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved.\n *\n * This file and the 14 PostScript(R) AFM files it accompanies may be used,\n * copied, and distributed for any purpose and without charge, with or without\n * modification, provided that all copyright notices are retained; that the AFM\n * files are not distributed without this file; that all modifications to this\n * file or any of the AFM files are prominently noted in the modified file(s);\n * and that this paragraph is not modified. Adobe Systems has no responsibility\n * or obligation to support the use of the AFM files.\n *\n * @name standard_fonts_metrics\n * @module\n */\n\n(function(API) {\n \"use strict\";\n API.__fontmetrics__ = API.__fontmetrics__ || {};\n\n var decoded = \"0123456789abcdef\",\n encoded = \"klmnopqrstuvwxyz\",\n mappingUncompress = {},\n mappingCompress = {};\n\n for (var i = 0; i < encoded.length; i++) {\n mappingUncompress[encoded[i]] = decoded[i];\n mappingCompress[decoded[i]] = encoded[i];\n }\n\n var hex = function(value) {\n return \"0x\" + parseInt(value, 10).toString(16);\n };\n\n var compress = (API.__fontmetrics__.compress = function(data) {\n var vals = [\"{\"];\n var value, keystring, valuestring, numberprefix;\n\n for (var key in data) {\n value = data[key];\n\n if (!isNaN(parseInt(key, 10))) {\n key = parseInt(key, 10);\n keystring = hex(key).slice(2);\n keystring =\n keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)];\n } else {\n keystring = \"'\" + key + \"'\";\n }\n\n if (typeof value == \"number\") {\n if (value < 0) {\n valuestring = hex(value).slice(3);\n numberprefix = \"-\";\n } else {\n valuestring = hex(value).slice(2);\n numberprefix = \"\";\n }\n valuestring =\n numberprefix +\n valuestring.slice(0, -1) +\n mappingCompress[valuestring.slice(-1)];\n } else {\n if (typeof value === \"object\") {\n valuestring = compress(value);\n } else {\n throw new Error(\n \"Don't know what to do with value type \" + typeof value + \".\"\n );\n }\n }\n vals.push(keystring + valuestring);\n }\n vals.push(\"}\");\n return vals.join(\"\");\n });\n\n /**\n * Uncompresses data compressed into custom, base16-like format.\n *\n * @public\n * @function\n * @param\n * @returns {Type}\n */\n var uncompress = (API.__fontmetrics__.uncompress = function(data) {\n if (typeof data !== \"string\") {\n throw new Error(\"Invalid argument passed to uncompress.\");\n }\n\n var output = {},\n sign = 1,\n stringparts, // undef. will be [] in string mode\n activeobject = output,\n parentchain = [],\n parent_key_pair,\n keyparts = \"\",\n valueparts = \"\",\n key, // undef. will be Truthy when Key is resolved.\n datalen = data.length - 1, // stripping ending }\n ch;\n\n for (var i = 1; i < datalen; i += 1) {\n // - { } ' are special.\n\n ch = data[i];\n\n if (ch == \"'\") {\n if (stringparts) {\n // end of string mode\n key = stringparts.join(\"\");\n stringparts = undefined;\n } else {\n // start of string mode\n stringparts = [];\n }\n } else if (stringparts) {\n stringparts.push(ch);\n } else if (ch == \"{\") {\n // start of object\n parentchain.push([activeobject, key]);\n activeobject = {};\n key = undefined;\n } else if (ch == \"}\") {\n // end of object\n parent_key_pair = parentchain.pop();\n parent_key_pair[0][parent_key_pair[1]] = activeobject;\n key = undefined;\n activeobject = parent_key_pair[0];\n } else if (ch == \"-\") {\n sign = -1;\n } else {\n // must be number\n if (key === undefined) {\n if (mappingUncompress.hasOwnProperty(ch)) {\n keyparts += mappingUncompress[ch];\n key = parseInt(keyparts, 16) * sign;\n sign = +1;\n keyparts = \"\";\n } else {\n keyparts += ch;\n }\n } else {\n if (mappingUncompress.hasOwnProperty(ch)) {\n valueparts += mappingUncompress[ch];\n activeobject[key] = parseInt(valueparts, 16) * sign;\n sign = +1;\n key = undefined;\n valueparts = \"\";\n } else {\n valueparts += ch;\n }\n }\n }\n }\n return output;\n });\n\n // encoding = 'Unicode'\n // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior\n // Actual 16bit char codes used.\n // no multi-byte logic here\n\n // Unicode characters to WinAnsiEncoding:\n // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158}\n // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts.\n // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly\n // as well as give strings with some (supported by these fonts) Unicode characters and\n // these will be mapped to win cp1252\n // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting \"Euro\" glyph displayed in both cases.\n\n var encodingBlock = {\n codePages: [\"WinAnsiEncoding\"],\n WinAnsiEncoding: uncompress(\n \"{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}\"\n )\n };\n var encodings = {\n Unicode: {\n Courier: encodingBlock,\n \"Courier-Bold\": encodingBlock,\n \"Courier-BoldOblique\": encodingBlock,\n \"Courier-Oblique\": encodingBlock,\n Helvetica: encodingBlock,\n \"Helvetica-Bold\": encodingBlock,\n \"Helvetica-BoldOblique\": encodingBlock,\n \"Helvetica-Oblique\": encodingBlock,\n \"Times-Roman\": encodingBlock,\n \"Times-Bold\": encodingBlock,\n \"Times-BoldItalic\": encodingBlock,\n \"Times-Italic\": encodingBlock\n //\t, 'Symbol'\n //\t, 'ZapfDingbats'\n }\n };\n\n var fontMetrics = {\n Unicode: {\n // all sizing numbers are n/fontMetricsFractionOf = one font size unit\n // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's\n // width is 476/1000 or 47.6% of its height (regardless of font size)\n // At this time this value applies to \"widths\" and \"kerning\" numbers.\n\n // char code 0 represents \"default\" (average) width - use it for chars missing in this table.\n // key 'fof' represents the \"fontMetricsFractionOf\" value\n\n \"Courier-Oblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-BoldItalic\": uncompress(\n \"{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n \"Helvetica-Bold\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n Courier: uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-BoldOblique\": uncompress(\n \"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"\n ),\n \"Times-Bold\": uncompress(\n \"{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}\"\n ),\n Symbol: uncompress(\n \"{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}\"\n ),\n Helvetica: uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n ),\n \"Helvetica-BoldOblique\": uncompress(\n \"{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}\"\n ),\n ZapfDingbats: uncompress(\"{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Courier-Bold\": uncompress(\"{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}\"),\n \"Times-Italic\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}\"\n ),\n \"Times-Roman\": uncompress(\n \"{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}\"\n ),\n \"Helvetica-Oblique\": uncompress(\n \"{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}\"\n )\n }\n };\n\n /*\n\tThis event handler is fired when a new jsPDF object is initialized\n\tThis event handler appends metrics data to standard fonts within\n\tthat jsPDF instance. The metrics are mapped over Unicode character\n\tcodes, NOT CIDs or other codes matching the StandardEncoding table of the\n\tstandard PDF fonts.\n\tFuture:\n\tAlso included is the encoding maping table, converting Unicode (UCS-2, UTF-16)\n\tchar codes to StandardEncoding character codes. The encoding table is to be used\n\tsomewhere around \"pdfEscape\" call.\n\t*/\n API.events.push([\n \"addFont\",\n function(data) {\n var font = data.font;\n\n var metrics = fontMetrics[\"Unicode\"][font.postScriptName];\n if (metrics) {\n font.metadata[\"Unicode\"] = {};\n font.metadata[\"Unicode\"].widths = metrics.widths;\n font.metadata[\"Unicode\"].kerning = metrics.kerning;\n }\n\n var encodingBlock = encodings[\"Unicode\"][font.postScriptName];\n if (encodingBlock) {\n font.metadata[\"Unicode\"].encoding = encodingBlock;\n font.encoding = encodingBlock.codePages[0];\n }\n }\n ]); // end of adding event handler\n})(jsPDF.API);\n","/**\n * @license\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { atob } from \"../libs/AtobBtoa.js\";\n\n/**\n * @name ttfsupport\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n\n var binaryStringToUint8Array = function(binary_string) {\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes;\n };\n\n var addFont = function(font, file) {\n // eslint-disable-next-line no-control-regex\n if (/^\\x00\\x01\\x00\\x00/.test(file)) {\n file = binaryStringToUint8Array(file);\n } else {\n file = binaryStringToUint8Array(atob(file));\n }\n font.metadata = jsPDF.API.TTFFont.open(file);\n font.metadata.Unicode = font.metadata.Unicode || {\n encoding: {},\n kerning: {},\n widths: []\n };\n font.metadata.glyIdsUsed = [0];\n };\n\n jsPDF.API.events.push([\n \"addFont\",\n function(data) {\n var file = undefined;\n var font = data.font;\n var instance = data.instance;\n if (font.isStandardFont) {\n return;\n }\n if (typeof instance !== \"undefined\") {\n if (instance.existsFileInVFS(font.postScriptName) === false) {\n file = instance.loadFile(font.postScriptName);\n } else {\n file = instance.getFileFromVFS(font.postScriptName);\n }\n if (typeof file !== \"string\") {\n throw new Error(\n \"Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n addFont(font, file);\n } else {\n throw new Error(\n \"Font does not exist in vFS, import fonts or remove declaration doc.addFont('\" +\n font.postScriptName +\n \"').\"\n );\n }\n }\n ]); // end of adding event handler\n})(jsPDF);\n","/** @license\n * Copyright (c) 2012 Willow Systems Corporation, https://github.com/willowsystems\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\nimport { console } from \"../libs/console.js\";\nimport { globalObject } from \"../libs/globalObject.js\";\n\n/**\n * jsPDF SVG plugin\n *\n * @name svg\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n function loadCanvg() {\n return (function() {\n if (globalObject[\"canvg\"]) {\n return Promise.resolve(globalObject[\"canvg\"]);\n }\n\n return import(\"canvg\");\n\n })()\n .catch(function(e) {\n return Promise.reject(new Error(\"Could not load canvg: \" + e));\n })\n .then(function(canvg) {\n return canvg.default ? canvg.default : canvg;\n });\n }\n\n /**\n * Parses SVG XML and saves it as image into the PDF.\n *\n * Depends on canvas-element and canvg\n *\n * @name addSvgAsImage\n * @public\n * @function\n * @param {string} SVG-Data as Text\n * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page\n * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page\n * @param {number} width of SVG-Image (in units declared at inception of PDF document)\n * @param {number} height of SVG-Image (in units declared at inception of PDF document)\n * @param {string} alias of SVG-Image (if used multiple times)\n * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW'\n * @param {number} rotation of the image in degrees (0-359)\n *\n * @returns jsPDF jsPDF-instance\n */\n jsPDFAPI.addSvgAsImage = function(\n svg,\n x,\n y,\n w,\n h,\n alias,\n compression,\n rotation\n ) {\n if (isNaN(x) || isNaN(y)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid coordinates\", arguments);\n throw new Error(\"Invalid coordinates passed to jsPDF.addSvgAsImage\");\n }\n\n if (isNaN(w) || isNaN(h)) {\n console.error(\"jsPDF.addSvgAsImage: Invalid measurements\", arguments);\n throw new Error(\n \"Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage\"\n );\n }\n\n var canvas = document.createElement(\"canvas\");\n canvas.width = w;\n canvas.height = h;\n var ctx = canvas.getContext(\"2d\");\n ctx.fillStyle = \"#fff\"; /// set white fill style\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n\n var options = {\n ignoreMouse: true,\n ignoreAnimation: true,\n ignoreDimensions: true\n };\n var doc = this;\n return loadCanvg()\n .then(\n function(canvg) {\n return canvg.fromString(ctx, svg, options);\n },\n function() {\n return Promise.reject(new Error(\"Could not load canvg.\"));\n }\n )\n .then(function(instance) {\n return instance.render(options);\n })\n .then(function() {\n doc.addImage(\n canvas.toDataURL(\"image/jpeg\", 1.0),\n x,\n y,\n w,\n h,\n compression,\n rotation\n );\n });\n };\n})(jsPDF.API);\n","/**\n * @license\n * ====================================================================\n * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * jsPDF total_pages plugin\n * @name total_pages\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * @name putTotalPages\n * @function\n * @param {string} pageExpression Regular Expression\n * @returns {jsPDF} jsPDF-instance\n */\n\n jsPDFAPI.putTotalPages = function(pageExpression) {\n \"use strict\";\n\n var replaceExpression;\n var totalNumberOfPages = 0;\n if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) {\n replaceExpression = new RegExp(pageExpression, \"g\");\n totalNumberOfPages = this.internal.getNumberOfPages();\n } else {\n replaceExpression = new RegExp(\n this.pdfEscape16(pageExpression, this.internal.getFont()),\n \"g\"\n );\n totalNumberOfPages = this.pdfEscape16(\n this.internal.getNumberOfPages() + \"\",\n this.internal.getFont()\n );\n }\n\n for (var n = 1; n <= this.internal.getNumberOfPages(); n++) {\n for (var i = 0; i < this.internal.pages[n].length; i++) {\n this.internal.pages[n][i] = this.internal.pages[n][i].replace(\n replaceExpression,\n totalNumberOfPages\n );\n }\n }\n\n return this;\n };\n})(jsPDF.API);\n","/**\n * @license\n * jsPDF viewerPreferences Plugin\n * @author Aras Abbasi (github.com/arasabbasi)\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Adds the ability to set ViewerPreferences and by thus\n * controlling the way the document is to be presented on the\n * screen or in print.\n * @name viewerpreferences\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n /**\n * Set the ViewerPreferences of the generated PDF\n *\n * @name viewerPreferences\n * @function\n * @public\n * @param {Object} options Array with the ViewerPreferences
    \n * Example: doc.viewerPreferences({\"FitWindow\":true});
    \n *
    \n * You can set following preferences:
    \n *
    \n * HideToolbar (boolean)
    \n * Default value: false
    \n *
    \n * HideMenubar (boolean)
    \n * Default value: false.
    \n *
    \n * HideWindowUI (boolean)
    \n * Default value: false.
    \n *
    \n * FitWindow (boolean)
    \n * Default value: false.
    \n *
    \n * CenterWindow (boolean)
    \n * Default value: false
    \n *
    \n * DisplayDocTitle (boolean)
    \n * Default value: false.
    \n *
    \n * NonFullScreenPageMode (string)
    \n * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
    \n * Default value: UseNone
    \n *
    \n * Direction (string)
    \n * Possible values: L2R, R2L
    \n * Default value: L2R.
    \n *
    \n * ViewArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * ViewClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintArea (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox
    \n *
    \n * PrintClip (string)
    \n * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
    \n * Default value: CropBox.
    \n *
    \n * PrintScaling (string)
    \n * Possible values: AppDefault, None
    \n * Default value: AppDefault.
    \n *
    \n * Duplex (string)
    \n * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge\n * Default value: none
    \n *
    \n * PickTrayByPDFSize (boolean)
    \n * Default value: false
    \n *
    \n * PrintPageRange (Array)
    \n * Example: [[1,5], [7,9]]
    \n * Default value: as defined by PDF viewer application
    \n *
    \n * NumCopies (Number)
    \n * Possible values: 1, 2, 3, 4, 5
    \n * Default value: 1
    \n *
    \n * For more information see the PDF Reference, sixth edition on Page 577\n * @param {boolean} doReset True to reset the settings\n * @function\n * @returns jsPDF jsPDF-instance\n * @example\n * var doc = new jsPDF()\n * doc.text('This is a test', 10, 10)\n * doc.viewerPreferences({'FitWindow': true}, true)\n * doc.save(\"viewerPreferences.pdf\")\n *\n * // Example printing 10 copies, using cropbox, and hiding UI.\n * doc.viewerPreferences({\n * 'HideWindowUI': true,\n * 'PrintArea': 'CropBox',\n * 'NumCopies': 10\n * })\n */\n jsPDFAPI.viewerPreferences = function(options, doReset) {\n options = options || {};\n doReset = doReset || false;\n\n var configuration;\n var configurationTemplate = {\n HideToolbar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideMenubar: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n HideWindowUI: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n FitWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n CenterWindow: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.3\n },\n DisplayDocTitle: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.4\n },\n NonFullScreenPageMode: {\n defaultValue: \"UseNone\",\n value: \"UseNone\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"UseNone\", \"UseOutlines\", \"UseThumbs\", \"UseOC\"],\n pdfVersion: 1.3\n },\n Direction: {\n defaultValue: \"L2R\",\n value: \"L2R\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"L2R\", \"R2L\"],\n pdfVersion: 1.3\n },\n ViewArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n ViewClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintArea: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintClip: {\n defaultValue: \"CropBox\",\n value: \"CropBox\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"MediaBox\", \"CropBox\", \"TrimBox\", \"BleedBox\", \"ArtBox\"],\n pdfVersion: 1.4\n },\n PrintScaling: {\n defaultValue: \"AppDefault\",\n value: \"AppDefault\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\"AppDefault\", \"None\"],\n pdfVersion: 1.6\n },\n Duplex: {\n defaultValue: \"\",\n value: \"none\",\n type: \"name\",\n explicitSet: false,\n valueSet: [\n \"Simplex\",\n \"DuplexFlipShortEdge\",\n \"DuplexFlipLongEdge\",\n \"none\"\n ],\n pdfVersion: 1.7\n },\n PickTrayByPDFSize: {\n defaultValue: false,\n value: false,\n type: \"boolean\",\n explicitSet: false,\n valueSet: [true, false],\n pdfVersion: 1.7\n },\n PrintPageRange: {\n defaultValue: \"\",\n value: \"\",\n type: \"array\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n },\n NumCopies: {\n defaultValue: 1,\n value: 1,\n type: \"integer\",\n explicitSet: false,\n valueSet: null,\n pdfVersion: 1.7\n }\n };\n\n var configurationKeys = Object.keys(configurationTemplate);\n\n var rangeArray = [];\n var i = 0;\n var j = 0;\n var k = 0;\n var isValid;\n\n var method;\n var value;\n\n function arrayContainsElement(array, element) {\n var iterator;\n var result = false;\n\n for (iterator = 0; iterator < array.length; iterator += 1) {\n if (array[iterator] === element) {\n result = true;\n }\n }\n return result;\n }\n\n if (this.internal.viewerpreferences === undefined) {\n this.internal.viewerpreferences = {};\n this.internal.viewerpreferences.configuration = JSON.parse(\n JSON.stringify(configurationTemplate)\n );\n this.internal.viewerpreferences.isSubscribed = false;\n }\n configuration = this.internal.viewerpreferences.configuration;\n\n if (options === \"reset\" || doReset === true) {\n var len = configurationKeys.length;\n\n for (k = 0; k < len; k += 1) {\n configuration[configurationKeys[k]].value =\n configuration[configurationKeys[k]].defaultValue;\n configuration[configurationKeys[k]].explicitSet = false;\n }\n }\n\n if (typeof options === \"object\") {\n for (method in options) {\n value = options[method];\n if (\n arrayContainsElement(configurationKeys, method) &&\n value !== undefined\n ) {\n if (\n configuration[method].type === \"boolean\" &&\n typeof value === \"boolean\"\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"name\" &&\n arrayContainsElement(configuration[method].valueSet, value)\n ) {\n configuration[method].value = value;\n } else if (\n configuration[method].type === \"integer\" &&\n Number.isInteger(value)\n ) {\n configuration[method].value = value;\n } else if (configuration[method].type === \"array\") {\n for (i = 0; i < value.length; i += 1) {\n isValid = true;\n if (value[i].length === 1 && typeof value[i][0] === \"number\") {\n rangeArray.push(String(value[i] - 1));\n } else if (value[i].length > 1) {\n for (j = 0; j < value[i].length; j += 1) {\n if (typeof value[i][j] !== \"number\") {\n isValid = false;\n }\n }\n if (isValid === true) {\n rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(\" \"));\n }\n }\n }\n configuration[method].value = \"[\" + rangeArray.join(\" \") + \"]\";\n } else {\n configuration[method].value = configuration[method].defaultValue;\n }\n\n configuration[method].explicitSet = true;\n }\n }\n }\n\n if (this.internal.viewerpreferences.isSubscribed === false) {\n this.internal.events.subscribe(\"putCatalog\", function() {\n var pdfDict = [];\n var vPref;\n for (vPref in configuration) {\n if (configuration[vPref].explicitSet === true) {\n if (configuration[vPref].type === \"name\") {\n pdfDict.push(\"/\" + vPref + \" /\" + configuration[vPref].value);\n } else {\n pdfDict.push(\"/\" + vPref + \" \" + configuration[vPref].value);\n }\n }\n }\n if (pdfDict.length !== 0) {\n this.internal.write(\n \"/ViewerPreferences\\n<<\\n\" + pdfDict.join(\"\\n\") + \"\\n>>\"\n );\n }\n });\n this.internal.viewerpreferences.isSubscribed = true;\n }\n\n this.internal.viewerpreferences.configuration = configuration;\n return this;\n };\n})(jsPDF.API);\n","/** ====================================================================\n * @license\n * jsPDF XMP metadata plugin\n * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a 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\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n * ====================================================================\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * @name xmp_metadata\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var postPutResources = function() {\n var xmpmeta_beginning = '';\n var rdf_beginning =\n '';\n var rdf_ending = \"\";\n var xmpmeta_ending = \"\";\n var utf8_xmpmeta_beginning = unescape(\n encodeURIComponent(xmpmeta_beginning)\n );\n var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning));\n var utf8_metadata = unescape(\n encodeURIComponent(this.internal.__metadata__.metadata)\n );\n var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending));\n var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending));\n\n var total_len =\n utf8_rdf_beginning.length +\n utf8_metadata.length +\n utf8_rdf_ending.length +\n utf8_xmpmeta_beginning.length +\n utf8_xmpmeta_ending.length;\n\n this.internal.__metadata__.metadata_object_number = this.internal.newObject();\n this.internal.write(\n \"<< /Type /Metadata /Subtype /XML /Length \" + total_len + \" >>\"\n );\n this.internal.write(\"stream\");\n this.internal.write(\n utf8_xmpmeta_beginning +\n utf8_rdf_beginning +\n utf8_metadata +\n utf8_rdf_ending +\n utf8_xmpmeta_ending\n );\n this.internal.write(\"endstream\");\n this.internal.write(\"endobj\");\n };\n\n var putCatalog = function() {\n if (this.internal.__metadata__.metadata_object_number) {\n this.internal.write(\n \"/Metadata \" +\n this.internal.__metadata__.metadata_object_number +\n \" 0 R\"\n );\n }\n };\n\n /**\n * Adds XMP formatted metadata to PDF\n *\n * @name addMetadata\n * @function\n * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters \"<\", \">\" or \"&\", those characters should be written using XML entities.\n * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash.\n * @returns {jsPDF} jsPDF-instance\n */\n jsPDFAPI.addMetadata = function(metadata, namespaceuri) {\n if (typeof this.internal.__metadata__ === \"undefined\") {\n this.internal.__metadata__ = {\n metadata: metadata,\n namespaceuri: namespaceuri || \"http://jspdf.default.namespaceuri/\"\n };\n this.internal.events.subscribe(\"putCatalog\", putCatalog);\n\n this.internal.events.subscribe(\"postPutResources\", postPutResources);\n }\n return this;\n };\n})(jsPDF.API);\n","import { jsPDF } from \"../jspdf.js\";\nimport { toPDFName } from \"../libs/pdfname.js\";\n\n/**\n * @name utf8\n * @module\n */\n(function(jsPDF) {\n \"use strict\";\n var jsPDFAPI = jsPDF.API;\n\n /***************************************************************************************************/\n /* function : pdfEscape16 */\n /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */\n /* the corresponding glyph id and width, and then adding padding to the string. */\n /***************************************************************************************************/\n var pdfEscape16 = (jsPDFAPI.pdfEscape16 = function(text, font) {\n var widths = font.metadata.Unicode.widths;\n var padz = [\"\", \"0\", \"00\", \"000\", \"0000\"];\n var ar = [\"\"];\n for (var i = 0, l = text.length, t; i < l; ++i) {\n t = font.metadata.characterToGlyph(text.charCodeAt(i));\n font.metadata.glyIdsUsed.push(t);\n font.metadata.toUnicode[t] = text.charCodeAt(i);\n if (widths.indexOf(t) == -1) {\n widths.push(t);\n widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]);\n }\n if (t == \"0\") {\n //Spaces are not allowed in cmap.\n return ar.join(\"\");\n } else {\n t = t.toString(16);\n ar.push(padz[4 - t.length], t);\n }\n }\n return ar.join(\"\");\n });\n\n var toUnicodeCmap = function(map) {\n var code, codes, range, unicode, unicodeMap, _i, _len;\n unicodeMap =\n \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\";\n codes = Object.keys(map).sort(function(a, b) {\n return a - b;\n });\n\n range = [];\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (range.length >= 100) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\";\n range = [];\n }\n\n if (\n map[code] !== undefined &&\n map[code] !== null &&\n typeof map[code].toString === \"function\"\n ) {\n unicode = (\"0000\" + map[code].toString(16)).slice(-4);\n code = (\"0000\" + (+code).toString(16)).slice(-4);\n range.push(\"<\" + code + \"><\" + unicode + \">\");\n }\n }\n\n if (range.length) {\n unicodeMap +=\n \"\\n\" +\n range.length +\n \" beginbfchar\\n\" +\n range.join(\"\\n\") +\n \"\\nendbfchar\\n\";\n }\n unicodeMap +=\n \"endcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\";\n return unicodeMap;\n };\n\n var identityHFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"Identity-H\"\n ) {\n //Tag with Identity-H\n var widths = font.metadata.Unicode.widths;\n var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1);\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Type /FontDescriptor\");\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/Flags \" + font.metadata.flags);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\">>\");\n out(\"endobj\");\n\n var DescendantFont = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/FontDescriptor \" + fontDescriptor + \" 0 R\");\n out(\"/W \" + jsPDF.API.PDFObject.convert(widths));\n out(\"/CIDToGIDMap /Identity\");\n out(\"/DW 1000\");\n out(\"/Subtype /CIDFontType2\");\n out(\"/CIDSystemInfo\");\n out(\"<<\");\n out(\"/Supplement 0\");\n out(\"/Registry (Adobe)\");\n out(\"/Ordering (\" + font.encoding + \")\");\n out(\">>\");\n out(\">>\");\n out(\"endobj\");\n\n font.objectNumber = newObject();\n out(\"<<\");\n out(\"/Type /Font\");\n out(\"/Subtype /Type0\");\n out(\"/ToUnicode \" + cmap + \" 0 R\");\n out(\"/BaseFont /\" + toPDFName(font.fontName));\n out(\"/Encoding /\" + font.encoding);\n out(\"/DescendantFonts [\" + DescendantFont + \" 0 R]\");\n out(\">>\");\n out(\"endobj\");\n\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n identityHFunction(args);\n }\n ]);\n\n var winAnsiEncodingFunction = function(options) {\n var font = options.font;\n var out = options.out;\n var newObject = options.newObject;\n var putStream = options.putStream;\n\n if (\n font.metadata instanceof jsPDF.API.TTFFont &&\n font.encoding === \"WinAnsiEncoding\"\n ) {\n //Tag with WinAnsi encoding\n var data = font.metadata.rawData;\n var pdfOutput = data;\n var pdfOutput2 = \"\";\n for (var i = 0; i < pdfOutput.length; i++) {\n pdfOutput2 += String.fromCharCode(pdfOutput[i]);\n }\n var fontTable = newObject();\n putStream({ data: pdfOutput2, addLength1: true, objectId: fontTable });\n out(\"endobj\");\n\n var cmap = newObject();\n var cmapData = toUnicodeCmap(font.metadata.toUnicode);\n putStream({ data: cmapData, addLength1: true, objectId: cmap });\n out(\"endobj\");\n\n var fontDescriptor = newObject();\n out(\"<<\");\n out(\"/Descent \" + font.metadata.decender);\n out(\"/CapHeight \" + font.metadata.capHeight);\n out(\"/StemV \" + font.metadata.stemV);\n out(\"/Type /FontDescriptor\");\n out(\"/FontFile2 \" + fontTable + \" 0 R\");\n out(\"/Flags 96\");\n out(\"/FontBBox \" + jsPDF.API.PDFObject.convert(font.metadata.bbox));\n out(\"/FontName /\" + toPDFName(font.fontName));\n out(\"/ItalicAngle \" + font.metadata.italicAngle);\n out(\"/Ascent \" + font.metadata.ascender);\n out(\">>\");\n out(\"endobj\");\n font.objectNumber = newObject();\n for (var j = 0; j < font.metadata.hmtx.widths.length; j++) {\n font.metadata.hmtx.widths[j] = parseInt(\n font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)\n ); //Change the width of Em units to Point units.\n }\n out(\n \"<>\"\n );\n out(\"endobj\");\n font.isAlreadyPutted = true;\n }\n };\n\n jsPDFAPI.events.push([\n \"putFont\",\n function(args) {\n winAnsiEncodingFunction(args);\n }\n ]);\n\n var utf8TextFunction = function(args) {\n var text = args.text || \"\";\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n\n var pdfEscape = mutex.pdfEscape;\n var activeFontKey = mutex.activeFontKey;\n var fonts = mutex.fonts;\n var key = activeFontKey;\n\n var str = \"\",\n s = 0,\n cmapConfirm;\n var strText = \"\";\n var encoding = fonts[key].encoding;\n\n if (fonts[key].encoding !== \"Identity-H\") {\n return {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n }\n strText = text;\n\n key = activeFontKey;\n if (Array.isArray(text)) {\n strText = text[0];\n }\n for (s = 0; s < strText.length; s += 1) {\n if (fonts[key].metadata.hasOwnProperty(\"cmap\")) {\n cmapConfirm =\n fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)];\n /*\n if (Object.prototype.toString.call(text) === '[object Array]') {\n var i = 0;\n // for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[s]) === '[object Array]') {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n } else {\n\n }\n //}\n\n } else {\n cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id\n }*/\n }\n if (!cmapConfirm) {\n if (\n strText[s].charCodeAt(0) < 256 &&\n fonts[key].metadata.hasOwnProperty(\"Unicode\")\n ) {\n str += strText[s];\n } else {\n str += \"\";\n }\n } else {\n str += strText[s];\n }\n }\n var result = \"\";\n if (parseInt(key.slice(1)) < 14 || encoding === \"WinAnsiEncoding\") {\n //For the default 13 font\n result = pdfEscape(str, key)\n .split(\"\")\n .map(function(cv) {\n return cv.charCodeAt(0).toString(16);\n })\n .join(\"\");\n } else if (encoding === \"Identity-H\") {\n result = pdfEscape16(str, fonts[key]);\n }\n mutex.isHex = true;\n\n return {\n text: result,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n };\n\n var utf8EscapeFunction = function(parms) {\n var text = parms.text || \"\",\n x = parms.x,\n y = parms.y,\n options = parms.options,\n mutex = parms.mutex;\n var tmpText = [];\n var args = {\n text: text,\n x: x,\n y: y,\n options: options,\n mutex: mutex\n };\n\n if (Array.isArray(text)) {\n var i = 0;\n for (i = 0; i < text.length; i += 1) {\n if (Array.isArray(text[i])) {\n if (text[i].length === 3) {\n tmpText.push([\n utf8TextFunction(Object.assign({}, args, { text: text[i][0] }))\n .text,\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n } else {\n tmpText.push(\n utf8TextFunction(Object.assign({}, args, { text: text[i] })).text\n );\n }\n }\n parms.text = tmpText;\n } else {\n parms.text = utf8TextFunction(\n Object.assign({}, args, { text: text })\n ).text;\n }\n };\n\n jsPDFAPI.events.push([\"postProcessText\", utf8EscapeFunction]);\n})(jsPDF);\n","/**\n * @license\n * jsPDF virtual FileSystem functionality\n *\n * Licensed under the MIT License.\n * http://opensource.org/licenses/mit-license\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n/**\n * Use the vFS to handle files\n *\n * @name vFS\n * @module\n */\n(function(jsPDFAPI) {\n \"use strict\";\n\n var _initializeVFS = function() {\n if (typeof this.internal.vFS === \"undefined\") {\n this.internal.vFS = {};\n }\n return true;\n };\n\n /**\n * Check if the file exists in the vFS\n *\n * @name existsFileInVFS\n * @function\n * @param {string} Possible filename in the vFS.\n * @returns {boolean}\n * @example\n * doc.existsFileInVFS(\"someFile.txt\");\n */\n jsPDFAPI.existsFileInVFS = function(filename) {\n _initializeVFS.call(this);\n return typeof this.internal.vFS[filename] !== \"undefined\";\n };\n\n /**\n * Add a file to the vFS\n *\n * @name addFileToVFS\n * @function\n * @param {string} filename The name of the file which should be added.\n * @param {string} filecontent The content of the file.\n * @returns {jsPDF}\n * @example\n * doc.addFileToVFS(\"someFile.txt\", \"BADFACE1\");\n */\n jsPDFAPI.addFileToVFS = function(filename, filecontent) {\n _initializeVFS.call(this);\n this.internal.vFS[filename] = filecontent;\n return this;\n };\n\n /**\n * Get the file from the vFS\n *\n * @name getFileFromVFS\n * @function\n * @param {string} The name of the file which gets requested.\n * @returns {string}\n * @example\n * doc.getFileFromVFS(\"someFile.txt\");\n */\n jsPDFAPI.getFileFromVFS = function(filename) {\n _initializeVFS.call(this);\n\n if (typeof this.internal.vFS[filename] !== \"undefined\") {\n return this.internal.vFS[filename];\n }\n return null;\n };\n})(jsPDF.API);\n","/**\n * @license\n * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis)\n * MIT License\n */\n\nimport { jsPDF } from \"../jspdf.js\";\n\n(function(jsPDF) {\n \"use strict\";\n /**\n * Table of Unicode types.\n *\n * Generated by:\n *\n * var bidi = require(\"./bidi/index\");\n * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)).\n * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)).\n * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256));\n *\n * for( var i = 0; i < bidi_accumulate.length; i++) {\n * \tif(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON')\n * \t\tbidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined\n * }\n * var bidiAccumulateStr = 'return [ \"' + bidi_accumulate.toString().replace(/,/g, '\", \"') + '\" ];';\n * require(\"fs\").writeFile('unicode-types.js', bidiAccumulateStr);\n *\n * Based on:\n * https://github.com/mathiasbynens/unicode-8.0.0\n */\n var bidiUnicodeTypes = [\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"S\",\n \"B\",\n \"S\",\n \"WS\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"B\",\n \"B\",\n \"S\",\n \"WS\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"B\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"CS\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"EN\",\n \"EN\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\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 \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"N\",\n \"N\",\n \"AL\",\n \"ET\",\n \"ET\",\n \"AL\",\n \"CS\",\n \"AL\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"AN\",\n \"ET\",\n \"AN\",\n \"AN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AN\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\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 \"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 \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"R\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"L\",\n \"R\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"B\",\n \"LRE\",\n \"RLE\",\n \"PDF\",\n \"LRO\",\n \"RLO\",\n \"CS\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"WS\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"N\",\n \"LRI\",\n \"RLI\",\n \"FSI\",\n \"PDI\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"BN\",\n \"EN\",\n \"L\",\n \"N\",\n \"N\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"R\",\n \"NSM\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"ES\",\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 \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"N\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"R\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"NSM\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"N\",\n \"N\",\n \"ES\",\n \"ES\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"AL\",\n \"N\",\n \"N\",\n \"BN\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"ES\",\n \"CS\",\n \"ES\",\n \"CS\",\n \"CS\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"EN\",\n \"CS\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"L\",\n \"L\",\n \"L\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"ET\",\n \"ET\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\",\n \"N\"\n ];\n\n /**\n * Unicode Bidi algorithm compliant Bidi engine.\n * For reference see http://unicode.org/reports/tr9/\n */\n\n /**\n * constructor ( options )\n *\n * Initializes Bidi engine\n *\n * @param {Object} See 'setOptions' below for detailed description.\n * options are cashed between invocation of 'doBidiReorder' method\n *\n * sample usage pattern of BidiEngine:\n * var opt = {\n * \tisInputVisual: true,\n * \tisInputRtl: false,\n * \tisOutputVisual: false,\n * \tisOutputRtl: false,\n * \tisSymmetricSwapping: true\n * }\n * var sourceToTarget = [], levels = [];\n * var bidiEng = Globalize.bidiEngine(opt);\n * var src = \"text string to be reordered\";\n * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels);\n */\n\n jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function(options) {\n var _UNICODE_TYPES = _bidiUnicodeTypes;\n\n var _STATE_TABLE_LTR = [\n [0, 3, 0, 1, 0, 0, 0],\n [0, 3, 0, 1, 2, 2, 0],\n [0, 3, 0, 0x11, 2, 0, 1],\n [0, 3, 5, 5, 4, 1, 0],\n [0, 3, 0x15, 0x15, 4, 0, 1],\n [0, 3, 5, 5, 4, 2, 0]\n ];\n\n var _STATE_TABLE_RTL = [\n [2, 0, 1, 1, 0, 1, 0],\n [2, 0, 1, 1, 0, 2, 0],\n [2, 0, 2, 1, 3, 2, 0],\n [2, 0, 2, 0x21, 3, 1, 1]\n ];\n\n var _TYPE_NAMES_MAP = { L: 0, R: 1, EN: 2, AN: 3, N: 4, B: 5, S: 6 };\n\n var _UNICODE_RANGES_MAP = {\n 0: 0,\n 5: 1,\n 6: 2,\n 7: 3,\n 0x20: 4,\n 0xfb: 5,\n 0xfe: 6,\n 0xff: 7\n };\n\n var _SWAP_TABLE = [\n \"\\u0028\",\n \"\\u0029\",\n \"\\u0028\",\n \"\\u003C\",\n \"\\u003E\",\n \"\\u003C\",\n \"\\u005B\",\n \"\\u005D\",\n \"\\u005B\",\n \"\\u007B\",\n \"\\u007D\",\n \"\\u007B\",\n \"\\u00AB\",\n \"\\u00BB\",\n \"\\u00AB\",\n \"\\u2039\",\n \"\\u203A\",\n \"\\u2039\",\n \"\\u2045\",\n \"\\u2046\",\n \"\\u2045\",\n \"\\u207D\",\n \"\\u207E\",\n \"\\u207D\",\n \"\\u208D\",\n \"\\u208E\",\n \"\\u208D\",\n \"\\u2264\",\n \"\\u2265\",\n \"\\u2264\",\n \"\\u2329\",\n \"\\u232A\",\n \"\\u2329\",\n \"\\uFE59\",\n \"\\uFE5A\",\n \"\\uFE59\",\n \"\\uFE5B\",\n \"\\uFE5C\",\n \"\\uFE5B\",\n \"\\uFE5D\",\n \"\\uFE5E\",\n \"\\uFE5D\",\n \"\\uFE64\",\n \"\\uFE65\",\n \"\\uFE64\"\n ];\n\n var _LTR_RANGES_REG_EXPR = new RegExp(\n /^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/\n );\n\n var _lastArabic = false,\n _hasUbatAl,\n _hasUbatB,\n _hasUbatS,\n DIR_LTR = 0,\n DIR_RTL = 1,\n _isInVisual,\n _isInRtl,\n _isOutVisual,\n _isOutRtl,\n _isSymmetricSwapping,\n _dir = DIR_LTR;\n\n this.__bidiEngine__ = {};\n\n var _init = function(text, sourceToTargetMap) {\n if (sourceToTargetMap) {\n for (var i = 0; i < text.length; i++) {\n sourceToTargetMap[i] = i;\n }\n }\n if (_isInRtl === undefined) {\n _isInRtl = _isContextualDirRtl(text);\n }\n if (_isOutRtl === undefined) {\n _isOutRtl = _isContextualDirRtl(text);\n }\n };\n\n // for reference see 3.2 in http://unicode.org/reports/tr9/\n //\n var _getCharType = function(ch) {\n var charCode = ch.charCodeAt(),\n range = charCode >> 8,\n rangeIdx = _UNICODE_RANGES_MAP[range];\n\n if (rangeIdx !== undefined) {\n return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)];\n } else if (range === 0xfc || range === 0xfd) {\n return \"AL\";\n } else if (_LTR_RANGES_REG_EXPR.test(range)) {\n //unlikely case\n return \"L\";\n } else if (range === 8) {\n // even less likely\n return \"R\";\n }\n return \"N\"; //undefined type, mark as neutral\n };\n\n var _isContextualDirRtl = function(text) {\n for (var i = 0, charType; i < text.length; i++) {\n charType = _getCharType(text.charAt(i));\n if (charType === \"L\") {\n return false;\n } else if (charType === \"R\") {\n return true;\n }\n }\n return false;\n };\n\n // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/\n //\n var _resolveCharType = function(chars, types, resolvedTypes, index) {\n var cType = types[index],\n wType,\n nType,\n i,\n len;\n switch (cType) {\n case \"L\":\n case \"R\":\n _lastArabic = false;\n break;\n case \"N\":\n case \"AN\":\n break;\n\n case \"EN\":\n if (_lastArabic) {\n cType = \"AN\";\n }\n break;\n\n case \"AL\":\n _lastArabic = true;\n _hasUbatAl = true;\n cType = \"R\";\n break;\n\n case \"WS\":\n cType = \"N\";\n break;\n\n case \"CS\":\n if (\n index < 1 ||\n index + 1 >= types.length ||\n ((wType = resolvedTypes[index - 1]) !== \"EN\" && wType !== \"AN\") ||\n ((nType = types[index + 1]) !== \"EN\" && nType !== \"AN\")\n ) {\n cType = \"N\";\n } else if (_lastArabic) {\n nType = \"AN\";\n }\n cType = nType === wType ? nType : \"N\";\n break;\n\n case \"ES\":\n wType = index > 0 ? resolvedTypes[index - 1] : \"B\";\n cType =\n wType === \"EN\" &&\n index + 1 < types.length &&\n types[index + 1] === \"EN\"\n ? \"EN\"\n : \"N\";\n break;\n\n case \"ET\":\n if (index > 0 && resolvedTypes[index - 1] === \"EN\") {\n cType = \"EN\";\n break;\n } else if (_lastArabic) {\n cType = \"N\";\n break;\n }\n i = index + 1;\n len = types.length;\n while (i < len && types[i] === \"ET\") {\n i++;\n }\n if (i < len && types[i] === \"EN\") {\n cType = \"EN\";\n } else {\n cType = \"N\";\n }\n break;\n\n case \"NSM\":\n if (_isInVisual && !_isInRtl) {\n //V->L\n len = types.length;\n i = index + 1;\n while (i < len && types[i] === \"NSM\") {\n i++;\n }\n if (i < len) {\n var c = chars[index];\n var rtlCandidate = (c >= 0x0591 && c <= 0x08ff) || c === 0xfb1e;\n wType = types[i];\n if (rtlCandidate && (wType === \"R\" || wType === \"AL\")) {\n cType = \"R\";\n break;\n }\n }\n }\n if (index < 1 || (wType = types[index - 1]) === \"B\") {\n cType = \"N\";\n } else {\n cType = resolvedTypes[index - 1];\n }\n break;\n\n case \"B\":\n _lastArabic = false;\n _hasUbatB = true;\n cType = _dir;\n break;\n\n case \"S\":\n _hasUbatS = true;\n cType = \"N\";\n break;\n\n case \"LRE\":\n case \"RLE\":\n case \"LRO\":\n case \"RLO\":\n case \"PDF\":\n _lastArabic = false;\n break;\n case \"BN\":\n cType = \"N\";\n break;\n }\n return cType;\n };\n\n var _handleUbatS = function(types, levels, length) {\n for (var i = 0; i < length; i++) {\n if (types[i] === \"S\") {\n levels[i] = _dir;\n for (var j = i - 1; j >= 0; j--) {\n if (types[j] === \"WS\") {\n levels[j] = _dir;\n } else {\n break;\n }\n }\n }\n }\n };\n\n var _invertString = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\");\n if (levels) {\n _computeLevels(charArray, levels, { hiLevel: _dir });\n }\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return charArray.join(\"\");\n };\n\n // For reference see 3.3 in http://unicode.org/reports/tr9/\n //\n var _computeLevels = function(chars, levels, params) {\n var action,\n condition,\n i,\n index,\n newLevel,\n prevState,\n condPos = -1,\n len = chars.length,\n newState = 0,\n resolvedTypes = [],\n stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR,\n types = [];\n\n _lastArabic = false;\n _hasUbatAl = false;\n _hasUbatB = false;\n _hasUbatS = false;\n for (i = 0; i < len; i++) {\n types[i] = _getCharType(chars[i]);\n }\n for (index = 0; index < len; index++) {\n prevState = newState;\n resolvedTypes[index] = _resolveCharType(\n chars,\n types,\n resolvedTypes,\n index\n );\n newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]];\n action = newState & 0xf0;\n newState &= 0x0f;\n levels[index] = newLevel = stateTable[newState][5];\n if (action > 0) {\n if (action === 0x10) {\n for (i = condPos; i < index; i++) {\n levels[i] = 1;\n }\n condPos = -1;\n } else {\n condPos = -1;\n }\n }\n condition = stateTable[newState][6];\n if (condition) {\n if (condPos === -1) {\n condPos = index;\n }\n } else {\n if (condPos > -1) {\n for (i = condPos; i < index; i++) {\n levels[i] = newLevel;\n }\n condPos = -1;\n }\n }\n if (types[index] === \"B\") {\n levels[index] = 0;\n }\n params.hiLevel |= newLevel;\n }\n if (_hasUbatS) {\n _handleUbatS(types, levels, len);\n }\n };\n\n // for reference see 3.4 in http://unicode.org/reports/tr9/\n //\n var _invertByLevel = function(\n level,\n charArray,\n sourceToTargetMap,\n levels,\n params\n ) {\n if (params.hiLevel < level) {\n return;\n }\n if (level === 1 && _dir === DIR_RTL && !_hasUbatB) {\n charArray.reverse();\n sourceToTargetMap && sourceToTargetMap.reverse();\n return;\n }\n var ch,\n high,\n end,\n low,\n len = charArray.length,\n start = 0;\n\n while (start < len) {\n if (levels[start] >= level) {\n end = start + 1;\n while (end < len && levels[end] >= level) {\n end++;\n }\n for (low = start, high = end - 1; low < high; low++, high--) {\n ch = charArray[low];\n charArray[low] = charArray[high];\n charArray[high] = ch;\n if (sourceToTargetMap) {\n ch = sourceToTargetMap[low];\n sourceToTargetMap[low] = sourceToTargetMap[high];\n sourceToTargetMap[high] = ch;\n }\n }\n start = end;\n }\n start++;\n }\n };\n\n // for reference see 7 & BD16 in http://unicode.org/reports/tr9/\n //\n var _symmetricSwap = function(charArray, levels, params) {\n if (params.hiLevel !== 0 && _isSymmetricSwapping) {\n for (var i = 0, index; i < charArray.length; i++) {\n if (levels[i] === 1) {\n index = _SWAP_TABLE.indexOf(charArray[i]);\n if (index >= 0) {\n charArray[i] = _SWAP_TABLE[index + 1];\n }\n }\n }\n }\n };\n\n var _reorder = function(text, sourceToTargetMap, levels) {\n var charArray = text.split(\"\"),\n params = { hiLevel: _dir };\n\n if (!levels) {\n levels = [];\n }\n _computeLevels(charArray, levels, params);\n _symmetricSwap(charArray, levels, params);\n _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params);\n _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params);\n return charArray.join(\"\");\n };\n\n // doBidiReorder( text, sourceToTargetMap, levels )\n // Performs Bidi reordering by implementing Unicode Bidi algorithm.\n // Returns reordered string\n // @text [String]:\n // - input string to be reordered, this is input parameter\n // $sourceToTargetMap [Array] (optional)\n // - resultant mapping between input and output strings, this is output parameter\n // $levels [Array] (optional)\n // - array of calculated Bidi levels, , this is output parameter\n this.__bidiEngine__.doBidiReorder = function(\n text,\n sourceToTargetMap,\n levels\n ) {\n _init(text, sourceToTargetMap);\n if (!_isInVisual && _isOutVisual && !_isOutRtl) {\n // LLTR->VLTR, LRTL->VLTR\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) {\n // VRTL->VLTR, VLTR->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _invertString(text, sourceToTargetMap, levels);\n } else if (!_isInVisual && _isOutVisual && _isOutRtl) {\n // LLTR->VRTL, LRTL->VRTL\n _dir = _isInRtl ? DIR_RTL : DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) {\n // VLTR->LLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // VLTR->LRTL, VRTL->LLTR\n text = _invertString(text, sourceToTargetMap);\n if (_isInRtl) {\n //LLTR -> VLTR\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n } else {\n //LRTL -> VRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n }\n } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) {\n // VRTL->LRTL\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) {\n // LRTL->LLTR, LLTR->LRTL\n var isSymmetricSwappingOrig = _isSymmetricSwapping;\n if (_isInRtl) {\n //LRTL->LLTR\n _dir = DIR_RTL;\n text = _reorder(text, sourceToTargetMap, levels);\n _dir = DIR_LTR;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n } else {\n //LLTR->LRTL\n _dir = DIR_LTR;\n text = _reorder(text, sourceToTargetMap, levels);\n text = _invertString(text, sourceToTargetMap);\n _dir = DIR_RTL;\n _isSymmetricSwapping = false;\n text = _reorder(text, sourceToTargetMap, levels);\n _isSymmetricSwapping = isSymmetricSwappingOrig;\n text = _invertString(text, sourceToTargetMap);\n }\n }\n return text;\n };\n\n /**\n * @name setOptions( options )\n * @function\n * Sets options for Bidi conversion\n * @param {Object}:\n * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string)\n * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode)\n * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string)\n * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping),\n */\n this.__bidiEngine__.setOptions = function(options) {\n if (options) {\n _isInVisual = options.isInputVisual;\n _isOutVisual = options.isOutputVisual;\n _isInRtl = options.isInputRtl;\n _isOutRtl = options.isOutputRtl;\n _isSymmetricSwapping = options.isSymmetricSwapping;\n }\n };\n\n this.__bidiEngine__.setOptions(options);\n return this.__bidiEngine__;\n };\n\n var _bidiUnicodeTypes = bidiUnicodeTypes;\n\n var bidiEngine = new jsPDF.__bidiEngine__({ isInputVisual: true });\n\n var bidiEngineFunction = function(args) {\n var text = args.text;\n var x = args.x;\n var y = args.y;\n var options = args.options || {};\n var mutex = args.mutex || {};\n var lang = options.lang;\n var tmpText = [];\n\n options.isInputVisual =\n typeof options.isInputVisual === \"boolean\" ? options.isInputVisual : true;\n bidiEngine.setOptions(options);\n\n if (Object.prototype.toString.call(text) === \"[object Array]\") {\n var i = 0;\n tmpText = [];\n for (i = 0; i < text.length; i += 1) {\n if (Object.prototype.toString.call(text[i]) === \"[object Array]\") {\n tmpText.push([\n bidiEngine.doBidiReorder(text[i][0]),\n text[i][1],\n text[i][2]\n ]);\n } else {\n tmpText.push([bidiEngine.doBidiReorder(text[i])]);\n }\n }\n args.text = tmpText;\n } else {\n args.text = bidiEngine.doBidiReorder(text);\n }\n bidiEngine.setOptions({ isInputVisual: true });\n };\n\n jsPDF.API.events.push([\"postProcessText\", bidiEngineFunction]);\n})(jsPDF);\n","/* eslint-disable no-control-regex */\n/************************************************\n * Title : custom font *\n * Start Data : 2017. 01. 22. *\n * Comment : TEXT API *\n ************************************************/\n\n/******************************\n * jsPDF extension API Design *\n * ****************************/\n\nimport { jsPDF } from \"../jspdf.js\";\n\njsPDF.API.TTFFont = (function() {\n /************************************************************************/\n /* function : open */\n /* comment : Decode the encoded ttf content and create a TTFFont object. */\n /************************************************************************/\n TTFFont.open = function(file) {\n return new TTFFont(file);\n };\n /***************************************************************/\n /* function : TTFFont gernerator */\n /* comment : Decode TTF contents are parsed, Data, */\n /* Subset object is created, and registerTTF function is called.*/\n /***************************************************************/\n function TTFFont(rawData) {\n var data;\n this.rawData = rawData;\n data = this.contents = new Data(rawData);\n this.contents.pos = 4;\n if (data.readString(4) === \"ttcf\") {\n throw new Error(\"TTCF not supported.\");\n } else {\n data.pos = 0;\n this.parse();\n this.subset = new Subset(this);\n this.registerTTF();\n }\n }\n /********************************************************/\n /* function : parse */\n /* comment : TTF Parses the file contents by each table.*/\n /********************************************************/\n TTFFont.prototype.parse = function() {\n this.directory = new Directory(this.contents);\n this.head = new HeadTable(this);\n this.name = new NameTable(this);\n this.cmap = new CmapTable(this);\n this.toUnicode = {};\n this.hhea = new HheaTable(this);\n this.maxp = new MaxpTable(this);\n this.hmtx = new HmtxTable(this);\n this.post = new PostTable(this);\n this.os2 = new OS2Table(this);\n this.loca = new LocaTable(this);\n this.glyf = new GlyfTable(this);\n this.ascender =\n (this.os2.exists && this.os2.ascender) || this.hhea.ascender;\n this.decender =\n (this.os2.exists && this.os2.decender) || this.hhea.decender;\n this.lineGap = (this.os2.exists && this.os2.lineGap) || this.hhea.lineGap;\n return (this.bbox = [\n this.head.xMin,\n this.head.yMin,\n this.head.xMax,\n this.head.yMax\n ]);\n };\n /***************************************************************/\n /* function : registerTTF */\n /* comment : Get the value to assign pdf font descriptors. */\n /***************************************************************/\n TTFFont.prototype.registerTTF = function() {\n var e, hi, low, raw, _ref;\n this.scaleFactor = 1000.0 / this.head.unitsPerEm;\n this.bbox = function() {\n var _i, _len, _ref, _results;\n _ref = this.bbox;\n _results = [];\n for (_i = 0, _len = _ref.length; _i < _len; _i++) {\n e = _ref[_i];\n _results.push(Math.round(e * this.scaleFactor));\n }\n return _results;\n }.call(this);\n this.stemV = 0;\n if (this.post.exists) {\n raw = this.post.italic_angle;\n hi = raw >> 16;\n low = raw & 0xff;\n if ((hi & 0x8000) !== 0) {\n hi = -((hi ^ 0xffff) + 1);\n }\n this.italicAngle = +(\"\" + hi + \".\" + low);\n } else {\n this.italicAngle = 0;\n }\n this.ascender = Math.round(this.ascender * this.scaleFactor);\n this.decender = Math.round(this.decender * this.scaleFactor);\n this.lineGap = Math.round(this.lineGap * this.scaleFactor);\n this.capHeight = (this.os2.exists && this.os2.capHeight) || this.ascender;\n this.xHeight = (this.os2.exists && this.os2.xHeight) || 0;\n this.familyClass = ((this.os2.exists && this.os2.familyClass) || 0) >> 8;\n this.isSerif =\n (_ref = this.familyClass) === 1 ||\n _ref === 2 ||\n _ref === 3 ||\n _ref === 4 ||\n _ref === 5 ||\n _ref === 7;\n this.isScript = this.familyClass === 10;\n this.flags = 0;\n if (this.post.isFixedPitch) {\n this.flags |= 1 << 0;\n }\n if (this.isSerif) {\n this.flags |= 1 << 1;\n }\n if (this.isScript) {\n this.flags |= 1 << 3;\n }\n if (this.italicAngle !== 0) {\n this.flags |= 1 << 6;\n }\n this.flags |= 1 << 5;\n if (!this.cmap.unicode) {\n throw new Error(\"No unicode cmap for font\");\n }\n };\n TTFFont.prototype.characterToGlyph = function(character) {\n var _ref;\n return (\n ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) ||\n 0\n );\n };\n TTFFont.prototype.widthOfGlyph = function(glyph) {\n var scale;\n scale = 1000.0 / this.head.unitsPerEm;\n return this.hmtx.forGlyph(glyph).advance * scale;\n };\n TTFFont.prototype.widthOfString = function(string, size, charSpace) {\n var charCode, i, scale, width, _ref;\n string = \"\" + string;\n width = 0;\n for (\n i = 0, _ref = string.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n charCode = string.charCodeAt(i);\n width +=\n this.widthOfGlyph(this.characterToGlyph(charCode)) +\n charSpace * (1000 / size) || 0;\n }\n scale = size / 1000;\n return width * scale;\n };\n TTFFont.prototype.lineHeight = function(size, includeGap) {\n var gap;\n if (includeGap == null) {\n includeGap = false;\n }\n gap = includeGap ? this.lineGap : 0;\n return ((this.ascender + gap - this.decender) / 1000) * size;\n };\n return TTFFont;\n})();\n\n/************************************************************************************************/\n/* function : Data */\n/* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/\n/************************************************************************************************/\nvar Data = (function() {\n function Data(data) {\n this.data = data != null ? data : [];\n this.pos = 0;\n this.length = this.data.length;\n }\n Data.prototype.readByte = function() {\n return this.data[this.pos++];\n };\n Data.prototype.writeByte = function(byte) {\n return (this.data[this.pos++] = byte);\n };\n Data.prototype.readUInt32 = function() {\n var b1, b2, b3, b4;\n b1 = this.readByte() * 0x1000000;\n b2 = this.readByte() << 16;\n b3 = this.readByte() << 8;\n b4 = this.readByte();\n return b1 + b2 + b3 + b4;\n };\n Data.prototype.writeUInt32 = function(val) {\n this.writeByte((val >>> 24) & 0xff);\n this.writeByte((val >> 16) & 0xff);\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt32 = function() {\n var int;\n int = this.readUInt32();\n if (int >= 0x80000000) {\n return int - 0x100000000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt32 = function(val) {\n if (val < 0) {\n val += 0x100000000;\n }\n return this.writeUInt32(val);\n };\n Data.prototype.readUInt16 = function() {\n var b1, b2;\n b1 = this.readByte() << 8;\n b2 = this.readByte();\n return b1 | b2;\n };\n Data.prototype.writeUInt16 = function(val) {\n this.writeByte((val >> 8) & 0xff);\n return this.writeByte(val & 0xff);\n };\n Data.prototype.readInt16 = function() {\n var int;\n int = this.readUInt16();\n if (int >= 0x8000) {\n return int - 0x10000;\n } else {\n return int;\n }\n };\n Data.prototype.writeInt16 = function(val) {\n if (val < 0) {\n val += 0x10000;\n }\n return this.writeUInt16(val);\n };\n Data.prototype.readString = function(length) {\n var i, ret;\n ret = [];\n for (\n i = 0;\n 0 <= length ? i < length : i > length;\n i = 0 <= length ? ++i : --i\n ) {\n ret[i] = String.fromCharCode(this.readByte());\n }\n return ret.join(\"\");\n };\n Data.prototype.writeString = function(val) {\n var i, _ref, _results;\n _results = [];\n for (\n i = 0, _ref = val.length;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n _results.push(this.writeByte(val.charCodeAt(i)));\n }\n return _results;\n };\n /*Data.prototype.stringAt = function (pos, length) {\n this.pos = pos;\n return this.readString(length);\n };*/\n Data.prototype.readShort = function() {\n return this.readInt16();\n };\n Data.prototype.writeShort = function(val) {\n return this.writeInt16(val);\n };\n Data.prototype.readLongLong = function() {\n var b1, b2, b3, b4, b5, b6, b7, b8;\n b1 = this.readByte();\n b2 = this.readByte();\n b3 = this.readByte();\n b4 = this.readByte();\n b5 = this.readByte();\n b6 = this.readByte();\n b7 = this.readByte();\n b8 = this.readByte();\n if (b1 & 0x80) {\n return (\n ((b1 ^ 0xff) * 0x100000000000000 +\n (b2 ^ 0xff) * 0x1000000000000 +\n (b3 ^ 0xff) * 0x10000000000 +\n (b4 ^ 0xff) * 0x100000000 +\n (b5 ^ 0xff) * 0x1000000 +\n (b6 ^ 0xff) * 0x10000 +\n (b7 ^ 0xff) * 0x100 +\n (b8 ^ 0xff) +\n 1) *\n -1\n );\n }\n return (\n b1 * 0x100000000000000 +\n b2 * 0x1000000000000 +\n b3 * 0x10000000000 +\n b4 * 0x100000000 +\n b5 * 0x1000000 +\n b6 * 0x10000 +\n b7 * 0x100 +\n b8\n );\n };\n Data.prototype.writeLongLong = function(val) {\n var high, low;\n high = Math.floor(val / 0x100000000);\n low = val & 0xffffffff;\n this.writeByte((high >> 24) & 0xff);\n this.writeByte((high >> 16) & 0xff);\n this.writeByte((high >> 8) & 0xff);\n this.writeByte(high & 0xff);\n this.writeByte((low >> 24) & 0xff);\n this.writeByte((low >> 16) & 0xff);\n this.writeByte((low >> 8) & 0xff);\n return this.writeByte(low & 0xff);\n };\n Data.prototype.readInt = function() {\n return this.readInt32();\n };\n Data.prototype.writeInt = function(val) {\n return this.writeInt32(val);\n };\n /*Data.prototype.slice = function (start, end) {\n return this.data.slice(start, end);\n };*/\n Data.prototype.read = function(bytes) {\n var buf, i;\n buf = [];\n for (\n i = 0;\n 0 <= bytes ? i < bytes : i > bytes;\n i = 0 <= bytes ? ++i : --i\n ) {\n buf.push(this.readByte());\n }\n return buf;\n };\n Data.prototype.write = function(bytes) {\n var byte, i, _len, _results;\n _results = [];\n for (i = 0, _len = bytes.length; i < _len; i++) {\n byte = bytes[i];\n _results.push(this.writeByte(byte));\n }\n return _results;\n };\n return Data;\n})();\n\nvar Directory = (function() {\n var checksum;\n\n /*****************************************************************************************************/\n /* function : Directory generator */\n /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/\n /*****************************************************************************************************/\n function Directory(data) {\n var entry, i, _ref;\n this.scalarType = data.readInt();\n this.tableCount = data.readShort();\n this.searchRange = data.readShort();\n this.entrySelector = data.readShort();\n this.rangeShift = data.readShort();\n this.tables = {};\n for (\n i = 0, _ref = this.tableCount;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n entry = {\n tag: data.readString(4),\n checksum: data.readInt(),\n offset: data.readInt(),\n length: data.readInt()\n };\n this.tables[entry.tag] = entry;\n }\n }\n /********************************************************************************************************/\n /* function : encode */\n /* comment : It encodes and stores the font table object and information used for the directory object. */\n /********************************************************************************************************/\n Directory.prototype.encode = function(tables) {\n var adjustment,\n directory,\n directoryLength,\n entrySelector,\n headOffset,\n log2,\n offset,\n rangeShift,\n searchRange,\n sum,\n table,\n tableCount,\n tableData,\n tag;\n tableCount = Object.keys(tables).length;\n log2 = Math.log(2);\n searchRange = Math.floor(Math.log(tableCount) / log2) * 16;\n entrySelector = Math.floor(searchRange / log2);\n rangeShift = tableCount * 16 - searchRange;\n directory = new Data();\n directory.writeInt(this.scalarType);\n directory.writeShort(tableCount);\n directory.writeShort(searchRange);\n directory.writeShort(entrySelector);\n directory.writeShort(rangeShift);\n directoryLength = tableCount * 16;\n offset = directory.pos + directoryLength;\n headOffset = null;\n tableData = [];\n for (tag in tables) {\n table = tables[tag];\n directory.writeString(tag);\n directory.writeInt(checksum(table));\n directory.writeInt(offset);\n directory.writeInt(table.length);\n tableData = tableData.concat(table);\n if (tag === \"head\") {\n headOffset = offset;\n }\n offset += table.length;\n while (offset % 4) {\n tableData.push(0);\n offset++;\n }\n }\n directory.write(tableData);\n sum = checksum(directory.data);\n adjustment = 0xb1b0afba - sum;\n directory.pos = headOffset + 8;\n directory.writeUInt32(adjustment);\n return directory.data;\n };\n /***************************************************************/\n /* function : checksum */\n /* comment : Duplicate the table for the tag. */\n /***************************************************************/\n checksum = function(data) {\n var i, sum, tmp, _ref;\n data = __slice.call(data);\n while (data.length % 4) {\n data.push(0);\n }\n tmp = new Data(data);\n sum = 0;\n for (i = 0, _ref = data.length; i < _ref; i = i += 4) {\n sum += tmp.readUInt32();\n }\n return sum & 0xffffffff;\n };\n return Directory;\n})();\n\nvar Table,\n __hasProp = {}.hasOwnProperty,\n __extends = function(child, parent) {\n for (var key in parent) {\n if (__hasProp.call(parent, key)) child[key] = parent[key];\n }\n\n function ctor() {\n this.constructor = child;\n }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n child.__super__ = parent.prototype;\n return child;\n };\n\n/***************************************************************/\n/* function : Table */\n/* comment : Save info for each table, and parse the table. */\n/***************************************************************/\nTable = (function() {\n function Table(file) {\n var info;\n this.file = file;\n info = this.file.directory.tables[this.tag];\n this.exists = !!info;\n if (info) {\n (this.offset = info.offset), (this.length = info.length);\n this.parse(this.file.contents);\n }\n }\n Table.prototype.parse = function() {};\n Table.prototype.encode = function() {};\n Table.prototype.raw = function() {\n if (!this.exists) {\n return null;\n }\n this.file.contents.pos = this.offset;\n return this.file.contents.read(this.length);\n };\n return Table;\n})();\n\nvar HeadTable = (function(_super) {\n __extends(HeadTable, _super);\n\n function HeadTable() {\n return HeadTable.__super__.constructor.apply(this, arguments);\n }\n HeadTable.prototype.tag = \"head\";\n HeadTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.revision = data.readInt();\n this.checkSumAdjustment = data.readInt();\n this.magicNumber = data.readInt();\n this.flags = data.readShort();\n this.unitsPerEm = data.readShort();\n this.created = data.readLongLong();\n this.modified = data.readLongLong();\n this.xMin = data.readShort();\n this.yMin = data.readShort();\n this.xMax = data.readShort();\n this.yMax = data.readShort();\n this.macStyle = data.readShort();\n this.lowestRecPPEM = data.readShort();\n this.fontDirectionHint = data.readShort();\n this.indexToLocFormat = data.readShort();\n return (this.glyphDataFormat = data.readShort());\n };\n HeadTable.prototype.encode = function(indexToLocFormat) {\n var table;\n table = new Data();\n table.writeInt(this.version);\n table.writeInt(this.revision);\n table.writeInt(this.checkSumAdjustment);\n table.writeInt(this.magicNumber);\n table.writeShort(this.flags);\n table.writeShort(this.unitsPerEm);\n table.writeLongLong(this.created);\n table.writeLongLong(this.modified);\n table.writeShort(this.xMin);\n table.writeShort(this.yMin);\n table.writeShort(this.xMax);\n table.writeShort(this.yMax);\n table.writeShort(this.macStyle);\n table.writeShort(this.lowestRecPPEM);\n table.writeShort(this.fontDirectionHint);\n table.writeShort(indexToLocFormat);\n table.writeShort(this.glyphDataFormat);\n return table.data;\n };\n return HeadTable;\n})(Table);\n\n/************************************************************************************/\n/* function : CmapEntry */\n/* comment : Cmap Initializes and encodes object information (required by pdf spec).*/\n/************************************************************************************/\nvar CmapEntry = (function() {\n function CmapEntry(data, offset) {\n var code,\n count,\n endCode,\n glyphId,\n glyphIds,\n i,\n idDelta,\n idRangeOffset,\n index,\n saveOffset,\n segCount,\n segCountX2,\n start,\n startCode,\n tail,\n _j,\n _k,\n _len;\n this.platformID = data.readUInt16();\n this.encodingID = data.readShort();\n this.offset = offset + data.readInt();\n saveOffset = data.pos;\n data.pos = this.offset;\n this.format = data.readUInt16();\n this.length = data.readUInt16();\n this.language = data.readUInt16();\n this.isUnicode =\n (this.platformID === 3 && this.encodingID === 1 && this.format === 4) ||\n (this.platformID === 0 && this.format === 4);\n this.codeMap = {};\n switch (this.format) {\n case 0:\n for (i = 0; i < 256; ++i) {\n this.codeMap[i] = data.readByte();\n }\n break;\n case 4:\n segCountX2 = data.readUInt16();\n segCount = segCountX2 / 2;\n data.pos += 6;\n endCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n data.pos += 2;\n startCode = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idDelta = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n idRangeOffset = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= segCount ? _j < segCount : _j > segCount;\n i = 0 <= segCount ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n count = (this.length - data.pos + this.offset) / 2;\n glyphIds = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= count ? _j < count : _j > count;\n i = 0 <= count ? ++_j : --_j\n ) {\n _results.push(data.readUInt16());\n }\n return _results;\n })();\n for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) {\n tail = endCode[i];\n start = startCode[i];\n for (\n code = _k = start;\n start <= tail ? _k <= tail : _k >= tail;\n code = start <= tail ? ++_k : --_k\n ) {\n if (idRangeOffset[i] === 0) {\n glyphId = code + idDelta[i];\n } else {\n index = idRangeOffset[i] / 2 + (code - start) - (segCount - i);\n glyphId = glyphIds[index] || 0;\n if (glyphId !== 0) {\n glyphId += idDelta[i];\n }\n }\n this.codeMap[code] = glyphId & 0xffff;\n }\n }\n }\n data.pos = saveOffset;\n }\n CmapEntry.encode = function(charmap, encoding) {\n var charMap,\n code,\n codeMap,\n codes,\n delta,\n deltas,\n diff,\n endCode,\n endCodes,\n entrySelector,\n glyphIDs,\n i,\n id,\n indexes,\n last,\n map,\n nextID,\n offset,\n old,\n rangeOffsets,\n rangeShift,\n searchRange,\n segCount,\n segCountX2,\n startCode,\n startCodes,\n startGlyph,\n subtable,\n _i,\n _j,\n _k,\n _l,\n _len,\n _len1,\n _len2,\n _len3,\n _len4,\n _len5,\n _len6,\n _len7,\n _m,\n _n,\n _name,\n _o,\n _p,\n _q;\n subtable = new Data();\n codes = Object.keys(charmap).sort(function(a, b) {\n return a - b;\n });\n switch (encoding) {\n case \"macroman\":\n id = 0;\n indexes = (function() {\n var _results = [];\n for (i = 0; i < 256; ++i) {\n _results.push(0);\n }\n return _results;\n })();\n map = {\n 0: 0\n };\n codeMap = {};\n for (_i = 0, _len = codes.length; _i < _len; _i++) {\n code = codes[_i];\n if (map[(_name = charmap[code])] == null) {\n map[_name] = ++id;\n }\n codeMap[code] = {\n old: charmap[code],\n new: map[charmap[code]]\n };\n indexes[code] = map[charmap[code]];\n }\n subtable.writeUInt16(1);\n subtable.writeUInt16(0);\n subtable.writeUInt32(12);\n subtable.writeUInt16(0);\n subtable.writeUInt16(262);\n subtable.writeUInt16(0);\n subtable.write(indexes);\n return {\n charMap: codeMap,\n subtable: subtable.data,\n maxGlyphID: id + 1\n };\n case \"unicode\":\n startCodes = [];\n endCodes = [];\n nextID = 0;\n map = {};\n charMap = {};\n last = diff = null;\n for (_j = 0, _len1 = codes.length; _j < _len1; _j++) {\n code = codes[_j];\n old = charmap[code];\n if (map[old] == null) {\n map[old] = ++nextID;\n }\n charMap[code] = {\n old: old,\n new: map[old]\n };\n delta = map[old] - code;\n if (last == null || delta !== diff) {\n if (last) {\n endCodes.push(last);\n }\n startCodes.push(code);\n diff = delta;\n }\n last = code;\n }\n if (last) {\n endCodes.push(last);\n }\n endCodes.push(0xffff);\n startCodes.push(0xffff);\n segCount = startCodes.length;\n segCountX2 = segCount * 2;\n searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2);\n entrySelector = Math.log(searchRange / 2) / Math.LN2;\n rangeShift = 2 * segCount - searchRange;\n deltas = [];\n rangeOffsets = [];\n glyphIDs = [];\n for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) {\n startCode = startCodes[i];\n endCode = endCodes[i];\n if (startCode === 0xffff) {\n deltas.push(0);\n rangeOffsets.push(0);\n break;\n }\n startGlyph = charMap[startCode][\"new\"];\n if (startCode - startGlyph >= 0x8000) {\n deltas.push(0);\n rangeOffsets.push(2 * (glyphIDs.length + segCount - i));\n for (\n code = _l = startCode;\n startCode <= endCode ? _l <= endCode : _l >= endCode;\n code = startCode <= endCode ? ++_l : --_l\n ) {\n glyphIDs.push(charMap[code][\"new\"]);\n }\n } else {\n deltas.push(startGlyph - startCode);\n rangeOffsets.push(0);\n }\n }\n subtable.writeUInt16(3);\n subtable.writeUInt16(1);\n subtable.writeUInt32(12);\n subtable.writeUInt16(4);\n subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2);\n subtable.writeUInt16(0);\n subtable.writeUInt16(segCountX2);\n subtable.writeUInt16(searchRange);\n subtable.writeUInt16(entrySelector);\n subtable.writeUInt16(rangeShift);\n for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) {\n code = endCodes[_m];\n subtable.writeUInt16(code);\n }\n subtable.writeUInt16(0);\n for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) {\n code = startCodes[_n];\n subtable.writeUInt16(code);\n }\n for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) {\n delta = deltas[_o];\n subtable.writeUInt16(delta);\n }\n for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) {\n offset = rangeOffsets[_p];\n subtable.writeUInt16(offset);\n }\n for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) {\n id = glyphIDs[_q];\n subtable.writeUInt16(id);\n }\n return {\n charMap: charMap,\n subtable: subtable.data,\n maxGlyphID: nextID + 1\n };\n }\n };\n return CmapEntry;\n})();\n\nvar CmapTable = (function(_super) {\n __extends(CmapTable, _super);\n\n function CmapTable() {\n return CmapTable.__super__.constructor.apply(this, arguments);\n }\n CmapTable.prototype.tag = \"cmap\";\n CmapTable.prototype.parse = function(data) {\n var entry, i, tableCount;\n data.pos = this.offset;\n this.version = data.readUInt16();\n tableCount = data.readUInt16();\n this.tables = [];\n this.unicode = null;\n for (\n i = 0;\n 0 <= tableCount ? i < tableCount : i > tableCount;\n i = 0 <= tableCount ? ++i : --i\n ) {\n entry = new CmapEntry(data, this.offset);\n this.tables.push(entry);\n if (entry.isUnicode) {\n if (this.unicode == null) {\n this.unicode = entry;\n }\n }\n }\n return true;\n };\n /*************************************************************************/\n /* function : encode */\n /* comment : Encode the cmap table corresponding to the input character. */\n /*************************************************************************/\n CmapTable.encode = function(charmap, encoding) {\n var result, table;\n if (encoding == null) {\n encoding = \"macroman\";\n }\n result = CmapEntry.encode(charmap, encoding);\n table = new Data();\n table.writeUInt16(0);\n table.writeUInt16(1);\n result.table = table.data.concat(result.subtable);\n return result;\n };\n return CmapTable;\n})(Table);\n\nvar HheaTable = (function(_super) {\n __extends(HheaTable, _super);\n\n function HheaTable() {\n return HheaTable.__super__.constructor.apply(this, arguments);\n }\n HheaTable.prototype.tag = \"hhea\";\n HheaTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.ascender = data.readShort();\n this.decender = data.readShort();\n this.lineGap = data.readShort();\n this.advanceWidthMax = data.readShort();\n this.minLeftSideBearing = data.readShort();\n this.minRightSideBearing = data.readShort();\n this.xMaxExtent = data.readShort();\n this.caretSlopeRise = data.readShort();\n this.caretSlopeRun = data.readShort();\n this.caretOffset = data.readShort();\n data.pos += 4 * 2;\n this.metricDataFormat = data.readShort();\n return (this.numberOfMetrics = data.readUInt16());\n };\n /*HheaTable.prototype.encode = function (ids) {\n var i, table, _i, _ref;\n table = new Data;\n table.writeInt(this.version);\n table.writeShort(this.ascender);\n table.writeShort(this.decender);\n table.writeShort(this.lineGap);\n table.writeShort(this.advanceWidthMax);\n table.writeShort(this.minLeftSideBearing);\n table.writeShort(this.minRightSideBearing);\n table.writeShort(this.xMaxExtent);\n table.writeShort(this.caretSlopeRise);\n table.writeShort(this.caretSlopeRun);\n table.writeShort(this.caretOffset);\n for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n table.writeByte(0);\n }\n table.writeShort(this.metricDataFormat);\n table.writeUInt16(ids.length);\n return table.data;\n };*/\n return HheaTable;\n})(Table);\n\nvar OS2Table = (function(_super) {\n __extends(OS2Table, _super);\n\n function OS2Table() {\n return OS2Table.__super__.constructor.apply(this, arguments);\n }\n OS2Table.prototype.tag = \"OS/2\";\n OS2Table.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readUInt16();\n this.averageCharWidth = data.readShort();\n this.weightClass = data.readUInt16();\n this.widthClass = data.readUInt16();\n this.type = data.readShort();\n this.ySubscriptXSize = data.readShort();\n this.ySubscriptYSize = data.readShort();\n this.ySubscriptXOffset = data.readShort();\n this.ySubscriptYOffset = data.readShort();\n this.ySuperscriptXSize = data.readShort();\n this.ySuperscriptYSize = data.readShort();\n this.ySuperscriptXOffset = data.readShort();\n this.ySuperscriptYOffset = data.readShort();\n this.yStrikeoutSize = data.readShort();\n this.yStrikeoutPosition = data.readShort();\n this.familyClass = data.readShort();\n this.panose = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 10; ++i) {\n _results.push(data.readByte());\n }\n return _results;\n })();\n this.charRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 4; ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n this.vendorID = data.readString(4);\n this.selection = data.readShort();\n this.firstCharIndex = data.readShort();\n this.lastCharIndex = data.readShort();\n if (this.version > 0) {\n this.ascent = data.readShort();\n this.descent = data.readShort();\n this.lineGap = data.readShort();\n this.winAscent = data.readShort();\n this.winDescent = data.readShort();\n this.codePageRange = (function() {\n var i, _results;\n _results = [];\n for (i = 0; i < 2; i = ++i) {\n _results.push(data.readInt());\n }\n return _results;\n })();\n if (this.version > 1) {\n this.xHeight = data.readShort();\n this.capHeight = data.readShort();\n this.defaultChar = data.readShort();\n this.breakChar = data.readShort();\n return (this.maxContext = data.readShort());\n }\n }\n };\n /*OS2Table.prototype.encode = function () {\n return this.raw();\n };*/\n return OS2Table;\n})(Table);\n\nvar PostTable = (function(_super) {\n var POSTSCRIPT_GLYPHS;\n __extends(PostTable, _super);\n\n function PostTable() {\n return PostTable.__super__.constructor.apply(this, arguments);\n }\n PostTable.prototype.tag = \"post\";\n PostTable.prototype.parse = function(data) {\n var length, numberOfGlyphs, _results;\n data.pos = this.offset;\n this.format = data.readInt();\n this.italicAngle = data.readInt();\n this.underlinePosition = data.readShort();\n this.underlineThickness = data.readShort();\n this.isFixedPitch = data.readInt();\n this.minMemType42 = data.readInt();\n this.maxMemType42 = data.readInt();\n this.minMemType1 = data.readInt();\n this.maxMemType1 = data.readInt();\n switch (this.format) {\n case 0x00010000:\n break;\n case 0x00020000:\n numberOfGlyphs = data.readUInt16();\n this.glyphNameIndex = [];\n var i;\n for (\n i = 0;\n 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs;\n i = 0 <= numberOfGlyphs ? ++i : --i\n ) {\n this.glyphNameIndex.push(data.readUInt16());\n }\n this.names = [];\n _results = [];\n while (data.pos < this.offset + this.length) {\n length = data.readByte();\n _results.push(this.names.push(data.readString(length)));\n }\n return _results;\n case 0x00025000:\n numberOfGlyphs = data.readUInt16();\n return (this.offsets = data.read(numberOfGlyphs));\n case 0x00030000:\n break;\n case 0x00040000:\n return (this.map = function() {\n var _j, _ref, _results1;\n _results1 = [];\n for (\n i = _j = 0, _ref = this.file.maxp.numGlyphs;\n 0 <= _ref ? _j < _ref : _j > _ref;\n i = 0 <= _ref ? ++_j : --_j\n ) {\n _results1.push(data.readUInt32());\n }\n return _results1;\n }.call(this));\n }\n };\n /*PostTable.prototype.glyphFor = function (code) {\n var index;\n switch (this.format) {\n case 0x00010000:\n return POSTSCRIPT_GLYPHS[code] || '.notdef';\n case 0x00020000:\n index = this.glyphNameIndex[code];\n if (index <= 257) {\n return POSTSCRIPT_GLYPHS[index];\n }\n else {\n return this.names[index - 258] || '.notdef';\n }\n break;\n case 0x00025000:\n return POSTSCRIPT_GLYPHS[code + this.offsets[code]] || '.notdef';\n case 0x00030000:\n return '.notdef';\n case 0x00040000:\n return this.map[code] || 0xFFFF;\n }\n };*/\n /*PostTable.prototype.encode = function (mapping) {\n var id, index, indexes, position, post, raw, string, strings, table, _i, _j, _k, _len, _len1, _len2;\n if (!this.exists) {\n return null;\n }\n raw = this.raw();\n if (this.format === 0x00030000) {\n return raw;\n }\n table = new Data(raw.slice(0, 32));\n table.writeUInt32(0x00020000);\n table.pos = 32;\n indexes = [];\n strings = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n post = this.glyphFor(id);\n position = POSTSCRIPT_GLYPHS.indexOf(post);\n if (position !== -1) {\n indexes.push(position);\n }\n else {\n indexes.push(257 + strings.length);\n strings.push(post);\n }\n }\n table.writeUInt16(Object.keys(mapping).length);\n for (_j = 0, _len1 = indexes.length; _j < _len1; _j++) {\n index = indexes[_j];\n table.writeUInt16(index);\n }\n for (_k = 0, _len2 = strings.length; _k < _len2; _k++) {\n string = strings[_k];\n table.writeByte(string.length);\n table.writeString(string);\n }\n return table.data;\n };*/\n POSTSCRIPT_GLYPHS = \".notdef .null nonmarkingreturn space exclam quotedbl numbersign dollar percent\\nampersand quotesingle parenleft parenright asterisk plus comma hyphen period slash\\nzero one two three four five six seven eight nine colon semicolon less equal greater\\nquestion at A B C D E F G H I J K L M N O P Q R S T U V W X Y Z\\nbracketleft backslash bracketright asciicircum underscore grave\\na b c d e f g h i j k l m n o p q r s t u v w x y z\\nbraceleft bar braceright asciitilde Adieresis Aring Ccedilla Eacute Ntilde Odieresis\\nUdieresis aacute agrave acircumflex adieresis atilde aring ccedilla eacute egrave\\necircumflex edieresis iacute igrave icircumflex idieresis ntilde oacute ograve\\nocircumflex odieresis otilde uacute ugrave ucircumflex udieresis dagger degree cent\\nsterling section bullet paragraph germandbls registered copyright trademark acute\\ndieresis notequal AE Oslash infinity plusminus lessequal greaterequal yen mu\\npartialdiff summation product pi integral ordfeminine ordmasculine Omega ae oslash\\nquestiondown exclamdown logicalnot radical florin approxequal Delta guillemotleft\\nguillemotright ellipsis nonbreakingspace Agrave Atilde Otilde OE oe endash emdash\\nquotedblleft quotedblright quoteleft quoteright divide lozenge ydieresis Ydieresis\\nfraction currency guilsinglleft guilsinglright fi fl daggerdbl periodcentered\\nquotesinglbase quotedblbase perthousand Acircumflex Ecircumflex Aacute Edieresis\\nEgrave Iacute Icircumflex Idieresis Igrave Oacute Ocircumflex apple Ograve Uacute\\nUcircumflex Ugrave dotlessi circumflex tilde macron breve dotaccent ring cedilla\\nhungarumlaut ogonek caron Lslash lslash Scaron scaron Zcaron zcaron brokenbar Eth\\neth Yacute yacute Thorn thorn minus multiply onesuperior twosuperior threesuperior\\nonehalf onequarter threequarters franc Gbreve gbreve Idotaccent Scedilla scedilla\\nCacute cacute Ccaron ccaron dcroat\".split(\n /\\s+/g\n );\n return PostTable;\n})(Table);\n\n/*********************************************************************************************************/\n/* function : NameEntry */\n/* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/\n/*********************************************************************************************************/\nvar NameEntry = (function() {\n function NameEntry(raw, entry) {\n this.raw = raw;\n this.length = raw.length;\n this.platformID = entry.platformID;\n this.encodingID = entry.encodingID;\n this.languageID = entry.languageID;\n }\n return NameEntry;\n})();\n\nvar NameTable = (function(_super) {\n var subsetTag;\n __extends(NameTable, _super);\n\n function NameTable() {\n return NameTable.__super__.constructor.apply(this, arguments);\n }\n NameTable.prototype.tag = \"name\";\n NameTable.prototype.parse = function(data) {\n var count,\n entries,\n entry,\n i,\n name,\n stringOffset,\n strings,\n text,\n _j,\n _len,\n _name;\n data.pos = this.offset;\n data.readShort(); //format\n count = data.readShort();\n stringOffset = data.readShort();\n entries = [];\n for (\n i = 0;\n 0 <= count ? i < count : i > count;\n i = 0 <= count ? ++i : --i\n ) {\n entries.push({\n platformID: data.readShort(),\n encodingID: data.readShort(),\n languageID: data.readShort(),\n nameID: data.readShort(),\n length: data.readShort(),\n offset: this.offset + stringOffset + data.readShort()\n });\n }\n strings = {};\n for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) {\n entry = entries[i];\n data.pos = entry.offset;\n text = data.readString(entry.length);\n name = new NameEntry(text, entry);\n if (strings[(_name = entry.nameID)] == null) {\n strings[_name] = [];\n }\n strings[entry.nameID].push(name);\n }\n this.strings = strings;\n this.copyright = strings[0];\n this.fontFamily = strings[1];\n this.fontSubfamily = strings[2];\n this.uniqueSubfamily = strings[3];\n this.fontName = strings[4];\n this.version = strings[5];\n try {\n this.postscriptName = strings[6][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n } catch (e) {\n this.postscriptName = strings[4][0].raw.replace(\n /[\\x00-\\x19\\x80-\\xff]/g,\n \"\"\n );\n }\n this.trademark = strings[7];\n this.manufacturer = strings[8];\n this.designer = strings[9];\n this.description = strings[10];\n this.vendorUrl = strings[11];\n this.designerUrl = strings[12];\n this.license = strings[13];\n this.licenseUrl = strings[14];\n this.preferredFamily = strings[15];\n this.preferredSubfamily = strings[17];\n this.compatibleFull = strings[18];\n return (this.sampleText = strings[19]);\n };\n subsetTag = \"AAAAAA\";\n /*NameTable.prototype.encode = function () {\n var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref;\n strings = {};\n _ref = this.strings;\n for (id in _ref) {\n val = _ref[id];\n strings[id] = val;\n }\n postscriptName = new NameEntry(\"\" + subsetTag + \"+\" + this.postscriptName, {\n platformID: 1\n , encodingID: 0\n , languageID: 0\n });\n strings[6] = [postscriptName];\n subsetTag = successorOf(subsetTag);\n strCount = 0;\n for (id in strings) {\n list = strings[id];\n if (list != null) {\n strCount += list.length;\n }\n }\n table = new Data;\n strTable = new Data;\n table.writeShort(0);\n table.writeShort(strCount);\n table.writeShort(6 + 12 * strCount);\n for (nameID in strings) {\n list = strings[nameID];\n if (list != null) {\n for (_i = 0, _len = list.length; _i < _len; _i++) {\n string = list[_i];\n table.writeShort(string.platformID);\n table.writeShort(string.encodingID);\n table.writeShort(string.languageID);\n table.writeShort(nameID);\n table.writeShort(string.length);\n table.writeShort(strTable.pos);\n strTable.writeString(string.raw);\n }\n }\n }\n return nameTable = {\n postscriptName: postscriptName.raw\n , table: table.data.concat(strTable.data)\n };\n };*/\n return NameTable;\n})(Table);\n\nvar MaxpTable = (function(_super) {\n __extends(MaxpTable, _super);\n\n function MaxpTable() {\n return MaxpTable.__super__.constructor.apply(this, arguments);\n }\n MaxpTable.prototype.tag = \"maxp\";\n MaxpTable.prototype.parse = function(data) {\n data.pos = this.offset;\n this.version = data.readInt();\n this.numGlyphs = data.readUInt16();\n this.maxPoints = data.readUInt16();\n this.maxContours = data.readUInt16();\n this.maxCompositePoints = data.readUInt16();\n this.maxComponentContours = data.readUInt16();\n this.maxZones = data.readUInt16();\n this.maxTwilightPoints = data.readUInt16();\n this.maxStorage = data.readUInt16();\n this.maxFunctionDefs = data.readUInt16();\n this.maxInstructionDefs = data.readUInt16();\n this.maxStackElements = data.readUInt16();\n this.maxSizeOfInstructions = data.readUInt16();\n this.maxComponentElements = data.readUInt16();\n return (this.maxComponentDepth = data.readUInt16());\n };\n /*MaxpTable.prototype.encode = function (ids) {\n var table;\n table = new Data;\n table.writeInt(this.version);\n table.writeUInt16(ids.length);\n table.writeUInt16(this.maxPoints);\n table.writeUInt16(this.maxContours);\n table.writeUInt16(this.maxCompositePoints);\n table.writeUInt16(this.maxComponentContours);\n table.writeUInt16(this.maxZones);\n table.writeUInt16(this.maxTwilightPoints);\n table.writeUInt16(this.maxStorage);\n table.writeUInt16(this.maxFunctionDefs);\n table.writeUInt16(this.maxInstructionDefs);\n table.writeUInt16(this.maxStackElements);\n table.writeUInt16(this.maxSizeOfInstructions);\n table.writeUInt16(this.maxComponentElements);\n table.writeUInt16(this.maxComponentDepth);\n return table.data;\n };*/\n return MaxpTable;\n})(Table);\n\nvar HmtxTable = (function(_super) {\n __extends(HmtxTable, _super);\n\n function HmtxTable() {\n return HmtxTable.__super__.constructor.apply(this, arguments);\n }\n HmtxTable.prototype.tag = \"hmtx\";\n HmtxTable.prototype.parse = function(data) {\n var i, last, lsbCount, m, _j, _ref, _results;\n data.pos = this.offset;\n this.metrics = [];\n for (\n i = 0, _ref = this.file.hhea.numberOfMetrics;\n 0 <= _ref ? i < _ref : i > _ref;\n i = 0 <= _ref ? ++i : --i\n ) {\n this.metrics.push({\n advance: data.readUInt16(),\n lsb: data.readInt16()\n });\n }\n lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics;\n this.leftSideBearings = (function() {\n var _j, _results;\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(data.readInt16());\n }\n return _results;\n })();\n this.widths = function() {\n var _j, _len, _ref1, _results;\n _ref1 = this.metrics;\n _results = [];\n for (_j = 0, _len = _ref1.length; _j < _len; _j++) {\n m = _ref1[_j];\n _results.push(m.advance);\n }\n return _results;\n }.call(this);\n last = this.widths[this.widths.length - 1];\n _results = [];\n for (\n i = _j = 0;\n 0 <= lsbCount ? _j < lsbCount : _j > lsbCount;\n i = 0 <= lsbCount ? ++_j : --_j\n ) {\n _results.push(this.widths.push(last));\n }\n return _results;\n };\n /***************************************************************/\n /* function : forGlyph */\n /* comment : Returns the advance width and lsb for this glyph. */\n /***************************************************************/\n HmtxTable.prototype.forGlyph = function(id) {\n if (id in this.metrics) {\n return this.metrics[id];\n }\n return {\n advance: this.metrics[this.metrics.length - 1].advance,\n lsb: this.leftSideBearings[id - this.metrics.length]\n };\n };\n /*HmtxTable.prototype.encode = function (mapping) {\n var id, metric, table, _i, _len;\n table = new Data;\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n metric = this.forGlyph(id);\n table.writeUInt16(metric.advance);\n table.writeUInt16(metric.lsb);\n }\n return table.data;\n };*/\n return HmtxTable;\n})(Table);\n\nvar __slice = [].slice;\n\nvar GlyfTable = (function(_super) {\n __extends(GlyfTable, _super);\n\n function GlyfTable() {\n return GlyfTable.__super__.constructor.apply(this, arguments);\n }\n GlyfTable.prototype.tag = \"glyf\";\n GlyfTable.prototype.parse = function() {\n return (this.cache = {});\n };\n GlyfTable.prototype.glyphFor = function(id) {\n var data,\n index,\n length,\n loca,\n numberOfContours,\n raw,\n xMax,\n xMin,\n yMax,\n yMin;\n if (id in this.cache) {\n return this.cache[id];\n }\n loca = this.file.loca;\n data = this.file.contents;\n index = loca.indexOf(id);\n length = loca.lengthOf(id);\n if (length === 0) {\n return (this.cache[id] = null);\n }\n data.pos = this.offset + index;\n raw = new Data(data.read(length));\n numberOfContours = raw.readShort();\n xMin = raw.readShort();\n yMin = raw.readShort();\n xMax = raw.readShort();\n yMax = raw.readShort();\n if (numberOfContours === -1) {\n this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax);\n } else {\n this.cache[id] = new SimpleGlyph(\n raw,\n numberOfContours,\n xMin,\n yMin,\n xMax,\n yMax\n );\n }\n return this.cache[id];\n };\n GlyfTable.prototype.encode = function(glyphs, mapping, old2new) {\n var glyph, id, offsets, table, _i, _len;\n table = [];\n offsets = [];\n for (_i = 0, _len = mapping.length; _i < _len; _i++) {\n id = mapping[_i];\n glyph = glyphs[id];\n offsets.push(table.length);\n if (glyph) {\n table = table.concat(glyph.encode(old2new));\n }\n }\n offsets.push(table.length);\n return {\n table: table,\n offsets: offsets\n };\n };\n return GlyfTable;\n})(Table);\n\nvar SimpleGlyph = (function() {\n /**************************************************************************/\n /* function : SimpleGlyph */\n /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/\n /**************************************************************************/\n function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) {\n this.raw = raw;\n this.numberOfContours = numberOfContours;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = false;\n }\n SimpleGlyph.prototype.encode = function() {\n return this.raw.data;\n };\n return SimpleGlyph;\n})();\n\nvar CompoundGlyph = (function() {\n var ARG_1_AND_2_ARE_WORDS,\n MORE_COMPONENTS,\n WE_HAVE_AN_X_AND_Y_SCALE,\n WE_HAVE_A_SCALE,\n WE_HAVE_A_TWO_BY_TWO,\n WE_HAVE_INSTRUCTIONS;\n ARG_1_AND_2_ARE_WORDS = 0x0001;\n WE_HAVE_A_SCALE = 0x0008;\n MORE_COMPONENTS = 0x0020;\n WE_HAVE_AN_X_AND_Y_SCALE = 0x0040;\n WE_HAVE_A_TWO_BY_TWO = 0x0080;\n WE_HAVE_INSTRUCTIONS = 0x0100;\n\n /********************************************************************************************************************/\n /* function : CompoundGlypg generator */\n /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/\n /********************************************************************************************************************/\n function CompoundGlyph(raw, xMin, yMin, xMax, yMax) {\n var data, flags;\n this.raw = raw;\n this.xMin = xMin;\n this.yMin = yMin;\n this.xMax = xMax;\n this.yMax = yMax;\n this.compound = true;\n this.glyphIDs = [];\n this.glyphOffsets = [];\n data = this.raw;\n while (true) {\n flags = data.readShort();\n this.glyphOffsets.push(data.pos);\n this.glyphIDs.push(data.readUInt16());\n if (!(flags & MORE_COMPONENTS)) {\n break;\n }\n if (flags & ARG_1_AND_2_ARE_WORDS) {\n data.pos += 4;\n } else {\n data.pos += 2;\n }\n if (flags & WE_HAVE_A_TWO_BY_TWO) {\n data.pos += 8;\n } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) {\n data.pos += 4;\n } else if (flags & WE_HAVE_A_SCALE) {\n data.pos += 2;\n }\n }\n }\n /****************************************************************************************************************/\n /* function : CompoundGlypg encode */\n /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/\n /****************************************************************************************************************/\n CompoundGlyph.prototype.encode = function() {\n var i, result, _len, _ref;\n result = new Data(__slice.call(this.raw.data));\n _ref = this.glyphIDs;\n for (i = 0, _len = _ref.length; i < _len; ++i) {\n result.pos = this.glyphOffsets[i];\n }\n return result.data;\n };\n return CompoundGlyph;\n})();\n\nvar LocaTable = (function(_super) {\n __extends(LocaTable, _super);\n\n function LocaTable() {\n return LocaTable.__super__.constructor.apply(this, arguments);\n }\n LocaTable.prototype.tag = \"loca\";\n LocaTable.prototype.parse = function(data) {\n var format, i;\n data.pos = this.offset;\n format = this.file.head.indexToLocFormat;\n if (format === 0) {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 2) {\n _results.push(data.readUInt16() * 2);\n }\n return _results;\n }.call(this));\n } else {\n return (this.offsets = function() {\n var _ref, _results;\n _results = [];\n for (i = 0, _ref = this.length; i < _ref; i += 4) {\n _results.push(data.readUInt32());\n }\n return _results;\n }.call(this));\n }\n };\n LocaTable.prototype.indexOf = function(id) {\n return this.offsets[id];\n };\n LocaTable.prototype.lengthOf = function(id) {\n return this.offsets[id + 1] - this.offsets[id];\n };\n LocaTable.prototype.encode = function(offsets, activeGlyphs) {\n var LocaTable = new Uint32Array(this.offsets.length);\n var glyfPtr = 0;\n var listGlyf = 0;\n for (var k = 0; k < LocaTable.length; ++k) {\n LocaTable[k] = glyfPtr;\n if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) {\n ++listGlyf;\n LocaTable[k] = glyfPtr;\n var start = this.offsets[k];\n var len = this.offsets[k + 1] - start;\n if (len > 0) {\n glyfPtr += len;\n }\n }\n }\n var newLocaTable = new Array(LocaTable.length * 4);\n for (var j = 0; j < LocaTable.length; ++j) {\n newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff;\n newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8;\n newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16;\n newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24;\n }\n return newLocaTable;\n };\n return LocaTable;\n})(Table);\n\n/************************************************************************************/\n/* function : invert */\n/* comment : Change the object's (key: value) to create an object with (value: key).*/\n/************************************************************************************/\nvar invert = function(object) {\n var key, ret, val;\n ret = {};\n for (key in object) {\n val = object[key];\n ret[val] = key;\n }\n return ret;\n};\n\n/*var successorOf = function (input) {\n var added, alphabet, carry, i, index, isUpperCase, last, length, next, result;\n alphabet = 'abcdefghijklmnopqrstuvwxyz';\n length = alphabet.length;\n result = input;\n i = input.length;\n while (i >= 0) {\n last = input.charAt(--i);\n if (isNaN(last)) {\n index = alphabet.indexOf(last.toLowerCase());\n if (index === -1) {\n next = last;\n carry = true;\n }\n else {\n next = alphabet.charAt((index + 1) % length);\n isUpperCase = last === last.toUpperCase();\n if (isUpperCase) {\n next = next.toUpperCase();\n }\n carry = index + 1 >= length;\n if (carry && i === 0) {\n added = isUpperCase ? 'A' : 'a';\n result = added + next + result.slice(1);\n break;\n }\n }\n }\n else {\n next = +last + 1;\n carry = next > 9;\n if (carry) {\n next = 0;\n }\n if (carry && i === 0) {\n result = '1' + next + result.slice(1);\n break;\n }\n }\n result = result.slice(0, i) + next + result.slice(i + 1);\n if (!carry) {\n break;\n }\n }\n return result;\n };*/\n\nvar Subset = (function() {\n function Subset(font) {\n this.font = font;\n this.subset = {};\n this.unicodes = {};\n this.next = 33;\n }\n /*Subset.prototype.use = function (character) {\n var i, _i, _ref;\n if (typeof character === 'string') {\n for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n this.use(character.charCodeAt(i));\n }\n return;\n }\n if (!this.unicodes[character]) {\n this.subset[this.next] = character;\n return this.unicodes[character] = this.next++;\n }\n };*/\n /*Subset.prototype.encodeText = function (text) {\n var char, i, string, _i, _ref;\n string = '';\n for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) {\n char = this.unicodes[text.charCodeAt(i)];\n string += String.fromCharCode(char);\n }\n return string;\n };*/\n /***************************************************************/\n /* function : generateCmap */\n /* comment : Returns the unicode cmap for this font. */\n /***************************************************************/\n Subset.prototype.generateCmap = function() {\n var mapping, roman, unicode, unicodeCmap, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n mapping = {};\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n mapping[roman] = unicodeCmap[unicode];\n }\n return mapping;\n };\n /*Subset.prototype.glyphIDs = function () {\n var ret, roman, unicode, unicodeCmap, val, _ref;\n unicodeCmap = this.font.cmap.tables[0].codeMap;\n ret = [0];\n _ref = this.subset;\n for (roman in _ref) {\n unicode = _ref[roman];\n val = unicodeCmap[unicode];\n if ((val != null) && __indexOf.call(ret, val) < 0) {\n ret.push(val);\n }\n }\n return ret.sort();\n };*/\n /******************************************************************/\n /* function : glyphsFor */\n /* comment : Returns simple glyph objects for the input character.*/\n /******************************************************************/\n Subset.prototype.glyphsFor = function(glyphIDs) {\n var additionalIDs, glyph, glyphs, id, _i, _len, _ref;\n glyphs = {};\n for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) {\n id = glyphIDs[_i];\n glyphs[id] = this.font.glyf.glyphFor(id);\n }\n additionalIDs = [];\n for (id in glyphs) {\n glyph = glyphs[id];\n if (glyph != null ? glyph.compound : void 0) {\n additionalIDs.push.apply(additionalIDs, glyph.glyphIDs);\n }\n }\n if (additionalIDs.length > 0) {\n _ref = this.glyphsFor(additionalIDs);\n for (id in _ref) {\n glyph = _ref[id];\n glyphs[id] = glyph;\n }\n }\n return glyphs;\n };\n /***************************************************************/\n /* function : encode */\n /* comment : Encode various tables for the characters you use. */\n /***************************************************************/\n Subset.prototype.encode = function(glyID, indexToLocFormat) {\n var cmap,\n code,\n glyf,\n glyphs,\n id,\n ids,\n loca,\n new2old,\n newIDs,\n nextGlyphID,\n old2new,\n oldID,\n oldIDs,\n tables,\n _ref;\n cmap = CmapTable.encode(this.generateCmap(), \"unicode\");\n glyphs = this.glyphsFor(glyID);\n old2new = {\n 0: 0\n };\n _ref = cmap.charMap;\n for (code in _ref) {\n ids = _ref[code];\n old2new[ids.old] = ids[\"new\"];\n }\n nextGlyphID = cmap.maxGlyphID;\n for (oldID in glyphs) {\n if (!(oldID in old2new)) {\n old2new[oldID] = nextGlyphID++;\n }\n }\n new2old = invert(old2new);\n newIDs = Object.keys(new2old).sort(function(a, b) {\n return a - b;\n });\n oldIDs = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = newIDs.length; _i < _len; _i++) {\n id = newIDs[_i];\n _results.push(new2old[id]);\n }\n return _results;\n })();\n glyf = this.font.glyf.encode(glyphs, oldIDs, old2new);\n loca = this.font.loca.encode(glyf.offsets, oldIDs);\n tables = {\n cmap: this.font.cmap.raw(),\n glyf: glyf.table,\n loca: loca,\n hmtx: this.font.hmtx.raw(),\n hhea: this.font.hhea.raw(),\n maxp: this.font.maxp.raw(),\n post: this.font.post.raw(),\n name: this.font.name.raw(),\n head: this.font.head.encode(indexToLocFormat)\n };\n if (this.font.os2.exists) {\n tables[\"OS/2\"] = this.font.os2.raw();\n }\n return this.font.directory.encode(tables);\n };\n return Subset;\n})();\n\njsPDF.API.PDFObject = (function() {\n var pad;\n\n function PDFObject() {}\n pad = function(str, length) {\n return (Array(length + 1).join(\"0\") + str).slice(-length);\n };\n /*****************************************************************************/\n /* function : convert */\n /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */\n /*****************************************************************************/\n PDFObject.convert = function(object) {\n var e, items, key, out, val;\n if (Array.isArray(object)) {\n items = (function() {\n var _i, _len, _results;\n _results = [];\n for (_i = 0, _len = object.length; _i < _len; _i++) {\n e = object[_i];\n _results.push(PDFObject.convert(e));\n }\n return _results;\n })().join(\" \");\n return \"[\" + items + \"]\";\n } else if (typeof object === \"string\") {\n return \"/\" + object;\n } else if (object != null ? object.isString : void 0) {\n return \"(\" + object + \")\";\n } else if (object instanceof Date) {\n return (\n \"(D:\" +\n pad(object.getUTCFullYear(), 4) +\n pad(object.getUTCMonth(), 2) +\n pad(object.getUTCDate(), 2) +\n pad(object.getUTCHours(), 2) +\n pad(object.getUTCMinutes(), 2) +\n pad(object.getUTCSeconds(), 2) +\n \"Z)\"\n );\n } else if ({}.toString.call(object) === \"[object Object]\") {\n out = [\"<<\"];\n for (key in object) {\n val = object[key];\n out.push(\"/\" + key + \" \" + PDFObject.convert(val));\n }\n out.push(\">>\");\n return out.join(\"\\n\");\n } else {\n return \"\" + object;\n }\n };\n return PDFObject;\n})();\n","import Footer from \"../Common/Layouts/Footer\";\r\nimport Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport Flatpickr from \"react-flatpickr\";\r\nimport CountUp from 'react-countup';\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { useState, useEffect,useRef } from \"react\";\r\nimport axios from 'axios';\r\nimport moment from \"moment\";\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Select from 'react-select';\r\nimport * as XLSX from 'xlsx';\r\nimport html2canvas from 'html2canvas';\r\nimport jsPDF from 'jspdf';\r\nexport default function SuperDashboard() {\r\n const date = new Date();\r\n const [meterReading, setMeterReading] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pageNumber, setPageNumber] = useState(1);\r\n const [data, setData] = useState([]);\r\n const [totalRecords, setTotalRecords] = useState(0);\r\n const [totalUsers, setTotalUsers] = useState(0)\r\n const [totalTickets, setTotalTickets] = useState(0)\r\n const [totalDevices, setTotalDevices] = useState(0)\r\n const [totalOrganisations, setTotalOrganisations] = useState(0)\r\n const [fromDate, setFromDate] = useState(new Date(date.getTime() - (7 * 24 * 60 * 60 * 1000)))\r\n const [toDate, setToDate] = useState(new Date())\r\n const [users, setUsers] = useState([])\r\n const [userId, setUserId] = useState('00000000-0000-0000-0000-000000000000');\r\n const [barGraphLabels, setBarGraphLabels] = useState([])\r\n const [barGraphSeries, setBarGraphSeries] = useState([])\r\n const WaterConsumptionHourly = () => {\r\n var options = {\r\n chart: {\r\n id: 'Water-Usage',\r\n toolbar: {\r\n show: false,\r\n offsetX: 0,\r\n offsetY: 0,\r\n tools: {\r\n download: true,\r\n selection: true,\r\n zoom: true,\r\n zoomin: true,\r\n zoomout: true,\r\n pan: true,\r\n reset: true | '',\r\n customIcons: []\r\n },\r\n export: {\r\n csv: {\r\n filename: undefined,\r\n columnDelimiter: ',',\r\n headerCategory: 'Date and Time',\r\n headerValue: 'Usage',\r\n dateFormatter(timestamp) {\r\n return new Date(timestamp).toDateString()\r\n }\r\n },\r\n png: {\r\n filename: \"Water-Usage-Daily\",\r\n }\r\n },\r\n autoSelected: 'zoom'\r\n },\r\n },\r\n xaxis: {\r\n categories: barGraphLabels//[\"8:00 AM\",\"9:00 AM\",\"10:00 AM\",\"11:00 AM\",\"12:00 PM\",\"01:00 PM\",\"02:00 PM\",\"03:00 PM\",\"04:00 PM\"]\r\n }\r\n };\r\n var series = barGraphSeries;\r\n return (\r\n \r\n )\r\n }\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const GetDashboardCount = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.SUPERDASHBOARDCOUNT, { ...headerconfig })\r\n .then((response) => {\r\n setTotalDevices(response.data.devices);\r\n setTotalOrganisations(response.data.organisations);\r\n setTotalUsers(response.data.users);\r\n setTotalTickets(response.data.tickets);\r\n });\r\n };\r\n const GetUsers = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETALLUSERS, { ...headerconfig })\r\n .then((response) => {\r\n if (response.data.statusCode === 200) {\r\n setUsers(response.data.data);\r\n }\r\n });\r\n };\r\n const GetBarGraphData = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETUSERBARGRAPH + \"?DateFrom=\" + moment(fromDate).format('YYYY-MM-DD') + \"&DateTo=\" + moment(toDate).format('YYYY-MM-DD') + \"&UserId=\" + userId.value, { ...headerconfig })\r\n .then((response) => {\r\n setBarGraphLabels(response.data.data.categories);\r\n setBarGraphSeries(response.data.data.seriesList);\r\n });\r\n };\r\n const GetDevicesData = (number) => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETUSERMETERREADING + \"?DateFrom=\" + moment(fromDate).format('YYYY-MM-DD') + \"&DateTo=\" + moment(toDate).format('YYYY-MM-DD') + \"&UserId=\" + userId.value + \"&pageNumber=\" + number + \"&pageSize=\" + pageSize + \"\", { ...headerconfig })\r\n .then((response) => {\r\n if (response.data.statusCode == \"200\") {\r\n setMeterReading(response.data.data);\r\n setPageNumber(response.data.pageNumber);\r\n setPageSize(response.data.pageSize);\r\n setTotalPages(response.data.totalPages);\r\n setData(response.data.data);\r\n setTotalRecords(response.data.totalRecords);\r\n }\r\n else {\r\n setMeterReading([]);\r\n }\r\n });\r\n };\r\n const GetLastPageData = () => {\r\n GetDevicesData(totalPages)\r\n }\r\n const GetFirstPageData = () => {\r\n GetDevicesData(\"1\")\r\n }\r\n const GetPageData = (number) => {\r\n setPageNumber(number);\r\n if (pageNumber !== number)\r\n GetDevicesData(number)\r\n }\r\n const GetReports = () => {\r\n GetBarGraphData();\r\n GetDevicesData(pageNumber);\r\n }\r\n const pageNumbers = [];\r\n for (let i = 1; i <= totalPages; i++) {\r\n pageNumbers.push(i);\r\n }\r\n const renderPageNumbers = pageNumbers.map((number) => {\r\n return (\r\n
  • GetPageData(number)}>\r\n {number}\r\n
  • \r\n );\r\n });\r\n const contentRef = useRef();\r\n const downloadPDF = () => {\r\n const input = contentRef.current;\r\n\r\n html2canvas(input).then((canvas) => {\r\n const imgData = canvas.toDataURL('image/png');\r\n const pdf = new jsPDF();\r\n const imgWidth = 210;\r\n const pageHeight = 297;\r\n const imgHeight = (canvas.height * imgWidth) / canvas.width;\r\n let heightLeft = imgHeight;\r\n let position = 0;\r\n\r\n pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n pdf.addPage();\r\n pdf.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n\r\n pdf.save('meterreading.pdf');\r\n });\r\n };\r\n const exportToExcel = () => {\r\n var fileName = \"MeterReading-\" + moment(fromDate).format('DDMMYYYY') + \"-\" + moment(toDate).format('DDMMYYYY');\r\n // Create a new workbook\r\n const wb = XLSX.utils.book_new();\r\n // Convert the JSON data to a worksheet\r\n const ws = XLSX.utils.json_to_sheet(meterReading);\r\n // Add the worksheet to the workbook\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n // Save the workbook as an Excel file\r\n XLSX.writeFile(wb, `${fileName}.xlsx`);\r\n };\r\n useEffect(() => {\r\n GetDashboardCount();\r\n GetUsers();\r\n }, [])\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

    Hello, {localStorage.getItem(\"name\")}!

    \r\n

    Here's water consumption details .

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Add User\r\n
    \r\n
    \r\n
    \r\n
    {/* end card header */}\r\n
    \r\n {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Organisations

    \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
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Tickets

    \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
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Users

    \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
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Devices

    \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
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n const firstDate = selectedDates[0];\r\n setFromDate(firstDate);\r\n }}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setToDate(selectedDates[0]);\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 {/*end col*/}\r\n
    \r\n \r\n
    \r\n {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Water Consumption - Last Updated {moment(new Date()).format('Do MMM YYYY, h:mm a')}

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Meter Reading
    \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 {meterReading.length > 0 ? meterReading.map((mr, index) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n :\r\n \r\n }\r\n \r\n
    IdDate and TimeMeter ForReading
    {index + 1}{moment(mr.createdDate).format('MMM Do YYYY hh:mm a')}{mr.deviceName}{mr.payLoad_ASCII}
    No Records
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Showing {meterReading.length} of {totalRecords} Results\r\n
    \r\n
    \r\n
      \r\n
    • GetFirstPageData()}>\r\n Previous\r\n
    • \r\n {renderPageNumbers}\r\n
    • GetLastPageData()}>\r\n Next\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}","import Footer from \"../Common/Layouts/Footer\";\r\nimport Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport Flatpickr from \"react-flatpickr\";\r\nimport CountUp from 'react-countup';\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport moment from \"moment\";\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { Link } from \"react-router-dom\";\r\nimport Select from 'react-select';\r\nexport default function CustomerDashboard() {\r\n const [crmdate, setCRMDate] = useState(new Date())\r\n const [barGraphLabels, setBarGraphLabels] = useState([])\r\n const [barGraphBy, setBarGraphBy] = useState(\"DAILY\")\r\n const [barGraphSeries, setBarGraphSeries] = useState([])\r\n const [totalTickets, setTotalTickets] = useState(0)\r\n const [last24hours, setLast24Hours] = useState(0)\r\n const [leak, setLeak] = useState(0)\r\n const [pendingPayment, setPendingPayments] = useState(0)\r\n const [lastUpdated, setLastUpdated] = useState(new Date())\r\n const [weeklyUsage, setWeeklyUsage] = useState(0)\r\n const [monthlyUsage, setMonthlyUsage] = useState(0)\r\n const [deviceIds, setDeviceIds] = useState([])\r\n const [deviceId, setDeviceId] = useState(null)\r\n const [totalDevices, setTotalDevices] = useState(0)\r\n const WaterConsumptionHourly = () => {\r\n var options = {\r\n chart: {\r\n id: 'Water-Usage',\r\n toolbar: {\r\n show: false,\r\n offsetX: 0,\r\n offsetY: 0,\r\n tools: {\r\n download: true,\r\n selection: true,\r\n zoom: true,\r\n zoomin: true,\r\n zoomout: true,\r\n pan: true,\r\n reset: true | '',\r\n customIcons: []\r\n },\r\n export: {\r\n csv: {\r\n filename: undefined,\r\n columnDelimiter: ',',\r\n headerCategory: 'Date and Time',\r\n headerValue: 'Usage',\r\n dateFormatter(timestamp) {\r\n return new Date(timestamp).toDateString()\r\n }\r\n },\r\n png: {\r\n filename: \"Water-Usage-Daily\",\r\n }\r\n },\r\n autoSelected: 'zoom' \r\n },\r\n },\r\n xaxis: {\r\n categories: barGraphLabels//[\"8:00 AM\",\"9:00 AM\",\"10:00 AM\",\"11:00 AM\",\"12:00 PM\",\"01:00 PM\",\"02:00 PM\",\"03:00 PM\",\"04:00 PM\"]\r\n }\r\n };\r\n var series = [{\r\n name: 'water usage',\r\n data: barGraphSeries//[30, 40, 35, 50, 49, 60, 70, 91, 125]\r\n }]\r\n return (\r\n \r\n )\r\n }\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const GetBarGraphData = (data) => {\r\n var date = new Date();\r\n var fromDate = new Date();\r\n var toDate = new Date();\r\n if (data === \"MONTHLY\") {\r\n fromDate = new Date(date.getFullYear(), date.getMonth(), 1);\r\n }\r\n else if (data === \"WEEKLY\") {\r\n fromDate = new Date(date.getFullYear(),date.getMonth(),date.getDate() - 6);\r\n }\r\n if (deviceId !== null) {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETDEVICEDATABYDEVICE + \"?DateFrom=\" + moment(fromDate).format('YYYY-MM-DD') + \"&DateTo=\" + moment(toDate).format('YYYY-MM-DD') + \"&DeviceId=\" + deviceId.value, { ...headerconfig })\r\n .then((response) => {\r\n setBarGraphLabels(response.data.labels);\r\n setBarGraphSeries(response.data.series);\r\n });\r\n }\r\n};\r\n const GetWaterUsageCount = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETWATERUSAGECOUNT + \"?UserId=\" + localStorage.getItem(\"userId\"), { ...headerconfig })\r\n .then((response) => {\r\n //setLast10Minutes(response.data.last10Minutes);\r\n setLast24Hours(response.data.last24hours);\r\n setWeeklyUsage(response.data.weeklyUsage);\r\n setMonthlyUsage(response.data.monthlyUsage);\r\n setLastUpdated(response.data.lastUpdated);\r\n });\r\n };\r\n const GetLeakData = () => {\r\n axios\r\n .post(config.APIACTIVATEURL + config.GETLEAKDATA+ \"?UserId=\" + localStorage.getItem(\"userId\"), { ...headerconfig })\r\n .then((response) => {\r\n setLeak(response.data.data.length);\r\n });\r\n };\r\n const GetDevices = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETUSERACTIVEDEVICE+ \"?UserId=\" + localStorage.getItem(\"userId\"), { ...headerconfig })\r\n .then((response) => {\r\n setDeviceIds(response.data.data);\r\n setTotalDevices(response.data.data.length);\r\n });\r\n };\r\n const handleBarGraph = (data) => {\r\n setBarGraphBy(data);\r\n GetBarGraphData(data);\r\n };\r\n useEffect(() => {\r\n GetDevices();\r\n GetWaterUsageCount();\r\n GetBarGraphData(barGraphBy);\r\n GetLeakData();\r\n }, [])\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

    Hello, {localStorage.getItem(\"name\")}!

    \r\n

    Here's water consumption details .

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Raise Ticket\r\n
    \r\n
    \r\n
    \r\n
    {/* end card header */}\r\n
    \r\n {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Today's Usage

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    litres

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Current Week Usage

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    litres

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Current Month Usage

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    litres

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\r\n
    \r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    No of Leaks

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {leak}

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Water Consumption - Last Updated {moment(lastUpdated).format('Do MMM YYYY, h:mm a')}

    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    {/* end card header */}\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","/*\n\nBased off glamor's StyleSheet, thanks Sunil ❤️\n\nhigh performance StyleSheet for css-in-js systems\n\n- uses multiple style tags behind the scenes for millions of rules\n- uses `insertRule` for appending in production for *much* faster performance\n\n// usage\n\nimport { StyleSheet } from '@emotion/sheet'\n\nlet styleSheet = new StyleSheet({ key: '', container: document.head })\n\nstyleSheet.insert('#box { border: 1px solid red; }')\n- appends a css rule into the stylesheet\n\nstyleSheet.flush()\n- empties the stylesheet of all its contents\n\n*/\n// $FlowFixMe\nfunction sheetForTag(tag) {\n if (tag.sheet) {\n // $FlowFixMe\n return tag.sheet;\n } // this weirdness brought to you by firefox\n\n /* istanbul ignore next */\n\n\n for (var i = 0; i < document.styleSheets.length; i++) {\n if (document.styleSheets[i].ownerNode === tag) {\n // $FlowFixMe\n return document.styleSheets[i];\n }\n }\n}\n\nfunction createStyleElement(options) {\n var tag = document.createElement('style');\n tag.setAttribute('data-emotion', options.key);\n\n if (options.nonce !== undefined) {\n tag.setAttribute('nonce', options.nonce);\n }\n\n tag.appendChild(document.createTextNode(''));\n tag.setAttribute('data-s', '');\n return tag;\n}\n\nvar StyleSheet = /*#__PURE__*/function () {\n // Using Node instead of HTMLElement since container may be a ShadowRoot\n function StyleSheet(options) {\n var _this = this;\n\n this._insertTag = function (tag) {\n var before;\n\n if (_this.tags.length === 0) {\n if (_this.insertionPoint) {\n before = _this.insertionPoint.nextSibling;\n } else if (_this.prepend) {\n before = _this.container.firstChild;\n } else {\n before = _this.before;\n }\n } else {\n before = _this.tags[_this.tags.length - 1].nextSibling;\n }\n\n _this.container.insertBefore(tag, before);\n\n _this.tags.push(tag);\n };\n\n this.isSpeedy = options.speedy === undefined ? process.env.NODE_ENV === 'production' : options.speedy;\n this.tags = [];\n this.ctr = 0;\n this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets\n\n this.key = options.key;\n this.container = options.container;\n this.prepend = options.prepend;\n this.insertionPoint = options.insertionPoint;\n this.before = null;\n }\n\n var _proto = StyleSheet.prototype;\n\n _proto.hydrate = function hydrate(nodes) {\n nodes.forEach(this._insertTag);\n };\n\n _proto.insert = function insert(rule) {\n // the max length is how many rules we have per style tag, it's 65000 in speedy mode\n // it's 1 in dev because we insert source maps that map a single rule to a location\n // and you can only have one source map per style tag\n if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {\n this._insertTag(createStyleElement(this));\n }\n\n var tag = this.tags[this.tags.length - 1];\n\n if (process.env.NODE_ENV !== 'production') {\n var isImportRule = rule.charCodeAt(0) === 64 && rule.charCodeAt(1) === 105;\n\n if (isImportRule && this._alreadyInsertedOrderInsensitiveRule) {\n // this would only cause problem in speedy mode\n // but we don't want enabling speedy to affect the observable behavior\n // so we report this error at all times\n console.error(\"You're attempting to insert the following rule:\\n\" + rule + '\\n\\n`@import` rules must be before all other types of rules in a stylesheet but other rules have already been inserted. Please ensure that `@import` rules are before all other rules.');\n }\n this._alreadyInsertedOrderInsensitiveRule = this._alreadyInsertedOrderInsensitiveRule || !isImportRule;\n }\n\n if (this.isSpeedy) {\n var sheet = sheetForTag(tag);\n\n try {\n // this is the ultrafast version, works across browsers\n // the big drawback is that the css won't be editable in devtools\n sheet.insertRule(rule, sheet.cssRules.length);\n } catch (e) {\n if (process.env.NODE_ENV !== 'production' && !/:(-moz-placeholder|-moz-focus-inner|-moz-focusring|-ms-input-placeholder|-moz-read-write|-moz-read-only|-ms-clear){/.test(rule)) {\n console.error(\"There was a problem inserting the following rule: \\\"\" + rule + \"\\\"\", e);\n }\n }\n } else {\n tag.appendChild(document.createTextNode(rule));\n }\n\n this.ctr++;\n };\n\n _proto.flush = function flush() {\n // $FlowFixMe\n this.tags.forEach(function (tag) {\n return tag.parentNode && tag.parentNode.removeChild(tag);\n });\n this.tags = [];\n this.ctr = 0;\n\n if (process.env.NODE_ENV !== 'production') {\n this._alreadyInsertedOrderInsensitiveRule = false;\n }\n };\n\n return StyleSheet;\n}();\n\nexport { StyleSheet };\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3)\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && characters.charCodeAt(length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import {MS, MOZ, WEBKIT} from './Enum.js'\nimport {hash, charat, strlen, indexof, replace} from './Utility.js'\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {string}\n */\nexport function prefix (value, length) {\n\tswitch (hash(value, length)) {\n\t\t// color-adjust\n\t\tcase 5103:\n\t\t\treturn WEBKIT + 'print-' + value + value\n\t\t// animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)\n\t\tcase 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:\n\t\t// text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break\n\t\tcase 5572: case 6356: case 5844: case 3191: case 6645: case 3005:\n\t\t// mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,\n\t\tcase 6391: case 5879: case 5623: case 6135: case 4599: case 4855:\n\t\t// background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)\n\t\tcase 4215: case 6389: case 5109: case 5365: case 5621: case 3829:\n\t\t\treturn WEBKIT + value + value\n\t\t// appearance, user-select, transform, hyphens, text-size-adjust\n\t\tcase 5349: case 4246: case 4810: case 6968: case 2756:\n\t\t\treturn WEBKIT + value + MOZ + value + MS + value + value\n\t\t// flex, flex-direction\n\t\tcase 6828: case 4268:\n\t\t\treturn WEBKIT + value + MS + value + value\n\t\t// order\n\t\tcase 6165:\n\t\t\treturn WEBKIT + value + MS + 'flex-' + value + value\n\t\t// align-items\n\t\tcase 5187:\n\t\t\treturn WEBKIT + value + replace(value, /(\\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value\n\t\t// align-self\n\t\tcase 5443:\n\t\t\treturn WEBKIT + value + MS + 'flex-item-' + replace(value, /flex-|-self/, '') + value\n\t\t// align-content\n\t\tcase 4675:\n\t\t\treturn WEBKIT + value + MS + 'flex-line-pack' + replace(value, /align-content|flex-|-self/, '') + value\n\t\t// flex-shrink\n\t\tcase 5548:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'shrink', 'negative') + value\n\t\t// flex-basis\n\t\tcase 5292:\n\t\t\treturn WEBKIT + value + MS + replace(value, 'basis', 'preferred-size') + value\n\t\t// flex-grow\n\t\tcase 6060:\n\t\t\treturn WEBKIT + 'box-' + replace(value, '-grow', '') + WEBKIT + value + MS + replace(value, 'grow', 'positive') + value\n\t\t// transition\n\t\tcase 4554:\n\t\t\treturn WEBKIT + replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value\n\t\t// cursor\n\t\tcase 6187:\n\t\t\treturn replace(replace(replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value\n\t\t// background, background-image\n\t\tcase 5495: case 3959:\n\t\t\treturn replace(value, /(image-set\\([^]*)/, WEBKIT + '$1' + '$`$1')\n\t\t// justify-content\n\t\tcase 4968:\n\t\t\treturn replace(replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value\n\t\t// (margin|padding)-inline-(start|end)\n\t\tcase 4095: case 3583: case 4068: case 2532:\n\t\t\treturn replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value\n\t\t// (min|max)?(width|height|inline-size|block-size)\n\t\tcase 8116: case 7059: case 5753: case 5535:\n\t\tcase 5445: case 5701: case 4933: case 4677:\n\t\tcase 5533: case 5789: case 5021: case 4765:\n\t\t\t// stretch, max-content, min-content, fill-available\n\t\t\tif (strlen(value) - 1 - length > 6)\n\t\t\t\tswitch (charat(value, length + 1)) {\n\t\t\t\t\t// (m)ax-content, (m)in-content\n\t\t\t\t\tcase 109:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (charat(value, length + 4) !== 45)\n\t\t\t\t\t\t\tbreak\n\t\t\t\t\t// (f)ill-available, (f)it-content\n\t\t\t\t\tcase 102:\n\t\t\t\t\t\treturn replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value\n\t\t\t\t\t// (s)tretch\n\t\t\t\t\tcase 115:\n\t\t\t\t\t\treturn ~indexof(value, 'stretch') ? prefix(replace(value, 'stretch', 'fill-available'), length) + value : value\n\t\t\t\t}\n\t\t\tbreak\n\t\t// position: sticky\n\t\tcase 4949:\n\t\t\t// (s)ticky?\n\t\t\tif (charat(value, length + 1) !== 115)\n\t\t\t\tbreak\n\t\t// display: (flex|inline-flex)\n\t\tcase 6444:\n\t\t\tswitch (charat(value, strlen(value) - 3 - (~indexof(value, '!important') && 10))) {\n\t\t\t\t// stic(k)y\n\t\t\t\tcase 107:\n\t\t\t\t\treturn replace(value, ':', ':' + WEBKIT) + value\n\t\t\t\t// (inline-)?fl(e)x\n\t\t\t\tcase 101:\n\t\t\t\t\treturn replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value\n\t\t\t}\n\t\t\tbreak\n\t\t// writing-mode\n\t\tcase 5936:\n\t\t\tswitch (charat(value, length + 11)) {\n\t\t\t\t// vertical-l(r)\n\t\t\t\tcase 114:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb') + value\n\t\t\t\t// vertical-r(l)\n\t\t\t\tcase 108:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'tb-rl') + value\n\t\t\t\t// horizontal(-)tb\n\t\t\t\tcase 45:\n\t\t\t\t\treturn WEBKIT + value + MS + replace(value, /[svh]\\w+-[tblr]{2}/, 'lr') + value\n\t\t\t}\n\n\t\t\treturn WEBKIT + value + MS + value + value\n\t}\n\n\treturn value\n}\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import { StyleSheet } from '@emotion/sheet';\nimport { dealloc, alloc, next, token, from, peek, delimit, slice, position, stringify, COMMENT, rulesheet, middleware, prefixer, serialize, compile } from 'stylis';\nimport '@emotion/weak-memoize';\nimport '@emotion/memoize';\n\nvar identifierWithPointTracking = function identifierWithPointTracking(begin, points, index) {\n var previous = 0;\n var character = 0;\n\n while (true) {\n previous = character;\n character = peek(); // &\\f\n\n if (previous === 38 && character === 12) {\n points[index] = 1;\n }\n\n if (token(character)) {\n break;\n }\n\n next();\n }\n\n return slice(begin, position);\n};\n\nvar toRules = function toRules(parsed, points) {\n // pretend we've started with a comma\n var index = -1;\n var character = 44;\n\n do {\n switch (token(character)) {\n case 0:\n // &\\f\n if (character === 38 && peek() === 12) {\n // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings\n // stylis inserts \\f after & to know when & where it should replace this sequence with the context selector\n // and when it should just concatenate the outer and inner selectors\n // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here\n points[index] = 1;\n }\n\n parsed[index] += identifierWithPointTracking(position - 1, points, index);\n break;\n\n case 2:\n parsed[index] += delimit(character);\n break;\n\n case 4:\n // comma\n if (character === 44) {\n // colon\n parsed[++index] = peek() === 58 ? '&\\f' : '';\n points[index] = parsed[index].length;\n break;\n }\n\n // fallthrough\n\n default:\n parsed[index] += from(character);\n }\n } while (character = next());\n\n return parsed;\n};\n\nvar getRules = function getRules(value, points) {\n return dealloc(toRules(alloc(value), points));\n}; // WeakSet would be more appropriate, but only WeakMap is supported in IE11\n\n\nvar fixedElements = /* #__PURE__ */new WeakMap();\nvar compat = function compat(element) {\n if (element.type !== 'rule' || !element.parent || // positive .length indicates that this rule contains pseudo\n // negative .length indicates that this rule has been already prefixed\n element.length < 1) {\n return;\n }\n\n var value = element.value,\n parent = element.parent;\n var isImplicitRule = element.column === parent.column && element.line === parent.line;\n\n while (parent.type !== 'rule') {\n parent = parent.parent;\n if (!parent) return;\n } // short-circuit for the simplest case\n\n\n if (element.props.length === 1 && value.charCodeAt(0) !== 58\n /* colon */\n && !fixedElements.get(parent)) {\n return;\n } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)\n // then the props has already been manipulated beforehand as they that array is shared between it and its \"rule parent\"\n\n\n if (isImplicitRule) {\n return;\n }\n\n fixedElements.set(element, true);\n var points = [];\n var rules = getRules(value, points);\n var parentRules = parent.props;\n\n for (var i = 0, k = 0; i < rules.length; i++) {\n for (var j = 0; j < parentRules.length; j++, k++) {\n element.props[k] = points[i] ? rules[i].replace(/&\\f/g, parentRules[j]) : parentRules[j] + \" \" + rules[i];\n }\n }\n};\nvar removeLabel = function removeLabel(element) {\n if (element.type === 'decl') {\n var value = element.value;\n\n if ( // charcode for l\n value.charCodeAt(0) === 108 && // charcode for b\n value.charCodeAt(2) === 98) {\n // this ignores label\n element[\"return\"] = '';\n element.value = '';\n }\n }\n};\nvar ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';\n\nvar isIgnoringComment = function isIgnoringComment(element) {\n return element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;\n};\n\nvar createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {\n return function (element, index, children) {\n if (element.type !== 'rule' || cache.compat) return;\n var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);\n\n if (unsafePseudoClasses) {\n var isNested = element.parent === children[0]; // in nested rules comments become children of the \"auto-inserted\" rule\n //\n // considering this input:\n // .a {\n // .b /* comm */ {}\n // color: hotpink;\n // }\n // we get output corresponding to this:\n // .a {\n // & {\n // /* comm */\n // color: hotpink;\n // }\n // .b {}\n // }\n\n var commentContainer = isNested ? children[0].children : // global rule at the root level\n children;\n\n for (var i = commentContainer.length - 1; i >= 0; i--) {\n var node = commentContainer[i];\n\n if (node.line < element.line) {\n break;\n } // it is quite weird but comments are *usually* put at `column: element.column - 1`\n // so we seek *from the end* for the node that is earlier than the rule's `element` and check that\n // this will also match inputs like this:\n // .a {\n // /* comm */\n // .b {}\n // }\n //\n // but that is fine\n //\n // it would be the easiest to change the placement of the comment to be the first child of the rule:\n // .a {\n // .b { /* comm */ }\n // }\n // with such inputs we wouldn't have to search for the comment at all\n // TODO: consider changing this comment placement in the next major version\n\n\n if (node.column < element.column) {\n if (isIgnoringComment(node)) {\n return;\n }\n\n break;\n }\n }\n\n unsafePseudoClasses.forEach(function (unsafePseudoClass) {\n console.error(\"The pseudo class \\\"\" + unsafePseudoClass + \"\\\" is potentially unsafe when doing server-side rendering. Try changing it to \\\"\" + unsafePseudoClass.split('-child')[0] + \"-of-type\\\".\");\n });\n }\n };\n};\n\nvar isImportRule = function isImportRule(element) {\n return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;\n};\n\nvar isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {\n for (var i = index - 1; i >= 0; i--) {\n if (!isImportRule(children[i])) {\n return true;\n }\n }\n\n return false;\n}; // use this to remove incorrect elements from further processing\n// so they don't get handed to the `sheet` (or anything else)\n// as that could potentially lead to additional logs which in turn could be overhelming to the user\n\n\nvar nullifyElement = function nullifyElement(element) {\n element.type = '';\n element.value = '';\n element[\"return\"] = '';\n element.children = '';\n element.props = '';\n};\n\nvar incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {\n if (!isImportRule(element)) {\n return;\n }\n\n if (element.parent) {\n console.error(\"`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.\");\n nullifyElement(element);\n } else if (isPrependedWithRegularRules(index, children)) {\n console.error(\"`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.\");\n nullifyElement(element);\n }\n};\n\nvar defaultStylisPlugins = [prefixer];\n\nvar createCache = function createCache(options) {\n var key = options.key;\n\n if (process.env.NODE_ENV !== 'production' && !key) {\n throw new Error(\"You have to configure `key` for your cache. Please make sure it's unique (and not equal to 'css') as it's used for linking styles to your cache.\\n\" + \"If multiple caches share the same key they might \\\"fight\\\" for each other's style elements.\");\n }\n\n if ( key === 'css') {\n var ssrStyles = document.querySelectorAll(\"style[data-emotion]:not([data-s])\"); // get SSRed styles out of the way of React's hydration\n // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)\n // note this very very intentionally targets all style elements regardless of the key to ensure\n // that creating a cache works inside of render of a React component\n\n Array.prototype.forEach.call(ssrStyles, function (node) {\n // we want to only move elements which have a space in the data-emotion attribute value\n // because that indicates that it is an Emotion 11 server-side rendered style elements\n // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector\n // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)\n // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles\n // will not result in the Emotion 10 styles being destroyed\n var dataEmotionAttribute = node.getAttribute('data-emotion');\n\n if (dataEmotionAttribute.indexOf(' ') === -1) {\n return;\n }\n document.head.appendChild(node);\n node.setAttribute('data-s', '');\n });\n }\n\n var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe\n if (/[^a-z-]/.test(key)) {\n throw new Error(\"Emotion key must only contain lower case alphabetical characters and - but \\\"\" + key + \"\\\" was passed\");\n }\n }\n\n var inserted = {};\n var container;\n var nodesToHydrate = [];\n\n {\n container = options.container || document.head;\n Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which\n // means that the style elements we're looking at are only Emotion 11 server-rendered style elements\n document.querySelectorAll(\"style[data-emotion^=\\\"\" + key + \" \\\"]\"), function (node) {\n var attrib = node.getAttribute(\"data-emotion\").split(' '); // $FlowFixMe\n\n for (var i = 1; i < attrib.length; i++) {\n inserted[attrib[i]] = true;\n }\n\n nodesToHydrate.push(node);\n });\n }\n\n var _insert;\n\n var omnipresentPlugins = [compat, removeLabel];\n\n if (process.env.NODE_ENV !== 'production') {\n omnipresentPlugins.push(createUnsafeSelectorsAlarm({\n get compat() {\n return cache.compat;\n }\n\n }), incorrectImportAlarm);\n }\n\n {\n var currentSheet;\n var finalizingPlugins = [stringify, process.env.NODE_ENV !== 'production' ? function (element) {\n if (!element.root) {\n if (element[\"return\"]) {\n currentSheet.insert(element[\"return\"]);\n } else if (element.value && element.type !== COMMENT) {\n // insert empty rule in non-production environments\n // so @emotion/jest can grab `key` from the (JS)DOM for caches without any rules inserted yet\n currentSheet.insert(element.value + \"{}\");\n }\n }\n } : rulesheet(function (rule) {\n currentSheet.insert(rule);\n })];\n var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));\n\n var stylis = function stylis(styles) {\n return serialize(compile(styles), serializer);\n };\n\n _insert = function insert(selector, serialized, sheet, shouldCache) {\n currentSheet = sheet;\n\n if (process.env.NODE_ENV !== 'production' && serialized.map !== undefined) {\n currentSheet = {\n insert: function insert(rule) {\n sheet.insert(rule + serialized.map);\n }\n };\n }\n\n stylis(selector ? selector + \"{\" + serialized.styles + \"}\" : serialized.styles);\n\n if (shouldCache) {\n cache.inserted[serialized.name] = true;\n }\n };\n }\n\n var cache = {\n key: key,\n sheet: new StyleSheet({\n key: key,\n container: container,\n nonce: options.nonce,\n speedy: options.speedy,\n prepend: options.prepend,\n insertionPoint: options.insertionPoint\n }),\n nonce: options.nonce,\n inserted: inserted,\n registered: {},\n insert: _insert\n };\n cache.sheet.hydrate(nodesToHydrate);\n return cache;\n};\n\nexport default createCache;\n","import {MS, MOZ, WEBKIT, RULESET, KEYFRAMES, DECLARATION} from './Enum.js'\nimport {match, charat, substr, strlen, sizeof, replace, combine} from './Utility.js'\nimport {copy, tokenize} from './Tokenizer.js'\nimport {serialize} from './Serializer.js'\nimport {prefix} from './Prefixer.js'\n\n/**\n * @param {function[]} collection\n * @return {function}\n */\nexport function middleware (collection) {\n\tvar length = sizeof(collection)\n\n\treturn function (element, index, children, callback) {\n\t\tvar output = ''\n\n\t\tfor (var i = 0; i < length; i++)\n\t\t\toutput += collection[i](element, index, children, callback) || ''\n\n\t\treturn output\n\t}\n}\n\n/**\n * @param {function} callback\n * @return {function}\n */\nexport function rulesheet (callback) {\n\treturn function (element) {\n\t\tif (!element.root)\n\t\t\tif (element = element.return)\n\t\t\t\tcallback(element)\n\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n */\nexport function prefixer (element, index, children, callback) {\n\tif (element.length > -1)\n\t\tif (!element.return)\n\t\t\tswitch (element.type) {\n\t\t\t\tcase DECLARATION: element.return = prefix(element.value, element.length)\n\t\t\t\t\tbreak\n\t\t\t\tcase KEYFRAMES:\n\t\t\t\t\treturn serialize([copy(element, {value: replace(element.value, '@', '@' + WEBKIT)})], callback)\n\t\t\t\tcase RULESET:\n\t\t\t\t\tif (element.length)\n\t\t\t\t\t\treturn combine(element.props, function (value) {\n\t\t\t\t\t\t\tswitch (match(value, /(::plac\\w+|:read-\\w+)/)) {\n\t\t\t\t\t\t\t\t// :read-(only|write)\n\t\t\t\t\t\t\t\tcase ':read-only': case ':read-write':\n\t\t\t\t\t\t\t\t\treturn serialize([copy(element, {props: [replace(value, /:(read-\\w+)/, ':' + MOZ + '$1')]})], callback)\n\t\t\t\t\t\t\t\t// :placeholder\n\t\t\t\t\t\t\t\tcase '::placeholder':\n\t\t\t\t\t\t\t\t\treturn serialize([\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + WEBKIT + 'input-$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, ':' + MOZ + '$1')]}),\n\t\t\t\t\t\t\t\t\t\tcopy(element, {props: [replace(value, /:(plac\\w+)/, MS + 'input-$1')]})\n\t\t\t\t\t\t\t\t\t], callback)\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\treturn ''\n\t\t\t\t\t\t})\n\t\t\t}\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n */\nexport function namespace (element) {\n\tswitch (element.type) {\n\t\tcase RULESET:\n\t\t\telement.props = element.props.map(function (value) {\n\t\t\t\treturn combine(tokenize(value), function (value, index, children) {\n\t\t\t\t\tswitch (charat(value, 0)) {\n\t\t\t\t\t\t// \\f\n\t\t\t\t\t\tcase 12:\n\t\t\t\t\t\t\treturn substr(value, 1, strlen(value))\n\t\t\t\t\t\t// \\0 ( + > ~\n\t\t\t\t\t\tcase 0: case 40: case 43: case 62: case 126:\n\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t// :\n\t\t\t\t\t\tcase 58:\n\t\t\t\t\t\t\tif (children[++index] === 'global')\n\t\t\t\t\t\t\t\tchildren[index] = '', children[++index] = '\\f' + substr(children[index], index = 1, -1)\n\t\t\t\t\t\t// \\s\n\t\t\t\t\t\tcase 32:\n\t\t\t\t\t\t\treturn index === 1 ? '' : value\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tswitch (index) {\n\t\t\t\t\t\t\t\tcase 0: element = value\n\t\t\t\t\t\t\t\t\treturn sizeof(children) > 1 ? '' : value\n\t\t\t\t\t\t\t\tcase index = sizeof(children) - 1: case 2:\n\t\t\t\t\t\t\t\t\treturn index === 2 ? value + element + element : value + element\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t})\n\t}\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import hashString from '@emotion/hash';\nimport unitless from '@emotion/unitless';\nimport memoize from '@emotion/memoize';\n\nvar ILLEGAL_ESCAPE_SEQUENCE_ERROR = \"You have illegal escape sequence in your template literal, most likely inside content's property value.\\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \\\"content: '\\\\00d7';\\\" should become \\\"content: '\\\\\\\\00d7';\\\".\\nYou can read more about this here:\\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences\";\nvar UNDEFINED_AS_OBJECT_KEY_ERROR = \"You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).\";\nvar hyphenateRegex = /[A-Z]|^ms/g;\nvar animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;\n\nvar isCustomProperty = function isCustomProperty(property) {\n return property.charCodeAt(1) === 45;\n};\n\nvar isProcessableValue = function isProcessableValue(value) {\n return value != null && typeof value !== 'boolean';\n};\n\nvar processStyleName = /* #__PURE__ */memoize(function (styleName) {\n return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();\n});\n\nvar processStyleValue = function processStyleValue(key, value) {\n switch (key) {\n case 'animation':\n case 'animationName':\n {\n if (typeof value === 'string') {\n return value.replace(animationRegex, function (match, p1, p2) {\n cursor = {\n name: p1,\n styles: p2,\n next: cursor\n };\n return p1;\n });\n }\n }\n }\n\n if (unitless[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {\n return value + 'px';\n }\n\n return value;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var contentValuePattern = /(var|attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n var oldProcessStyleValue = processStyleValue;\n var msPattern = /^-ms-/;\n var hyphenPattern = /-(.)/g;\n var hyphenatedCache = {};\n\n processStyleValue = function processStyleValue(key, value) {\n if (key === 'content') {\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n throw new Error(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\" + value + \"\\\"'`\");\n }\n }\n\n var processed = oldProcessStyleValue(key, value);\n\n if (processed !== '' && !isCustomProperty(key) && key.indexOf('-') !== -1 && hyphenatedCache[key] === undefined) {\n hyphenatedCache[key] = true;\n console.error(\"Using kebab-case for css properties in objects is not supported. Did you mean \" + key.replace(msPattern, 'ms-').replace(hyphenPattern, function (str, _char) {\n return _char.toUpperCase();\n }) + \"?\");\n }\n\n return processed;\n };\n}\n\nvar noComponentSelectorMessage = 'Component selectors can only be used in conjunction with ' + '@emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware ' + 'compiler transform.';\n\nfunction handleInterpolation(mergedProps, registered, interpolation) {\n if (interpolation == null) {\n return '';\n }\n\n if (interpolation.__emotion_styles !== undefined) {\n if (process.env.NODE_ENV !== 'production' && interpolation.toString() === 'NO_COMPONENT_SELECTOR') {\n throw new Error(noComponentSelectorMessage);\n }\n\n return interpolation;\n }\n\n switch (typeof interpolation) {\n case 'boolean':\n {\n return '';\n }\n\n case 'object':\n {\n if (interpolation.anim === 1) {\n cursor = {\n name: interpolation.name,\n styles: interpolation.styles,\n next: cursor\n };\n return interpolation.name;\n }\n\n if (interpolation.styles !== undefined) {\n var next = interpolation.next;\n\n if (next !== undefined) {\n // not the most efficient thing ever but this is a pretty rare case\n // and there will be very few iterations of this generally\n while (next !== undefined) {\n cursor = {\n name: next.name,\n styles: next.styles,\n next: cursor\n };\n next = next.next;\n }\n }\n\n var styles = interpolation.styles + \";\";\n\n if (process.env.NODE_ENV !== 'production' && interpolation.map !== undefined) {\n styles += interpolation.map;\n }\n\n return styles;\n }\n\n return createStringFromObject(mergedProps, registered, interpolation);\n }\n\n case 'function':\n {\n if (mergedProps !== undefined) {\n var previousCursor = cursor;\n var result = interpolation(mergedProps);\n cursor = previousCursor;\n return handleInterpolation(mergedProps, registered, result);\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Functions that are interpolated in css calls will be stringified.\\n' + 'If you want to have a css call based on props, create a function that returns a css call like this\\n' + 'let dynamicStyle = (props) => css`color: ${props.color}`\\n' + 'It can be called directly with props or interpolated in a styled call like this\\n' + \"let SomeComponent = styled('div')`${dynamicStyle}`\");\n }\n\n break;\n }\n\n case 'string':\n if (process.env.NODE_ENV !== 'production') {\n var matched = [];\n var replaced = interpolation.replace(animationRegex, function (match, p1, p2) {\n var fakeVarName = \"animation\" + matched.length;\n matched.push(\"const \" + fakeVarName + \" = keyframes`\" + p2.replace(/^@keyframes animation-\\w+/, '') + \"`\");\n return \"${\" + fakeVarName + \"}\";\n });\n\n if (matched.length) {\n console.error('`keyframes` output got interpolated into plain string, please wrap it with `css`.\\n\\n' + 'Instead of doing this:\\n\\n' + [].concat(matched, [\"`\" + replaced + \"`\"]).join('\\n') + '\\n\\nYou should wrap it with `css` like this:\\n\\n' + (\"css`\" + replaced + \"`\"));\n }\n }\n\n break;\n } // finalize string values (regular strings and functions interpolated into css calls)\n\n\n if (registered == null) {\n return interpolation;\n }\n\n var cached = registered[interpolation];\n return cached !== undefined ? cached : interpolation;\n}\n\nfunction createStringFromObject(mergedProps, registered, obj) {\n var string = '';\n\n if (Array.isArray(obj)) {\n for (var i = 0; i < obj.length; i++) {\n string += handleInterpolation(mergedProps, registered, obj[i]) + \";\";\n }\n } else {\n for (var _key in obj) {\n var value = obj[_key];\n\n if (typeof value !== 'object') {\n if (registered != null && registered[value] !== undefined) {\n string += _key + \"{\" + registered[value] + \"}\";\n } else if (isProcessableValue(value)) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value) + \";\";\n }\n } else {\n if (_key === 'NO_COMPONENT_SELECTOR' && process.env.NODE_ENV !== 'production') {\n throw new Error(noComponentSelectorMessage);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {\n for (var _i = 0; _i < value.length; _i++) {\n if (isProcessableValue(value[_i])) {\n string += processStyleName(_key) + \":\" + processStyleValue(_key, value[_i]) + \";\";\n }\n }\n } else {\n var interpolated = handleInterpolation(mergedProps, registered, value);\n\n switch (_key) {\n case 'animation':\n case 'animationName':\n {\n string += processStyleName(_key) + \":\" + interpolated + \";\";\n break;\n }\n\n default:\n {\n if (process.env.NODE_ENV !== 'production' && _key === 'undefined') {\n console.error(UNDEFINED_AS_OBJECT_KEY_ERROR);\n }\n\n string += _key + \"{\" + interpolated + \"}\";\n }\n }\n }\n }\n }\n }\n\n return string;\n}\n\nvar labelPattern = /label:\\s*([^\\s;\\n{]+)\\s*(;|$)/g;\nvar sourceMapPattern;\n\nif (process.env.NODE_ENV !== 'production') {\n sourceMapPattern = /\\/\\*#\\ssourceMappingURL=data:application\\/json;\\S+\\s+\\*\\//g;\n} // this is the cursor for keyframes\n// keyframes are stored on the SerializedStyles object as a linked list\n\n\nvar cursor;\nvar serializeStyles = function serializeStyles(args, registered, mergedProps) {\n if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {\n return args[0];\n }\n\n var stringMode = true;\n var styles = '';\n cursor = undefined;\n var strings = args[0];\n\n if (strings == null || strings.raw === undefined) {\n stringMode = false;\n styles += handleInterpolation(mergedProps, registered, strings);\n } else {\n if (process.env.NODE_ENV !== 'production' && strings[0] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[0];\n } // we start at 1 since we've already handled the first arg\n\n\n for (var i = 1; i < args.length; i++) {\n styles += handleInterpolation(mergedProps, registered, args[i]);\n\n if (stringMode) {\n if (process.env.NODE_ENV !== 'production' && strings[i] === undefined) {\n console.error(ILLEGAL_ESCAPE_SEQUENCE_ERROR);\n }\n\n styles += strings[i];\n }\n }\n\n var sourceMap;\n\n if (process.env.NODE_ENV !== 'production') {\n styles = styles.replace(sourceMapPattern, function (match) {\n sourceMap = match;\n return '';\n });\n } // using a global regex with .exec is stateful so lastIndex has to be reset each time\n\n\n labelPattern.lastIndex = 0;\n var identifierName = '';\n var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5\n\n while ((match = labelPattern.exec(styles)) !== null) {\n identifierName += '-' + // $FlowFixMe we know it's not null\n match[1];\n }\n\n var name = hashString(styles) + identifierName;\n\n if (process.env.NODE_ENV !== 'production') {\n // $FlowFixMe SerializedStyles type doesn't have toString property (and we don't want to add it)\n return {\n name: name,\n styles: styles,\n map: sourceMap,\n next: cursor,\n toString: function toString() {\n return \"You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop).\";\n }\n };\n }\n\n return {\n name: name,\n styles: styles,\n next: cursor\n };\n};\n\nexport { serializeStyles };\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","var isBrowser = \"object\" !== 'undefined';\nfunction getRegisteredStyles(registered, registeredStyles, classNames) {\n var rawClassName = '';\n classNames.split(' ').forEach(function (className) {\n if (registered[className] !== undefined) {\n registeredStyles.push(registered[className] + \";\");\n } else {\n rawClassName += className + \" \";\n }\n });\n return rawClassName;\n}\nvar registerStyles = function registerStyles(cache, serialized, isStringTag) {\n var className = cache.key + \"-\" + serialized.name;\n\n if ( // we only need to add the styles to the registered cache if the\n // class name could be used further down\n // the tree but if it's a string tag, we know it won't\n // so we don't have to add it to registered cache.\n // this improves memory usage since we can avoid storing the whole style string\n (isStringTag === false || // we need to always store it if we're in compat mode and\n // in node since emotion-server relies on whether a style is in\n // the registered cache to know whether a style is global or not\n // also, note that this check will be dead code eliminated in the browser\n isBrowser === false ) && cache.registered[className] === undefined) {\n cache.registered[className] = serialized.styles;\n }\n};\nvar insertStyles = function insertStyles(cache, serialized, isStringTag) {\n registerStyles(cache, serialized, isStringTag);\n var className = cache.key + \"-\" + serialized.name;\n\n if (cache.inserted[serialized.name] === undefined) {\n var current = serialized;\n\n do {\n var maybeStyles = cache.insert(serialized === current ? \".\" + className : '', current, cache.sheet, true);\n\n current = current.next;\n } while (current !== undefined);\n }\n};\n\nexport { getRegisteredStyles, insertStyles, registerStyles };\n","import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport default createEmotion;\n","import '@emotion/cache';\nimport '@emotion/serialize';\nimport '@emotion/utils';\nimport createEmotion from '../create-instance/dist/emotion-css-create-instance.esm.js';\n\nvar _createEmotion = createEmotion({\n key: 'css'\n}),\n flush = _createEmotion.flush,\n hydrate = _createEmotion.hydrate,\n cx = _createEmotion.cx,\n merge = _createEmotion.merge,\n getRegisteredStyles = _createEmotion.getRegisteredStyles,\n injectGlobal = _createEmotion.injectGlobal,\n keyframes = _createEmotion.keyframes,\n css = _createEmotion.css,\n sheet = _createEmotion.sheet,\n cache = _createEmotion.cache;\n\nexport { cache, css, cx, flush, getRegisteredStyles, hydrate, injectGlobal, keyframes, merge, sheet };\n","import * as React from 'react';\nimport { css, cx } from '@emotion/css';\nimport type { ReactNode } from 'react';\n\nexport interface TreeNodeProps {\n /**\n * The node label\n * */\n label: React.ReactNode;\n className?: string;\n children?: ReactNode;\n}\n\nconst verticalLine = css`\n content: '';\n position: absolute;\n top: 0;\n height: var(--tree-line-height);\n box-sizing: border-box;\n`;\n\nconst childrenContainer = css`\n display: flex;\n padding-inline-start: 0;\n margin: 0;\n padding-top: var(--tree-line-height);\n position: relative;\n\n ::before {\n ${verticalLine};\n left: calc(50% - var(--tree-line-width) / 2);\n width: 0;\n border-left: var(--tree-line-width) var(--tree-node-line-style)\n var(--tree-line-color);\n }\n`;\n\nconst node = css`\n flex: auto;\n text-align: center;\n list-style-type: none;\n position: relative;\n padding: var(--tree-line-height) var(--tree-node-padding) 0\n var(--tree-node-padding);\n`;\n\nconst nodeLines = css`\n ::before,\n ::after {\n ${verticalLine};\n right: 50%;\n width: 50%;\n border-top: var(--tree-line-width) var(--tree-node-line-style)\n var(--tree-line-color);\n }\n ::after {\n left: 50%;\n border-left: var(--tree-line-width) var(--tree-node-line-style)\n var(--tree-line-color);\n }\n\n :only-of-type {\n padding: 0;\n ::after,\n :before {\n display: none;\n }\n }\n\n :first-of-type {\n ::before {\n border: 0 none;\n }\n ::after {\n border-radius: var(--tree-line-border-radius) 0 0 0;\n }\n }\n\n :last-of-type {\n ::before {\n border-right: var(--tree-line-width) var(--tree-node-line-style)\n var(--tree-line-color);\n border-radius: 0 var(--tree-line-border-radius) 0 0;\n }\n ::after {\n border: 0 none;\n }\n }\n`;\n\nfunction TreeNode({ children, label, className }: TreeNodeProps) {\n return (\n
  • \n {label}\n {React.Children.count(children) > 0 && (\n
      {children}
    \n )}\n
  • \n );\n}\n\nexport default TreeNode;\n","function count(node) {\n var sum = 0,\n children = node.children,\n i = children && children.length;\n if (!i) sum = 1;\n else while (--i >= 0) sum += children[i].value;\n node.value = sum;\n}\n\nexport default function() {\n return this.eachAfter(count);\n}\n","import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\n\nexport default function hierarchy(data, children) {\n var root = new Node(data),\n valued = +data.value && (root.value = data.value),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n if (children == null) children = defaultChildren;\n\n while (node = nodes.pop()) {\n if (valued) node.value = +node.data.value;\n if ((childs = children(node.data)) && (n = childs.length)) {\n node.children = new Array(n);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction defaultChildren(d) {\n return d.children;\n}\n\nfunction copyData(node) {\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy\n};\n","import {Node} from \"./hierarchy/index.js\";\n\nfunction defaultSeparation(a, b) {\n return a.parent === b.parent ? 1 : 2;\n}\n\n// function radialSeparation(a, b) {\n// return (a.parent === b.parent ? 1 : 2) / a.depth;\n// }\n\n// This function is used to traverse the left contour of a subtree (or\n// subforest). It returns the successor of v on this contour. This successor is\n// either given by the leftmost child of v or by the thread of v. The function\n// returns null if and only if v is on the highest level of its subtree.\nfunction nextLeft(v) {\n var children = v.children;\n return children ? children[0] : v.t;\n}\n\n// This function works analogously to nextLeft.\nfunction nextRight(v) {\n var children = v.children;\n return children ? children[children.length - 1] : v.t;\n}\n\n// Shifts the current subtree rooted at w+. This is done by increasing\n// prelim(w+) and mod(w+) by shift.\nfunction moveSubtree(wm, wp, shift) {\n var change = shift / (wp.i - wm.i);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n}\n\n// All other shifts, applied to the smaller subtrees between w- and w+, are\n// performed by this function. To prepare the shifts, we have to adjust\n// change(w+), shift(w+), and change(w-).\nfunction executeShifts(v) {\n var shift = 0,\n change = 0,\n children = v.children,\n i = children.length,\n w;\n while (--i >= 0) {\n w = children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n}\n\n// If vi-’s ancestor is a sibling of v, returns vi-’s ancestor. Otherwise,\n// returns the specified (default) ancestor.\nfunction nextAncestor(vim, v, ancestor) {\n return vim.a.parent === v.parent ? vim.a : ancestor;\n}\n\nfunction TreeNode(node, i) {\n this._ = node;\n this.parent = null;\n this.children = null;\n this.A = null; // default ancestor\n this.a = this; // ancestor\n this.z = 0; // prelim\n this.m = 0; // mod\n this.c = 0; // change\n this.s = 0; // shift\n this.t = null; // thread\n this.i = i; // number\n}\n\nTreeNode.prototype = Object.create(Node.prototype);\n\nfunction treeRoot(root) {\n var tree = new TreeNode(root, 0),\n node,\n nodes = [tree],\n child,\n children,\n i,\n n;\n\n while (node = nodes.pop()) {\n if (children = node._.children) {\n node.children = new Array(n = children.length);\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = node.children[i] = new TreeNode(children[i], i));\n child.parent = node;\n }\n }\n }\n\n (tree.parent = new TreeNode(null, 0)).children = [tree];\n return tree;\n}\n\n// Node-link tree diagram using the Reingold-Tilford \"tidy\" algorithm\nexport default function() {\n var separation = defaultSeparation,\n dx = 1,\n dy = 1,\n nodeSize = null;\n\n function tree(root) {\n var t = treeRoot(root);\n\n // Compute the layout using Buchheim et al.’s algorithm.\n t.eachAfter(firstWalk), t.parent.m = -t.z;\n t.eachBefore(secondWalk);\n\n // If a fixed node size is specified, scale x and y.\n if (nodeSize) root.eachBefore(sizeNode);\n\n // If a fixed tree size is specified, scale x and y based on the extent.\n // Compute the left-most, right-most, and depth-most nodes for extents.\n else {\n var left = root,\n right = root,\n bottom = root;\n root.eachBefore(function(node) {\n if (node.x < left.x) left = node;\n if (node.x > right.x) right = node;\n if (node.depth > bottom.depth) bottom = node;\n });\n var s = left === right ? 1 : separation(left, right) / 2,\n tx = s - left.x,\n kx = dx / (right.x + s + tx),\n ky = dy / (bottom.depth || 1);\n root.eachBefore(function(node) {\n node.x = (node.x + tx) * kx;\n node.y = node.depth * ky;\n });\n }\n\n return root;\n }\n\n // Computes a preliminary x-coordinate for v. Before that, FIRST WALK is\n // applied recursively to the children of v, as well as the function\n // APPORTION. After spacing out the children by calling EXECUTE SHIFTS, the\n // node v is placed to the midpoint of its outermost children.\n function firstWalk(v) {\n var children = v.children,\n siblings = v.parent.children,\n w = v.i ? siblings[v.i - 1] : null;\n if (children) {\n executeShifts(v);\n var midpoint = (children[0].z + children[children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v._, w._);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v._, w._);\n }\n v.parent.A = apportion(v, w, v.parent.A || siblings[0]);\n }\n\n // Computes all real x-coordinates by summing up the modifiers recursively.\n function secondWalk(v) {\n v._.x = v.z + v.parent.m;\n v.m += v.parent.m;\n }\n\n // The core of the algorithm. Here, a new subtree is combined with the\n // previous subtrees. Threads are used to traverse the inside and outside\n // contours of the left and right subtree up to the highest common level. The\n // vertices used for the traversals are vi+, vi-, vo-, and vo+, where the\n // superscript o means outside and i means inside, the subscript - means left\n // subtree and + means right subtree. For summing up the modifiers along the\n // contour, we use respective variables si+, si-, so-, and so+. Whenever two\n // nodes of the inside contours conflict, we compute the left one of the\n // greatest uncommon ancestors using the function ANCESTOR and call MOVE\n // SUBTREE to shift the subtree and prepare the shifts of smaller subtrees.\n // Finally, we add a new thread (if necessary).\n function apportion(v, w, ancestor) {\n if (w) {\n var vip = v,\n vop = v,\n vim = w,\n vom = vip.parent.children[0],\n sip = vip.m,\n sop = vop.m,\n sim = vim.m,\n som = vom.m,\n shift;\n while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {\n vom = nextLeft(vom);\n vop = nextRight(vop);\n vop.a = v;\n shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n }\n return ancestor;\n }\n\n function sizeNode(node) {\n node.x *= dx;\n node.y = node.depth * dy;\n }\n\n tree.separation = function(x) {\n return arguments.length ? (separation = x, tree) : separation;\n };\n\n tree.size = function(x) {\n return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : (nodeSize ? null : [dx, dy]);\n };\n\n tree.nodeSize = function(x) {\n return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : (nodeSize ? [dx, dy] : null);\n };\n\n return tree;\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","export default function(callback) {\n var node = this, current, next = [node], children, i, n;\n do {\n current = next.reverse(), next = [];\n while (node = current.pop()) {\n callback(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n next.push(children[i]);\n }\n }\n } while (next.length);\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], next = [], children, i, n;\n while (node = nodes.pop()) {\n next.push(node), children = node.children;\n if (children) for (i = 0, n = children.length; i < n; ++i) {\n nodes.push(children[i]);\n }\n }\n while (node = next.pop()) {\n callback(node);\n }\n return this;\n}\n","export default function(callback) {\n var node = this, nodes = [node], children, i;\n while (node = nodes.pop()) {\n callback(node), children = node.children;\n if (children) for (i = children.length - 1; i >= 0; --i) {\n nodes.push(children[i]);\n }\n }\n return this;\n}\n","export default function(value) {\n return this.eachAfter(function(node) {\n var sum = +value(node.data) || 0,\n children = node.children,\n i = children && children.length;\n while (--i >= 0) sum += children[i].value;\n node.value = sum;\n });\n}\n","export default function(compare) {\n return this.eachBefore(function(node) {\n if (node.children) {\n node.children.sort(compare);\n }\n });\n}\n","export default function(end) {\n var start = this,\n ancestor = leastCommonAncestor(start, end),\n nodes = [start];\n while (start !== ancestor) {\n start = start.parent;\n nodes.push(start);\n }\n var k = nodes.length;\n while (end !== ancestor) {\n nodes.splice(k, 0, end);\n end = end.parent;\n }\n return nodes;\n}\n\nfunction leastCommonAncestor(a, b) {\n if (a === b) return a;\n var aNodes = a.ancestors(),\n bNodes = b.ancestors(),\n c = null;\n a = aNodes.pop();\n b = bNodes.pop();\n while (a === b) {\n c = a;\n a = aNodes.pop();\n b = bNodes.pop();\n }\n return c;\n}\n","export default function() {\n var node = this, nodes = [node];\n while (node = node.parent) {\n nodes.push(node);\n }\n return nodes;\n}\n","export default function() {\n var nodes = [];\n this.each(function(node) {\n nodes.push(node);\n });\n return nodes;\n}\n","export default function() {\n var leaves = [];\n this.eachBefore(function(node) {\n if (!node.children) {\n leaves.push(node);\n }\n });\n return leaves;\n}\n","export default function() {\n var root = this, links = [];\n root.each(function(node) {\n if (node !== root) { // Don’t include the root’s parent, if any.\n links.push({source: node.parent, target: node});\n }\n });\n return links;\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","var noop = {value: () => {}};\n\nfunction dispatch() {\n for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {\n if (!(t = arguments[i] + \"\") || (t in _) || /[\\s.]/.test(t)) throw new Error(\"illegal type: \" + t);\n _[t] = [];\n }\n return new Dispatch(_);\n}\n\nfunction Dispatch(_) {\n this._ = _;\n}\n\nfunction parseTypenames(typenames, types) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n if (t && !types.hasOwnProperty(t)) throw new Error(\"unknown type: \" + t);\n return {type: t, name: name};\n });\n}\n\nDispatch.prototype = dispatch.prototype = {\n constructor: Dispatch,\n on: function(typename, callback) {\n var _ = this._,\n T = parseTypenames(typename + \"\", _),\n t,\n i = -1,\n n = T.length;\n\n // If no callback was specified, return the callback of the given type and name.\n if (arguments.length < 2) {\n while (++i < n) if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name))) return t;\n return;\n }\n\n // If a type was specified, set the callback for the given type and name.\n // Otherwise, if a null callback was specified, remove callbacks of the given name.\n if (callback != null && typeof callback !== \"function\") throw new Error(\"invalid callback: \" + callback);\n while (++i < n) {\n if (t = (typename = T[i]).type) _[t] = set(_[t], typename.name, callback);\n else if (callback == null) for (t in _) _[t] = set(_[t], typename.name, null);\n }\n\n return this;\n },\n copy: function() {\n var copy = {}, _ = this._;\n for (var t in _) copy[t] = _[t].slice();\n return new Dispatch(copy);\n },\n call: function(type, that) {\n if ((n = arguments.length - 2) > 0) for (var args = new Array(n), i = 0, n, t; i < n; ++i) args[i] = arguments[i + 2];\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n },\n apply: function(type, that, args) {\n if (!this._.hasOwnProperty(type)) throw new Error(\"unknown type: \" + type);\n for (var t = this._[type], i = 0, n = t.length; i < n; ++i) t[i].value.apply(that, args);\n }\n};\n\nfunction get(type, name) {\n for (var i = 0, n = type.length, c; i < n; ++i) {\n if ((c = type[i]).name === name) {\n return c.value;\n }\n }\n}\n\nfunction set(type, name, callback) {\n for (var i = 0, n = type.length; i < n; ++i) {\n if (type[i].name === name) {\n type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));\n break;\n }\n }\n if (callback != null) type.push({name: name, value: callback});\n return type;\n}\n\nexport default dispatch;\n","// These are typically used in conjunction with noevent to ensure that we can\n// preventDefault on the event.\nexport const nonpassive = {passive: false};\nexport const nonpassivecapture = {capture: true, passive: false};\n\nexport function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {select} from \"d3-selection\";\nimport noevent, {nonpassivecapture} from \"./noevent.js\";\n\nexport default function(view) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", noevent, nonpassivecapture);\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", noevent, nonpassivecapture);\n } else {\n root.__noselect = root.style.MozUserSelect;\n root.style.MozUserSelect = \"none\";\n }\n}\n\nexport function yesdrag(view, noclick) {\n var root = view.document.documentElement,\n selection = select(view).on(\"dragstart.drag\", null);\n if (noclick) {\n selection.on(\"click.drag\", noevent, nonpassivecapture);\n setTimeout(function() { selection.on(\"click.drag\", null); }, 0);\n }\n if (\"onselectstart\" in root) {\n selection.on(\"selectstart.drag\", null);\n } else {\n root.style.MozUserSelect = root.__noselect;\n delete root.__noselect;\n }\n}\n","var epsilon2 = 1e-12;\n\nfunction cosh(x) {\n return ((x = Math.exp(x)) + 1 / x) / 2;\n}\n\nfunction sinh(x) {\n return ((x = Math.exp(x)) - 1 / x) / 2;\n}\n\nfunction tanh(x) {\n return ((x = Math.exp(2 * x)) - 1) / (x + 1);\n}\n\nexport default (function zoomRho(rho, rho2, rho4) {\n\n // p0 = [ux0, uy0, w0]\n // p1 = [ux1, uy1, w1]\n function zoom(p0, p1) {\n var ux0 = p0[0], uy0 = p0[1], w0 = p0[2],\n ux1 = p1[0], uy1 = p1[1], w1 = p1[2],\n dx = ux1 - ux0,\n dy = uy1 - uy0,\n d2 = dx * dx + dy * dy,\n i,\n S;\n\n // Special case for u0 ≅ u1.\n if (d2 < epsilon2) {\n S = Math.log(w1 / w0) / rho;\n i = function(t) {\n return [\n ux0 + t * dx,\n uy0 + t * dy,\n w0 * Math.exp(rho * t * S)\n ];\n }\n }\n\n // General case.\n else {\n var d1 = Math.sqrt(d2),\n b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1),\n b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1),\n r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0),\n r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);\n S = (r1 - r0) / rho;\n i = function(t) {\n var s = t * S,\n coshr0 = cosh(r0),\n u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));\n return [\n ux0 + u * dx,\n uy0 + u * dy,\n w0 * coshr0 / cosh(rho * s + r0)\n ];\n }\n }\n\n i.duration = S * 1000 * rho / Math.SQRT2;\n\n return i;\n }\n\n zoom.rho = function(_) {\n var _1 = Math.max(1e-3, +_), _2 = _1 * _1, _4 = _2 * _2;\n return zoomRho(_1, _2, _4);\n };\n\n return zoom;\n})(Math.SQRT2, 2, 4);\n","import sourceEvent from \"./sourceEvent.js\";\n\nexport default function(event, node) {\n event = sourceEvent(event);\n if (node === undefined) node = event.currentTarget;\n if (node) {\n var svg = node.ownerSVGElement || node;\n if (svg.createSVGPoint) {\n var point = svg.createSVGPoint();\n point.x = event.clientX, point.y = event.clientY;\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n }\n if (node.getBoundingClientRect) {\n var rect = node.getBoundingClientRect();\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n }\n }\n return [event.pageX, event.pageY];\n}\n","export default function(event) {\n let sourceEvent;\n while (sourceEvent = event.sourceEvent) event = sourceEvent;\n return event;\n}\n","var frame = 0, // is an animation frame pending?\n timeout = 0, // is a timeout pending?\n interval = 0, // are any timers active?\n pokeDelay = 1000, // how frequently we check for clock skew\n taskHead,\n taskTail,\n clockLast = 0,\n clockNow = 0,\n clockSkew = 0,\n clock = typeof performance === \"object\" && performance.now ? performance : Date,\n setFrame = typeof window === \"object\" && window.requestAnimationFrame ? window.requestAnimationFrame.bind(window) : function(f) { setTimeout(f, 17); };\n\nexport function now() {\n return clockNow || (setFrame(clearNow), clockNow = clock.now() + clockSkew);\n}\n\nfunction clearNow() {\n clockNow = 0;\n}\n\nexport function Timer() {\n this._call =\n this._time =\n this._next = null;\n}\n\nTimer.prototype = timer.prototype = {\n constructor: Timer,\n restart: function(callback, delay, time) {\n if (typeof callback !== \"function\") throw new TypeError(\"callback is not a function\");\n time = (time == null ? now() : +time) + (delay == null ? 0 : +delay);\n if (!this._next && taskTail !== this) {\n if (taskTail) taskTail._next = this;\n else taskHead = this;\n taskTail = this;\n }\n this._call = callback;\n this._time = time;\n sleep();\n },\n stop: function() {\n if (this._call) {\n this._call = null;\n this._time = Infinity;\n sleep();\n }\n }\n};\n\nexport function timer(callback, delay, time) {\n var t = new Timer;\n t.restart(callback, delay, time);\n return t;\n}\n\nexport function timerFlush() {\n now(); // Get the current time, if not already set.\n ++frame; // Pretend we’ve set an alarm, if we haven’t already.\n var t = taskHead, e;\n while (t) {\n if ((e = clockNow - t._time) >= 0) t._call.call(undefined, e);\n t = t._next;\n }\n --frame;\n}\n\nfunction wake() {\n clockNow = (clockLast = clock.now()) + clockSkew;\n frame = timeout = 0;\n try {\n timerFlush();\n } finally {\n frame = 0;\n nap();\n clockNow = 0;\n }\n}\n\nfunction poke() {\n var now = clock.now(), delay = now - clockLast;\n if (delay > pokeDelay) clockSkew -= delay, clockLast = now;\n}\n\nfunction nap() {\n var t0, t1 = taskHead, t2, time = Infinity;\n while (t1) {\n if (t1._call) {\n if (time > t1._time) time = t1._time;\n t0 = t1, t1 = t1._next;\n } else {\n t2 = t1._next, t1._next = null;\n t1 = t0 ? t0._next = t2 : taskHead = t2;\n }\n }\n taskTail = t0;\n sleep(time);\n}\n\nfunction sleep(time) {\n if (frame) return; // Soonest alarm already set, or will be.\n if (timeout) timeout = clearTimeout(timeout);\n var delay = time - clockNow; // Strictly less than if we recomputed clockNow.\n if (delay > 24) {\n if (time < Infinity) timeout = setTimeout(wake, time - clock.now() - clockSkew);\n if (interval) interval = clearInterval(interval);\n } else {\n if (!interval) clockLast = clock.now(), interval = setInterval(poke, pokeDelay);\n frame = 1, setFrame(wake);\n }\n}\n","import {Timer} from \"./timer.js\";\n\nexport default function(callback, delay, time) {\n var t = new Timer;\n delay = delay == null ? 0 : +delay;\n t.restart(elapsed => {\n t.stop();\n callback(elapsed + delay);\n }, delay, time);\n return t;\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {timer, timeout} from \"d3-timer\";\n\nvar emptyOn = dispatch(\"start\", \"end\", \"cancel\", \"interrupt\");\nvar emptyTween = [];\n\nexport var CREATED = 0;\nexport var SCHEDULED = 1;\nexport var STARTING = 2;\nexport var STARTED = 3;\nexport var RUNNING = 4;\nexport var ENDING = 5;\nexport var ENDED = 6;\n\nexport default function(node, name, id, index, group, timing) {\n var schedules = node.__transition;\n if (!schedules) node.__transition = {};\n else if (id in schedules) return;\n create(node, id, {\n name: name,\n index: index, // For context during callback.\n group: group, // For context during callback.\n on: emptyOn,\n tween: emptyTween,\n time: timing.time,\n delay: timing.delay,\n duration: timing.duration,\n ease: timing.ease,\n timer: null,\n state: CREATED\n });\n}\n\nexport function init(node, id) {\n var schedule = get(node, id);\n if (schedule.state > CREATED) throw new Error(\"too late; already scheduled\");\n return schedule;\n}\n\nexport function set(node, id) {\n var schedule = get(node, id);\n if (schedule.state > STARTED) throw new Error(\"too late; already running\");\n return schedule;\n}\n\nexport function get(node, id) {\n var schedule = node.__transition;\n if (!schedule || !(schedule = schedule[id])) throw new Error(\"transition not found\");\n return schedule;\n}\n\nfunction create(node, id, self) {\n var schedules = node.__transition,\n tween;\n\n // Initialize the self timer when the transition is created.\n // Note the actual delay is not known until the first callback!\n schedules[id] = self;\n self.timer = timer(schedule, 0, self.time);\n\n function schedule(elapsed) {\n self.state = SCHEDULED;\n self.timer.restart(start, self.delay, self.time);\n\n // If the elapsed delay is less than our first sleep, start immediately.\n if (self.delay <= elapsed) start(elapsed - self.delay);\n }\n\n function start(elapsed) {\n var i, j, n, o;\n\n // If the state is not SCHEDULED, then we previously errored on start.\n if (self.state !== SCHEDULED) return stop();\n\n for (i in schedules) {\n o = schedules[i];\n if (o.name !== self.name) continue;\n\n // While this element already has a starting transition during this frame,\n // defer starting an interrupting transition until that transition has a\n // chance to tick (and possibly end); see d3/d3-transition#54!\n if (o.state === STARTED) return timeout(start);\n\n // Interrupt the active transition, if any.\n if (o.state === RUNNING) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"interrupt\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n\n // Cancel any pre-empted transitions.\n else if (+i < id) {\n o.state = ENDED;\n o.timer.stop();\n o.on.call(\"cancel\", node, node.__data__, o.index, o.group);\n delete schedules[i];\n }\n }\n\n // Defer the first tick to end of the current frame; see d3/d3#1576.\n // Note the transition may be canceled after start and before the first tick!\n // Note this must be scheduled before the start event; see d3/d3-transition#16!\n // Assuming this is successful, subsequent callbacks go straight to tick.\n timeout(function() {\n if (self.state === STARTED) {\n self.state = RUNNING;\n self.timer.restart(tick, self.delay, self.time);\n tick(elapsed);\n }\n });\n\n // Dispatch the start event.\n // Note this must be done before the tween are initialized.\n self.state = STARTING;\n self.on.call(\"start\", node, node.__data__, self.index, self.group);\n if (self.state !== STARTING) return; // interrupted\n self.state = STARTED;\n\n // Initialize the tween, deleting null tween.\n tween = new Array(n = self.tween.length);\n for (i = 0, j = -1; i < n; ++i) {\n if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {\n tween[++j] = o;\n }\n }\n tween.length = j + 1;\n }\n\n function tick(elapsed) {\n var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1),\n i = -1,\n n = tween.length;\n\n while (++i < n) {\n tween[i].call(node, t);\n }\n\n // Dispatch the end event.\n if (self.state === ENDING) {\n self.on.call(\"end\", node, node.__data__, self.index, self.group);\n stop();\n }\n }\n\n function stop() {\n self.state = ENDED;\n self.timer.stop();\n delete schedules[id];\n for (var i in schedules) return; // eslint-disable-line no-unused-vars\n delete node.__transition;\n }\n}\n","import {STARTING, ENDING, ENDED} from \"./transition/schedule.js\";\n\nexport default function(node, name) {\n var schedules = node.__transition,\n schedule,\n active,\n empty = true,\n i;\n\n if (!schedules) return;\n\n name = name == null ? null : name + \"\";\n\n for (i in schedules) {\n if ((schedule = schedules[i]).name !== name) { empty = false; continue; }\n active = schedule.state > STARTING && schedule.state < ENDING;\n schedule.state = ENDED;\n schedule.timer.stop();\n schedule.on.call(active ? \"interrupt\" : \"cancel\", node, node.__data__, schedule.index, schedule.group);\n delete schedules[i];\n }\n\n if (empty) delete node.__transition;\n}\n","export default function(a, b) {\n return a = +a, b = +b, function(t) {\n return a * (1 - t) + b * t;\n };\n}\n","var degrees = 180 / Math.PI;\n\nexport var identity = {\n translateX: 0,\n translateY: 0,\n rotate: 0,\n skewX: 0,\n scaleX: 1,\n scaleY: 1\n};\n\nexport default function(a, b, c, d, e, f) {\n var scaleX, scaleY, skewX;\n if (scaleX = Math.sqrt(a * a + b * b)) a /= scaleX, b /= scaleX;\n if (skewX = a * c + b * d) c -= a * skewX, d -= b * skewX;\n if (scaleY = Math.sqrt(c * c + d * d)) c /= scaleY, d /= scaleY, skewX /= scaleY;\n if (a * d < b * c) a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;\n return {\n translateX: e,\n translateY: f,\n rotate: Math.atan2(b, a) * degrees,\n skewX: Math.atan(skewX) * degrees,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n","import decompose, {identity} from \"./decompose.js\";\n\nvar svgNode;\n\n/* eslint-disable no-undef */\nexport function parseCss(value) {\n const m = new (typeof DOMMatrix === \"function\" ? DOMMatrix : WebKitCSSMatrix)(value + \"\");\n return m.isIdentity ? identity : decompose(m.a, m.b, m.c, m.d, m.e, m.f);\n}\n\nexport function parseSvg(value) {\n if (value == null) return identity;\n if (!svgNode) svgNode = document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n svgNode.setAttribute(\"transform\", value);\n if (!(value = svgNode.transform.baseVal.consolidate())) return identity;\n value = value.matrix;\n return decompose(value.a, value.b, value.c, value.d, value.e, value.f);\n}\n","import number from \"../number.js\";\nimport {parseCss, parseSvg} from \"./parse.js\";\n\nfunction interpolateTransform(parse, pxComma, pxParen, degParen) {\n\n function pop(s) {\n return s.length ? s.pop() + \" \" : \"\";\n }\n\n function translate(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(\"translate(\", null, pxComma, null, pxParen);\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb || yb) {\n s.push(\"translate(\" + xb + pxComma + yb + pxParen);\n }\n }\n\n function rotate(a, b, s, q) {\n if (a !== b) {\n if (a - b > 180) b += 360; else if (b - a > 180) a += 360; // shortest path\n q.push({i: s.push(pop(s) + \"rotate(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"rotate(\" + b + degParen);\n }\n }\n\n function skewX(a, b, s, q) {\n if (a !== b) {\n q.push({i: s.push(pop(s) + \"skewX(\", null, degParen) - 2, x: number(a, b)});\n } else if (b) {\n s.push(pop(s) + \"skewX(\" + b + degParen);\n }\n }\n\n function scale(xa, ya, xb, yb, s, q) {\n if (xa !== xb || ya !== yb) {\n var i = s.push(pop(s) + \"scale(\", null, \",\", null, \")\");\n q.push({i: i - 4, x: number(xa, xb)}, {i: i - 2, x: number(ya, yb)});\n } else if (xb !== 1 || yb !== 1) {\n s.push(pop(s) + \"scale(\" + xb + \",\" + yb + \")\");\n }\n }\n\n return function(a, b) {\n var s = [], // string constants and placeholders\n q = []; // number interpolators\n a = parse(a), b = parse(b);\n translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);\n rotate(a.rotate, b.rotate, s, q);\n skewX(a.skewX, b.skewX, s, q);\n scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);\n a = b = null; // gc\n return function(t) {\n var i = -1, n = q.length, o;\n while (++i < n) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n };\n };\n}\n\nexport var interpolateTransformCss = interpolateTransform(parseCss, \"px, \", \"px)\", \"deg)\");\nexport var interpolateTransformSvg = interpolateTransform(parseSvg, \", \", \")\", \")\");\n","import {get, set} from \"./schedule.js\";\n\nfunction tweenRemove(id, name) {\n var tween0, tween1;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = tween0 = tween;\n for (var i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1 = tween1.slice();\n tween1.splice(i, 1);\n break;\n }\n }\n }\n\n schedule.tween = tween1;\n };\n}\n\nfunction tweenFunction(id, name, value) {\n var tween0, tween1;\n if (typeof value !== \"function\") throw new Error;\n return function() {\n var schedule = set(this, id),\n tween = schedule.tween;\n\n // If this node shared tween with the previous node,\n // just assign the updated shared tween and we’re done!\n // Otherwise, copy-on-write.\n if (tween !== tween0) {\n tween1 = (tween0 = tween).slice();\n for (var t = {name: name, value: value}, i = 0, n = tween1.length; i < n; ++i) {\n if (tween1[i].name === name) {\n tween1[i] = t;\n break;\n }\n }\n if (i === n) tween1.push(t);\n }\n\n schedule.tween = tween1;\n };\n}\n\nexport default function(name, value) {\n var id = this._id;\n\n name += \"\";\n\n if (arguments.length < 2) {\n var tween = get(this.node(), id).tween;\n for (var i = 0, n = tween.length, t; i < n; ++i) {\n if ((t = tween[i]).name === name) {\n return t.value;\n }\n }\n return null;\n }\n\n return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));\n}\n\nexport function tweenValue(transition, name, value) {\n var id = transition._id;\n\n transition.each(function() {\n var schedule = set(this, id);\n (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);\n });\n\n return function(node) {\n return get(node, id).value[name];\n };\n}\n","export default function(constructor, factory, prototype) {\n constructor.prototype = factory.prototype = prototype;\n prototype.constructor = constructor;\n}\n\nexport function extend(parent, definition) {\n var prototype = Object.create(parent.prototype);\n for (var key in definition) prototype[key] = definition[key];\n return prototype;\n}\n","import define, {extend} from \"./define.js\";\n\nexport function Color() {}\n\nexport var darker = 0.7;\nexport var brighter = 1 / darker;\n\nvar reI = \"\\\\s*([+-]?\\\\d+)\\\\s*\",\n reN = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",\n reP = \"\\\\s*([+-]?(?:\\\\d*\\\\.)?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",\n reHex = /^#([0-9a-f]{3,8})$/,\n reRgbInteger = new RegExp(`^rgb\\\\(${reI},${reI},${reI}\\\\)$`),\n reRgbPercent = new RegExp(`^rgb\\\\(${reP},${reP},${reP}\\\\)$`),\n reRgbaInteger = new RegExp(`^rgba\\\\(${reI},${reI},${reI},${reN}\\\\)$`),\n reRgbaPercent = new RegExp(`^rgba\\\\(${reP},${reP},${reP},${reN}\\\\)$`),\n reHslPercent = new RegExp(`^hsl\\\\(${reN},${reP},${reP}\\\\)$`),\n reHslaPercent = new RegExp(`^hsla\\\\(${reN},${reP},${reP},${reN}\\\\)$`);\n\nvar named = {\n aliceblue: 0xf0f8ff,\n antiquewhite: 0xfaebd7,\n aqua: 0x00ffff,\n aquamarine: 0x7fffd4,\n azure: 0xf0ffff,\n beige: 0xf5f5dc,\n bisque: 0xffe4c4,\n black: 0x000000,\n blanchedalmond: 0xffebcd,\n blue: 0x0000ff,\n blueviolet: 0x8a2be2,\n brown: 0xa52a2a,\n burlywood: 0xdeb887,\n cadetblue: 0x5f9ea0,\n chartreuse: 0x7fff00,\n chocolate: 0xd2691e,\n coral: 0xff7f50,\n cornflowerblue: 0x6495ed,\n cornsilk: 0xfff8dc,\n crimson: 0xdc143c,\n cyan: 0x00ffff,\n darkblue: 0x00008b,\n darkcyan: 0x008b8b,\n darkgoldenrod: 0xb8860b,\n darkgray: 0xa9a9a9,\n darkgreen: 0x006400,\n darkgrey: 0xa9a9a9,\n darkkhaki: 0xbdb76b,\n darkmagenta: 0x8b008b,\n darkolivegreen: 0x556b2f,\n darkorange: 0xff8c00,\n darkorchid: 0x9932cc,\n darkred: 0x8b0000,\n darksalmon: 0xe9967a,\n darkseagreen: 0x8fbc8f,\n darkslateblue: 0x483d8b,\n darkslategray: 0x2f4f4f,\n darkslategrey: 0x2f4f4f,\n darkturquoise: 0x00ced1,\n darkviolet: 0x9400d3,\n deeppink: 0xff1493,\n deepskyblue: 0x00bfff,\n dimgray: 0x696969,\n dimgrey: 0x696969,\n dodgerblue: 0x1e90ff,\n firebrick: 0xb22222,\n floralwhite: 0xfffaf0,\n forestgreen: 0x228b22,\n fuchsia: 0xff00ff,\n gainsboro: 0xdcdcdc,\n ghostwhite: 0xf8f8ff,\n gold: 0xffd700,\n goldenrod: 0xdaa520,\n gray: 0x808080,\n green: 0x008000,\n greenyellow: 0xadff2f,\n grey: 0x808080,\n honeydew: 0xf0fff0,\n hotpink: 0xff69b4,\n indianred: 0xcd5c5c,\n indigo: 0x4b0082,\n ivory: 0xfffff0,\n khaki: 0xf0e68c,\n lavender: 0xe6e6fa,\n lavenderblush: 0xfff0f5,\n lawngreen: 0x7cfc00,\n lemonchiffon: 0xfffacd,\n lightblue: 0xadd8e6,\n lightcoral: 0xf08080,\n lightcyan: 0xe0ffff,\n lightgoldenrodyellow: 0xfafad2,\n lightgray: 0xd3d3d3,\n lightgreen: 0x90ee90,\n lightgrey: 0xd3d3d3,\n lightpink: 0xffb6c1,\n lightsalmon: 0xffa07a,\n lightseagreen: 0x20b2aa,\n lightskyblue: 0x87cefa,\n lightslategray: 0x778899,\n lightslategrey: 0x778899,\n lightsteelblue: 0xb0c4de,\n lightyellow: 0xffffe0,\n lime: 0x00ff00,\n limegreen: 0x32cd32,\n linen: 0xfaf0e6,\n magenta: 0xff00ff,\n maroon: 0x800000,\n mediumaquamarine: 0x66cdaa,\n mediumblue: 0x0000cd,\n mediumorchid: 0xba55d3,\n mediumpurple: 0x9370db,\n mediumseagreen: 0x3cb371,\n mediumslateblue: 0x7b68ee,\n mediumspringgreen: 0x00fa9a,\n mediumturquoise: 0x48d1cc,\n mediumvioletred: 0xc71585,\n midnightblue: 0x191970,\n mintcream: 0xf5fffa,\n mistyrose: 0xffe4e1,\n moccasin: 0xffe4b5,\n navajowhite: 0xffdead,\n navy: 0x000080,\n oldlace: 0xfdf5e6,\n olive: 0x808000,\n olivedrab: 0x6b8e23,\n orange: 0xffa500,\n orangered: 0xff4500,\n orchid: 0xda70d6,\n palegoldenrod: 0xeee8aa,\n palegreen: 0x98fb98,\n paleturquoise: 0xafeeee,\n palevioletred: 0xdb7093,\n papayawhip: 0xffefd5,\n peachpuff: 0xffdab9,\n peru: 0xcd853f,\n pink: 0xffc0cb,\n plum: 0xdda0dd,\n powderblue: 0xb0e0e6,\n purple: 0x800080,\n rebeccapurple: 0x663399,\n red: 0xff0000,\n rosybrown: 0xbc8f8f,\n royalblue: 0x4169e1,\n saddlebrown: 0x8b4513,\n salmon: 0xfa8072,\n sandybrown: 0xf4a460,\n seagreen: 0x2e8b57,\n seashell: 0xfff5ee,\n sienna: 0xa0522d,\n silver: 0xc0c0c0,\n skyblue: 0x87ceeb,\n slateblue: 0x6a5acd,\n slategray: 0x708090,\n slategrey: 0x708090,\n snow: 0xfffafa,\n springgreen: 0x00ff7f,\n steelblue: 0x4682b4,\n tan: 0xd2b48c,\n teal: 0x008080,\n thistle: 0xd8bfd8,\n tomato: 0xff6347,\n turquoise: 0x40e0d0,\n violet: 0xee82ee,\n wheat: 0xf5deb3,\n white: 0xffffff,\n whitesmoke: 0xf5f5f5,\n yellow: 0xffff00,\n yellowgreen: 0x9acd32\n};\n\ndefine(Color, color, {\n copy(channels) {\n return Object.assign(new this.constructor, this, channels);\n },\n displayable() {\n return this.rgb().displayable();\n },\n hex: color_formatHex, // Deprecated! Use color.formatHex.\n formatHex: color_formatHex,\n formatHex8: color_formatHex8,\n formatHsl: color_formatHsl,\n formatRgb: color_formatRgb,\n toString: color_formatRgb\n});\n\nfunction color_formatHex() {\n return this.rgb().formatHex();\n}\n\nfunction color_formatHex8() {\n return this.rgb().formatHex8();\n}\n\nfunction color_formatHsl() {\n return hslConvert(this).formatHsl();\n}\n\nfunction color_formatRgb() {\n return this.rgb().formatRgb();\n}\n\nexport default function color(format) {\n var m, l;\n format = (format + \"\").trim().toLowerCase();\n return (m = reHex.exec(format)) ? (l = m[1].length, m = parseInt(m[1], 16), l === 6 ? rgbn(m) // #ff0000\n : l === 3 ? new Rgb((m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), ((m & 0xf) << 4) | (m & 0xf), 1) // #f00\n : l === 8 ? rgba(m >> 24 & 0xff, m >> 16 & 0xff, m >> 8 & 0xff, (m & 0xff) / 0xff) // #ff000000\n : l === 4 ? rgba((m >> 12 & 0xf) | (m >> 8 & 0xf0), (m >> 8 & 0xf) | (m >> 4 & 0xf0), (m >> 4 & 0xf) | (m & 0xf0), (((m & 0xf) << 4) | (m & 0xf)) / 0xff) // #f000\n : null) // invalid hex\n : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) // rgb(255, 0, 0)\n : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) // rgb(100%, 0%, 0%)\n : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) // rgba(255, 0, 0, 1)\n : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) // rgb(100%, 0%, 0%, 1)\n : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) // hsl(120, 50%, 50%)\n : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) // hsla(120, 50%, 50%, 1)\n : named.hasOwnProperty(format) ? rgbn(named[format]) // eslint-disable-line no-prototype-builtins\n : format === \"transparent\" ? new Rgb(NaN, NaN, NaN, 0)\n : null;\n}\n\nfunction rgbn(n) {\n return new Rgb(n >> 16 & 0xff, n >> 8 & 0xff, n & 0xff, 1);\n}\n\nfunction rgba(r, g, b, a) {\n if (a <= 0) r = g = b = NaN;\n return new Rgb(r, g, b, a);\n}\n\nexport function rgbConvert(o) {\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Rgb;\n o = o.rgb();\n return new Rgb(o.r, o.g, o.b, o.opacity);\n}\n\nexport function rgb(r, g, b, opacity) {\n return arguments.length === 1 ? rgbConvert(r) : new Rgb(r, g, b, opacity == null ? 1 : opacity);\n}\n\nexport function Rgb(r, g, b, opacity) {\n this.r = +r;\n this.g = +g;\n this.b = +b;\n this.opacity = +opacity;\n}\n\ndefine(Rgb, rgb, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);\n },\n rgb() {\n return this;\n },\n clamp() {\n return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));\n },\n displayable() {\n return (-0.5 <= this.r && this.r < 255.5)\n && (-0.5 <= this.g && this.g < 255.5)\n && (-0.5 <= this.b && this.b < 255.5)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n hex: rgb_formatHex, // Deprecated! Use color.formatHex.\n formatHex: rgb_formatHex,\n formatHex8: rgb_formatHex8,\n formatRgb: rgb_formatRgb,\n toString: rgb_formatRgb\n}));\n\nfunction rgb_formatHex() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;\n}\n\nfunction rgb_formatHex8() {\n return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;\n}\n\nfunction rgb_formatRgb() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"rgb(\" : \"rgba(\"}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a === 1 ? \")\" : `, ${a})`}`;\n}\n\nfunction clampa(opacity) {\n return isNaN(opacity) ? 1 : Math.max(0, Math.min(1, opacity));\n}\n\nfunction clampi(value) {\n return Math.max(0, Math.min(255, Math.round(value) || 0));\n}\n\nfunction hex(value) {\n value = clampi(value);\n return (value < 16 ? \"0\" : \"\") + value.toString(16);\n}\n\nfunction hsla(h, s, l, a) {\n if (a <= 0) h = s = l = NaN;\n else if (l <= 0 || l >= 1) h = s = NaN;\n else if (s <= 0) h = NaN;\n return new Hsl(h, s, l, a);\n}\n\nexport function hslConvert(o) {\n if (o instanceof Hsl) return new Hsl(o.h, o.s, o.l, o.opacity);\n if (!(o instanceof Color)) o = color(o);\n if (!o) return new Hsl;\n if (o instanceof Hsl) return o;\n o = o.rgb();\n var r = o.r / 255,\n g = o.g / 255,\n b = o.b / 255,\n min = Math.min(r, g, b),\n max = Math.max(r, g, b),\n h = NaN,\n s = max - min,\n l = (max + min) / 2;\n if (s) {\n if (r === max) h = (g - b) / s + (g < b) * 6;\n else if (g === max) h = (b - r) / s + 2;\n else h = (r - g) / s + 4;\n s /= l < 0.5 ? max + min : 2 - max - min;\n h *= 60;\n } else {\n s = l > 0 && l < 1 ? 0 : h;\n }\n return new Hsl(h, s, l, o.opacity);\n}\n\nexport function hsl(h, s, l, opacity) {\n return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s, l, opacity == null ? 1 : opacity);\n}\n\nfunction Hsl(h, s, l, opacity) {\n this.h = +h;\n this.s = +s;\n this.l = +l;\n this.opacity = +opacity;\n}\n\ndefine(Hsl, hsl, extend(Color, {\n brighter(k) {\n k = k == null ? brighter : Math.pow(brighter, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n darker(k) {\n k = k == null ? darker : Math.pow(darker, k);\n return new Hsl(this.h, this.s, this.l * k, this.opacity);\n },\n rgb() {\n var h = this.h % 360 + (this.h < 0) * 360,\n s = isNaN(h) || isNaN(this.s) ? 0 : this.s,\n l = this.l,\n m2 = l + (l < 0.5 ? l : 1 - l) * s,\n m1 = 2 * l - m2;\n return new Rgb(\n hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),\n hsl2rgb(h, m1, m2),\n hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),\n this.opacity\n );\n },\n clamp() {\n return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));\n },\n displayable() {\n return (0 <= this.s && this.s <= 1 || isNaN(this.s))\n && (0 <= this.l && this.l <= 1)\n && (0 <= this.opacity && this.opacity <= 1);\n },\n formatHsl() {\n const a = clampa(this.opacity);\n return `${a === 1 ? \"hsl(\" : \"hsla(\"}${clamph(this.h)}, ${clampt(this.s) * 100}%, ${clampt(this.l) * 100}%${a === 1 ? \")\" : `, ${a})`}`;\n }\n}));\n\nfunction clamph(value) {\n value = (value || 0) % 360;\n return value < 0 ? value + 360 : value;\n}\n\nfunction clampt(value) {\n return Math.max(0, Math.min(1, value || 0));\n}\n\n/* From FvD 13.37, CSS Color Module Level 3 */\nfunction hsl2rgb(h, m1, m2) {\n return (h < 60 ? m1 + (m2 - m1) * h / 60\n : h < 180 ? m2\n : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60\n : m1) * 255;\n}\n","export function basis(t1, v0, v1, v2, v3) {\n var t2 = t1 * t1, t3 = t2 * t1;\n return ((1 - 3 * t1 + 3 * t2 - t3) * v0\n + (4 - 6 * t2 + 3 * t3) * v1\n + (1 + 3 * t1 + 3 * t2 - 3 * t3) * v2\n + t3 * v3) / 6;\n}\n\nexport default function(values) {\n var n = values.length - 1;\n return function(t) {\n var i = t <= 0 ? (t = 0) : t >= 1 ? (t = 1, n - 1) : Math.floor(t * n),\n v1 = values[i],\n v2 = values[i + 1],\n v0 = i > 0 ? values[i - 1] : 2 * v1 - v2,\n v3 = i < n - 1 ? values[i + 2] : 2 * v2 - v1;\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","export default x => () => x;\n","import constant from \"./constant.js\";\n\nfunction linear(a, d) {\n return function(t) {\n return a + t * d;\n };\n}\n\nfunction exponential(a, b, y) {\n return a = Math.pow(a, y), b = Math.pow(b, y) - a, y = 1 / y, function(t) {\n return Math.pow(a + t * b, y);\n };\n}\n\nexport function hue(a, b) {\n var d = b - a;\n return d ? linear(a, d > 180 || d < -180 ? d - 360 * Math.round(d / 360) : d) : constant(isNaN(a) ? b : a);\n}\n\nexport function gamma(y) {\n return (y = +y) === 1 ? nogamma : function(a, b) {\n return b - a ? exponential(a, b, y) : constant(isNaN(a) ? b : a);\n };\n}\n\nexport default function nogamma(a, b) {\n var d = b - a;\n return d ? linear(a, d) : constant(isNaN(a) ? b : a);\n}\n","import {rgb as colorRgb} from \"d3-color\";\nimport basis from \"./basis.js\";\nimport basisClosed from \"./basisClosed.js\";\nimport nogamma, {gamma} from \"./color.js\";\n\nexport default (function rgbGamma(y) {\n var color = gamma(y);\n\n function rgb(start, end) {\n var r = color((start = colorRgb(start)).r, (end = colorRgb(end)).r),\n g = color(start.g, end.g),\n b = color(start.b, end.b),\n opacity = nogamma(start.opacity, end.opacity);\n return function(t) {\n start.r = r(t);\n start.g = g(t);\n start.b = b(t);\n start.opacity = opacity(t);\n return start + \"\";\n };\n }\n\n rgb.gamma = rgbGamma;\n\n return rgb;\n})(1);\n\nfunction rgbSpline(spline) {\n return function(colors) {\n var n = colors.length,\n r = new Array(n),\n g = new Array(n),\n b = new Array(n),\n i, color;\n for (i = 0; i < n; ++i) {\n color = colorRgb(colors[i]);\n r[i] = color.r || 0;\n g[i] = color.g || 0;\n b[i] = color.b || 0;\n }\n r = spline(r);\n g = spline(g);\n b = spline(b);\n color.opacity = 1;\n return function(t) {\n color.r = r(t);\n color.g = g(t);\n color.b = b(t);\n return color + \"\";\n };\n };\n}\n\nexport var rgbBasis = rgbSpline(basis);\nexport var rgbBasisClosed = rgbSpline(basisClosed);\n","import {basis} from \"./basis.js\";\n\nexport default function(values) {\n var n = values.length;\n return function(t) {\n var i = Math.floor(((t %= 1) < 0 ? ++t : t) * n),\n v0 = values[(i + n - 1) % n],\n v1 = values[i % n],\n v2 = values[(i + 1) % n],\n v3 = values[(i + 2) % n];\n return basis((t - i / n) * n, v0, v1, v2, v3);\n };\n}\n","import number from \"./number.js\";\n\nvar reA = /[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,\n reB = new RegExp(reA.source, \"g\");\n\nfunction zero(b) {\n return function() {\n return b;\n };\n}\n\nfunction one(b) {\n return function(t) {\n return b(t) + \"\";\n };\n}\n\nexport default function(a, b) {\n var bi = reA.lastIndex = reB.lastIndex = 0, // scan index for next number in b\n am, // current match in a\n bm, // current match in b\n bs, // string preceding current number in b, if any\n i = -1, // index in s\n s = [], // string constants and placeholders\n q = []; // number interpolators\n\n // Coerce inputs to strings.\n a = a + \"\", b = b + \"\";\n\n // Interpolate pairs of numbers in a & b.\n while ((am = reA.exec(a))\n && (bm = reB.exec(b))) {\n if ((bs = bm.index) > bi) { // a string precedes the next number in b\n bs = b.slice(bi, bs);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n if ((am = am[0]) === (bm = bm[0])) { // numbers in a & b match\n if (s[i]) s[i] += bm; // coalesce with previous string\n else s[++i] = bm;\n } else { // interpolate non-matching numbers\n s[++i] = null;\n q.push({i: i, x: number(am, bm)});\n }\n bi = reB.lastIndex;\n }\n\n // Add remains of b.\n if (bi < b.length) {\n bs = b.slice(bi);\n if (s[i]) s[i] += bs; // coalesce with previous string\n else s[++i] = bs;\n }\n\n // Special optimization for only a single match.\n // Otherwise, interpolate each of the numbers and rejoin the string.\n return s.length < 2 ? (q[0]\n ? one(q[0].x)\n : zero(b))\n : (b = q.length, function(t) {\n for (var i = 0, o; i < b; ++i) s[(o = q[i]).i] = o.x(t);\n return s.join(\"\");\n });\n}\n","import {color} from \"d3-color\";\nimport {interpolateNumber, interpolateRgb, interpolateString} from \"d3-interpolate\";\n\nexport default function(a, b) {\n var c;\n return (typeof b === \"number\" ? interpolateNumber\n : b instanceof color ? interpolateRgb\n : (c = color(b)) ? (b = c, interpolateRgb)\n : interpolateString)(a, b);\n}\n","import {interpolateTransformSvg as interpolateTransform} from \"d3-interpolate\";\nimport {namespace} from \"d3-selection\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttribute(name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrConstantNS(fullname, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = this.getAttributeNS(fullname.space, fullname.local);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction attrFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttribute(name);\n string0 = this.getAttribute(name);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction attrFunctionNS(fullname, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0, value1 = value(this), string1;\n if (value1 == null) return void this.removeAttributeNS(fullname.space, fullname.local);\n string0 = this.getAttributeNS(fullname.space, fullname.local);\n string1 = value1 + \"\";\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name), i = fullname === \"transform\" ? interpolateTransform : interpolate;\n return this.attrTween(name, typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, tweenValue(this, \"attr.\" + name, value))\n : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname)\n : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));\n}\n","import {namespace} from \"d3-selection\";\n\nfunction attrInterpolate(name, i) {\n return function(t) {\n this.setAttribute(name, i.call(this, t));\n };\n}\n\nfunction attrInterpolateNS(fullname, i) {\n return function(t) {\n this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));\n };\n}\n\nfunction attrTweenNS(fullname, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolateNS(fullname, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nfunction attrTween(name, value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && attrInterpolate(name, i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value) {\n var key = \"attr.\" + name;\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n var fullname = namespace(name);\n return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));\n}\n","import {get, init} from \"./schedule.js\";\n\nfunction delayFunction(id, value) {\n return function() {\n init(this, id).delay = +value.apply(this, arguments);\n };\n}\n\nfunction delayConstant(id, value) {\n return value = +value, function() {\n init(this, id).delay = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? delayFunction\n : delayConstant)(id, value))\n : get(this.node(), id).delay;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction durationFunction(id, value) {\n return function() {\n set(this, id).duration = +value.apply(this, arguments);\n };\n}\n\nfunction durationConstant(id, value) {\n return value = +value, function() {\n set(this, id).duration = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each((typeof value === \"function\"\n ? durationFunction\n : durationConstant)(id, value))\n : get(this.node(), id).duration;\n}\n","import {get, set} from \"./schedule.js\";\n\nfunction easeConstant(id, value) {\n if (typeof value !== \"function\") throw new Error;\n return function() {\n set(this, id).ease = value;\n };\n}\n\nexport default function(value) {\n var id = this._id;\n\n return arguments.length\n ? this.each(easeConstant(id, value))\n : get(this.node(), id).ease;\n}\n","import {get, set, init} from \"./schedule.js\";\n\nfunction start(name) {\n return (name + \"\").trim().split(/^|\\s+/).every(function(t) {\n var i = t.indexOf(\".\");\n if (i >= 0) t = t.slice(0, i);\n return !t || t === \"start\";\n });\n}\n\nfunction onFunction(id, name, listener) {\n var on0, on1, sit = start(name) ? init : set;\n return function() {\n var schedule = sit(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) (on1 = (on0 = on).copy()).on(name, listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, listener) {\n var id = this._id;\n\n return arguments.length < 2\n ? get(this.node(), id).on.on(name)\n : this.each(onFunction(id, name, listener));\n}\n","import {selection} from \"d3-selection\";\n\nvar Selection = selection.prototype.constructor;\n\nexport default function() {\n return new Selection(this._groups, this._parents);\n}\n","import {interpolateTransformCss as interpolateTransform} from \"d3-interpolate\";\nimport {style} from \"d3-selection\";\nimport {set} from \"./schedule.js\";\nimport {tweenValue} from \"./tween.js\";\nimport interpolate from \"./interpolate.js\";\n\nfunction styleNull(name, interpolate) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n string1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, string10 = string1);\n };\n}\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, interpolate, value1) {\n var string00,\n string1 = value1 + \"\",\n interpolate0;\n return function() {\n var string0 = style(this, name);\n return string0 === string1 ? null\n : string0 === string00 ? interpolate0\n : interpolate0 = interpolate(string00 = string0, value1);\n };\n}\n\nfunction styleFunction(name, interpolate, value) {\n var string00,\n string10,\n interpolate0;\n return function() {\n var string0 = style(this, name),\n value1 = value(this),\n string1 = value1 + \"\";\n if (value1 == null) string1 = value1 = (this.style.removeProperty(name), style(this, name));\n return string0 === string1 ? null\n : string0 === string00 && string1 === string10 ? interpolate0\n : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));\n };\n}\n\nfunction styleMaybeRemove(id, name) {\n var on0, on1, listener0, key = \"style.\" + name, event = \"end.\" + key, remove;\n return function() {\n var schedule = set(this, id),\n on = schedule.on,\n listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0 || listener0 !== listener) (on1 = (on0 = on).copy()).on(event, listener0 = listener);\n\n schedule.on = on1;\n };\n}\n\nexport default function(name, value, priority) {\n var i = (name += \"\") === \"transform\" ? interpolateTransform : interpolate;\n return value == null ? this\n .styleTween(name, styleNull(name, i))\n .on(\"end.style.\" + name, styleRemove(name))\n : typeof value === \"function\" ? this\n .styleTween(name, styleFunction(name, i, tweenValue(this, \"style.\" + name, value)))\n .each(styleMaybeRemove(this._id, name))\n : this\n .styleTween(name, styleConstant(name, i, value), priority)\n .on(\"end.style.\" + name, null);\n}\n","function styleInterpolate(name, i, priority) {\n return function(t) {\n this.style.setProperty(name, i.call(this, t), priority);\n };\n}\n\nfunction styleTween(name, value, priority) {\n var t, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t = (i0 = i) && styleInterpolate(name, i, priority);\n return t;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(name, value, priority) {\n var key = \"style.\" + (name += \"\");\n if (arguments.length < 2) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, styleTween(name, value, priority == null ? \"\" : priority));\n}\n","function textInterpolate(i) {\n return function(t) {\n this.textContent = i.call(this, t);\n };\n}\n\nfunction textTween(value) {\n var t0, i0;\n function tween() {\n var i = value.apply(this, arguments);\n if (i !== i0) t0 = (i0 = i) && textInterpolate(i);\n return t0;\n }\n tween._value = value;\n return tween;\n}\n\nexport default function(value) {\n var key = \"text\";\n if (arguments.length < 1) return (key = this.tween(key)) && key._value;\n if (value == null) return this.tween(key, null);\n if (typeof value !== \"function\") throw new Error;\n return this.tween(key, textTween(value));\n}\n","import {selection} from \"d3-selection\";\nimport transition_attr from \"./attr.js\";\nimport transition_attrTween from \"./attrTween.js\";\nimport transition_delay from \"./delay.js\";\nimport transition_duration from \"./duration.js\";\nimport transition_ease from \"./ease.js\";\nimport transition_easeVarying from \"./easeVarying.js\";\nimport transition_filter from \"./filter.js\";\nimport transition_merge from \"./merge.js\";\nimport transition_on from \"./on.js\";\nimport transition_remove from \"./remove.js\";\nimport transition_select from \"./select.js\";\nimport transition_selectAll from \"./selectAll.js\";\nimport transition_selection from \"./selection.js\";\nimport transition_style from \"./style.js\";\nimport transition_styleTween from \"./styleTween.js\";\nimport transition_text from \"./text.js\";\nimport transition_textTween from \"./textTween.js\";\nimport transition_transition from \"./transition.js\";\nimport transition_tween from \"./tween.js\";\nimport transition_end from \"./end.js\";\n\nvar id = 0;\n\nexport function Transition(groups, parents, name, id) {\n this._groups = groups;\n this._parents = parents;\n this._name = name;\n this._id = id;\n}\n\nexport default function transition(name) {\n return selection().transition(name);\n}\n\nexport function newId() {\n return ++id;\n}\n\nvar selection_prototype = selection.prototype;\n\nTransition.prototype = transition.prototype = {\n constructor: Transition,\n select: transition_select,\n selectAll: transition_selectAll,\n selectChild: selection_prototype.selectChild,\n selectChildren: selection_prototype.selectChildren,\n filter: transition_filter,\n merge: transition_merge,\n selection: transition_selection,\n transition: transition_transition,\n call: selection_prototype.call,\n nodes: selection_prototype.nodes,\n node: selection_prototype.node,\n size: selection_prototype.size,\n empty: selection_prototype.empty,\n each: selection_prototype.each,\n on: transition_on,\n attr: transition_attr,\n attrTween: transition_attrTween,\n style: transition_style,\n styleTween: transition_styleTween,\n text: transition_text,\n textTween: transition_textTween,\n remove: transition_remove,\n tween: transition_tween,\n delay: transition_delay,\n duration: transition_duration,\n ease: transition_ease,\n easeVarying: transition_easeVarying,\n end: transition_end,\n [Symbol.iterator]: selection_prototype[Symbol.iterator]\n};\n","import {selector} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n schedule(subgroup[i], name, id, i, subgroup, get(node, id));\n }\n }\n }\n\n return new Transition(subgroups, this._parents, name, id);\n}\n","import {selectorAll} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function(select) {\n var name = this._name,\n id = this._id;\n\n if (typeof select !== \"function\") select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n for (var children = select.call(node, node.__data__, i, group), child, inherit = get(node, id), k = 0, l = children.length; k < l; ++k) {\n if (child = children[k]) {\n schedule(child, name, id, k, children, inherit);\n }\n }\n subgroups.push(children);\n parents.push(node);\n }\n }\n }\n\n return new Transition(subgroups, parents, name, id);\n}\n","import {matcher} from \"d3-selection\";\nimport {Transition} from \"./index.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Transition(subgroups, this._parents, this._name, this._id);\n}\n","import {Transition} from \"./index.js\";\n\nexport default function(transition) {\n if (transition._id !== this._id) throw new Error;\n\n for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Transition(merges, this._parents, this._name, this._id);\n}\n","import {Transition, newId} from \"./index.js\";\nimport schedule, {get} from \"./schedule.js\";\n\nexport default function() {\n var name = this._name,\n id0 = this._id,\n id1 = newId();\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n var inherit = get(node, id0);\n schedule(node, name, id1, i, group, {\n time: inherit.time + inherit.delay + inherit.duration,\n delay: 0,\n duration: inherit.duration,\n ease: inherit.ease\n });\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id1);\n}\n","import {tweenValue} from \"./tween.js\";\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var value1 = value(this);\n this.textContent = value1 == null ? \"\" : value1;\n };\n}\n\nexport default function(value) {\n return this.tween(\"text\", typeof value === \"function\"\n ? textFunction(tweenValue(this, \"text\", value))\n : textConstant(value == null ? \"\" : value + \"\"));\n}\n","function removeFunction(id) {\n return function() {\n var parent = this.parentNode;\n for (var i in this.__transition) if (+i !== id) return;\n if (parent) parent.removeChild(this);\n };\n}\n\nexport default function() {\n return this.on(\"end.remove\", removeFunction(this._id));\n}\n","import {set} from \"./schedule.js\";\n\nfunction easeVarying(id, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (typeof v !== \"function\") throw new Error;\n set(this, id).ease = v;\n };\n}\n\nexport default function(value) {\n if (typeof value !== \"function\") throw new Error;\n return this.each(easeVarying(this._id, value));\n}\n","import {set} from \"./schedule.js\";\n\nexport default function() {\n var on0, on1, that = this, id = that._id, size = that.size();\n return new Promise(function(resolve, reject) {\n var cancel = {value: reject},\n end = {value: function() { if (--size === 0) resolve(); }};\n\n that.each(function() {\n var schedule = set(this, id),\n on = schedule.on;\n\n // If this node shared a dispatch with the previous node,\n // just assign the updated shared dispatch and we’re done!\n // Otherwise, copy-on-write.\n if (on !== on0) {\n on1 = (on0 = on).copy();\n on1._.cancel.push(cancel);\n on1._.interrupt.push(cancel);\n on1._.end.push(end);\n }\n\n schedule.on = on1;\n });\n\n // The selection was empty, resolve end immediately\n if (size === 0) resolve();\n });\n}\n","import {Transition, newId} from \"../transition/index.js\";\nimport schedule from \"../transition/schedule.js\";\nimport {easeCubicInOut} from \"d3-ease\";\nimport {now} from \"d3-timer\";\n\nvar defaultTiming = {\n time: null, // Set on use.\n delay: 0,\n duration: 250,\n ease: easeCubicInOut\n};\n\nfunction inherit(node, id) {\n var timing;\n while (!(timing = node.__transition) || !(timing = timing[id])) {\n if (!(node = node.parentNode)) {\n throw new Error(`transition ${id} not found`);\n }\n }\n return timing;\n}\n\nexport default function(name) {\n var id,\n timing;\n\n if (name instanceof Transition) {\n id = name._id, name = name._name;\n } else {\n id = newId(), (timing = defaultTiming).time = now(), name = name == null ? null : name + \"\";\n }\n\n for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n schedule(node, name, id, i, group, timing || inherit(node, id));\n }\n }\n }\n\n return new Transition(groups, this._parents, name, id);\n}\n","export function cubicIn(t) {\n return t * t * t;\n}\n\nexport function cubicOut(t) {\n return --t * t * t + 1;\n}\n\nexport function cubicInOut(t) {\n return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;\n}\n","import {selection} from \"d3-selection\";\nimport selection_interrupt from \"./interrupt.js\";\nimport selection_transition from \"./transition.js\";\n\nselection.prototype.interrupt = selection_interrupt;\nselection.prototype.transition = selection_transition;\n","import interrupt from \"../interrupt.js\";\n\nexport default function(name) {\n return this.each(function() {\n interrupt(this, name);\n });\n}\n","export default x => () => x;\n","export default function ZoomEvent(type, {\n sourceEvent,\n target,\n transform,\n dispatch\n}) {\n Object.defineProperties(this, {\n type: {value: type, enumerable: true, configurable: true},\n sourceEvent: {value: sourceEvent, enumerable: true, configurable: true},\n target: {value: target, enumerable: true, configurable: true},\n transform: {value: transform, enumerable: true, configurable: true},\n _: {value: dispatch}\n });\n}\n","export function Transform(k, x, y) {\n this.k = k;\n this.x = x;\n this.y = y;\n}\n\nTransform.prototype = {\n constructor: Transform,\n scale: function(k) {\n return k === 1 ? this : new Transform(this.k * k, this.x, this.y);\n },\n translate: function(x, y) {\n return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);\n },\n apply: function(point) {\n return [point[0] * this.k + this.x, point[1] * this.k + this.y];\n },\n applyX: function(x) {\n return x * this.k + this.x;\n },\n applyY: function(y) {\n return y * this.k + this.y;\n },\n invert: function(location) {\n return [(location[0] - this.x) / this.k, (location[1] - this.y) / this.k];\n },\n invertX: function(x) {\n return (x - this.x) / this.k;\n },\n invertY: function(y) {\n return (y - this.y) / this.k;\n },\n rescaleX: function(x) {\n return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));\n },\n rescaleY: function(y) {\n return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));\n },\n toString: function() {\n return \"translate(\" + this.x + \",\" + this.y + \") scale(\" + this.k + \")\";\n }\n};\n\nexport var identity = new Transform(1, 0, 0);\n\ntransform.prototype = Transform.prototype;\n\nexport default function transform(node) {\n while (!node.__zoom) if (!(node = node.parentNode)) return identity;\n return node.__zoom;\n}\n","export function nopropagation(event) {\n event.stopImmediatePropagation();\n}\n\nexport default function(event) {\n event.preventDefault();\n event.stopImmediatePropagation();\n}\n","import {dispatch} from \"d3-dispatch\";\nimport {dragDisable, dragEnable} from \"d3-drag\";\nimport {interpolateZoom} from \"d3-interpolate\";\nimport {select, pointer} from \"d3-selection\";\nimport {interrupt} from \"d3-transition\";\nimport constant from \"./constant.js\";\nimport ZoomEvent from \"./event.js\";\nimport {Transform, identity} from \"./transform.js\";\nimport noevent, {nopropagation} from \"./noevent.js\";\n\n// Ignore right-click, since that should open the context menu.\n// except for pinch-to-zoom, which is sent as a wheel+ctrlKey event\nfunction defaultFilter(event) {\n return (!event.ctrlKey || event.type === 'wheel') && !event.button;\n}\n\nfunction defaultExtent() {\n var e = this;\n if (e instanceof SVGElement) {\n e = e.ownerSVGElement || e;\n if (e.hasAttribute(\"viewBox\")) {\n e = e.viewBox.baseVal;\n return [[e.x, e.y], [e.x + e.width, e.y + e.height]];\n }\n return [[0, 0], [e.width.baseVal.value, e.height.baseVal.value]];\n }\n return [[0, 0], [e.clientWidth, e.clientHeight]];\n}\n\nfunction defaultTransform() {\n return this.__zoom || identity;\n}\n\nfunction defaultWheelDelta(event) {\n return -event.deltaY * (event.deltaMode === 1 ? 0.05 : event.deltaMode ? 1 : 0.002) * (event.ctrlKey ? 10 : 1);\n}\n\nfunction defaultTouchable() {\n return navigator.maxTouchPoints || (\"ontouchstart\" in this);\n}\n\nfunction defaultConstrain(transform, extent, translateExtent) {\n var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0],\n dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0],\n dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1],\n dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];\n return transform.translate(\n dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1),\n dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1)\n );\n}\n\nexport default function() {\n var filter = defaultFilter,\n extent = defaultExtent,\n constrain = defaultConstrain,\n wheelDelta = defaultWheelDelta,\n touchable = defaultTouchable,\n scaleExtent = [0, Infinity],\n translateExtent = [[-Infinity, -Infinity], [Infinity, Infinity]],\n duration = 250,\n interpolate = interpolateZoom,\n listeners = dispatch(\"start\", \"zoom\", \"end\"),\n touchstarting,\n touchfirst,\n touchending,\n touchDelay = 500,\n wheelDelay = 150,\n clickDistance2 = 0,\n tapDistance = 10;\n\n function zoom(selection) {\n selection\n .property(\"__zoom\", defaultTransform)\n .on(\"wheel.zoom\", wheeled, {passive: false})\n .on(\"mousedown.zoom\", mousedowned)\n .on(\"dblclick.zoom\", dblclicked)\n .filter(touchable)\n .on(\"touchstart.zoom\", touchstarted)\n .on(\"touchmove.zoom\", touchmoved)\n .on(\"touchend.zoom touchcancel.zoom\", touchended)\n .style(\"-webkit-tap-highlight-color\", \"rgba(0,0,0,0)\");\n }\n\n zoom.transform = function(collection, transform, point, event) {\n var selection = collection.selection ? collection.selection() : collection;\n selection.property(\"__zoom\", defaultTransform);\n if (collection !== selection) {\n schedule(collection, transform, point, event);\n } else {\n selection.interrupt().each(function() {\n gesture(this, arguments)\n .event(event)\n .start()\n .zoom(null, typeof transform === \"function\" ? transform.apply(this, arguments) : transform)\n .end();\n });\n }\n };\n\n zoom.scaleBy = function(selection, k, p, event) {\n zoom.scaleTo(selection, function() {\n var k0 = this.__zoom.k,\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return k0 * k1;\n }, p, event);\n };\n\n zoom.scaleTo = function(selection, k, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t0 = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p,\n p1 = t0.invert(p0),\n k1 = typeof k === \"function\" ? k.apply(this, arguments) : k;\n return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);\n }, p, event);\n };\n\n zoom.translateBy = function(selection, x, y, event) {\n zoom.transform(selection, function() {\n return constrain(this.__zoom.translate(\n typeof x === \"function\" ? x.apply(this, arguments) : x,\n typeof y === \"function\" ? y.apply(this, arguments) : y\n ), extent.apply(this, arguments), translateExtent);\n }, null, event);\n };\n\n zoom.translateTo = function(selection, x, y, p, event) {\n zoom.transform(selection, function() {\n var e = extent.apply(this, arguments),\n t = this.__zoom,\n p0 = p == null ? centroid(e) : typeof p === \"function\" ? p.apply(this, arguments) : p;\n return constrain(identity.translate(p0[0], p0[1]).scale(t.k).translate(\n typeof x === \"function\" ? -x.apply(this, arguments) : -x,\n typeof y === \"function\" ? -y.apply(this, arguments) : -y\n ), e, translateExtent);\n }, p, event);\n };\n\n function scale(transform, k) {\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));\n return k === transform.k ? transform : new Transform(k, transform.x, transform.y);\n }\n\n function translate(transform, p0, p1) {\n var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;\n return x === transform.x && y === transform.y ? transform : new Transform(transform.k, x, y);\n }\n\n function centroid(extent) {\n return [(+extent[0][0] + +extent[1][0]) / 2, (+extent[0][1] + +extent[1][1]) / 2];\n }\n\n function schedule(transition, transform, point, event) {\n transition\n .on(\"start.zoom\", function() { gesture(this, arguments).event(event).start(); })\n .on(\"interrupt.zoom end.zoom\", function() { gesture(this, arguments).event(event).end(); })\n .tween(\"zoom\", function() {\n var that = this,\n args = arguments,\n g = gesture(that, args).event(event),\n e = extent.apply(that, args),\n p = point == null ? centroid(e) : typeof point === \"function\" ? point.apply(that, args) : point,\n w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]),\n a = that.__zoom,\n b = typeof transform === \"function\" ? transform.apply(that, args) : transform,\n i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));\n return function(t) {\n if (t === 1) t = b; // Avoid rounding error on end.\n else { var l = i(t), k = w / l[2]; t = new Transform(k, p[0] - l[0] * k, p[1] - l[1] * k); }\n g.zoom(null, t);\n };\n });\n }\n\n function gesture(that, args, clean) {\n return (!clean && that.__zooming) || new Gesture(that, args);\n }\n\n function Gesture(that, args) {\n this.that = that;\n this.args = args;\n this.active = 0;\n this.sourceEvent = null;\n this.extent = extent.apply(that, args);\n this.taps = 0;\n }\n\n Gesture.prototype = {\n event: function(event) {\n if (event) this.sourceEvent = event;\n return this;\n },\n start: function() {\n if (++this.active === 1) {\n this.that.__zooming = this;\n this.emit(\"start\");\n }\n return this;\n },\n zoom: function(key, transform) {\n if (this.mouse && key !== \"mouse\") this.mouse[1] = transform.invert(this.mouse[0]);\n if (this.touch0 && key !== \"touch\") this.touch0[1] = transform.invert(this.touch0[0]);\n if (this.touch1 && key !== \"touch\") this.touch1[1] = transform.invert(this.touch1[0]);\n this.that.__zoom = transform;\n this.emit(\"zoom\");\n return this;\n },\n end: function() {\n if (--this.active === 0) {\n delete this.that.__zooming;\n this.emit(\"end\");\n }\n return this;\n },\n emit: function(type) {\n var d = select(this.that).datum();\n listeners.call(\n type,\n this.that,\n new ZoomEvent(type, {\n sourceEvent: this.sourceEvent,\n target: zoom,\n type,\n transform: this.that.__zoom,\n dispatch: listeners\n }),\n d\n );\n }\n };\n\n function wheeled(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var g = gesture(this, args).event(event),\n t = this.__zoom,\n k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))),\n p = pointer(event);\n\n // If the mouse is in the same location as before, reuse it.\n // If there were recent wheel events, reset the wheel idle timeout.\n if (g.wheel) {\n if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {\n g.mouse[1] = t.invert(g.mouse[0] = p);\n }\n clearTimeout(g.wheel);\n }\n\n // If this wheel event won’t trigger a transform change, ignore it.\n else if (t.k === k) return;\n\n // Otherwise, capture the mouse point and location at the start.\n else {\n g.mouse = [p, t.invert(p)];\n interrupt(this);\n g.start();\n }\n\n noevent(event);\n g.wheel = setTimeout(wheelidled, wheelDelay);\n g.zoom(\"mouse\", constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));\n\n function wheelidled() {\n g.wheel = null;\n g.end();\n }\n }\n\n function mousedowned(event, ...args) {\n if (touchending || !filter.apply(this, arguments)) return;\n var currentTarget = event.currentTarget,\n g = gesture(this, args, true).event(event),\n v = select(event.view).on(\"mousemove.zoom\", mousemoved, true).on(\"mouseup.zoom\", mouseupped, true),\n p = pointer(event, currentTarget),\n x0 = event.clientX,\n y0 = event.clientY;\n\n dragDisable(event.view);\n nopropagation(event);\n g.mouse = [p, this.__zoom.invert(p)];\n interrupt(this);\n g.start();\n\n function mousemoved(event) {\n noevent(event);\n if (!g.moved) {\n var dx = event.clientX - x0, dy = event.clientY - y0;\n g.moved = dx * dx + dy * dy > clickDistance2;\n }\n g.event(event)\n .zoom(\"mouse\", constrain(translate(g.that.__zoom, g.mouse[0] = pointer(event, currentTarget), g.mouse[1]), g.extent, translateExtent));\n }\n\n function mouseupped(event) {\n v.on(\"mousemove.zoom mouseup.zoom\", null);\n dragEnable(event.view, g.moved);\n noevent(event);\n g.event(event).end();\n }\n }\n\n function dblclicked(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var t0 = this.__zoom,\n p0 = pointer(event.changedTouches ? event.changedTouches[0] : event, this),\n p1 = t0.invert(p0),\n k1 = t0.k * (event.shiftKey ? 0.5 : 2),\n t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, args), translateExtent);\n\n noevent(event);\n if (duration > 0) select(this).transition().duration(duration).call(schedule, t1, p0, event);\n else select(this).call(zoom.transform, t1, p0, event);\n }\n\n function touchstarted(event, ...args) {\n if (!filter.apply(this, arguments)) return;\n var touches = event.touches,\n n = touches.length,\n g = gesture(this, args, event.changedTouches.length === n).event(event),\n started, i, t, p;\n\n nopropagation(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n p = [p, this.__zoom.invert(p), t.identifier];\n if (!g.touch0) g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;\n else if (!g.touch1 && g.touch0[2] !== p[2]) g.touch1 = p, g.taps = 0;\n }\n\n if (touchstarting) touchstarting = clearTimeout(touchstarting);\n\n if (started) {\n if (g.taps < 2) touchfirst = p[0], touchstarting = setTimeout(function() { touchstarting = null; }, touchDelay);\n interrupt(this);\n g.start();\n }\n }\n\n function touchmoved(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t, p, l;\n\n noevent(event);\n for (i = 0; i < n; ++i) {\n t = touches[i], p = pointer(t, this);\n if (g.touch0 && g.touch0[2] === t.identifier) g.touch0[0] = p;\n else if (g.touch1 && g.touch1[2] === t.identifier) g.touch1[0] = p;\n }\n t = g.that.__zoom;\n if (g.touch1) {\n var p0 = g.touch0[0], l0 = g.touch0[1],\n p1 = g.touch1[0], l1 = g.touch1[1],\n dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp,\n dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;\n t = scale(t, Math.sqrt(dp / dl));\n p = [(p0[0] + p1[0]) / 2, (p0[1] + p1[1]) / 2];\n l = [(l0[0] + l1[0]) / 2, (l0[1] + l1[1]) / 2];\n }\n else if (g.touch0) p = g.touch0[0], l = g.touch0[1];\n else return;\n\n g.zoom(\"touch\", constrain(translate(t, p, l), g.extent, translateExtent));\n }\n\n function touchended(event, ...args) {\n if (!this.__zooming) return;\n var g = gesture(this, args).event(event),\n touches = event.changedTouches,\n n = touches.length, i, t;\n\n nopropagation(event);\n if (touchending) clearTimeout(touchending);\n touchending = setTimeout(function() { touchending = null; }, touchDelay);\n for (i = 0; i < n; ++i) {\n t = touches[i];\n if (g.touch0 && g.touch0[2] === t.identifier) delete g.touch0;\n else if (g.touch1 && g.touch1[2] === t.identifier) delete g.touch1;\n }\n if (g.touch1 && !g.touch0) g.touch0 = g.touch1, delete g.touch1;\n if (g.touch0) g.touch0[1] = this.__zoom.invert(g.touch0[0]);\n else {\n g.end();\n // If this was a dbltap, reroute to the (optional) dblclick.zoom handler.\n if (g.taps === 2) {\n t = pointer(t, this);\n if (Math.hypot(touchfirst[0] - t[0], touchfirst[1] - t[1]) < tapDistance) {\n var p = select(this).on(\"dblclick.zoom\");\n if (p) p.apply(this, arguments);\n }\n }\n }\n }\n\n zoom.wheelDelta = function(_) {\n return arguments.length ? (wheelDelta = typeof _ === \"function\" ? _ : constant(+_), zoom) : wheelDelta;\n };\n\n zoom.filter = function(_) {\n return arguments.length ? (filter = typeof _ === \"function\" ? _ : constant(!!_), zoom) : filter;\n };\n\n zoom.touchable = function(_) {\n return arguments.length ? (touchable = typeof _ === \"function\" ? _ : constant(!!_), zoom) : touchable;\n };\n\n zoom.extent = function(_) {\n return arguments.length ? (extent = typeof _ === \"function\" ? _ : constant([[+_[0][0], +_[0][1]], [+_[1][0], +_[1][1]]]), zoom) : extent;\n };\n\n zoom.scaleExtent = function(_) {\n return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [scaleExtent[0], scaleExtent[1]];\n };\n\n zoom.translateExtent = function(_) {\n return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [[translateExtent[0][0], translateExtent[0][1]], [translateExtent[1][0], translateExtent[1][1]]];\n };\n\n zoom.constrain = function(_) {\n return arguments.length ? (constrain = _, zoom) : constrain;\n };\n\n zoom.duration = function(_) {\n return arguments.length ? (duration = +_, zoom) : duration;\n };\n\n zoom.interpolate = function(_) {\n return arguments.length ? (interpolate = _, zoom) : interpolate;\n };\n\n zoom.on = function() {\n var value = listeners.on.apply(listeners, arguments);\n return value === listeners ? zoom : value;\n };\n\n zoom.clickDistance = function(_) {\n return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);\n };\n\n zoom.tapDistance = function(_) {\n return arguments.length ? (tapDistance = +_, zoom) : tapDistance;\n };\n\n return zoom;\n}\n","var has = Object.prototype.hasOwnProperty;\n\nexport function dequal(foo, bar) {\n\tvar ctor, len;\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 || 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","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;","import React from 'react';\nimport { TransitionGroup } from '@bkrem/react-transition-group';\nconst TransitionGroupWrapper = (props) => props.enableLegacyTransitions ? (React.createElement(TransitionGroup, { component: props.component, className: props.className, transform: props.transform }, props.children)) : (React.createElement(\"g\", { className: props.className, transform: props.transform }, props.children));\nexport default TransitionGroupWrapper;\n","import React from 'react';\nconst DEFAULT_NODE_CIRCLE_RADIUS = 15;\nconst textLayout = {\n title: {\n textAnchor: 'start',\n x: 40,\n },\n attribute: {\n x: 40,\n dy: '1.2em',\n },\n};\nconst DefaultNodeElement = ({ nodeDatum, toggleNode, onNodeClick, onNodeMouseOver, onNodeMouseOut, }) => (React.createElement(React.Fragment, null,\n React.createElement(\"circle\", { r: DEFAULT_NODE_CIRCLE_RADIUS, onClick: evt => {\n toggleNode();\n onNodeClick(evt);\n }, onMouseOver: onNodeMouseOver, onMouseOut: onNodeMouseOut }),\n React.createElement(\"g\", { className: \"rd3t-label\" },\n React.createElement(\"text\", Object.assign({ className: \"rd3t-label__title\" }, textLayout.title), nodeDatum.name),\n React.createElement(\"text\", { className: \"rd3t-label__attributes\" }, nodeDatum.attributes &&\n Object.entries(nodeDatum.attributes).map(([labelKey, labelValue], i) => (React.createElement(\"tspan\", Object.assign({ key: `${labelKey}-${i}` }, textLayout.attribute),\n labelKey,\n \": \",\n typeof labelValue === 'boolean' ? labelValue.toString() : labelValue)))))));\nexport default DefaultNodeElement;\n","import React from 'react';\nimport { select } from 'd3-selection';\nimport DefaultNodeElement from './DefaultNodeElement.js';\nexport default class Node extends React.Component {\n constructor() {\n super(...arguments);\n this.nodeRef = null;\n this.state = {\n transform: this.setTransform(this.props.position, this.props.parent, this.props.orientation, true),\n initialStyle: {\n opacity: 0,\n },\n wasClicked: false,\n };\n this.shouldNodeTransform = (ownProps, nextProps, ownState, nextState) => nextProps.subscriptions !== ownProps.subscriptions ||\n nextProps.position.x !== ownProps.position.x ||\n nextProps.position.y !== ownProps.position.y ||\n nextProps.orientation !== ownProps.orientation ||\n nextState.wasClicked !== ownState.wasClicked;\n // TODO: needs tests\n this.renderNodeElement = () => {\n const { data, hierarchyPointNode, renderCustomNodeElement } = this.props;\n const renderNode = typeof renderCustomNodeElement === 'function' ? renderCustomNodeElement : DefaultNodeElement;\n const nodeProps = {\n hierarchyPointNode: hierarchyPointNode,\n nodeDatum: data,\n toggleNode: this.handleNodeToggle,\n onNodeClick: this.handleOnClick,\n onNodeMouseOver: this.handleOnMouseOver,\n onNodeMouseOut: this.handleOnMouseOut,\n addChildren: this.handleAddChildren,\n };\n return renderNode(nodeProps);\n };\n this.handleNodeToggle = () => {\n this.setState({ wasClicked: true });\n this.props.onNodeToggle(this.props.data.__rd3t.id);\n };\n this.handleOnClick = evt => {\n this.setState({ wasClicked: true });\n this.props.onNodeClick(this.props.hierarchyPointNode, evt);\n };\n this.handleOnMouseOver = evt => {\n this.props.onNodeMouseOver(this.props.hierarchyPointNode, evt);\n };\n this.handleOnMouseOut = evt => {\n this.props.onNodeMouseOut(this.props.hierarchyPointNode, evt);\n };\n this.handleAddChildren = childrenData => {\n this.props.handleAddChildrenToNode(this.props.data.__rd3t.id, childrenData);\n };\n }\n componentDidMount() {\n this.commitTransform();\n }\n componentDidUpdate() {\n if (this.state.wasClicked) {\n this.props.centerNode(this.props.hierarchyPointNode);\n this.setState({ wasClicked: false });\n }\n this.commitTransform();\n }\n shouldComponentUpdate(nextProps, nextState) {\n return this.shouldNodeTransform(this.props, nextProps, this.state, nextState);\n }\n setTransform(position, parent, orientation, shouldTranslateToOrigin = false) {\n if (shouldTranslateToOrigin) {\n const hasParent = parent !== null && parent !== undefined;\n const originX = hasParent ? parent.x : 0;\n const originY = hasParent ? parent.y : 0;\n return orientation === 'horizontal'\n ? `translate(${originY},${originX})`\n : `translate(${originX},${originY})`;\n }\n return orientation === 'horizontal'\n ? `translate(${position.y},${position.x})`\n : `translate(${position.x},${position.y})`;\n }\n applyTransform(transform, transitionDuration, opacity = 1, done = () => { }) {\n if (this.props.enableLegacyTransitions) {\n select(this.nodeRef)\n // @ts-ignore\n .transition()\n .duration(transitionDuration)\n .attr('transform', transform)\n .style('opacity', opacity)\n .on('end', done);\n }\n else {\n select(this.nodeRef)\n .attr('transform', transform)\n .style('opacity', opacity);\n done();\n }\n }\n commitTransform() {\n const { orientation, transitionDuration, position, parent } = this.props;\n const transform = this.setTransform(position, parent, orientation);\n this.applyTransform(transform, transitionDuration);\n }\n componentWillLeave(done) {\n const { orientation, transitionDuration, position, parent } = this.props;\n const transform = this.setTransform(position, parent, orientation, true);\n this.applyTransform(transform, transitionDuration, 0, done);\n }\n render() {\n const { data, nodeClassName } = this.props;\n return (React.createElement(\"g\", { id: data.__rd3t.id, ref: n => {\n this.nodeRef = n;\n }, style: this.state.initialStyle, className: [\n data.children && data.children.length > 0 ? 'rd3t-node' : 'rd3t-leaf-node',\n nodeClassName,\n ]\n .join(' ')\n .trim(), transform: this.state.transform }, this.renderNodeElement()));\n }\n}\n","var pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction Path() {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n}\n\nfunction path() {\n return new Path;\n}\n\nPath.prototype = path.prototype = {\n constructor: Path,\n moveTo: function(x, y) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y);\n },\n closePath: function() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._ += \"Z\";\n }\n },\n lineTo: function(x, y) {\n this._ += \"L\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n quadraticCurveTo: function(x1, y1, x, y) {\n this._ += \"Q\" + (+x1) + \",\" + (+y1) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n bezierCurveTo: function(x1, y1, x2, y2, x, y) {\n this._ += \"C\" + (+x1) + \",\" + (+y1) + \",\" + (+x2) + \",\" + (+y2) + \",\" + (this._x1 = +x) + \",\" + (this._y1 = +y);\n },\n arcTo: function(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n var x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._ += \"M\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._ += \"L\" + (this._x1 = x1) + \",\" + (this._y1 = y1);\n }\n\n // Otherwise, draw an arc!\n else {\n var x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._ += \"L\" + (x1 + t01 * x01) + \",\" + (y1 + t01 * y01);\n }\n\n this._ += \"A\" + r + \",\" + r + \",0,0,\" + (+(y01 * x20 > x01 * y20)) + \",\" + (this._x1 = x1 + t21 * x21) + \",\" + (this._y1 = y1 + t21 * y21);\n }\n },\n arc: function(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n var dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(\"negative radius: \" + r);\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._ += \"M\" + x0 + \",\" + y0;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._ += \"L\" + x0 + \",\" + y0;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (x - dx) + \",\" + (y - dy) + \"A\" + r + \",\" + r + \",0,1,\" + cw + \",\" + (this._x1 = x0) + \",\" + (this._y1 = y0);\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._ += \"A\" + r + \",\" + r + \",0,\" + (+(da >= pi)) + \",\" + cw + \",\" + (this._x1 = x + r * Math.cos(a1)) + \",\" + (this._y1 = y + r * Math.sin(a1));\n }\n },\n rect: function(x, y, w, h) {\n this._ += \"M\" + (this._x0 = this._x1 = +x) + \",\" + (this._y0 = this._y1 = +y) + \"h\" + (+w) + \"v\" + (+h) + \"h\" + (-w) + \"Z\";\n },\n toString: function() {\n return this._;\n }\n};\n\nexport default path;\n","export var slice = Array.prototype.slice;\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function x(p) {\n return p[0];\n}\n\nexport function y(p) {\n return p[1];\n}\n","import {path} from \"d3-path\";\nimport {slice} from \"../array.js\";\nimport constant from \"../constant.js\";\nimport {x as pointX, y as pointY} from \"../point.js\";\nimport pointRadial from \"../pointRadial.js\";\n\nfunction linkSource(d) {\n return d.source;\n}\n\nfunction linkTarget(d) {\n return d.target;\n}\n\nfunction link(curve) {\n var source = linkSource,\n target = linkTarget,\n x = pointX,\n y = pointY,\n context = null;\n\n function link() {\n var buffer, argv = slice.call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);\n if (!context) context = buffer = path();\n curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n link.source = function(_) {\n return arguments.length ? (source = _, link) : source;\n };\n\n link.target = function(_) {\n return arguments.length ? (target = _, link) : target;\n };\n\n link.x = function(_) {\n return arguments.length ? (x = typeof _ === \"function\" ? _ : constant(+_), link) : x;\n };\n\n link.y = function(_) {\n return arguments.length ? (y = typeof _ === \"function\" ? _ : constant(+_), link) : y;\n };\n\n link.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), link) : context;\n };\n\n return link;\n}\n\nfunction curveHorizontal(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);\n}\n\nfunction curveVertical(context, x0, y0, x1, y1) {\n context.moveTo(x0, y0);\n context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);\n}\n\nfunction curveRadial(context, x0, y0, x1, y1) {\n var p0 = pointRadial(x0, y0),\n p1 = pointRadial(x0, y0 = (y0 + y1) / 2),\n p2 = pointRadial(x1, y0),\n p3 = pointRadial(x1, y1);\n context.moveTo(p0[0], p0[1]);\n context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);\n}\n\nexport function linkHorizontal() {\n return link(curveHorizontal);\n}\n\nexport function linkVertical() {\n return link(curveVertical);\n}\n\nexport function linkRadial() {\n var l = link(curveRadial);\n l.angle = l.x, delete l.x;\n l.radius = l.y, delete l.y;\n return l;\n}\n","import React from 'react';\nimport { linkHorizontal, linkVertical } from 'd3-shape';\nimport { select } from 'd3-selection';\nexport default class Link extends React.PureComponent {\n constructor() {\n super(...arguments);\n this.linkRef = null;\n this.state = {\n initialStyle: {\n opacity: 0,\n },\n };\n this.handleOnClick = evt => {\n this.props.onClick(this.props.linkData.source, this.props.linkData.target, evt);\n };\n this.handleOnMouseOver = evt => {\n this.props.onMouseOver(this.props.linkData.source, this.props.linkData.target, evt);\n };\n this.handleOnMouseOut = evt => {\n this.props.onMouseOut(this.props.linkData.source, this.props.linkData.target, evt);\n };\n }\n componentDidMount() {\n this.applyOpacity(1, this.props.transitionDuration);\n }\n componentWillLeave(done) {\n this.applyOpacity(0, this.props.transitionDuration, done);\n }\n applyOpacity(opacity, transitionDuration, done = () => { }) {\n if (this.props.enableLegacyTransitions) {\n select(this.linkRef)\n // @ts-ignore\n .transition()\n .duration(transitionDuration)\n .style('opacity', opacity)\n .on('end', done);\n }\n else {\n select(this.linkRef).style('opacity', opacity);\n done();\n }\n }\n drawStepPath(linkData, orientation) {\n const { source, target } = linkData;\n const deltaY = target.y - source.y;\n return orientation === 'horizontal'\n ? `M${source.y},${source.x} H${source.y + deltaY / 2} V${target.x} H${target.y}`\n : `M${source.x},${source.y} V${source.y + deltaY / 2} H${target.x} V${target.y}`;\n }\n drawDiagonalPath(linkData, orientation) {\n const { source, target } = linkData;\n return orientation === 'horizontal'\n ? linkHorizontal()({\n source: [source.y, source.x],\n target: [target.y, target.x],\n })\n : linkVertical()({\n source: [source.x, source.y],\n target: [target.x, target.y],\n });\n }\n drawStraightPath(linkData, orientation) {\n const { source, target } = linkData;\n return orientation === 'horizontal'\n ? `M${source.y},${source.x}L${target.y},${target.x}`\n : `M${source.x},${source.y}L${target.x},${target.y}`;\n }\n drawElbowPath(linkData, orientation) {\n return orientation === 'horizontal'\n ? `M${linkData.source.y},${linkData.source.x}V${linkData.target.x}H${linkData.target.y}`\n : `M${linkData.source.x},${linkData.source.y}V${linkData.target.y}H${linkData.target.x}`;\n }\n drawPath() {\n const { linkData, orientation, pathFunc } = this.props;\n if (typeof pathFunc === 'function') {\n return pathFunc(linkData, orientation);\n }\n if (pathFunc === 'elbow') {\n return this.drawElbowPath(linkData, orientation);\n }\n if (pathFunc === 'straight') {\n return this.drawStraightPath(linkData, orientation);\n }\n if (pathFunc === 'step') {\n return this.drawStepPath(linkData, orientation);\n }\n return this.drawDiagonalPath(linkData, orientation);\n }\n getClassNames() {\n const { linkData, orientation, pathClassFunc } = this.props;\n const classNames = ['rd3t-link'];\n if (typeof pathClassFunc === 'function') {\n classNames.push(pathClassFunc(linkData, orientation));\n }\n return classNames.join(' ').trim();\n }\n render() {\n const { linkData } = this.props;\n return (React.createElement(\"path\", { ref: l => {\n this.linkRef = l;\n }, style: Object.assign({}, this.state.initialStyle), className: this.getClassNames(), d: this.drawPath(), onClick: this.handleOnClick, onMouseOver: this.handleOnMouseOver, onMouseOut: this.handleOnMouseOut, \"data-source-id\": linkData.source.id, \"data-target-id\": linkData.target.id }));\n }\n}\n","import React from 'react';\nimport { tree as d3tree, hierarchy } from 'd3-hierarchy';\nimport { select } from 'd3-selection';\nimport { zoom as d3zoom, zoomIdentity } from 'd3-zoom';\nimport { dequal as deepEqual } from 'dequal/lite';\nimport clone from 'clone';\nimport { v4 as uuidv4 } from 'uuid';\nimport TransitionGroupWrapper from './TransitionGroupWrapper.js';\nimport Node from '../Node/index.js';\nimport Link from '../Link/index.js';\nimport globalCss from '../globalCss.js';\nclass Tree extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n dataRef: this.props.data,\n data: Tree.assignInternalProperties(clone(this.props.data)),\n d3: Tree.calculateD3Geometry(this.props),\n isTransitioning: false,\n isInitialRenderForDataset: true,\n dataKey: this.props.dataKey,\n };\n this.internalState = {\n targetNode: null,\n isTransitioning: false,\n };\n this.svgInstanceRef = `rd3t-svg-${uuidv4()}`;\n this.gInstanceRef = `rd3t-g-${uuidv4()}`;\n /**\n * Finds the node matching `nodeId` and\n * expands/collapses it, depending on the current state of\n * its internal `collapsed` property.\n * `setState` callback receives targetNode and handles\n * `props.onClick` if defined.\n */\n this.handleNodeToggle = (nodeId) => {\n const data = clone(this.state.data);\n const matches = this.findNodesById(nodeId, data, []);\n const targetNodeDatum = matches[0];\n if (this.props.collapsible && !this.state.isTransitioning) {\n if (targetNodeDatum.__rd3t.collapsed) {\n Tree.expandNode(targetNodeDatum);\n this.props.shouldCollapseNeighborNodes && this.collapseNeighborNodes(targetNodeDatum, data);\n }\n else {\n Tree.collapseNode(targetNodeDatum);\n }\n if (this.props.enableLegacyTransitions) {\n // Lock node toggling while transition takes place.\n this.setState({ data, isTransitioning: true });\n // Await transitionDuration + 10 ms before unlocking node toggling again.\n setTimeout(() => this.setState({ isTransitioning: false }), this.props.transitionDuration + 10);\n }\n else {\n this.setState({ data });\n }\n this.internalState.targetNode = targetNodeDatum;\n }\n };\n this.handleAddChildrenToNode = (nodeId, childrenData) => {\n const data = clone(this.state.data);\n const matches = this.findNodesById(nodeId, data, []);\n if (matches.length > 0) {\n const targetNodeDatum = matches[0];\n const depth = targetNodeDatum.__rd3t.depth;\n const formattedChildren = clone(childrenData).map((node) => Tree.assignInternalProperties([node], depth + 1));\n targetNodeDatum.children.push(...formattedChildren.flat());\n this.setState({ data });\n }\n };\n /**\n * Handles the user-defined `onNodeClick` function.\n */\n this.handleOnNodeClickCb = (hierarchyPointNode, evt) => {\n const { onNodeClick } = this.props;\n if (onNodeClick && typeof onNodeClick === 'function') {\n // Persist the SyntheticEvent for downstream handling by users.\n evt.persist();\n onNodeClick(clone(hierarchyPointNode), evt);\n }\n };\n /**\n * Handles the user-defined `onLinkClick` function.\n */\n this.handleOnLinkClickCb = (linkSource, linkTarget, evt) => {\n const { onLinkClick } = this.props;\n if (onLinkClick && typeof onLinkClick === 'function') {\n // Persist the SyntheticEvent for downstream handling by users.\n evt.persist();\n onLinkClick(clone(linkSource), clone(linkTarget), evt);\n }\n };\n /**\n * Handles the user-defined `onNodeMouseOver` function.\n */\n this.handleOnNodeMouseOverCb = (hierarchyPointNode, evt) => {\n const { onNodeMouseOver } = this.props;\n if (onNodeMouseOver && typeof onNodeMouseOver === 'function') {\n // Persist the SyntheticEvent for downstream handling by users.\n evt.persist();\n onNodeMouseOver(clone(hierarchyPointNode), evt);\n }\n };\n /**\n * Handles the user-defined `onLinkMouseOver` function.\n */\n this.handleOnLinkMouseOverCb = (linkSource, linkTarget, evt) => {\n const { onLinkMouseOver } = this.props;\n if (onLinkMouseOver && typeof onLinkMouseOver === 'function') {\n // Persist the SyntheticEvent for downstream handling by users.\n evt.persist();\n onLinkMouseOver(clone(linkSource), clone(linkTarget), evt);\n }\n };\n /**\n * Handles the user-defined `onNodeMouseOut` function.\n */\n this.handleOnNodeMouseOutCb = (hierarchyPointNode, evt) => {\n const { onNodeMouseOut } = this.props;\n if (onNodeMouseOut && typeof onNodeMouseOut === 'function') {\n // Persist the SyntheticEvent for downstream handling by users.\n evt.persist();\n onNodeMouseOut(clone(hierarchyPointNode), evt);\n }\n };\n /**\n * Handles the user-defined `onLinkMouseOut` function.\n */\n this.handleOnLinkMouseOutCb = (linkSource, linkTarget, evt) => {\n const { onLinkMouseOut } = this.props;\n if (onLinkMouseOut && typeof onLinkMouseOut === 'function') {\n // Persist the SyntheticEvent for downstream handling by users.\n evt.persist();\n onLinkMouseOut(clone(linkSource), clone(linkTarget), evt);\n }\n };\n /**\n * Takes a hierarchy point node and centers the node on the screen\n * if the dimensions parameter is passed to `Tree`.\n *\n * This code is adapted from Rob Schmuecker's centerNode method.\n * Link: http://bl.ocks.org/robschmuecker/7880033\n */\n this.centerNode = (hierarchyPointNode) => {\n const { dimensions, orientation, zoom, centeringTransitionDuration } = this.props;\n if (dimensions) {\n const g = select(`.${this.gInstanceRef}`);\n const svg = select(`.${this.svgInstanceRef}`);\n const scale = this.state.d3.scale;\n let x;\n let y;\n // if the orientation is horizontal, calculate the variables inverted (x->y, y->x)\n if (orientation === 'horizontal') {\n y = -hierarchyPointNode.x * scale + dimensions.height / 2;\n x = -hierarchyPointNode.y * scale + dimensions.width / 2;\n }\n else {\n // else, calculate the variables normally (x->x, y->y)\n x = -hierarchyPointNode.x * scale + dimensions.width / 2;\n y = -hierarchyPointNode.y * scale + dimensions.height / 2;\n }\n //@ts-ignore\n g.transition()\n .duration(centeringTransitionDuration)\n .attr('transform', 'translate(' + x + ',' + y + ')scale(' + scale + ')');\n // Sets the viewport to the new center so that it does not jump back to original\n // coordinates when dragged/zoomed\n //@ts-ignore\n svg.call(d3zoom().transform, zoomIdentity.translate(x, y).scale(zoom));\n }\n };\n /**\n * Determines which additional `className` prop should be passed to the node & returns it.\n */\n this.getNodeClassName = (parent, nodeDatum) => {\n const { rootNodeClassName, branchNodeClassName, leafNodeClassName } = this.props;\n const hasParent = parent !== null && parent !== undefined;\n if (hasParent) {\n return nodeDatum.children ? branchNodeClassName : leafNodeClassName;\n }\n else {\n return rootNodeClassName;\n }\n };\n }\n static getDerivedStateFromProps(nextProps, prevState) {\n let derivedState = null;\n // Clone new data & assign internal properties if `data` object reference changed.\n // If the dataKey was present but didn't change, then we don't need to re-render the tree\n const dataKeyChanged = !nextProps.dataKey || prevState.dataKey !== nextProps.dataKey;\n if (nextProps.data !== prevState.dataRef && dataKeyChanged) {\n derivedState = {\n dataRef: nextProps.data,\n data: Tree.assignInternalProperties(clone(nextProps.data)),\n isInitialRenderForDataset: true,\n dataKey: nextProps.dataKey,\n };\n }\n const d3 = Tree.calculateD3Geometry(nextProps);\n if (!deepEqual(d3, prevState.d3)) {\n derivedState = derivedState || {};\n derivedState.d3 = d3;\n }\n return derivedState;\n }\n componentDidMount() {\n this.bindZoomListener(this.props);\n this.setState({ isInitialRenderForDataset: false });\n }\n componentDidUpdate(prevProps) {\n if (this.props.data !== prevProps.data) {\n // If last `render` was due to change in dataset -> mark the initial render as done.\n this.setState({ isInitialRenderForDataset: false });\n }\n if (!deepEqual(this.props.translate, prevProps.translate) ||\n !deepEqual(this.props.scaleExtent, prevProps.scaleExtent) ||\n this.props.zoomable !== prevProps.zoomable ||\n this.props.draggable !== prevProps.draggable ||\n this.props.zoom !== prevProps.zoom ||\n this.props.enableLegacyTransitions !== prevProps.enableLegacyTransitions) {\n // If zoom-specific props change -> rebind listener with new values.\n // Or: rebind zoom listeners to new DOM nodes in case legacy transitions were enabled/disabled.\n this.bindZoomListener(this.props);\n }\n if (typeof this.props.onUpdate === 'function') {\n this.props.onUpdate({\n node: this.internalState.targetNode ? clone(this.internalState.targetNode) : null,\n zoom: this.state.d3.scale,\n translate: this.state.d3.translate,\n });\n }\n // Reset the last target node after we've flushed it to `onUpdate`.\n this.internalState.targetNode = null;\n }\n /**\n * Collapses all tree nodes with a `depth` larger than `initialDepth`.\n *\n * @param {array} nodeSet Array of nodes generated by `generateTree`\n * @param {number} initialDepth Maximum initial depth the tree should render\n */\n setInitialTreeDepth(nodeSet, initialDepth) {\n nodeSet.forEach(n => {\n n.data.__rd3t.collapsed = n.depth >= initialDepth;\n });\n }\n /**\n * bindZoomListener - If `props.zoomable`, binds a listener for\n * \"zoom\" events to the SVG and sets scaleExtent to min/max\n * specified in `props.scaleExtent`.\n */\n bindZoomListener(props) {\n const { zoomable, scaleExtent, translate, zoom, onUpdate, hasInteractiveNodes } = props;\n const svg = select(`.${this.svgInstanceRef}`);\n const g = select(`.${this.gInstanceRef}`);\n // Sets initial offset, so that first pan and zoom does not jump back to default [0,0] coords.\n // @ts-ignore\n svg.call(d3zoom().transform, zoomIdentity.translate(translate.x, translate.y).scale(zoom));\n svg.call(d3zoom()\n .scaleExtent(zoomable ? [scaleExtent.min, scaleExtent.max] : [zoom, zoom])\n // TODO: break this out into a separate zoom handler fn, rather than inlining it.\n .filter((event) => {\n if (hasInteractiveNodes) {\n return (event.target.classList.contains(this.svgInstanceRef) ||\n event.target.classList.contains(this.gInstanceRef) ||\n event.shiftKey);\n }\n return true;\n })\n .on('zoom', (event) => {\n if (!this.props.draggable &&\n ['mousemove', 'touchmove', 'dblclick'].includes(event.sourceEvent.type)) {\n return;\n }\n g.attr('transform', event.transform);\n if (typeof onUpdate === 'function') {\n // This callback is magically called not only on \"zoom\", but on \"drag\", as well,\n // even though event.type == \"zoom\".\n // Taking advantage of this and not writing a \"drag\" handler.\n onUpdate({\n node: null,\n zoom: event.transform.k,\n translate: { x: event.transform.x, y: event.transform.y },\n });\n // TODO: remove this? Shouldn't be mutating state keys directly.\n this.state.d3.scale = event.transform.k;\n this.state.d3.translate = {\n x: event.transform.x,\n y: event.transform.y,\n };\n }\n }));\n }\n /**\n * Assigns internal properties that are required for tree\n * manipulation to each node in the `data` set and returns a new `data` array.\n *\n * @static\n */\n static assignInternalProperties(data, currentDepth = 0) {\n // Wrap the root node into an array for recursive transformations if it wasn't in one already.\n const d = Array.isArray(data) ? data : [data];\n return d.map(n => {\n const nodeDatum = n;\n nodeDatum.__rd3t = { id: null, depth: null, collapsed: false };\n nodeDatum.__rd3t.id = uuidv4();\n // D3@v5 compat: manually assign `depth` to node.data so we don't have\n // to hold full node+link sets in state.\n // TODO: avoid this extra step by checking D3's node.depth directly.\n nodeDatum.__rd3t.depth = currentDepth;\n // If there are children, recursively assign properties to them too.\n if (nodeDatum.children && nodeDatum.children.length > 0) {\n nodeDatum.children = Tree.assignInternalProperties(nodeDatum.children, currentDepth + 1);\n }\n return nodeDatum;\n });\n }\n /**\n * Recursively walks the nested `nodeSet` until a node matching `nodeId` is found.\n */\n findNodesById(nodeId, nodeSet, hits) {\n if (hits.length > 0) {\n return hits;\n }\n hits = hits.concat(nodeSet.filter(node => node.__rd3t.id === nodeId));\n nodeSet.forEach(node => {\n if (node.children && node.children.length > 0) {\n hits = this.findNodesById(nodeId, node.children, hits);\n }\n });\n return hits;\n }\n /**\n * Recursively walks the nested `nodeSet` until all nodes at `depth` have been found.\n *\n * @param {number} depth Target depth for which nodes should be returned\n * @param {array} nodeSet Array of nested `node` objects\n * @param {array} accumulator Accumulator for matches, passed between recursive calls\n */\n findNodesAtDepth(depth, nodeSet, accumulator) {\n accumulator = accumulator.concat(nodeSet.filter(node => node.__rd3t.depth === depth));\n nodeSet.forEach(node => {\n if (node.children && node.children.length > 0) {\n accumulator = this.findNodesAtDepth(depth, node.children, accumulator);\n }\n });\n return accumulator;\n }\n /**\n * Recursively sets the internal `collapsed` property of\n * the passed `TreeNodeDatum` and its children to `true`.\n *\n * @static\n */\n static collapseNode(nodeDatum) {\n nodeDatum.__rd3t.collapsed = true;\n if (nodeDatum.children && nodeDatum.children.length > 0) {\n nodeDatum.children.forEach(child => {\n Tree.collapseNode(child);\n });\n }\n }\n /**\n * Sets the internal `collapsed` property of\n * the passed `TreeNodeDatum` object to `false`.\n *\n * @static\n */\n static expandNode(nodeDatum) {\n nodeDatum.__rd3t.collapsed = false;\n }\n /**\n * Collapses all nodes in `nodeSet` that are neighbors (same depth) of `targetNode`.\n */\n collapseNeighborNodes(targetNode, nodeSet) {\n const neighbors = this.findNodesAtDepth(targetNode.__rd3t.depth, nodeSet, []).filter(node => node.__rd3t.id !== targetNode.__rd3t.id);\n neighbors.forEach(neighbor => Tree.collapseNode(neighbor));\n }\n /**\n * Generates tree elements (`nodes` and `links`) by\n * grabbing the rootNode from `this.state.data[0]`.\n * Restricts tree depth to `props.initialDepth` if defined and if this is\n * the initial render of the tree.\n */\n generateTree() {\n const { initialDepth, depthFactor, separation, nodeSize, orientation } = this.props;\n const { isInitialRenderForDataset } = this.state;\n const tree = d3tree()\n .nodeSize(orientation === 'horizontal' ? [nodeSize.y, nodeSize.x] : [nodeSize.x, nodeSize.y])\n .separation((a, b) => a.parent.data.__rd3t.id === b.parent.data.__rd3t.id\n ? separation.siblings\n : separation.nonSiblings);\n const rootNode = tree(hierarchy(this.state.data[0], d => (d.__rd3t.collapsed ? null : d.children)));\n let nodes = rootNode.descendants();\n const links = rootNode.links();\n // Configure nodes' `collapsed` property on first render if `initialDepth` is defined.\n if (initialDepth !== undefined && isInitialRenderForDataset) {\n this.setInitialTreeDepth(nodes, initialDepth);\n }\n if (depthFactor) {\n nodes.forEach(node => {\n node.y = node.depth * depthFactor;\n });\n }\n return { nodes, links };\n }\n /**\n * Set initial zoom and position.\n * Also limit zoom level according to `scaleExtent` on initial display. This is necessary,\n * because the first time we are setting it as an SVG property, instead of going\n * through D3's scaling mechanism, which would have picked up both properties.\n *\n * @static\n */\n static calculateD3Geometry(nextProps) {\n let scale;\n if (nextProps.zoom > nextProps.scaleExtent.max) {\n scale = nextProps.scaleExtent.max;\n }\n else if (nextProps.zoom < nextProps.scaleExtent.min) {\n scale = nextProps.scaleExtent.min;\n }\n else {\n scale = nextProps.zoom;\n }\n return {\n translate: nextProps.translate,\n scale,\n };\n }\n render() {\n const { nodes, links } = this.generateTree();\n const { renderCustomNodeElement, orientation, pathFunc, transitionDuration, nodeSize, depthFactor, initialDepth, separation, enableLegacyTransitions, svgClassName, pathClassFunc, } = this.props;\n const { translate, scale } = this.state.d3;\n const subscriptions = Object.assign(Object.assign(Object.assign({}, nodeSize), separation), { depthFactor,\n initialDepth });\n return (React.createElement(\"div\", { className: \"rd3t-tree-container rd3t-grabbable\" },\n React.createElement(\"style\", null, globalCss),\n React.createElement(\"svg\", { className: `rd3t-svg ${this.svgInstanceRef} ${svgClassName}`, width: \"100%\", height: \"100%\" },\n React.createElement(TransitionGroupWrapper, { enableLegacyTransitions: enableLegacyTransitions, component: \"g\", className: `rd3t-g ${this.gInstanceRef}`, transform: `translate(${translate.x},${translate.y}) scale(${scale})` },\n links.map((linkData, i) => {\n return (React.createElement(Link, { key: 'link-' + i, orientation: orientation, pathFunc: pathFunc, pathClassFunc: pathClassFunc, linkData: linkData, onClick: this.handleOnLinkClickCb, onMouseOver: this.handleOnLinkMouseOverCb, onMouseOut: this.handleOnLinkMouseOutCb, enableLegacyTransitions: enableLegacyTransitions, transitionDuration: transitionDuration }));\n }),\n nodes.map((hierarchyPointNode, i) => {\n const { data, x, y, parent } = hierarchyPointNode;\n return (React.createElement(Node, { key: 'node-' + i, data: data, position: { x, y }, hierarchyPointNode: hierarchyPointNode, parent: parent, nodeClassName: this.getNodeClassName(parent, data), renderCustomNodeElement: renderCustomNodeElement, nodeSize: nodeSize, orientation: orientation, enableLegacyTransitions: enableLegacyTransitions, transitionDuration: transitionDuration, onNodeToggle: this.handleNodeToggle, onNodeClick: this.handleOnNodeClickCb, onNodeMouseOver: this.handleOnNodeMouseOverCb, onNodeMouseOut: this.handleOnNodeMouseOutCb, handleAddChildrenToNode: this.handleAddChildrenToNode, subscriptions: subscriptions, centerNode: this.centerNode }));\n })))));\n }\n}\nTree.defaultProps = {\n onNodeClick: undefined,\n onNodeMouseOver: undefined,\n onNodeMouseOut: undefined,\n onLinkClick: undefined,\n onLinkMouseOver: undefined,\n onLinkMouseOut: undefined,\n onUpdate: undefined,\n orientation: 'horizontal',\n translate: { x: 0, y: 0 },\n pathFunc: 'diagonal',\n pathClassFunc: undefined,\n transitionDuration: 500,\n depthFactor: undefined,\n collapsible: true,\n initialDepth: undefined,\n zoomable: true,\n draggable: true,\n zoom: 1,\n scaleExtent: { min: 0.1, max: 1 },\n nodeSize: { x: 140, y: 140 },\n separation: { siblings: 1, nonSiblings: 2 },\n shouldCollapseNeighborNodes: false,\n svgClassName: '',\n rootNodeClassName: '',\n branchNodeClassName: '',\n leafNodeClassName: '',\n renderCustomNodeElement: undefined,\n enableLegacyTransitions: false,\n hasInteractiveNodes: false,\n dimensions: undefined,\n centeringTransitionDuration: 800,\n dataKey: undefined,\n};\nexport default Tree;\n","// Importing CSS files globally (e.g. `import \"./styles.css\"`) can cause resolution issues with certain\n// libraries/frameworks.\n// Example: Next.js (https://github.com/vercel/next.js/blob/master/errors/css-npm.md)\n//\n// Since rd3t's CSS is bare bones to begin with, we provide all required styles as a template string,\n// which can be imported like any other TS/JS module and inlined into a `` tag.\nexport default `\n/* Tree */\n.rd3t-tree-container {\n width: 100%;\n height: 100%;\n}\n\n.rd3t-grabbable {\n cursor: move; /* fallback if grab cursor is unsupported */\n cursor: grab;\n cursor: -moz-grab;\n cursor: -webkit-grab;\n}\n.rd3t-grabbable:active {\n cursor: grabbing;\n cursor: -moz-grabbing;\n cursor: -webkit-grabbing;\n}\n\n/* Node */\n.rd3t-node {\n cursor: pointer;\n fill: #777;\n stroke: #000;\n stroke-width: 2;\n}\n\n.rd3t-leaf-node {\n cursor: pointer;\n fill: transparent;\n stroke: #000;\n stroke-width: 1;\n}\n\n.rd3t-label__title {\n fill: #000;\n stroke: none;\n font-weight: bolder;\n}\n\n.rd3t-label__attributes {\n fill: #777;\n stroke: none;\n font-weight: bolder;\n font-size: smaller;\n}\n\n/* Link */\n.rd3t-link {\n fill: none;\n stroke: #000;\n}\n`;\n","import Tree from './Tree/index.js';\nexport * from './Tree/types.js';\nexport * from './types/common.js';\nexport { Tree };\nexport default Tree;\n","import React from 'react';\r\nimport Block from './Block';\r\nimport { useState, useEffect, useRef } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport Tree from 'react-d3-tree';\r\nimport './custom-tree.css';\r\nimport CountUp from 'react-countup';\r\nconst NewTree = () => {\r\n const [adminTree, setAdminTree] = useState({});\r\n const [last24hours, setLast24Hours] = useState(0)\r\n const [weeklyUsage, setWeeklyUsage] = useState(0)\r\n const [monthlyUsage, setMonthlyUsage] = useState(0)\r\n const [loading, setLoading] = useState(false)\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const GetDashboardTree = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETORGANISATIONTREE + \"?OrganisationId=\" + localStorage.getItem('organisationId'), { ...headerconfig })\r\n .then((response) => {\r\n setAdminTree(response.data.data);\r\n GetWaterUsageCount(\"\")\r\n });\r\n };\r\n const [zoom, setZoom] = React.useState(1);\r\n const nodeSize = { x: 150, y: 50 };\r\n const handleZoomIn = () => setZoom((prevZoom) => Math.min(prevZoom + 0.2, 2));\r\n const handleZoomOut = () => setZoom((prevZoom) => Math.max(prevZoom - 0.2, 0.5));\r\n const isEmpty = (obj) => {\r\n return Object.keys(obj).length === 0;\r\n };\r\n const handleNodeClick = (nodeData) => {\r\n // Check if the clicked node is a leaf node (no children)\r\n if (!nodeData.children || nodeData.children.length === 0) {\r\n GetWaterUsageCount(nodeData.name)\r\n }\r\n };\r\n const GetWaterUsageCount = (username) => {\r\n setLoading(true);\r\n axios\r\n .get(config.APIACTIVATEURL + config.ADMINDASHBOARDCOUNTBYNAME + \"?UserName=\" + username, { ...headerconfig })\r\n .then((response) => {\r\n setLast24Hours(response.data.data.todayCountData);\r\n setWeeklyUsage(response.data.data.weeklyCount);\r\n setMonthlyUsage(response.data.data.monthlyCount);\r\n setLoading(false);\r\n });\r\n };\r\n useEffect(() => {\r\n GetDashboardTree();\r\n }, [])\r\n return (\r\n
    \r\n {isEmpty(adminTree) ? (\r\n

    Loading...

    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Today's Usage

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {loading === false ?\r\n

    litres

    \r\n :\r\n

    loading...

    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Last 7 Days Usage

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {loading === false ?\r\n

    litres

    \r\n :\r\n

    loading...

    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Current Month Usage

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {loading === false ?\r\n

    litres

    \r\n :\r\n

    loading...

    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\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 handleNodeClick(node.data)}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    )\r\n}\r\n\r\nexport default NewTree;\r\n","import Footer from \"../Common/Layouts/Footer\";\r\nimport Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport CountUp from 'react-countup';\r\nimport { useState, useEffect, useRef } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { Link } from \"react-router-dom\";\r\nimport NewTree from \"./NewTree\";\r\nexport default function AdminDashboard() {\r\n const [totalUsers, setTotalUsers] = useState(0)\r\n const [totalTickets, setTotalTickets] = useState(0)\r\n const [totalDevices, setTotalDevices] = useState(0)\r\n const [pendingPayments, setPendingPayments] = useState(0) \r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n } \r\n const GetDashboardCount = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.ADMINDASHBOARDCOUNT + \"?OrganisationId=\" + localStorage.getItem('organisationId'), { ...headerconfig })\r\n .then((response) => {\r\n setTotalDevices(response.data.devices);\r\n setTotalUsers(response.data.users);\r\n setTotalTickets(response.data.tickets);\r\n setPendingPayments(response.data.pendingPayments);\r\n });\r\n };\r\n useEffect(() => {\r\n GetDashboardCount();\r\n }, [])\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

    Hello, {localStorage.getItem(\"name\")}!

    \r\n

    Here's water consumption details .

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/* end card header */}\r\n
    \r\n {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Pending Payments

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Bills

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Tickets

    \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
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Users

    \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
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n {/* card */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Devices

    \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
    {/* end card body */}\r\n
    {/* end card */}\r\n
    {/* end col */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { handleSuccess, handleError } from \"../Common/Layouts/CustomAlerts\";\r\nconst initialFieldValues = {\r\n userId: \"00000000-0000-0000-0000-000000000000\",\r\n name: \"\",\r\n email: \"\",\r\n phoneNumber: \"\",\r\n city: \"\",\r\n country: \"INDIA\"\r\n};\r\nexport default function UserProfile() {\r\n const [values, setValues] = useState(initialFieldValues);\r\n const [errors, setErrors] = useState({});\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setValues({\r\n ...values,\r\n [name]: value,\r\n });\r\n };\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const validate = () => {\r\n let temp = {};\r\n temp.name = values.name === \"\" ? false : true;\r\n temp.email = values.email === \"\" ? false : true;\r\n temp.phoneNumber = values.phoneNumber === \"\" ? false : true;\r\n setErrors(temp);\r\n return Object.values(temp).every((x) => x === true);\r\n };\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n if (validate()) {\r\n const formData = {\r\n \"id\": localStorage.getItem('userId'),\r\n \"name\": values.name,\r\n \"email\": values.email,\r\n \"phoneNumber\": values.phoneNumber,\r\n \"city\": values.city,\r\n \"country\": values.country\r\n }\r\n addOrEdit(formData);\r\n }\r\n };\r\n const applicationAPI = () => {\r\n return {\r\n update: (newrecord) =>\r\n axios.post(config.APIACTIVATEURL + config.USERPROFILE, JSON.stringify(newrecord), { ...headerconfig })\r\n };\r\n };\r\n const addOrEdit = (formData) => {\r\n applicationAPI()\r\n .update(formData)\r\n .then((res) => {\r\n if (res.data.statusCode === 200) {\r\n handleSuccess(res.data.data);\r\n GetUserData();\r\n }\r\n else {\r\n handleError(res.data.data);\r\n }\r\n });\r\n };\r\n const GetUserData = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETUSERBYID + \"?Id=\" + localStorage.getItem('userId'), { ...headerconfig })\r\n .then((response) => {\r\n setValues(response.data.data); \r\n });\r\n };\r\n const applyErrorClass = (field) =>\r\n field in errors && errors[field] === false ? \" form-control-danger\" : \"\";\r\n useEffect(() => {\r\n GetUserData();\r\n }, [])\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    User Profile

    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. User Profile
    4. \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 \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}","import Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { handleSuccess, handleError } from \"../Common/Layouts/CustomAlerts\";\r\nconst initialChangePasswordValues = {\r\n userId: localStorage.getItem('userId'),\r\n oldPassword: \"\",\r\n newPassword: \"\",\r\n confirmPassword:\"\",\r\n};\r\nexport default function ChangePassword() {\r\n const [values, setValues] = useState(initialChangePasswordValues);\r\n const [errors, setErrors] = useState({});\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setValues({\r\n ...values,\r\n [name]: value,\r\n });\r\n };\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const validate = () => {\r\n let temp = {};\r\n temp.oldPassword = values.oldPassword === \"\" ? false : true;\r\n temp.newPassword = values.newPassword === \"\" ? false : true;\r\n temp.confirmPassword = values.confirmPassword === \"\" ? false : true;\r\n setErrors(temp);\r\n return Object.values(temp).every((x) => x === true);\r\n };\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n if (validate()) {\r\n if (values.newPassword === values.confirmPassword) {\r\n changePassword();\r\n clearForm();\r\n }\r\n else{\r\n handleError(\"New and Confirm Passwords should be same\");\r\n }\r\n }\r\n };\r\n const changePassword = (changePasswordData) => {\r\n applicationAPI().postchangepassword(changePasswordData)\r\n .then(res => {\r\n if (res.data.statusCode === 200) {\r\n handleSuccess(res.data.data);\r\n clearForm();\r\n }\r\n else {\r\n handleError(res.data.data);\r\n }\r\n })\r\n }\r\n const applicationAPI = () => {\r\n return {\r\n postchangepassword: () =>\r\n axios.post(config.APIACTIVATEURL + config.CHANGEPASSWORD + \"?UserId=\" + localStorage.getItem(\"userId\") + \"&OldPassword=\" + values.oldPassword + \"&NewPassword=\" + values.newPassword, { ...headerconfig })\r\n };\r\n };\r\n const comparePassword = (newPassword, confirmPassword) => {\r\n if (newPassword !== confirmPassword) {\r\n handleError(\"New and Confirm Passwords should be same\");\r\n return false;\r\n }\r\n return true;\r\n }\r\n const clearForm = () => {\r\n setValues(initialChangePasswordValues);\r\n };\r\n const applyErrorClass = (field) =>\r\n field in errors && errors[field] === false ? \" form-control-danger\" : \"\";\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Change Password

    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. Change Password
    4. \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
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { UserStatus } from \"../Common/Enums\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { handleSuccess, handleError } from \"../Common/Layouts/CustomAlerts\";\r\nimport readXlsxFile from 'read-excel-file';\r\nimport Select from 'react-select';\r\nconst initialFieldValues = {\r\n deviceId: \"00000000-0000-0000-0000-000000000000\",\r\n deviceName: \"\",\r\n applicationId: \"\",\r\n endDeviceId: \"\",\r\n meterNo: 0,\r\n isActive: true\r\n};\r\nexport default function Devices() {\r\n const [values, setValues] = useState(initialFieldValues);\r\n const [deviceId, setDeviceId] = useState(\"00000000-0000-0000-0000-000000000000\");\r\n const [recordForEdit, setRecordForEdit] = useState(null);\r\n const [errors, setErrors] = useState({});\r\n const [devices, setDevices] = useState([]);\r\n const [allDevices, setAllDevices] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [pageSize, setPageSize] = useState(200);\r\n const [pageNumber, setPageNumber] = useState(1);\r\n const [data, setData] = useState([]);\r\n const [totalRecords, setTotalRecords] = useState(0);\r\n const statusvalues = [\r\n { label: 'Active', value: true },\r\n { label: 'InActive', value: false }\r\n ]\r\n useEffect(() => {\r\n if (recordForEdit !== null) setValues(recordForEdit);\r\n }, [recordForEdit]);\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setValues({\r\n ...values,\r\n [name]: value,\r\n });\r\n };\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const validate = () => {\r\n let temp = {};\r\n temp.deviceId = values.deviceId === \"\" ? false : true;\r\n temp.deviceName = values.deviceName === \"\" ? false : true;\r\n temp.applicationId = values.applicationId === \"\" ? false : true;\r\n setErrors(temp);\r\n return Object.values(temp).every((x) => x === true);\r\n };\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n if (validate()) {\r\n const formData = {\r\n \"deviceId\": values.deviceId,\r\n \"endDeviceId\": values.endDeviceId,\r\n \"deviceName\": values.deviceName,\r\n \"applicationId\": values.applicationId,\r\n \"isActive\": values.isActive === \"true\" ? true : false,\r\n \"meterNo\": values.meterNo\r\n }\r\n addOrEdit(formData);\r\n }\r\n };\r\n const applicationAPI = () => {\r\n return {\r\n create: (newrecord) =>\r\n axios.post(config.APIACTIVATEURL + config.CREATEDEVICE, JSON.stringify(newrecord), { ...headerconfig }),\r\n update: (updateRecord) =>\r\n axios.put(config.APIACTIVATEURL + config.UPDATEDEVICE, updateRecord, { ...headerconfig }),\r\n delete: (id) => axios.delete(config.APIACTIVATEURL + config.DELETEDEVICE + \"/\" + id, { ...headerconfig })\r\n };\r\n };\r\n const addOrEdit = (formData) => {\r\n if (formData.deviceId === \"00000000-0000-0000-0000-000000000000\") {\r\n applicationAPI()\r\n .create(formData)\r\n .then((res) => {\r\n if (res.data.statusCode === 200) {\r\n handleSuccess(res.data.data);\r\n resetForm();\r\n GetDevices('1');\r\n }\r\n else {\r\n handleError(res.data.data);\r\n }\r\n });\r\n }\r\n else {\r\n applicationAPI()\r\n .update(formData)\r\n .then((res) => {\r\n if (res.data.statusCode === 200) {\r\n handleSuccess(res.data.data);\r\n resetForm();\r\n GetDevices('1');\r\n }\r\n else {\r\n handleError(res.data.data);\r\n }\r\n });\r\n }\r\n };\r\n const resetForm = () => {\r\n setValues(initialFieldValues);\r\n setDeviceId(\"00000000-0000-0000-0000-000000000000\")\r\n GetDevices(pageNumber)\r\n };\r\n const GetDevices = (number) => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETDEVICES + \"?pageNumber=\" + number + \"&pageSize=\" + pageSize + \"\", { ...headerconfig })\r\n .then((response) => {\r\n if (response.data.data.succeeded === true) {\r\n setDevices(response.data.data.data);\r\n setPageNumber(response.data.data.pageNumber);\r\n setPageSize(response.data.data.pageSize);\r\n setTotalPages(response.data.data.totalPages);\r\n setData(response.data.data);\r\n setTotalRecords(response.data.data.totalRecords);\r\n }\r\n });\r\n };\r\n const GetAllDevices = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETALLDEVICES, { ...headerconfig })\r\n .then((response) => {\r\n setAllDevices(response.data.data);\r\n });\r\n };\r\n const onDelete = (e, id) => {\r\n if (window.confirm('Are you sure to delete this record?'))\r\n applicationAPI().delete(id)\r\n .then(res => {\r\n handleSuccess(\"Device Deleted Succesfully\");\r\n GetDevices();\r\n })\r\n }\r\n const showEditDetails = (data) => {\r\n setRecordForEdit(data);\r\n };\r\n const GetLastPageData = () => {\r\n GetDevices(totalPages)\r\n }\r\n const GetFirstPageData = () => {\r\n GetDevices(\"1\")\r\n }\r\n const GetPageData = (number) => {\r\n setPageNumber(number);\r\n if (pageNumber !== number)\r\n GetDevices(number)\r\n }\r\n const pageNumbers = [];\r\n for (let i = 1; i <= totalPages; i++) {\r\n pageNumbers.push(i);\r\n }\r\n const renderPageNumbers = pageNumbers.map((number) => {\r\n return (\r\n
  • GetPageData(number)}>\r\n {number}\r\n
  • \r\n );\r\n });\r\n const handleSearch = (e) => {\r\n e.preventDefault();\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETDEVICEBYID + \"?DeviceId=\" + deviceId.value + \" & pageNumber=\" + pageNumber + \"&pageSize=\" + pageSize + \"\", { ...headerconfig })\r\n .then((response) => {\r\n if (response.data.data.succeeded === true) {\r\n setDevices(response.data.data.data);\r\n setPageNumber(response.data.data.pageNumber);\r\n setPageSize(response.data.data.pageSize);\r\n setTotalPages(response.data.data.totalPages);\r\n setTotalRecords(response.data.data.totalRecords);\r\n }\r\n });\r\n }\r\n const applyErrorClass = (field) =>\r\n field in errors && errors[field] === false ? \" form-control-danger\" : \"\";\r\n useEffect(() => {\r\n GetDevices(pageNumber);\r\n GetAllDevices();\r\n }, [])\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Devices

    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. Devices
    4. \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 \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
    Devices List
    \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 {devices.length > 0 && devices.map((device, index) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    IDMeter ForEndDevice IDApplication IDMeterNoStatusAction
    {index + 1}{device.deviceName}{device.deviceId}{device.applicationId}{device.meterNo}\r\n {device.isActive === true ? {UserStatus.ACTIVE} : {UserStatus.INACTIVE}}\r\n \r\n
      \r\n
    • \r\n showEditDetails(device)}>\r\n
    • \r\n
    • \r\n onDelete(e, device.deviceId)}>\r\n \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Showing {devices.length} of {totalRecords} Results\r\n
    \r\n
    \r\n
      \r\n
    • GetFirstPageData()}>\r\n Previous\r\n
    • \r\n {renderPageNumbers}\r\n
    • GetLastPageData()}>\r\n Next\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { handleSuccess, handleError } from \"../Common/Layouts/CustomAlerts\";\r\nconst initialFieldValues = {\r\n organisationId: \"00000000-0000-0000-0000-000000000000\",\r\n organisationName: \"\",\r\n city: \"\",\r\n country: \"India\",\r\n contactNumber: \"\",\r\n address: \"\"\r\n};\r\nexport default function Organisations() {\r\n const [values, setValues] = useState(initialFieldValues);\r\n const [recordForEdit, setRecordForEdit] = useState(null);\r\n const [errors, setErrors] = useState({});\r\n const [organisations, setOrganisations] = useState([]);\r\n useEffect(() => {\r\n if (recordForEdit !== null) setValues(recordForEdit);\r\n }, [recordForEdit]);\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setValues({\r\n ...values,\r\n [name]: value,\r\n });\r\n };\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const validate = () => {\r\n let temp = {};\r\n temp.organisationName = values.organisationName === \"\" ? false : true;\r\n temp.city = values.city === \"\" ? false : true;\r\n setErrors(temp);\r\n return Object.values(temp).every((x) => x === true);\r\n };\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n if (validate()) {\r\n const formData = {\r\n \"organisationId\": values.organisationId,\r\n \"organisationName\": values.organisationName,\r\n \"city\": values.city,\r\n \"country\": values.country,\r\n \"address\": values.address\r\n }\r\n addOrEdit(formData);\r\n }\r\n };\r\n const applicationAPI = () => {\r\n return {\r\n create: (newrecord) =>\r\n axios.post(config.APIACTIVATEURL + config.CREATEORGANISATION, JSON.stringify(newrecord), { ...headerconfig }),\r\n update: (updateRecord) =>\r\n axios.put(config.APIACTIVATEURL + config.UPDATEORGANISATION, updateRecord),\r\n delete: (id) => axios.delete(config.APIACTIVATEURL + config.DELETEORGANISATION + \"/\" + id, { ...headerconfig })\r\n };\r\n };\r\n const addOrEdit = (formData) => {\r\n if (formData.organisationId === \"00000000-0000-0000-0000-000000000000\") {\r\n applicationAPI()\r\n .create(formData)\r\n .then((res) => {\r\n if (res.data.statusCode === 200) {\r\n handleSuccess(res.data.message);\r\n resetForm();\r\n GETORGANISATIONS();\r\n }\r\n else {\r\n handleError(res.data.message);\r\n }\r\n });\r\n }\r\n else {\r\n applicationAPI()\r\n .update(formData)\r\n .then((res) => {\r\n if (res.data.statusCode === 200) {\r\n handleSuccess(res.data.message);\r\n resetForm();\r\n GETORGANISATIONS();\r\n }\r\n else {\r\n handleError(res.data.message);\r\n }\r\n });\r\n }\r\n };\r\n const resetForm = () => {\r\n setValues(initialFieldValues);\r\n };\r\n const GETORGANISATIONS = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETORGANISATIONS, { ...headerconfig })\r\n .then((response) => {\r\n setOrganisations(response.data.data.data);\r\n });\r\n };\r\n const onDelete = (e, id) => {\r\n if (window.confirm('Are you sure to delete this record?'))\r\n applicationAPI().delete(id)\r\n .then(res => {\r\n handleSuccess(\"Record Deleted Succesfully\");\r\n GETORGANISATIONS();\r\n })\r\n }\r\n const showEditDetails = (data) => {\r\n setRecordForEdit(data);\r\n };\r\n const applyErrorClass = (field) =>\r\n field in errors && errors[field] === false ? \" form-control-danger\" : \"\";\r\n useEffect(() => {\r\n GETORGANISATIONS();\r\n }, [])\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Organisations

    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. Organisations
    4. \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 \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Organisations List
    \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 {organisations.length > 0 && organisations.map(organisation =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    NameCityAddressAction
    {organisation.organisationName}{organisation.city}{organisation.address}\r\n
      \r\n
    • \r\n showEditDetails(organisation)}>\r\n
    • \r\n
    • \r\n onDelete(e, organisation.organisationId)}>\r\n \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { TicketStatus, TicketPriority } from \"../Common/Enums\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { handleSuccess, handleError } from \"../Common/Layouts/CustomAlerts\";\r\nimport moment from \"moment\";\r\nconst initialFieldValues = {\r\n paymentId: \"00000000-0000-0000-0000-000000000000\",\r\n transactionNo: \"\",\r\n orderId: \"\",\r\n senderUserId: \"00000000-0000-0000-0000-000000000000\",\r\n receiverUserId: \"00000000-0000-0000-0000-000000000000\",\r\n amount: 0,\r\n status: \"\",\r\n paymentType: \"\",\r\n description: \"\"\r\n};\r\nexport default function Payments() {\r\n const [values, setValues] = useState(initialFieldValues);\r\n const [recordForEdit, setRecordForEdit] = useState(null);\r\n const [errors, setErrors] = useState({});\r\n const [users, setUsers] = useState([]);\r\n const [payments, setPayments] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pageNumber, setPageNumber] = useState(1);\r\n const [data, setData] = useState([]);\r\n const [totalRecords, setTotalRecords] = useState(0);\r\n useEffect(() => {\r\n if (recordForEdit !== null) setValues(recordForEdit);\r\n }, [recordForEdit]);\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setValues({\r\n ...values,\r\n [name]: value,\r\n });\r\n };\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const validate = () => {\r\n let temp = {};\r\n temp.amount = values.amount === 0 ? false : true;\r\n temp.receiverUserId = values.receiverUserId === \"00000000-0000-0000-0000-000000000000\" ? false : true;\r\n setErrors(temp);\r\n return Object.values(temp).every((x) => x === true);\r\n };\r\n const handleSubmit = (ticket) => {\r\n const formData = {\r\n \"paymentId\": ticket.paymentId,\r\n \"transactionNo\": ticket.transactionNo,\r\n \"orderId\": ticket.orderId,\r\n \"senderUserId\": localStorage.getItem(\"userId\"),\r\n \"receiverUserId\": ticket.receiverUserId,\r\n \"amount\": ticket.amount,\r\n \"status\": ticket.status,\r\n \"paymentType\": ticket.paymentType,\r\n \"description\": ticket.description\r\n }\r\n addOrEdit(formData);\r\n };\r\n const applicationAPI = () => {\r\n return {\r\n update: (updateRecord) => axios.put(config.APIACTIVATEURL + config.UPDATEPAYMENTREQUEST, updateRecord)\r\n };\r\n };\r\n const addOrEdit = (formData) => {\r\n applicationAPI()\r\n .update(formData)\r\n .then((res) => {\r\n if (res.data.statusCode === 200) {\r\n handleSuccess(\"Payment Successfully Received\");\r\n resetForm();\r\n GetPaymentByUser(\"1\");\r\n }\r\n else {\r\n handleError(\"Transaction failed. Please contact administrator\");\r\n }\r\n });\r\n\r\n };\r\n const resetForm = () => {\r\n setValues(initialFieldValues);\r\n };\r\n const GetPaymentByUser = (number) => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETPAYMENTREQUESTBYUSER + \"?Id=\" + localStorage.getItem('userId') + \"&pageNumber=\" + number + \"&pageSize=\" + pageSize + \"\", { ...headerconfig })\r\n .then((response) => {\r\n setPayments(response.data.data.data);\r\n setPageNumber(response.data.data.pageNumber);\r\n setPageSize(response.data.data.pageSize);\r\n setTotalPages(response.data.data.totalPages);\r\n setData(response.data.data);\r\n setTotalRecords(response.data.data.totalRecords);\r\n });\r\n };\r\n function loadScript(src) {\r\n return new Promise((resolve) => {\r\n const script = document.createElement(\"script\");\r\n script.src = src;\r\n script.onload = () => {\r\n resolve(true);\r\n };\r\n script.onerror = () => {\r\n resolve(false);\r\n };\r\n document.body.appendChild(script);\r\n });\r\n }\r\n async function displayRazorpay(e, ticket) {\r\n const res = await loadScript(\r\n \"https://checkout.razorpay.com/v1/checkout.js\"\r\n );\r\n\r\n if (!res) {\r\n alert(\"Razorpay SDK failed to load. Are you online?\");\r\n return;\r\n }\r\n\r\n // creating a new order\r\n const result = await axios.post(config.APIACTIVATEURL + config.PROCESSPAYMENTORDER + \"?UserId=\" + localStorage.getItem('userId') + \"&Amount=\" + ticket.amount);\r\n\r\n if (!result) {\r\n alert(\"Server error. Are you online?\");\r\n return;\r\n }\r\n // Getting the order details back\r\n const { amount, id: order_id, currency,name, razorpayKey } = result.data.data;\r\n\r\n const options = {\r\n key: razorpayKey, // Enter the Key ID generated from the Dashboard\r\n amount: amount,\r\n currency: currency,\r\n name: \"ino-fi solutions pvt ltd.\",\r\n description: \"Water Bill Payment\",\r\n order_id: order_id,\r\n handler: async function (response) {\r\n const data = {\r\n orderCreationId: order_id,\r\n razorpayPaymentId: response.razorpay_payment_id,\r\n razorpayOrderId: response.razorpay_order_id,\r\n razorpaySignature: response.razorpay_signature,\r\n };\r\n ticket.transactionNo = response.razorpay_payment_id;\r\n ticket.orderId = response.razorpay_order_id\r\n ticket.status = \"SUCCESS\";\r\n handleSubmit(ticket);\r\n },\r\n prefill: {\r\n name: ticket.name,\r\n email: ticket.email,\r\n contact: ticket.phoneNo,\r\n },\r\n notes: {\r\n address: ticket.city,\r\n },\r\n theme: {\r\n color: \"#61dafb\",\r\n },\r\n };\r\n\r\n const paymentObject = new window.Razorpay(options);\r\n paymentObject.open();\r\n }\r\n const GetLastPageData = () => {\r\n GetPaymentByUser(totalPages)\r\n }\r\n const GetFirstPageData = () => {\r\n GetPaymentByUser(\"1\")\r\n }\r\n const GetPageData = (number) => {\r\n setPageNumber(number);\r\n if (pageNumber !== number)\r\n GetPaymentByUser(number)\r\n }\r\n const pageNumbers = [];\r\n for (let i = 1; i <= totalPages; i++) {\r\n pageNumbers.push(i);\r\n }\r\n const renderPageNumbers = pageNumbers.map((number) => {\r\n return (\r\n
  • GetPageData(number)}>\r\n {number}\r\n
  • \r\n );\r\n });\r\n useEffect(() => {\r\n GetPaymentByUser(pageNumber);\r\n }, [])\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Payments

    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. Payments
    4. \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Payments List
    \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 {payments.length > 0 && payments.map((p, index) =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    IDNameAmountCreated DateDescriptionStatusAction
    {index + 1}{p.name}{p.amount}{moment(p.createdDate).format('MMM Do YYYY')}{p.description}\r\n {p.status === 'SUCCESS' ? PAID : PENDING}\r\n \r\n {p.status === 'PENDING' ?\r\n
    \r\n \r\n
    \r\n :\r\n
    \r\n VIEW\r\n
    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Showing {payments.length} of {totalRecords} Results\r\n
    \r\n
    \r\n
      \r\n
    • GetFirstPageData()}>\r\n Previous\r\n
    • \r\n {renderPageNumbers}\r\n
    • GetLastPageData()}>\r\n Next\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { TicketStatus, TicketPriority } from \"../Common/Enums\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport moment from \"moment\";\r\nconst initialFieldValues = {\r\n id: 0,\r\n deviceId: \"\",\r\n applicationId: \"\",\r\n userId: localStorage.getItem(\"userId\"),\r\n status: true \r\n};\r\nexport default function Tickets() {\r\n const [values, setValues] = useState(initialFieldValues);\r\n const [recordForEdit, setRecordForEdit] = useState(null);\r\n const [dateSorting, setDateSorting] = useState(\"DESC\");\r\n const [priority, setPriority] = useState(\"HIGH\");\r\n const [status, setStatus] = useState(\"OPEN\");\r\n const [errors, setErrors] = useState({});\r\n const [tickets, setTickets] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pageNumber, setPageNumber] = useState(1);\r\n const [data, setData] = useState([]);\r\n const [totalRecords, setTotalRecords] = useState(0);\r\n const [loading, setLoading] = useState(false);\r\n const statusvalues = [\r\n { label: 'Active', value: true },\r\n { label: 'InActive', value: false }\r\n ]\r\n useEffect(() => {\r\n if (recordForEdit !== null) setValues(recordForEdit);\r\n }, [recordForEdit]);\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setValues({\r\n ...values,\r\n [name]: value,\r\n });\r\n };\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const validate = () => {\r\n let temp = {};\r\n temp.deviceId = values.deviceId === \"\" ? false : true;\r\n temp.applicationId = values.applicationId === \"\" ? false : true;\r\n setErrors(temp);\r\n return Object.values(temp).every((x) => x === true);\r\n }; \r\n\r\n const resetForm = () => {\r\n setValues(initialFieldValues);\r\n };\r\n const showEditDetails = (data) => {\r\n setRecordForEdit(data);\r\n };\r\n const GetTickets = (number) => {\r\n var sortingData = {\r\n \"dateAsc\": dateSorting\r\n }\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETALLTICKETS + \"?OrganisationId=\" + localStorage.getItem('organisationId') + \"&dateAsc=\" + dateSorting + \"&pageNumber=\" + number + \"&pageSize=\" + pageSize + \"\", { ...headerconfig })\r\n .then((response) => {\r\n setTickets(response.data.data.data);\r\n setPageNumber(response.data.data.pageNumber);\r\n setPageSize(response.data.data.pageSize);\r\n setTotalPages(response.data.data.totalPages);\r\n setData(response.data.data);\r\n setTotalRecords(response.data.data.totalRecords);\r\n });\r\n };\r\n const applyErrorClass = (field) =>\r\n field in errors && errors[field] === false ? \" form-control-danger\" : \"\";\r\n const GetLastPageData = () => {\r\n GetTickets(totalPages)\r\n }\r\n const GetFirstPageData = () => {\r\n GetTickets(\"1\")\r\n }\r\n const GetPageData = (number) => {\r\n setPageNumber(number);\r\n if (pageNumber !== number)\r\n GetTickets(number)\r\n }\r\n const pageNumbers = [];\r\n for (let i = 1; i <= totalPages; i++) {\r\n pageNumbers.push(i);\r\n }\r\n const renderPageNumbers = pageNumbers.map((number) => {\r\n return (\r\n
  • GetPageData(number)}>\r\n {number}\r\n
  • \r\n );\r\n });\r\n const handleSearch = (e) => {\r\n e.preventDefault();\r\n GetTickets(pageNumber);\r\n };\r\n useEffect(() => {\r\n GetTickets(pageNumber);\r\n }, [])\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Tickets

    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. Tickets
    4. \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Tickets List
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n loading === true ?\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 \r\n \r\n {tickets.length > 0 && tickets.map((ticket, index) =>\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
    IDDateTicketNoCategoryNameQueryPriorityStatusAction
    {((pageNumber - 1) * 10) + index + 1}{moment(ticket.createdDate).format('Do MMM YYYY, h:mm a')}{ticket.ticketNo}{ticket.ticketCategoryName}{ticket.userName}{ticket.ticketQuery}\r\n {ticket.ticketStatus === TicketStatus.OPEN ? {TicketStatus.OPEN} : {TicketStatus.PENDING}}\r\n \r\n {ticket.ticketPriority === TicketPriority.LOW ? {TicketPriority.LOW} : ticket.ticketPriority === TicketPriority.MEDIUM ? {TicketPriority.MEDIUM} : {TicketPriority.HIGH}}\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Showing {tickets.length} of {totalRecords} Results\r\n
    \r\n
    \r\n
      \r\n
    • GetFirstPageData()}>\r\n Previous\r\n
    • \r\n {renderPageNumbers}\r\n
    • GetLastPageData()}>\r\n Next\r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { UserStatus } from \"../Common/Enums\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { handleSuccess, handleError } from \"../Common/Layouts/CustomAlerts\";\r\nimport moment from \"moment\";\r\nimport APIConfig from \"../Common/Configurations/APIConfig\";\r\nexport default function Notifications() {\r\n const [notifications, setNotifications] = useState([]);\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const applicationAPI = () => {\r\n return {\r\n delete: (id) => axios.delete(config.APIACTIVATEURL + config.DELETENOTIFICATION + \"/\" + id, { ...headerconfig })\r\n };\r\n };\r\n const GetNotifications = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETNOTIFICATIONBYUSER + \"?ToUserId=\" + localStorage.getItem(\"userId\"), { ...headerconfig })\r\n .then((response) => {\r\n if (response.data.data.succeeded === true) {\r\n setNotifications(response.data.data.data);\r\n }\r\n });\r\n };\r\n const onDelete = (e, id) => {\r\n if (window.confirm('Are you sure to delete this record?'))\r\n applicationAPI().delete(id)\r\n .then(res => {\r\n handleSuccess(\"Notification Deleted Succesfully\");\r\n GetNotifications();\r\n })\r\n }\r\n useEffect(() => {\r\n GetNotifications();\r\n }, [])\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Notifications

    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. Notifications
    4. \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Notifications List
    \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 {notifications.length > 0 && notifications.map(notification =>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
    NotificationNotification TypeDateStatusAction
    {notification.notificationText}{notification.type}{moment(notification.createdDate).format('MMM Do YYYY, h:mm a')}\r\n {notification.status === true ? {UserStatus.ACTIVE} : {UserStatus.INACTIVE}}\r\n \r\n
    \r\n \r\n onDelete(e, notification.notificationId)}>\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport moment from \"moment\";\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport ReactApexChart from \"react-apexcharts\";\r\nimport Flatpickr from \"react-flatpickr\";\r\nimport Select from 'react-select';\r\nexport default function MeterReading() {\r\n var date = new Date();\r\n const [meterReading, setMeterReading] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pageNumber, setPageNumber] = useState(1);\r\n const [data, setData] = useState([]);\r\n const [totalRecords, setTotalRecords] = useState(0);\r\n const [fromDate, setFromDate] = useState(new Date(date.getFullYear(), date.getMonth(), 1))\r\n const [toDate, setToDate] = useState(new Date())\r\n const [deviceIds, setDeviceIds] = useState([])\r\n const [deviceId, setDeviceId] = useState(null)\r\n const [barGraphLabels, setBarGraphLabels] = useState([])\r\n const [barGraphSeries, setBarGraphSeries] = useState([])\r\n const [loading, setLoading] = useState(false);\r\n const WaterConsumptionByDevice = () => {\r\n var options = {\r\n chart: {\r\n id: 'Water-Usage',\r\n toolbar: {\r\n show: false,\r\n offsetX: 0,\r\n offsetY: 0,\r\n tools: {\r\n download: true,\r\n selection: true,\r\n zoom: true,\r\n zoomin: true,\r\n zoomout: true,\r\n pan: true,\r\n reset: true | '',\r\n customIcons: []\r\n },\r\n export: {\r\n csv: {\r\n filename: undefined,\r\n columnDelimiter: ',',\r\n headerCategory: 'Date and Time',\r\n headerValue: 'Usage',\r\n dateFormatter(timestamp) {\r\n return new Date(timestamp).toDateString()\r\n }\r\n },\r\n png: {\r\n filename: \"Water-Usage-Daily\",\r\n }\r\n },\r\n autoSelected: 'zoom'\r\n },\r\n },\r\n xaxis: {\r\n categories: barGraphLabels//[\"8:00 AM\",\"9:00 AM\",\"10:00 AM\",\"11:00 AM\",\"12:00 PM\",\"01:00 PM\",\"02:00 PM\",\"03:00 PM\",\"04:00 PM\"]\r\n }\r\n };\r\n var series = [{\r\n name: 'water usage',\r\n data: barGraphSeries//[30, 40, 35, 50, 49, 60, 70, 91, 125]\r\n }]\r\n return (\r\n \r\n )\r\n }\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\"),\r\n 'Content-Type': 'application/json'\r\n }\r\n }\r\n const GetDevicesData = (number) => {\r\n setLoading(true);\r\n if (deviceId !== null) {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETMETERDATABYDEVICE + \"?DateFrom=\" + moment(fromDate).format('YYYY-MM-DD') + \"&DateTo=\" + moment(toDate).format('YYYY-MM-DD') + \"&DeviceId=\" + deviceId.value + \"&pageNumber=\" + number + \"&pageSize=\" + pageSize + \"\", { ...headerconfig })\r\n .then((response) => {\r\n if (response.data.data !== \"No Records\") {\r\n setMeterReading(response.data.data.data);\r\n setPageNumber(response.data.data.pageNumber);\r\n setPageSize(response.data.data.pageSize);\r\n setTotalPages(response.data.data.totalPages);\r\n setData(response.data.data);\r\n setTotalRecords(response.data.data.totalRecords);\r\n }\r\n else {\r\n setMeterReading([]);\r\n }\r\n });\r\n setLoading(false);\r\n }\r\n };\r\n const GetLastPageData = () => {\r\n GetDevicesData(totalPages)\r\n }\r\n const GetFirstPageData = () => {\r\n GetDevicesData(\"1\")\r\n }\r\n const GetPageData = (number) => {\r\n setPageNumber(number);\r\n if (pageNumber !== number)\r\n GetDevicesData(number)\r\n }\r\n const GetReports = () => {\r\n if (deviceId === null) {\r\n\r\n }\r\n GetDevicesData(pageNumber);\r\n GetBarGraphData();\r\n }\r\n const pageNumbers = [];\r\n for (let i = 1; i <= totalPages; i++) {\r\n pageNumbers.push(i);\r\n }\r\n const renderPageNumbers = pageNumbers.map((number) => {\r\n return (\r\n
  • GetPageData(number)}>\r\n {number}\r\n
  • \r\n );\r\n });\r\n const GetDevices = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETACTIVEDEVICE, { ...headerconfig })\r\n .then((response) => {\r\n setDeviceIds(response.data.data);\r\n });\r\n };\r\n const GetBarGraphData = () => {\r\n if (deviceId !== null) {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETDEVICEDATABYDEVICE + \"?DateFrom=\" + moment(fromDate).format('YYYY-MM-DD') + \"&DateTo=\" + moment(toDate).format('YYYY-MM-DD') + \"&DeviceId=\" + deviceId.value, { ...headerconfig })\r\n .then((response) => {\r\n setBarGraphLabels(response.data.labels);\r\n setBarGraphSeries(response.data.series);\r\n });\r\n }\r\n };\r\n useEffect(() => {\r\n GetDevicesData(pageNumber);\r\n GetBarGraphData();\r\n GetDevices();\r\n }, [])\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    MeterReading

    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. MeterReading
    4. \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n const firstDate = selectedDates[0];\r\n setFromDate(firstDate);\r\n }}\r\n />\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setToDate(selectedDates[0]);\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {/*end col*/}\r\n
    \r\n {loading === false ?\r\n \r\n :\r\n \r\n }\r\n
    \r\n {/*end col*/}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Water Usage by Device (In Litres)
    \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
    Water Usage Data
    \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 {meterReading.length > 0 ? meterReading.map((mr, index) =>\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
    IdDate and TimeDevice IDApplication IDReadingUsage (litres)
    {index + 1}{moment(mr.time).format('MMM Do YYYY')}{mr.deviceId}{mr.applicationId}{mr.payLoad_ASCII}{mr.usage}
    No Records
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Showing {meterReading.length} of {totalRecords} Results\r\n
    \r\n
    \r\n
      \r\n
    • GetFirstPageData()}>\r\n Previous\r\n
    • \r\n {renderPageNumbers}\r\n
    • GetLastPageData()}>\r\n Next\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}","import Header from \"../Common/Layouts/Header\";\r\nimport SideBar from \"../Common/Layouts/SideBar\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { TicketStatus, TicketPriority } from \"../Common/Enums\";\r\nimport { useState, useEffect } from \"react\";\r\nimport axios from 'axios';\r\nimport config from \"../Common/Configurations/APIConfig\";\r\nimport { handleSuccess, handleError } from \"../Common/Layouts/CustomAlerts\";\r\nconst initialFieldValues = {\r\n ticketId: \"00000000-0000-0000-0000-000000000000\",\r\n ticketCategoryId: \"00000000-0000-0000-0000-000000000000\",\r\n ticketQuery: \"\",\r\n ticketStatus: TicketStatus.OPEN,\r\n ticketPriority: TicketPriority.LOW,\r\n userId: \"00000000-0000-0000-0000-000000000000\",\r\n organisationId: \"00000000-0000-0000-0000-000000000000\",\r\n imageFile: null,\r\n imageSrc: \"\",\r\n};\r\nexport default function NewTicket() {\r\n const [values, setValues] = useState(initialFieldValues);\r\n const [recordForEdit, setRecordForEdit] = useState(null);\r\n const [errors, setErrors] = useState({});\r\n const [ticketCategory, setTicketCategory] = useState([]);\r\n const [tickets, setTickets] = useState([]);\r\n const [totalPages, setTotalPages] = useState(0);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pageNumber, setPageNumber] = useState(1);\r\n const [data, setData] = useState([]);\r\n const [totalRecords, setTotalRecords] = useState(0);\r\n useEffect(() => {\r\n if (recordForEdit !== null) setValues(recordForEdit);\r\n }, [recordForEdit]);\r\n const handleInputChange = (e) => {\r\n const { name, value } = e.target;\r\n setValues({\r\n ...values,\r\n [name]: value,\r\n });\r\n };\r\n const headerconfig = {\r\n headers: {\r\n Authorization: \"Bearer \" + localStorage.getItem(\"userToken\")\r\n }\r\n }\r\n const validate = () => {\r\n let temp = {};\r\n temp.ticketCategoryId = values.ticketCategoryId === \"\" ? false : true;\r\n temp.ticketQuery = values.ticketQuery === \"\" ? false : true;\r\n setErrors(temp);\r\n return Object.values(temp).every((x) => x === true);\r\n };\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n if (validate()) {\r\n const formData = new FormData()\r\n formData.append(\"ticketId\", values.ticketId);\r\n formData.append(\"ticketQuery\", values.ticketQuery);\r\n formData.append(\"ticketStatus\", values.ticketStatus);\r\n formData.append(\"ticketCategoryId\", values.ticketCategoryId);\r\n formData.append(\"ticketPriority\", values.ticketPriority);\r\n formData.append(\"organisationId\", localStorage.getItem(\"organisationId\"));\r\n formData.append(\"userId\", localStorage.getItem(\"userId\"));\r\n formData.append(\"imageFile\", values.imageFile);\r\n addOrEdit(formData);\r\n //console.log(values.imageFile);\r\n }\r\n };\r\n const applicationAPI = () => {\r\n return {\r\n create: (newrecord) =>\r\n axios.post(config.APIACTIVATEURL + config.CREATETICKET, newrecord, { ...headerconfig }),\r\n update: (updateRecord) =>\r\n axios.put(config.APIACTIVATEURL + config.UPDATETICKET, updateRecord),\r\n delete: (id) => axios.delete(config.APIACTIVATEURL + config.DELETETICKET + \"/\" + id, { ...headerconfig })\r\n };\r\n };\r\n const showPreview = e => {\r\n if (e.target.files && e.target.files[0]) {\r\n let imageFile = e.target.files[0];\r\n const reader = new FileReader();\r\n reader.onload = x => {\r\n setValues({\r\n ...values,\r\n imageFile,\r\n imageSrc: x.target.result\r\n })\r\n }\r\n reader.readAsDataURL(imageFile)\r\n }\r\n else {\r\n setValues({\r\n ...values,\r\n imageFile: null,\r\n imageSrc: \"\"\r\n })\r\n }\r\n }\r\n const addOrEdit = (formData) => {\r\n if (formData.get(\"ticketId\") === \"00000000-0000-0000-0000-000000000000\") {\r\n applicationAPI()\r\n .create(formData)\r\n .then((res) => {\r\n if (res.data.statusCode === 200) {\r\n handleSuccess(res.data.data);\r\n resetForm();\r\n GetTickets(\"1\");\r\n }\r\n else {\r\n handleError(res.data.message);\r\n }\r\n });\r\n } else {\r\n applicationAPI()\r\n .update(formData)\r\n .then((res) => {\r\n if (res.data.statusCode === 200) {\r\n handleSuccess(res.data.data);\r\n resetForm();\r\n GetTickets(\"1\");\r\n }\r\n else {\r\n handleError(res.data.message);\r\n }\r\n });\r\n }\r\n };\r\n const resetForm = () => {\r\n setValues(initialFieldValues);\r\n };\r\n const showEditDetails = (data) => {\r\n setRecordForEdit(data);\r\n };\r\n const GetTicketCategories = () => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETALLTICKETCATEGORIES, { ...headerconfig })\r\n .then((response) => {\r\n setTicketCategory(response.data.data.data);\r\n });\r\n };\r\n const GetTickets = (number) => {\r\n axios\r\n .get(config.APIACTIVATEURL + config.GETTICKETBYUSER + \"?UserId=\" + localStorage.getItem(\"userId\") + \"&pageNumber=\" + number + \"&pageSize=\" + pageSize + \"\", { ...headerconfig })\r\n .then((response) => {\r\n setTickets(response.data.data.data);\r\n setPageNumber(response.data.data.pageNumber);\r\n setPageSize(response.data.data.pageSize);\r\n setTotalPages(response.data.data.totalPages);\r\n setData(response.data.data);\r\n setTotalRecords(response.data.data.totalRecords);\r\n });\r\n };\r\n const onDelete = (e, id) => {\r\n if (window.confirm('Are you sure to delete this record?'))\r\n applicationAPI().delete(id)\r\n .then(res => {\r\n handleSuccess(\"Ticket Deleted Succesfully\");\r\n GetTickets(\"1\");\r\n })\r\n }\r\n const applyErrorClass = (field) =>\r\n field in errors && errors[field] === false ? \" form-control-danger\" : \"\";\r\n const GetLastPageData = () => {\r\n GetTickets(totalPages)\r\n }\r\n const GetFirstPageData = () => {\r\n GetTickets(\"1\")\r\n }\r\n const GetPageData = (number) => {\r\n setPageNumber(number);\r\n if (pageNumber !== number)\r\n GetTickets(number)\r\n }\r\n const pageNumbers = [];\r\n for (let i = 1; i <= totalPages; i++) {\r\n pageNumbers.push(i);\r\n }\r\n const renderPageNumbers = pageNumbers.map((number) => {\r\n return (\r\n
  • GetPageData(number)}>\r\n {number}\r\n
  • \r\n );\r\n });\r\n useEffect(() => {\r\n GetTicketCategories();\r\n GetTickets(pageNumber);\r\n }, [])\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    New Ticket

    \r\n
    \r\n
      \r\n
    1. Home
    2. \r\n
    3. Ticket
    4. \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