{"version":3,"mappings":"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,GAAG2nG,SAAS,EACrCiV,kBAAuBpgH,EAAE4V,KACzBnZ,MAAOykD,EACPj0C,SAAUgsC,EACVqpD,cACH,CAAC,EACJ,CAEV,EChDMw5D,GAAmB,CAAC,UAAW,WAAY,cAAe,WAAY,mBAAoB,UAAU,EAEpGl7I,GAAgB,CAClB,YACA,UACA,SACA,WACA,YACA,YACA,aACA,aACA,YACA,0BACA,0BACA,mBACA,qBACA,kBACA,oBACA,cACA,gBACA,cACA,gBACA,sBACA,uBACA,eACA,eACA,qBACA,QAAQ,EAGN+/E,GAAgB,CAAC,UAAW,iBAAkB,kBAAkB,EAEhEo7D,GAAW,CACb,WACA,WACA,WACA,UACA,UACA,uBACA,iBACA,gBACA,cACA,YACA,aAAa,EAGXj7I,GAAoB,CACtB,WACA,UACA,UACA,WACA,0BACA,UACA,WACA,WACA,cACA,YACA,cACA,mBACA,qBACA,cACA,cACA,aAAa,EAGXD,GAAQ,CACV,UACA,WACA,WACA,WACA,6BACA,iBACA,uBACA,sBAAsB,EAGpBE,GAAU,CACZ,kBACA,kBACA,kBACA,+BACA,4BACA,4BACA,4BACA,wBACA,0BACA,gBACA,sBACA,mBACA,qBACA,oBACA,iBACA,yBACA,sBACA,sBACA,sBACA,eACA,uBACA,uBACA,gBACA,gBACA,gBACA,8BACA,8BACA,6BACA,8BACA,iBACA,aACA,cACA,aACA,sCACA,sCACA,gBACA,yBACA,2BACA,2BACA,8BACA,8BACA,6BAA6B,EAG3Bi7I,GAA0B,CAC5B,UACA,UACA,iBACA,UACA,YACA,iBACA,iBACA,eACA,mBAAmB,EAGjBr7I,GAAkB,CACpB,UACA,qBACA,SACA,eACA,eACA,gBACA,kBACA,kBACA,mBACA,mBACA,oBACA,uBACA,UACA,2BACA,yBAAyB,EAGvBs7I,GAAQ,CACV,gBACA,cAEA,kBACA,mBACA,eACA,eACA,wBACA,iBACA,mBACA,aACA,qBACA,sBACA,gCACA,kCACA,oCACA,oCACA,wBACA,2BACA,4BACA,mBACA,6BACA,0BACA,4BACA,kCACA,mBAAmB,EAGjBC,GAAM,CACR,cACA,cACA,wBACA,aACA,6BACA,0BACA,4BACA,iCAAiC,EAG/BC,GAAa,CAAC,UAAW,UAAW,SAAS,EAE7CC,GAAyB,CAAC,UAAW,UAAW,UAAW,WAAW,EACtEC,GAAoB,CAAC,UAAW,UAAW,UAAW,YAAa,aAAa,EAEhFC,GAAa,CACf,GAAGR,GACH,GAAGl7I,GACH,GAAG+/E,GACH,GAAGo7D,GACH,GAAGl7I,GACH,GAAGE,GACH,GAAGJ,GACH,GAAGG,GACH,GAAGk7I,GACH,GAAGC,GACH,GAAGC,GACH,GAAGC,EAAU,EAOJI,GAAwE,CACjFT,oBACAl7I,iBACA+/E,iBAEA67D,gBAAiBT,GACjBU,wBAAyBV,GACzBl7I,SACAE,WACAJ,mBACAG,qBACAk7I,2BACAC,SACAC,OACAE,0BACAC,qBACAF,cACAO,IAAKJ,EACT,EC3OaK,GAA8B,CAEvC,mBACA,gBAEA,gBACA,QACA,oBACA,QAEA,UACA,kBACA,kBACA,0BACA,MACA,0BACA,yBACA,oBACA,YAAY,ECAVC,GAAyBA,CAAC,CAAEjgI,OAAMrL,SAAQzrB,SAAQoH,UAAsC,IAAM,CAC1F,MAAC0gE,CAAU,EAAIlmD,EAAc,IAAMs+F,GAAwBlgH,CAAM,EAAG,GAAI,IAAI,EAE5Eg3J,EAA4BF,GAA4B58J,IAAYC,IAAA,CACtEwD,GAAIxD,EACJ4V,KAAI+a,EAAAwW,EAAI,CAAE3jC,GAAI,yBAAyBxD,GAAI,CAAC,CAC9C,IACI24F,EAAwB9yF,EAAOqiH,WAC/Bq0C,GAAkB12J,EAAOqiH,UAAU,EAAEnoH,IAE5BC,IAAA,CACGwD,GAAIxD,EACJ4V,KAAI+a,EAAAwW,EAAI,CAAE3jC,GAAI,qBAAqBxD,GAAI,CAAC,GAEpD,EACA,GACN,OAAK2tE,SAIAiyC,GAAY,CAACluF,QAASJ,EAAQy3B,UAAWpsB,EAAKzvB,SAAA,CAC3CooB,MAACumI,GAAoB,CACjB5uJ,YAAiBA,EAAS,CAAE,GAAGpH,EAAQqiH,WAAY9rE,iBAAG54C,GAAI,EAC1DR,KAAM65J,EACNpgK,MAAOoJ,EAAOqiH,YAAc,GAC5B5lB,YAAW,GACX1jE,YAAO1B,EAAA,CAAA15B,GAAA,cAAyB,EACnC,EACD8xB,MAAC2qF,GAAc,CACXxjH,MAAOoJ,EAAOygH,cAAgB,CAAG,EACjCr5G,YAAiBA,EAAS,CAAE,GAAGpH,EAAQygH,aAAclqE,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EACzEuI,kBAAamxB,EAAA,CAAA15B,GAAA,uCAAkD,EAC/Do7B,YAAO1B,EAAA,CAAA15B,GAAA,SAAoB,EAC3BR,KAAM21F,EACT,EAEDrjE,MAAC2qF,GAAc,CACXj9G,KAAM2qE,iBAAYmvF,YAClBl+H,YAAO1B,EAAA,CAAA15B,GAAA,oBAA+B,EACtC/G,MAAOoJ,EAAOk3J,oBAAsB,CAAG,EACvC9vJ,YAAiBA,EAAS,CAAE,GAAGpH,EAAQk3J,mBAAoB3gH,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EAClF,CAAC,EACQ,EAzBP8xB,MAAC+a,EAAgB,EAAE,CA2BlC,EChDM2sH,GAA4BA,CAAC,CAAErqJ,oBAAmB9O,WAA0C,IAAM,CACpG,KAAM,CAACo5J,EAAmBC,CAAoB,EAAIx4I,WAAS,EAAK,EAC1Dy4I,EAAmBh5I,cAAY,KAC1B,CACHtgB,YACAqiE,mBAAoB,CAACvzD,CAAiB,IAE3C,CAAC9O,EAAW8O,CAAiB,CAAC,EAE3B,CAAC9M,EAAQq7G,CAAS,EAAIx8F,WAA+By4I,EAAkB,GAE7ExvI,GAAmB,IAAM,CACXuzF,EAAA,CAAE,GAAGr7G,EAAQ,GAAGs3J,EAAiB,EAAG,GAC/C,CAACA,CAAgB,CAAC,EACf/X,QAAiB5mC,GAAoB34G,EAAQs3J,CAAgB,EAC3D/yE,mBAAI,SAAUvkF,CAAM,EACpBukF,YAAI,mBAAoB+yE,EAAkB,UAG9C/nI,WAAA,CAAAloB,SAAA,CACIooB,MAAC4N,GAAS,CAACj3B,UAAW0pB,GAAMwN,UAAUj2B,SACjCg2B,SAAUL,MAAK,CAAA31B,eACX0xG,GAAa,CAACC,cAAeA,IAAMq+C,EAAqB,EAAI,EAAGt7H,SAAUwjH,EAAiB,EAC9E,EACV,EACX9vH,MAAA,OAAKrpB,UAAW0pB,GAAM6U,QAAQt9B,eACzBm7G,GAAe,CAACxiH,SAAiB,EACjC,EACLyvB,MAACsnI,GAAsB,CACnB3vJ,SAAUi0G,EACVr7G,SACAyrB,OAAQA,IAAM,CACV4rI,EAAqB,EAAK,CAC9B,EACAvgI,KAAMsgI,EACT,CAAC,EACJ,CAEV,ECTMhmF,GAAsB,CACxB,CACIzzE,GAAI,YACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,YAAuB,EAC7B0gC,OAAQA,CAAC,CAAEg/D,2BAAuB00D,GAAwB,CAACjlJ,kBAAmBuwF,EAAgB1/F,GAAK,CACvG,EACA,CACIA,GAAI,YACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,YAAuB,EAC7B0gC,OAAQA,CAAC,CAAEg/D,2BAAuBitB,GAAwB,CAACx9G,kBAAmBuwF,EAAgB1/F,GAAK,CACvG,EACA,CACIA,GAAI,UACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,UAAqB,EAC3B0gC,OAAQA,CAAC,CAAEg/D,2BAAuBwsC,GAA2B,CAACxsC,kBAAmC,CACrG,EACA,CACI1/F,GAAI,UACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,kBAA6B,EACnC0gC,OAAQA,CAAC,CAAEg/D,2BAAuB0iD,GAA6B,CAACjzI,kBAAmBuwF,EAAgB1/F,GAAK,CAC5G,EACA,CACIA,GAAI,sBACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,sBAAiC,EACvC0gC,OAAQA,CAAC,CAAEg/D,2BAAuB2yD,GAAiC,CAACljJ,kBAAmBuwF,EAAgB1/F,GAAK,CAChH,EACA,CACIA,GAAI,SACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,SAAoB,EAC1B0gC,OAAQA,CAAC,CAAEg/D,2BACN4mC,GAAqB,CAACjmI,UAAWq/F,EAAgBr/F,UAAW8O,kBAAmBuwF,EAAgB1/F,GAAK,CAE7G,EACA,CACIA,GAAI,WACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,WAAsB,EAC5B0gC,OAAQA,CAAC,CAAEg/D,kBAAiBngF,UAASxM,mBAChC+iJ,GAAkB,CAAC3mJ,kBAAmBuwF,EAAgB1/F,GAAIiP,UAAWsQ,EAAQvf,GAAIK,UAAW0S,EAAQ/S,GAAK,CAElH,EACA,CACIA,GAAI,cACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,cAAyB,EAC/B0gC,OAAQA,CAAC,CAAEg/D,kBAAiB3sF,mBACvBymJ,GAAyB,CAACrqJ,kBAAmBuwF,EAAgB1/F,GAAIK,UAAW0S,EAAQ/S,GAAK,CAElG,CAAC,EAQC45J,GAAgEA,CAAC,CAAEzqJ,oBAAmBomE,KAAI,IAAM,CAClG,MAAMh2D,EAAUwF,EAA+BzlB,KAAMD,OAAOV,aAAc,EACpEoU,EAAUgS,EAA+BzlB,KAAMD,OAAOT,aAAc,EAEpE,CAAC8gG,GAAmBm6D,CAAU,EAAI51I,EACpC,IAAMo7E,GAAmBlwF,CAAiB,EAC1C,CAACA,CAAiB,EAClB,IACJ,EAEM1N,EAAiBsjB,EAAazlB,GAAkBA,EAAM2D,OAAOhC,gBAAgBR,QAAQ,EACrFq5J,EAAmBzuI,UACrB,KAAO,CACH5qB,SAAUgB,iBAAgBY,OAAc7F,KAAE2S,oBAAsB,CAACA,GAAqB3S,EAAE8uB,eAAiB,GACpG1xB,MAET,IAAC6H,EAAgB0N,CAAiB,CACtC,EACA,GAAI,CAACuwF,EACM5tE,aAAC+a,EAAgB,EAAE,EAG9B,MAAMgmC,EAAa0C,IAAQ,YAAcA,IAAQ,qBAAuBA,IAAQ,YAEhF,cACI3jD,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAOimF,EAAgBttF,KAAO,EAC/C0nB,OAAA,OAAKrxB,UAAW0pB,GAAM4nI,OAAOrwJ,UACzBowB,OAAA,OAAKrxB,UAAW0pB,GAAM6nI,WAAWtwJ,SAAA,CAC7BowB,OAACga,GAAW,CAAApqC,SACRooB,CAACgiB,SAAYK,YAAW,CAACj9B,GAAG,qBAAoBxN,eAC5CgwB,EAAA,CAAA15B,GAAA,YAAuB,EACF,EAExB8zC,SAAYI,KAAI,CAAAxqC,eACb,QAAAA,SAAOg2F,EAAgBttF,KAAW,EACpB,CAAC,EACV,EAEb0f,MAAC4gI,GAA8B,CAC3BC,yBAA0BjzD,EAAgB1/F,GAC1CK,UAAWq/F,EAAgBr/F,UAC9B,CAAC,EACD,EAELy5B,OAAA,OAAKrxB,UAAW0pB,GAAMgjE,QAAQzrF,SAAA,CAC1BooB,MAACq0H,GAAwB,CAACzmD,kBAAmC,EAC7D5tE,MAAC65H,GAA0B,CACvBljJ,UAAW0pB,GAAM8nI,YACjB/9G,cAAa,GACbwjD,kBACAwxB,SAAUA,IAAM2oC,EAAW,EAC9B,CAAC,EACD,CAAC,EACL,EAEL/nI,MAACihD,GAAI,CAACC,YAAauC,EAAI7rE,SAClB+pE,GACIpxE,OAAe7F,KAAEq4B,aAAer4B,EAAEq4B,aAAa9hB,CAAO,EAAI,EAAK,EAC/DxW,IAAKg5E,SACD3C,GAAO,CACJC,aAEA7yE,GAAIu1E,EAAIv1E,GACRoS,KAAMmjE,EAAInjE,KACV8E,GAAI,aAAanE,EAAQ/S,wBAAwB0/F,EAAgB1/F,MAAMu1E,EAAIv1E,KAC3Eq+B,wBAAyBy7H,EAAiBvkF,EAAIv1E,EAAE,GAAK,EAAE0J,eACvD,OAAKjB,UAAWY,EAAW,CAAE,aAAcwpE,EAAY,EAAEnpE,SACpD6rE,EAAI70C,OAAO,CAAEg/D,kBAAiBngF,UAAkBxM,UAAkB,EAClE,GAPAwiE,EAAIv1E,EAQJ,CACZ,EACH,CAAC,EACT,CAEV,mUC7JMk6J,GAA4CA,CAAC,CAAEC,OAAO,EAAK,IAAM,CACnE,MAAMvxI,EAAUC,KAEV,CAACuxI,EAAYC,CAAa,EAAIn5I,WAAS,EAAK,EAC5C,CAAC8kC,EAAas0G,CAAc,EAAIp5I,WAAS,EAAE,EAEjDq5I,GAA2BC,GAAA,CACnBL,GACAK,EAAMjqI,eAAe,CACzB,CACH,EAED1P,YAAU,KACFs5I,EACAvxI,EAAQgO,MAAkB6jI,IACtBH,EAAeG,EAAO19J,QAAQ,EAC9Bs9J,EAAc,EAAI,EACX,OACV,EAEDzxI,EAAQgO,MAAM,IAAM,EAAE,EAGnB,IAAM,CACThO,EAAQgO,MAAM,IAAM,EAAE,IAE3B,CAAChO,EAASuxI,CAAI,CAAC,EAEZO,QAAW/5I,cAAY,SAAY,CACrCiI,EAAQgO,MAAM,IAAM,EAAE,EACtBhO,EAAQptB,KAAKwqD,CAAW,GACzB,CAACA,EAAap9B,CAAO,CAAC,EAEnBytC,EAAe11C,cAAY,SAAY,CACzC05I,EAAc,EAAK,CACvB,EAAG,CAAE,GAEED,gBACFvsI,EAAK,CAAC1sB,OAAQi5J,EAAW1wJ,SAAA,CACtBooB,MAACkB,GAAW,CAAAtpB,eACRgwB,EAAA,CAAA15B,GAAA,gBAA2B,EAClB,EACb8xB,MAACoB,EAAS,CAAAxpB,eACNgwB,EAAA,CAAA15B,GAAA,mEAA8E,EACvE,EACX85B,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASgyC,EAAa3sD,eAC3CgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,SAASrP,QAASq2I,EAAShxJ,eACrCgwB,EAAA,CAAA15B,GAAA,MAAiB,EACb,CAAC,EACA,CAAC,CACX,GACP,IACR,ECpDM26J,GAAsFA,CAAC,CACzFx5J,SACA3B,OACAqpC,WACAxP,WACAuhI,iCACAvR,qCACJ,IAAM,CACF,KAAM,CAAC3iG,EAAakP,CAAc,EAAI10C,WAAS,CAAC,EAC1C2lC,EAAQrnD,EAAKjD,IAAI,CAACC,EAAGzC,IAAMA,CAAC,EAElC,aACK8zB,EAAK,CAAC7iB,KAAK,KAAK7J,SAAeuI,eAC3Bu9C,GAAY,CACT5tB,WACAwP,WACAse,aAAcyO,EACdlP,cACAG,QAAan9C,SACZlK,EAAKjD,IAAI,CAACu5D,EAAM/7D,WACZgtD,GAAgB,CAAS9zB,OAAQ6iC,EAAKqiD,oBAAqB7vD,WAAYvuD,EAAE2P,SAAA,CACrEosD,EAAK38D,OAAS,qBACVuvJ,GAAuC,CACpCE,mBAAoB9yF,EAAKt2D,KAAKopJ,mBAC9BD,qBAAsB7yF,EAAKt2D,KAAKmpJ,oBACnC,GAEJ7yF,EAAK38D,OAAS,eACVqwJ,GAAsC,CACnCb,qBAAsB7yF,EAAKt2D,KAAKmpJ,qBAChCjzB,OAAQ5/D,EAAKt2D,KAAKk2H,MACrB,GAEJ5/D,EAAK38D,OAAS,wBACXy4B,WAAA,CAAAloB,eACKw/I,GAA8B,CAC3B/wC,oBAAqBriD,EAAKqiD,oBAC1BywC,mBAAoB9yF,EAAKt2D,KAAKopJ,mBAC9BO,YAAarzF,EAAKt2D,KAAK2pJ,YACvBC,4BACIwR,EAA+B9kG,EAAK3mD,iBAAiB,GAAK,CAC7D,EACDk6I,oCAAsC/+I,GAClC++I,EAAoCvzF,EAAK3mD,kBAAmB7E,CAAG,EAEtE,EACH,CACL,GA3BkBvQ,CA4BL,CACrB,EACS,EACX,CAEf,ECMO8gK,GAA8DA,CAAC,CAAEx6J,WAAU,IAAM,CACnF,KAAM,CAAC0sC,EAASC,CAAU,EAAI9rB,WAAS,EAAK,EACtC,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAACuE,EAASy5D,CAAU,EAAIh+D,WAAS,EAAK,EACtC,CAAC45I,EAAaC,CAAc,EAAI75I,WAAS,EAAK,EAC9C,CAAC6I,EAAYixI,CAAa,EAAI95I,WAA4C,IAAI,EAC9E,CAACjM,CAAa,EAAIgP,EAAc,IAAMlP,GAAiB1U,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EACpF,CAACyB,CAAI,EAAImiB,EAAc,IAAMq4B,GAAej8C,EAAWwM,GAAeiwC,IAAI,EAAG,CAACz8C,CAAS,EAAG,IAAI,EAC9F,CAAC46J,CAAuB,EAAIh3I,EAAc,IAAMi7E,GAA+B7+F,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC5G,CAAC66J,EAAYC,CAAa,EAAIj6I,WAA0C,CAAE,GAE1E,CACFk6I,EACAC,CAAqD,EACrDn6I,WAAS,EAAK,EAEZ,CAACo6I,EAAYC,CAAa,EAAIr6I,WAAqB,CAAE,GAgBrD05I,EAAiCj6I,cACf66I,GAAA,OAChB,QAAON,IAAW5sJ,KAAM9R,GAAMA,EAAE2S,oBAAsBqsJ,CAAM,IAArDN,cAAwD9R,8BAA+B,MAElG,CAAC8R,CAAU,CACf,EAEMxkD,EAAa,MAAO9/F,GAAS,CAC/BsoE,EAAW,EAAI,EACf67E,EAAe,EAAK,EAEhB,IACMp9J,QAAS,MAAM6iG,GAAgCngG,EAAW,IAAIyF,GAAS8Q,EAAK,CAAC,CAAC,CAAC,EACrFokJ,EAAcr9J,CAAM,QAEpBq9J,EAAc,IAAI,EAClBD,EAAe,EAAI,CACvB,CAEA77E,EAAW,EAAK,GAGdu8E,EAAwB,MAAOtqG,EAAgCg4F,IAA8B,CAC/F,GAAIA,GAAeA,EAAYvvJ,OAAS,GAAKu3D,EAAKnxD,GAAI,CAC5CkmE,QAAS,MAAMm0C,GAAwB,CACzCkxC,OAAQpC,EAAY5sJ,IAAKqhD,GAAMA,EAAE59C,EAAE,EACnCmP,kBAAmBgiD,EAAKnxD,GAC3B,EAEK01H,EAAS,MAAM7G,GAAa,CAC9BnsD,mBAAoB,CAACvR,EAAKnxD,EAAE,EAC5ByrJ,0BAA2BvlF,EAAO3pE,IAAKy0D,GAAMA,EAAEhxD,EAAE,EACjDigC,OAAQ,CAACl0B,GAAYorH,YAAY,EACpC,EAMGjxD,GAJWw1F,KAAQ,CACnB,GAAGA,EACH,CAAEvsJ,kBAAmBgiD,EAAKnxD,GAAKopJ,4BAA6BljF,EAAO3pE,IAAKy0D,GAAMA,EAAEhxD,EAAE,CAAG,EACxF,EACGkmE,EAAOtsE,OAAS,EAAG,CACnB,MAAM+hK,EAAqB,CACvBxsJ,kBAAmBgiD,EAAKnxD,GACxBm4G,oBAAqBhnD,EAAKgnD,oBAC1Bh/G,KAAM,iBACNqG,KAAM,CACF2pJ,cACAP,mBAAoB1iF,CACxB,GAGAwvD,SAAO97H,OAAS,EACT,CACH+hK,EACA,CACIxsJ,kBAAmBgiD,EAAKnxD,GACxBm4G,oBAAqBhnD,EAAKgnD,oBAC1Bh/G,KAAM,WACNqG,KAAM,CACFk2H,QACJ,EACH,EAIF,CAACimC,CAAkB,GAGlC,MAAO,EAAE,EAGPC,EAAuB,MAAOzqG,EAAgC0qG,IAA0C,CAC1G,MAAMlT,EAAoD,GAE1DkT,EAAiB3hK,QAA6B4hK,GAAA,CAC1C,MAAMC,EAAyB5qG,EAAKl8C,cAAc3G,KACvChH,KAAE8K,KAAK+tB,gBAAkB27H,EAAgB1pJ,KAAK+tB,YACzD,IACI47H,iBAAwB9iK,SAAU6iK,EAAgB7iK,OAClD0vJ,EAAqBntJ,KAAK,CACtBvC,MAAOk4D,EAAKl8C,cAAc3G,QAAYhH,EAAE8K,OAAS0pJ,EAAgB1pJ,IAAI,EAAGnZ,MACxEkqB,SAAU24I,EAAgB7iK,MAC1B4uJ,eAAgBiU,EAAgBjU,eAChCz1I,KAAM0pJ,EAAgB1pJ,KACzB,CACL,CACH,EAEK8zD,QAAS,MAAMm0C,GAAwB,CACzCgxC,gBAAiB1C,EAAsBpsJ,IAAKusJ,GAAOA,EAAGjB,cAAc,EACpE14I,kBAAmBgiD,EAAKnxD,GAC3B,EAEGkmE,KAAOtsE,OAAS,EAAG,CACb87H,QAAS,MAAM7G,GAAa,CAC9BnsD,mBAAoB,CAACvR,EAAKnxD,EAAE,EAC5ByrJ,0BAA2BvlF,EAAO3pE,IAAKy0D,GAAMA,EAAEhxD,EAAE,EACjDigC,OAAQ,CAACl0B,GAAYorH,YAAY,EACpC,EAEK6kC,EAAsB,CACxB7iK,KAAM,cACNqG,KAAM,CACFopJ,mBAAoB1iF,EACpByiF,sBACJ,EACAx5I,kBAAmBgiD,EAAKnxD,GACxBm4G,oBAAqBhnD,EAAKgnD,qBAG1Bud,SAAO97H,OAAS,EACT,CACHoiK,EACA,CACIx8J,KAAM,CACFmpJ,uBACAjzB,QACJ,EACAv8H,KAAM,QACNgW,kBAAmBgiD,EAAKnxD,GACxBm4G,oBAAqBhnD,EAAKgnD,oBAC7B,EAGF,CAAC6jD,CAAS,EAErB,MAAO,EAAE,EAGPC,EAA4Dp7J,GAAA,CAC9Dm6J,EAAcn6J,CAAO,GAGnBq7J,EAAqBA,IAAM,CAC7BlB,EAAc,IAAI,GAGhBn3E,EAAO,SAAY,CAErB,GADAn7C,EAAU,EAAI,EACV,EAAC3e,EAGD,IACM02E,SAAuBpgG,EAAW0pB,EAAYmxI,CAAU,EAC9DluH,EAAW,EAAI,SACT,CACNtE,EAAU,EAAK,CACnB,GAGE6hF,EAAkB,SAAY,CAChC,GAAI,CAACxgG,EACD,OAEJ2e,EAAU,EAAI,EACd,IAAIme,EAAoB,GAGxB,MAAMs1G,EAAkBr7J,GAAMm6J,EAA0Bz+J,GAAMA,EAAEwD,EAAE,EAC5Do8J,EAAgCryI,EAAW1nB,OAEzC7F,KAAEwD,KAAO,MACT,CAACm7G,GACG3+G,EAAEyY,cACFknJ,EAAgB3/J,EAAEwD,EAAE,EAAEiV,cAAc1Y,IAAausJ,IAAA,CAAE12I,KAAM02I,EAAG12I,KAAMnZ,MAAO6vJ,EAAG7vJ,OAAQ,CACxF,CACR,EAEA,UAAWk4D,KAAQirG,EACPv1G,IAAMmX,OAAO,MAAM49F,EAAqBzqG,EAAMgrG,EAAgBhrG,EAAKnxD,EAAE,EAAGiV,aAAa,CAAC,EAIlG,UAAWonJ,KAActyI,EACrB,GAAIsyI,EAAWr8J,GAAI,CAETmpJ,QADc8R,EAAyB3sJ,QAAY9R,EAAEwD,KAAOq8J,EAAWr8J,EAAE,EAC9C4/F,YAAYv9F,OAAQ07C,GAAO,CAACs+G,EAAWv6J,KAAK0L,SAASuwC,EAAG3iB,KAAK,CAAC,EAC3F+tH,EAAYvvJ,OAAS,IACrBitD,EAAQA,EAAMmX,OAAO,MAAMy9F,EAAsBY,EAAYlT,CAAW,CAAC,GAIjFtiG,EAAMjtD,SAAW,GACjB2hK,EAAc10G,CAAK,EACnBne,EAAU,EAAK,EACf2yH,EAAsD,EAAI,GAErDx3E,GACT,EAGEnuC,EAAaA,IACX,CAACzgC,GAAiB,CAACnT,GAAQ2jB,EACpBqM,MAAC+a,EAAgB,EAAE,EAG1B9iB,SAEI,OAAArgB,SAAA,CACIooB,MAACooI,GAAY,CAACC,KAAM,CAAC,CAACpwI,EAAa,EACnC+H,MAACwqI,GAA2B,CACxB98J,KAAMuqB,EACNtgB,SAAUwyJ,EACVhnJ,gBACAsnJ,cAAez6J,EACf06J,iBAAkB,GACrB,EAED1iI,OAAA,OAAKrxB,UAAU,oCAAmCiB,SAAA,CAC9CooB,MAACiI,GAAa,CACVpD,SAAU8R,EACV/U,MAAM,WACNsG,UAAWkiI,EACXjiI,kBAAaP,EAAA,CAAA15B,GAAA,UAAqB,EAClCk6B,iBAAYR,EAAA,CAAA15B,GAAA,4CAAuD,EACnEm6B,yBAAyB,SAAQzwB,eACjCgwB,EAAA,CAAA15B,GAAA,UAAqB,EACV,EAEf8xB,MAAC4F,EAAM,CAAChE,MAAM,UAAUrP,QAASkmG,EAAiB9kG,QAASgjB,EAAO/+B,eAC9DgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACR,CAAC,EACL,SAKR81C,GAAU,CAACrtC,UAAW0pB,GAAMgoF,WAAWzwG,SAAA,CACnCoxJ,GACGhpI,MAAA,OAAKrpB,UAAW0pB,GAAMwkF,aAAajtG,eAC/BgwB,EAAA,CAAA15B,GAAA,gGAEO,EACN,EAGT8xB,MAACmH,GAAkB,CACfH,KAAM5jB,GAAiC7U,EAAW,EAAK,EACvDwyB,KAAM0uC,GACN7tC,MAAM,WAAUhqB,eAChBgwB,EAAA,CAAA15B,GAAA,2BAAsC,EACtB,EAEpB8xB,MAACmH,GAAkB,CACfH,KAAM5jB,GAAiC7U,EAAW,EAAI,EACtDwyB,KAAM0uC,GACN7tC,MAAM,WAAUhqB,eAChBgwB,EAAA,CAAA15B,GAAA,2BAAsC,EACtB,EAEpB8xB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAAU/e,GAAM01J,EAAc,EAAE,EAAEtxJ,eACvDgwB,EAAA,CAAA15B,GAAA,uBAAkC,EAC9B,EAEH8xB,EAAA,mBAEL,OAAApoB,eACK82E,GAAU,CAACj2E,OAAM,GAAC82E,OAAQq1B,EAAa,EACvC,CAAC,EACE,EAIpB,OAAI3pE,QACQzU,GAAuB,CAACphB,GAAG,qBAAsB,SAIzD0a,WAAA,CAAAloB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAM8J,UAAUvyB,SAAA,CAC5BooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAc,gBAAI,EAE1C7J,OAACga,GAAW,CAAApqC,SACRooB,CAACgiB,SAAYK,YAAW,CAACj9B,GAAG,qBAAoBxN,eAC5CgwB,EAAA,CAAA15B,GAAA,YAAuB,EACF,EAExB8zC,SAAYI,KAAI,CAAAxqC,eACbgwB,EAAA,CAAA15B,GAAA,eAA0B,EACZ,CAAC,EACV,EAEZ01C,GAAY,EACZ,EACJ0lH,GACGtpI,MAAC6oI,GAAiC,CAC9Bn7J,KAAM87J,EACNn6J,OAAQi6J,EACRvyH,SAAUg7C,EACVxqD,SAAUA,IAAMgiI,EAAsD,EAAK,EAC3ET,iCACAvR,oCAAqCA,CAACmS,EAAQiB,IAC1CtB,EACIO,KAAIn/J,IAAKC,GACLA,EAAE2S,oBAAsBqsJ,EAAS,CAAE,GAAGh/J,EAAG4sJ,4BAA6BqT,CAAU,EAAIjgK,CACxF,CACJ,EAEP,CACJ,EACH,CAEV,ukCC9YKkgK,GACF5iI,UAAA,OAAKrxB,UAAWhB,GAAMk1J,kBAAkBjzJ,UACpCooB,MAAA,OAAKrpB,UAAWhB,GAAMm1J,iBAAiBlzJ,eAClCu9B,GAAW,CAACh4B,UAAW4tJ,EAAW78J,GAAK,EACvC,EACL8xB,MAAA,OAAKrpB,UAAWhB,GAAMq1J,eAAepzJ,eACjC,OAAAA,SAAMmzJ,EAAWzqJ,KAAU,EAC1B,CAAC,EACL,EAGH2qJ,GAA0CA,CAAC,CAAEtzJ,WAAUnB,YAAWE,WAAU,GAAGR,CAAK,IAAM,CAC5F,KAAM,CAAC/O,EAAOgqB,CAAQ,EAAI/B,WAAS,EAAE,EAC/B,CAAC87I,EAAaC,CAAc,EAAI/7I,WAAoB,CAAE,GACtDg8I,EAAgBz7I,SAAkC,IAAI,EAEtD07I,EAA8BA,CAAC,CAAElkK,WAAY,CAC/CikK,EAAcl0J,QAAU+R,GAAe,CAAEk4B,KAAMh6C,EAAO,EAExC+P,UAAQzC,KAAiB5I,GAAA,CACnCs/J,EAAet/J,CAAM,EACxB,GAGCy/J,EAAuBA,CAAC5C,EAAO,CAAEqC,aAAYQ,kBAAiBC,kBAAiBC,eAAcntJ,YAAa,CAC5GxJ,EAAe6C,EAAUozJ,CAAU,GAGjCz5H,EAAkC,CACpC,GAAGp7B,EACHO,YAAa,kBACbtP,QACAwQ,SAAUA,CAAC+wJ,EAAO,CAAEnwI,cAAepH,EAASoH,CAAQ,GAGxD,aACKmzI,GAAW,CACRrrI,MAAO1qB,GACPu1J,cACAG,8BACAM,4BAA6BA,IAAMR,EAAe,EAAE,EACpDG,uBACAM,sBAAoCb,EAAWzqJ,sBAC/CsqJ,GACAt5H,aACH,CAET,ECpCqBu6H,kBAAmC71J,EAAMi4B,SAG5D,CAHmB49H,kCAIjBr+J,gBAAyC,CACrCg8G,WAAY,GACZsiD,SAAU,CAAE,EACZn4I,QAAS,KAWbo4I,6BAAqBA,CAACv4J,EAAG,CAAE+kB,cAAe,CACtC,KAAKiW,SAAS,CACVg7E,WAAYjxF,EACf,IAGL8yI,sCAA8BA,CAAC,CAAElkK,QAAOsM,YAAa,CAC7CA,IAAW,gBACX,KAAKu4J,SAAS7kK,CAAK,EAEnB,KAAK8kK,gBAAgB9kK,CAAK,CAC9B,GAGJikK,wBAAuC,MAwCvCa,0BAAkBn9I,GAAS,KAAKk9I,SAAU,GAAG,GAE7CL,sCAA8BA,IAAM,CAMhC,KAAKn9H,SAAS,CACVs9H,SAAU,GACb,IAGLI,mCAA2BA,CAAC14J,EAAG,CAAE8K,SAAQysJ,gBAAiB,CAChD,MAAEpzJ,YAAa,KAAKooB,MAC1BjrB,EAAe6C,EAAUozJ,CAAU,IAGvCH,2BACI5qI,SAAA,OAAKrpB,UAAWhB,GAAMk1J,kBAAkBjzJ,SACnCmmD,EACG/1B,OAAAlI,WAAA,CAAAloB,UACIooB,MAAA,OAAKrpB,UAAWY,EAAW5B,GAAMm1J,iBAAkBn1J,GAAMw2J,SAAS,EAAEv0J,SAC/DmmD,EAAQ/L,OAAO,CAAC,QACZ7hB,GAAS,CAACC,IAAKu2F,GAAkC5oE,EAAQ/L,OAAO,CAAC,EAAE9jD,EAAG,EAAI,EAE1EurD,SAAc,IAElB,EACLzxB,OAAA,OAAKrxB,UAAWhB,GAAMq1J,eAAepzJ,UACjCooB,MAAA,SAAApoB,eACK08C,GAAmB,CAACntD,MAAO42D,EAAQ0W,eAAiB,EAClD,EACPz0C,MAAA,OAAApoB,SAAMmmD,EAAQz9C,KAAU,CAAC,EACxB,CAAC,EACR,EAEF0f,MAAA,OAAKrpB,UAAWhB,GAAMq1J,eAAepzJ,eACjC,OAAAA,eAAMgwB,EAAA,CAAA15B,GAAA,aAAwB,EAAO,EACpC,EAER,GAvGTk+J,mBAAmBC,EAAW,CAC1B,MAAMtsI,EAAQ,KAAKA,MAEdspF,GAAQtpF,EAAMu7C,QAAS+wF,EAAU/wF,OAAO,GACzC,KAAK0wF,SAAS,CAEtB,CAiBA,MAAMA,SAAS7kK,EAAQ,CACb,MAAEgW,YAAWm+D,WAAY,KAAKv7C,MAC9B,CAAEypF,cAAe,KAAKh8G,MAE5B,KAAK49J,cAAgB5kC,GAAsB,CACvC9oC,eAAgBvgF,EAChBqsG,WAAYriH,EACZ,GAAGm0E,EACN,EAED,KAAK9sC,SAAS,CACV7a,QAAS,GACZ,EAEG,IACI9nB,MAAS,MAAM,KAAKu/J,cACpBjkK,IAAUqiH,GACV,KAAKh7E,SAAS,CACVs9H,SAAUjgK,EAAO/D,OAAS,EAAI+D,EAAS,CAAC,IAAI,EAC/C,CACL,QACM,CACN,KAAK2iC,SAAS,CACV7a,QAAS,GACZ,CACL,CAaJ,CA6CAib,QAAS,CACC,MAAE46E,aAAYsiD,YAAa,KAAKt+J,MAEhC8jC,EAAa,CACf76B,YAAa,YACbtP,MAAOqiH,EACP7xG,SAAU,KAAKo0J,mBACf1kK,KAAM,UAGV,aACKqkK,GAAW,CACRrrI,MAAO1qB,GACPu1J,YAAaY,EACbT,4BAA6B,KAAKA,4BAClCM,4BAA6B,KAAKA,4BAClCC,mBAAoCpiD,KACpCohD,iBAAkB,KAAKA,iBACvBt5H,aACAg7H,4BAA6B,GAC7BhB,qBAAsB,KAAKY,yBAC9B,CAET,CACJ,CC5IqBK,iBAA0Cv2J,EAAMi4B,SAGnE,CAHmBs+H,kCAIjB/+J,gBAAgD,CAC5Cg8G,WAAY,GACZsiD,SAAU,CAAE,EACZn4I,QAAS,KAWbo4I,6BAAqBA,CAACv4J,EAAG,CAAE+kB,cAAe,CACtC,KAAKiW,SAAS,CACVg7E,WAAYjxF,EACf,IAGL8yI,sCAA8BA,CAAC,CAAElkK,QAAOsM,YAAa,CAC7CA,IAAW,gBACX,KAAKu4J,SAAS7kK,CAAK,EAEnB,KAAK8kK,gBAAgB9kK,CAAK,CAC9B,GAGJikK,wBAAuC,MAwCvCa,0BAAkBn9I,GAAS,KAAKk9I,SAAU,GAAG,GAE7CL,sCAA8BA,IAAM,CAMhC,KAAKn9H,SAAS,CACVs9H,SAAU,GACb,IAGLI,mCAA2BA,CAAC14J,EAAG,CAAE8K,SAAQysJ,gBAAiB,CAChD,MAAEpzJ,YAAa,KAAKooB,MAC1BjrB,EAAe6C,EAAUozJ,CAAU,IAGvCH,2BACI5qI,SAAA,OAAKrpB,UAAWhB,GAAMk1J,kBAAkBjzJ,SACnCmmD,EACG/1B,OAAAlI,WAAA,CAAAloB,UACIooB,MAAA,OAAKrpB,UAAWY,EAAW5B,GAAMm1J,iBAAkBn1J,GAAMw2J,SAAS,EAAEv0J,SAC/DmmD,EAAQ/L,OAAO,CAAC,QACZ7hB,GAAS,CAACC,IAAKouB,GAAyCT,EAAQ/L,OAAO,CAAC,EAAE9jD,EAAG,EAAI,EAEjFurD,SAAc,IAElB,EACLzxB,OAAA,OAAKrxB,UAAWhB,GAAMq1J,eAAepzJ,UACjCooB,MAAA,SAAApoB,eACK08C,GAAmB,CAACntD,MAAO42D,EAAQ0W,eAAiB,EAClD,EACPz0C,MAAA,OAAApoB,SAAMmmD,EAAQz9C,KAAU,CAAC,EACxB,CAAC,EACR,EAEF0f,MAAA,OAAKrpB,UAAWhB,GAAMq1J,eAAepzJ,eACjC,OAAAA,eAAMgwB,EAAA,CAAA15B,GAAA,aAAwB,EAAO,EACpC,EAER,GAvGTk+J,mBAAmBC,EAAW,CAC1B,MAAMtsI,EAAQ,KAAKA,MAEdspF,GAAQtpF,EAAMu7C,QAAS+wF,EAAU/wF,OAAO,GACzC,KAAK0wF,SAAS,CAEtB,CAiBA,MAAMA,SAAS7kK,EAAQ,CACb,MAAEoH,YAAW+sE,WAAY,KAAKv7C,MAC9B,CAAEypF,cAAe,KAAKh8G,MAE5B,KAAK49J,cAAgB/sG,GAA6B,CAC9C9vD,YACAi7G,WAAYriH,EACZ,GAAGm0E,EACN,EAED,KAAK9sC,SAAS,CACV7a,QAAS,GACZ,EAEG,IACI9nB,MAAS,MAAM,KAAKu/J,cACpBjkK,IAAUqiH,GACV,KAAKh7E,SAAS,CACVs9H,SAAUjgK,EAAO/D,OAAS,EAAI+D,EAAS,CAAC,IAAI,EAC/C,CACL,QACM,CACN,KAAK2iC,SAAS,CACV7a,QAAS,GACZ,CACL,CAaJ,CA6CAib,QAAS,CACC,MAAE46E,aAAYsiD,YAAa,KAAKt+J,MAEhC8jC,EAAa,CACf76B,YAAa,YACbtP,MAAOqiH,EACP7xG,SAAU,KAAKo0J,mBACf1kK,KAAM,UAGV,aACKqkK,GAAW,CACRrrI,MAAO1qB,GACPu1J,YAAaY,EACbT,4BAA6B,KAAKA,4BAClCM,4BAA6B,KAAKA,4BAClCC,mBAAoCpiD,KACpCohD,iBAAkB,KAAKA,iBACvBt5H,aACAg7H,4BAA6B,GAC7BhB,qBAAsB,KAAKY,yBAC9B,CAET,CACJ,CC1JA,MAAMtB,GACF5iI,UAAA,OAAKrxB,UAAWhB,GAAMk1J,kBAAkBjzJ,UACpCooB,MAAA,OAAKrpB,UAAWhB,GAAMm1J,iBAAiBlzJ,eAClC29B,GAAQ,CAACtwB,OAAQ8lJ,EAAW5+D,kBAAoB,EAChD,EACLnkE,OAAA,OAAKrxB,UAAWhB,GAAMq1J,eAAepzJ,UACjCooB,MAAA,OAAApoB,SAAMmzJ,EAAWlnH,YAAiB,EAClC7jB,MAAA,SAAApoB,SAAQmzJ,EAAWloJ,MAAa,CAAC,EAChC,CAAC,EACL,EAQH2pJ,GAA+CA,CAAC,CAAE70J,WAAUwF,YAAW,GAAGjH,CAAK,IAAM,CACvF,MAAMu2J,EAAWx5I,EAAazlB,GAAkBA,EAAMD,OAAOZ,KAAMkW,KAAK,EAElE,CAAC1b,EAAOgqB,CAAQ,EAAI/B,WAAS,EAAE,EAC/B,CAAC87I,EAAaC,CAAc,EAAI/7I,WAA0B,CAAE,GAC5Dg8I,EAAgBz7I,SAAwC,IAAI,EAE5D07I,EAA8BA,CAAC,CAAElkK,WAAY,CACjC+P,UAAUoS,GAAqBnM,EAAWhW,CAAK,EAE/C+P,UAAQzC,KAAiB5I,GAAA,CACnCs/J,EAAet/J,CAAM,EACxB,GAGCy/J,EAAuBA,CAAC5C,EAAO,CAAEqC,aAAYQ,kBAAiBC,kBAAiBC,eAAcntJ,YAAa,CAC5GxJ,EAAe6C,EAAUozJ,CAAU,GAGjCz5H,EAAwC,CAC1C,GAAGp7B,EACHO,YAAa,kBACbtP,QACAwQ,SAAUA,CAAC+wJ,EAAO,CAAEnwI,cAAepH,EAASoH,CAAQ,GAGlDm0I,EAA6BxB,EAAY36J,OAAc7E,KAAEmX,QAAU4pJ,CAAQ,EACjF,aACKf,GAAW,CACRrrI,MAAO1qB,GACPu1J,YAAawB,EACbrB,8BACAM,4BAA6BA,IAAMR,EAAe,EAAE,EACpDG,uBACAM,sBAAoCb,EAAWlnH,YAC/C+mH,oBACAt5H,aACH,CAET,EC1CMq7H,GAA8EA,CAAC,CACjFhuF,cACAt3C,OACAjL,UACAqnC,SACAl8B,UACJ,IAAM,CACF,KAAM,CAACw2B,EAAS6uG,CAAU,EAAIx9I,WAAuC,IAAI,EACnE,CAACy9I,EAAiBC,CAAkB,EAAI19I,WAAqC,IAAI,EACjF,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC8xC,EAAO6rG,CAAQ,EAAI39I,WAAwB,IAAI,EAGhD7gB,EAAY0kB,EAAazlB,GAAkBA,EAAMD,OAAOT,cAAeoB,EAAE,EAEzEuiB,EAAoBD,GAAqB,CAC3C,CACIqtB,QAASA,IAAM,CAAC,CAACkgB,EACjBhgB,eAAgBA,IAAM/d,MAAA4H,EAAA,CAAA15B,GAAA,4BAAuC,CAChE,EACJ,EAEKu1C,EAAa,SAAY,CACrBmnC,IACakiF,EAAA,MAAM3gC,GAA4BxtD,CAAW,CAAC,GAG/DiM,EAAQA,IAAM,CAChBkiF,EAAmB,IAAI,EACvBF,EAAW,IAAI,EACfh2H,EAAU,EAAK,EACfm2H,EAAS,IAAI,GAGXhlI,EAAoBA,IAAM,CAC5BjzB,EAAeyyB,CAAQ,EACvBzyB,EAAesnB,CAAO,GAGpBq8F,EAAkB,SAAY,CAChC7hF,EAAU,EAAI,EAEV,IACA,MAAMw1F,GAAiBztD,EAAa5gB,EAAS7vD,GAAIgzD,CAAM,EAEvDpsD,EAAe2uD,CAAM,EACrB3uD,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,GAGEo2H,EAAgBH,iBAAiBr9J,KAAM9E,GAAMA,EAAEqzD,QAAQ7vD,MAAO6vD,iBAAS7vD,KAEvEupC,EAAqC,GAE3C,OAAIu1H,GACetjK,aAAKk+B,EAAA,CAAA15B,GAAA,sCAAkD,EAAC,QAItE6tB,EAAK,CAACzb,KAAK,0BAA0BjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB7uB,KAAK,KAAKijB,OAAQsnB,EAAW7rC,gBACvGk/B,GAAc,CAACC,SAAU0hF,EAAiBhoG,oBAAqC7Y,SAAA,CAC5EooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,cAAyB,EAChB,EACb85B,OAAC5G,EAAS,CAAAxpB,SAAA,CACNooB,MAACogB,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,kKAAA28C,WAAA,CAAA7N,EACIhd,MAA2B,YAAC,EAEzB,EACH,EAERA,MAACusI,GAAiC,CAACh+J,YAAsBoJ,SAAWomD,GAAY6uG,EAAW7uG,CAAO,EAAI,EAEtG/1B,OAAA,OAAKrxB,UAAW0pB,GAAM4sI,gBAAgBr1J,SACjC,EAACmmD,SACE,OAAAnmD,eACIgwB,EAAA,CAAA15B,GAAA,sBAAiC,EAChC,EAER6vD,GAAW/9B,MAACkqG,GAA4B,CAAC7hI,KAAM01D,EAAU,CAAC,EAC1D,EAEL/9B,MAAA,OAAKrpB,UAAU,aAAYiB,gBACvB,SAAAA,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EACnB8xB,MAAC5pB,GAAe,CACZ/O,KAAK,SACLsP,UAAU,0BACVxP,MAAO+5D,GAAgB,GACvBxqD,SAAQ,GACRiB,SAAiBo1J,KAAS,CAACv5J,EAAEgf,OAAOrrB,KAAK,EACzCsP,YAAa4kB,EAAAwW,EAAO,SACvB,CAAC,EACC,EACN,EAEL7R,MAAA,OAAKrpB,UAAU,aAAYiB,eACtB4/B,GAAiB,CAACC,iBAAiC,EACnD,CAAC,EACC,EACXzP,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASgjB,EAAQ9R,SAAUmoI,EAAcp1J,eAC3EgwB,EAAA,CAAA15B,GAAA,MAAiB,EACb,CAAC,EACA,CAAC,EACF,EACb,CAEf,ECzHMg/J,GAAwEA,CAAC,CAAE9wI,UAAS+wI,SAAQ9lI,OAAMsmG,WAAU,IAAM,CACpH,KAAM,CAACh3F,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC0+G,EAAeC,CAAgB,EAAI3+G,WAAmB,CAAE,GAEzDipG,EAAaA,IAAM,CACrBzhF,EAAU,EAAK,EACfm3F,EAAiB,CAAE,IAGjBtqF,EAAa,SAAY,CAChB40E,IAEX0V,EAAiB,CAAE,IAGjBjmG,EAAoB,MAAOt0B,GAAM,CACnCojC,EAAU,EAAI,EAEV,IACA,IAAIw2H,EAAgB,MAAMjgC,GAAqBQ,EAAUhvD,YAAamvD,CAAa,EAEnFh5H,EAAeq4J,EAAQC,CAAa,EACpCt4J,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,GAGE7O,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,GAGpBixI,EAAsBx+I,EACvB++E,eACG,CAAC+/B,EAAU8gB,iBAAiBhkJ,IAAWC,KAAEwD,EAAE,EAAEwN,SAASkyF,EAAgBvwF,iBAAiB,EAC3F,CAACswH,EAAU8gB,gBAAgB,CAC/B,EAEA,cACK1yH,EAAK,CAACzb,KAAK,0BAA0BpH,KAAK,KAAK7J,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,OAAQsnB,EAAW7rC,SAAA,CACxGooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,wBAAmC,EAC1B,EACb8xB,MAACoB,EAAS,CAAAxpB,eACN,OAAKjB,UAAU,aAAYiB,eACtB2zG,GAA+B,CAC5Bh9G,UAAWo/H,EAAUp/H,UACrBpH,MAAO2mI,EACPpiB,sBAAuB2hD,EACvB/wE,kBAAiCyxC,KAAiBx1G,CAAQ,EAC7D,EACA,EACE,EACXyP,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,UAAUrP,QAASuV,EAAmBnU,QAASgjB,EAAO/+B,eAChEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACA,CAAC,EACX,CAEf,ECzDMo/J,GAA4EA,CAAC,CAC/E5/B,mBACAtxG,UACAmxI,WACAlmI,OACAsmG,WACJ,IAAM,CACF,KAAM,CAACh3F,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAACw+G,EAAWC,CAAY,EAAIz+G,WAA6C,IAAI,EAC7Ey5E,EAAkBl5E,WAClB,CAACm+G,EAAeC,CAAgB,EAAI3+G,WAAmC,CACzEu8C,KAAM4/D,GAAiBM,OACvBj7D,mBAAoB,GACvB,EAEG,IAAC88D,GAAoB,CAACC,EAAiB,UAAIlxH,MAAM,oCAAoC,EACzF,MAAMkiE,EAAc+uD,EAAmBA,EAAiB/uD,YAAcgvD,EAAWhvD,YAC3E05C,EAAaA,IAAM,CACrBzhF,EAAU,EAAK,EACfi3F,EAAa,IAAI,EACAE,EAAA,CACbpiE,KAAM4/D,GAAiBM,OACvBj7D,mBAAoB,GACvB,GAGCntB,EAAa,SAAY,CAChB40E,IAEPxvB,EAAgB3xF,SAChB2xF,EAAgB3xF,QAAQ2mB,QAGxB6vG,EACiBK,EAAA,CACbpiE,KAAM4/D,GAAiBM,OACvBj7D,mBAAoB,CAAC88D,EAAiBrwH,iBAAiB,EAC1D,EACMswH,GACUI,EAAA,CACbpiE,KAAM4/D,GAAiBO,SACvBl7D,mBAAoB,GACvB,EAGQi9D,EAAA,MAAMf,GAA+BnuD,CAAW,CAAC,GAG5D6uF,EAAW,SAAY,CACrBv/B,MAEAH,KAAcniE,OAAS4/D,GAAiBM,OACxCoC,EAAe,MAAMf,GAAuBQ,EAAkB/uD,YAAa,CACvE+uD,EAAkBrwH,iBAAiB,CACtC,UACMywH,EAAcniE,OAAS4/D,GAAiBO,SAC/CmC,EAAe,MAAMf,GAAuBvuD,EAAamvD,EAAcl9D,kBAAkB,MAEnF,WAAIn0D,MAAM,6BAA6B,EAG1CwxH,UAGLnmG,EAAoB,MAAOt0B,GAAM,CACnCojC,EAAU,EAAI,EAEV,IACIw2H,MAAgB,MAAMI,IAE1B14J,EAAey4J,EAAUH,CAAa,EACtCt4J,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,GAGE7O,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,GAG1B,cACKL,EAAK,CAAC7iB,KAAK,KAAKoH,KAAK,4BAA4BjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,OAAQsnB,EAAW7rC,SAAA,CAC1GooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,eAA0B,EACjB,EACb85B,OAAC5G,EAAS,CAAAxpB,SAAA,CACNooB,MAACogB,GAAM,CAAC/4C,KAAK,UAASuQ,eAClBgwB,EAAA,CAAA15B,GAAA,4CAAuD,EACnD,EAEP0/H,EACG5tG,MAACwrG,GAA8B,CAC3Bj9H,UAAWq/H,EAAUr/H,UACrBk9H,4BAA6BmC,EAAU6/B,aAAahjK,IAAKC,GAAMA,EAAE2S,iBAAiB,EAClFuuH,uBAAwB8B,EAAmBA,EAAiBrwH,kBAAoB,KAChFlW,MAAO2mI,EACPn2H,SAAUo2H,EACVrC,kBAAa9jG,EAAA,CAAA15B,GAAA,oCAA+C,EAC5Dy9H,iBAAY/jG,EAAA,CAAA15B,GAAA,oCAA+C,CAC9D,GAED8xB,MAAC+a,IAAkB,CACtB,EACM,EACX/S,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,UAAUrP,QAASuV,EAAmBnU,QAASgjB,EAAO/+B,eAChEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CAAC,EACA,CAAC,EACX,CAEf,EC9H0E,IASrE6kD,cAAI,CAAJA,WAAI,6BAAJA,IAAI,qBAAJA,CAAI,EAAJA,IAAI,IAIT,MAAM+mE,GAAQ,CAAC/mE,GAAKowG,YAAapwG,GAAKqqG,OAAO,EAEvCsQ,GAAoFA,CAAC,CACvF//B,YACAvxG,UACAiL,OACAo8B,QACJ,IAAM,CACF,KAAM,CAACO,EAAMq2D,CAAO,EAAIjrG,WAAS2jC,GAAKowG,WAAW,EAC3C,CAACr1B,EAAeC,CAAgB,EAAI3+G,WAAmC,CACzEu8C,KAAM4/D,GAAiBO,SACvBl7D,mBAAoB,GACvB,EACKga,EAAQA,IAAM,CAChByvC,EAAQtnE,GAAKowG,WAAW,EACPp1B,EAAA,CACbpiE,KAAM4/D,GAAiBO,SACvBl7D,mBAAoB,GACvB,GAGC+8F,EAAkB,SAAY,CAChC,MAAM3gC,GAA0BW,EAAUhvD,YAAamvD,EAAcl9D,kBAAkB,EACvFnN,EAAOqqE,EAAcl9D,kBAAkB,EACvCypD,EAAQtnE,GAAKqqG,OAAO,GAExB,cACKrhI,EAAK,CAAC7iB,KAAK,KAAKkjB,QAASwuD,EAAOv7E,OAAQg4B,EAAMrL,OAAQI,EAAQxkB,SAAA,CAC3DooB,MAACkB,GAAW,CAAClF,OAAQI,EAAQxkB,eACzBgwB,EAAA,CAAA15B,GAAA,YAAuB,EACd,EACb85B,OAACmtB,GAAY,CACT5tB,SAAUnL,EACVi5B,aAAcglE,EACdtjF,SAAU42H,EACV54G,MAAO+kE,GACPllE,YAAaoP,EACb1O,gBAAiB,CACb19C,eAAUgwB,EAAA,CAAA15B,GAAA,YAAuB,EACjC22B,SAAUipG,EAAcl9D,mBAAmB9oE,SAAW,CAC1D,EAAE8P,SAAA,CACFowB,OAACitB,GAAgB,CAAC9zB,aAAQyG,EAAA,CAAA15B,GAAA,eAA0B,EAAGsoD,WAAYzD,GAAKowG,YAAYvrJ,UAChFooB,MAAA,KAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,6CAEO,EACR,EAEH8xB,MAACogB,GAAM,CAAC/4C,KAAK,UAASuQ,eAClBgwB,EAAA,CAAA15B,GAAA,iGAAA28C,WAAA,CAAA7N,EACIhd,MAA2B,YAAC,EAEzB,EACH,EAERA,MAACwrG,GAA8B,CAC3Bj9H,UAAWo/H,EAAUp/H,UACrBk9H,4BAA6BkC,EAAU8gB,iBAClCl+I,OAAQ7F,GAAM,CAACA,EAAE2kI,QAAU3kI,EAAEkjK,yBAA2BjzJ,GAAuBiiF,QAAQ,EACvFnyF,IAAKC,GAAMA,EAAEwD,EAAE,EACpB/G,MAAO2mI,EACPn2H,SAAUo2H,EACb,CAAC,EACY,EAClB/lG,OAACktB,GAAuB,CAACuB,YAAW,GAACt1B,aAAQyG,EAAA,CAAA15B,GAAA,eAA0B,EAAGsoD,WAAYzD,GAAKqqG,QAAQxlJ,SAAA,CAC/FooB,MAAC05F,GAAa,CAACv4E,WAAMvZ,EAAA,CAAA15B,GAAA,gCAAAE,OAAA,CAAA4uC,EAAQ2wF,EAAU/gB,SAAS,EAAkC,EAAI,EACtF5sF,MAAA,OAAKrpB,UAAU,WAAUiB,eACpBguB,EAAM,CAACrT,QAAS6J,EAASwF,MAAM,UAAShqB,eACrCgwB,EAAA,CAAA15B,GAAA,kBAA6B,EACzB,EACP,CAAC,EACe,CAAC,EAChB,CAAC,EACZ,CAEf,EChFM2/J,GAAsFA,CAAC,CACzF1rG,kBACA96B,OACAjL,UACAqnC,SACAl8B,UACJ,IAAM,CACF,KAAM,CAACumI,EAAeC,CAAgB,EAAI3+I,WAA6C,IAAI,EACrF,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC1hB,EAAMsgK,EAAWp8I,CAAO,EAAIV,GAAiD,IAAI,EAElFiL,EAAS,SAAY,CAGvB,GAFMyuD,IAEFzoB,EAAiB,CACX95D,QAAO,MAAMikI,GAAiBnqE,CAAe,EACnD4rG,EAAiB1lK,CAAI,EACbupB,EAAA,CAAEsvC,MAAO74D,EAAK64D,MAAO,EACjC,EAGJ,SAAS0pB,GAAQ,CACbmjF,EAAiB,IAAI,EACrBn8I,EAAQ,IAAI,EACZglB,EAAU,EAAK,CACnB,CAEA,MAAM7O,EAAoBA,IAAM,CAC5BjzB,EAAeyyB,CAAQ,EACvBzyB,EAAesnB,CAAO,GAGpBq8F,EAAkB,SAAY,CAC5B,MAAC/qH,GAAQ,CAACogK,GAIdl3H,GAAU,EAAI,EAEV,IACM21F,SAAoBuhC,EAAc5/J,GAAIR,CAAI,EAEhDoH,EAAe2uD,CAAM,EACrB3uD,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,IAGJ,aACK7a,EAAK,CAACzb,KAAK,2BAA2BjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,SAAgBD,SAAU0uD,EAAMhzE,gBAC3Gk/B,GAAc,CAACC,SAAU0hF,EAAgB7gH,SAAA,CACtCooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,eAA0B,EACjB,EACb85B,OAAC5G,EAAS,CAAAxpB,SAAA,CAOLk2J,EACG9tI,MAAA,OAAKrpB,UAAU,aAAYiB,gBACvB,SAAAA,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EACnB8xB,MAAC5pB,GAAe,CACZO,UAAU,eACVxP,OAAOuG,iBAAMwzD,QAAS,GACtBvpD,YAAiBq2J,EAAU,CAAE9sG,MAAO7rD,GAAiB7B,EAAEgf,OAAOrrB,KAAK,EAAG,EACtEsP,YAAa4kB,EAAAwW,cAAY,EACzBn7B,SAAQ,GACX,CAAC,EACC,EACN,EAELspB,MAAC+a,EAAgB,EAAE,EAEtBvD,SAAiB,EAAE,CAAC,EACd,EACXxP,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASgjB,EAAO/+B,eAClDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACA,CAAC,EACF,EACb,CAEf,EC9FM+/J,GAAsEA,CAAC,CAAE5lK,OAAMy7E,WAAW,GAAOoqF,eAAc,IAAM,CACvH,KAAM,CAACC,EAAgBC,CAAiB,EAAIh/I,WAAS,EAAK,EAEpDy8H,EAAoB,SAAY,CAC5Brf,SAAoBnkI,EAAK85D,eAAe,EAC9CrtD,EAAeo5J,CAAa,GAE1BG,EAAqB,SAAY,CAC7B5hC,SAAwBpkI,EAAK85D,eAAe,EAClDrtD,EAAeo5J,CAAa,GAG1BI,EAAkB,MAAOlvF,GAA8B,CACrD,IACA,MAAMZ,GAAcY,EAAOlxE,GAAI7F,EAAK85D,eAAe,QAC9C3uD,GACDA,EAAE26B,SAAWJ,GAAek7C,UAClBptC,cAAMjU,EAAA,CAAA15B,GAAA,6DAAAE,OAAA,CAAA4uC,EAA8DoiC,EAAO9+D,IAAI,CAAS,EAAC,CAE3G,CACAxL,EAAeo5J,CAAa,GAG1BK,EAAqB,MAAOnvF,GAA8B,CAC5D,MAAMX,GAAiBW,EAAOlxE,GAAI7F,EAAK85D,eAAe,EACtDrtD,EAAeo5J,CAAa,GAG1Bv/G,EAAkBA,IAAM,CAC1By/G,EAAkB,EAAI,GAGpBI,EAAiBA,IAAM,CACzB15J,EAAeo5J,CAAa,GAI1BO,EAAiB,CAAC3qF,GAAY,CAACz7E,EAAK24D,UACpCmhC,EAAU,CAACre,EAEjB,cACIhkD,WAAA,CAAAloB,SAAA,CACIooB,MAACwqG,GAAwB,CACrBniI,OACAkgI,iBAAsBsjB,EAAkB,EACxCrjB,mBAAoBimC,EAAwBJ,OAAuB98J,OACnE+2H,iBAAkBnmC,EAAiBxzC,OAAoBp9C,OACvDk5H,YAAatoC,EAAUmsE,EAAkB/8J,OACzCm5H,eAAgBvoC,EAAUosE,EAAqBh9J,OAClD,EAEDyuB,MAAC6tI,GAAiC,CAC9BxmI,KAAM8mI,EACNhsG,gBAAiB95D,EAAK85D,gBACtB/lC,QAASA,IAAMgyI,EAAkB,EAAK,EACtC3qG,OAAQA,IAAM+qG,EAAe,EAChC,CAAC,EACJ,CAEV,wCC7CME,GAAoFA,CAAC,CACvF/gC,YACA90F,SACAlhC,WACAg3J,qBACJ,IAAM,CACF,KAAM,CAAC3kK,EAAW4kK,EAAa,EAAIz8I,EAC/B,IAAMg6G,GAA4BwB,EAAUhvD,WAAW,EACvD,CAACgvD,EAAUhvD,WAAW,EACtB,IACJ,EACM,CAACkwF,EAAeC,CAAgB,EAAI1/I,WAAS,EAAK,EAClD,CAACouH,EAAeC,CAAgB,EAAIruH,WAAS,EAAK,EAClD,CAAC2/I,EAAkBC,CAAmB,EAAI5/I,WAAS,EAAK,EACxD,CAAC2/F,EAAgBC,CAAiB,EAAI5/F,WAAS,EAAK,EACpD,CAACq/G,EAAmBC,CAAoB,EAAIt/G,WAAS,EAAK,EAC1D,CAAC+5E,EAAkBC,CAAmB,EAAIh6E,WAAS,EAAK,EACxD,CAAC6/I,EAAqBC,CAAsB,EAAI9/I,WAAS,EAAK,EAE9D4N,EAASrN,SAAO,EAAK,EAC3BZ,YAAU,IAAM,CACR,CAACiO,EAAO9lB,SAAWlN,GAAW6uC,IAC9B7b,EAAO9lB,QAAU,GACV2hC,IACX,EACD,CAAC7uC,EAAS6uC,CAAM,CAAC,EAEpB,MAAMs2H,EAA4EC,GAAA,CACxEtwH,QAASjnC,GAAYC,UAAU61H,EAAW,CAC5C8gB,iBAAkB2gB,EACrB,EAEcz3J,IAAU,CAACmnC,CAAM,CAAC,GAG/BuwH,EAAqBA,CAACC,EAAqCnhI,IAAmC,CAC1F2Q,QAASjnC,GAAYC,UAAU61H,EAAW,CAC5C8gB,iBAAkB9gB,EAAU8gB,iBAAiBhkJ,OACzC6kK,EAA0B5zJ,SAAShR,EAAEwD,EAAE,EAAI,CAAE,GAAGxD,EAAGkjK,uBAAwBz/H,GAAWzjC,CAC1F,EACH,EAEciN,IAAU,CAACmnC,CAAM,CAAC,GAG/BqwE,EAA2BA,CAACmgD,EAAqC77J,IAAmB,CAChFqrC,QAASjnC,GAAYC,UAAU61H,EAAW,CAC5C8gB,iBAAkB9gB,EAAU8gB,iBAAiBhkJ,OACzC6kK,EAA0B5zJ,SAAShR,EAAEwD,EAAE,EACjC,CAAE,GAAGxD,EAAGkjK,uBAAwBjzJ,GAAuB2qF,SAAU4wB,aAAcziH,GAC/E/I,CACV,EACH,EAEciN,IAAU,CAACmnC,CAAM,CAAC,GAGrC,GAAI,CAAC90C,EACMg2B,aAAC+a,EAAgB,EAAE,EAG1B,IAAC4yF,EAAU18H,YAAYs+J,iBACvB,aACI,OAAA33J,SACK5N,EAAQS,IAAK+kK,SACThlC,GAAwB,CAA2BniI,KAAMmnK,EAAK5mC,aAAc,IAA9C4mC,EAAIrtG,eAAkD,CACxF,EACA,EAIPstG,QACF9hC,EAAU18H,YAAY4+G,YACtB8d,EAAU8gB,iBAAiBj/I,KAAamjH,KAAGi7C,yBAA2BjzJ,GAAuB0qF,OAAO,EAElGqqE,EAAY/hC,EAAU18H,YAAYs+J,kBAAoB5hC,EAAU8gB,iBAAiBj/I,KAAMmjH,GAAO,CAACA,EAAG0c,MAAM,EACxGsgC,EAAUhiC,EAAU18H,YAAYs+J,iBAChCK,EAAiBjiC,EAAU18H,YAAYs+J,iBAGvCM,EACFliC,EAAU18H,YAAY4+G,YACtB8d,EAAU8gB,iBAAiBj/I,KAAY9E,KAAEkjK,yBAA2BjzJ,GAAuBiiF,QAAQ,EAEvG,cACI,OAAAhlF,SAAA,CACK5N,EAAQS,IAAK+kK,SACTvB,GAAyB,CAEtB5lK,KAAMmnK,EACNtB,cAAeA,IAAM,CACHU,IACMD,GACxB,EACA7qF,SAAU,CAAC8rF,GANNJ,EAAIrtG,eAOZ,CACJ,QAEAv0B,GAAS,CAACj3B,UAAW0pB,GAAMy3B,QAAQlgD,SAC/Bg2B,UAAUL,MAAK,CAAA31B,SACXi4J,IACG7vI,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASA,IAAM28I,EAAuB,EAAI,EAAGnuI,KAAM+uF,GAAcl4G,eACtFgwB,EAAA,CAAA15B,GAAA,YAAuB,EACnB,EAGXwhK,GACG1vI,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASA,IAAMy8I,EAAoB,EAAI,EAAGjuI,KAAM+uI,GAASl4J,eAC9EgwB,EAAA,CAAA15B,GAAA,eAA0B,EACtB,EAGXyhK,GACG3vI,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASA,IAAMy8F,EAAkB,EAAI,EAAGjuF,KAAM0uF,GAAO73G,eAC1EgwB,EAAA,CAAA15B,GAAA,wBAAmC,EAC/B,EAGX0hK,GACG5vI,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAAgBkrH,KAAiB,EAAI,EAAG18G,KAAMilC,GAAOpuD,eAC1EgwB,EAAA,CAAA15B,GAAA,oBAA+B,EAC3B,EAGX0hK,GACG5vI,MAAC4F,EAAM,CACHhE,MAAM,WACNrP,QAASA,IAAM,CACXu8I,EAAiB,EAAI,CACzB,EACA/tI,KAAMk6E,GAAOrjG,eACbgwB,EAAA,CAAA15B,GAAA,cAAyB,EACrB,EAGXuhK,GACGznI,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAAC4F,EAAM,CAAChE,MAAM,UAAUb,KAAM0mD,GAAel1D,QAASA,IAAMm8G,EAAqB,EAAI,EAAE92H,eACnFgwB,EAAA,CAAA15B,GAAA,UAAqB,EACjB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,SAASb,KAAM+uF,GAAev9F,QAASA,IAAM62E,EAAoB,EAAI,EAAExxF,eACjFgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CAAC,EACX,CACL,EACY,EACV,EAEX8xB,MAAC8/F,GAAa,CACVz4F,KAAMm2G,EACNzd,OAAQA,IAAM6M,GAAwBe,EAAUhvD,WAAW,EAC3Dr3C,SAAW55B,GAASm/H,GAAyBc,EAAUhvD,YAAajxE,CAAI,EACxE0uB,QAASA,IAAMqhH,EAAiB,EAAK,EACrCpf,UAAW,IACXj9D,SAAU,EACb,EAEDphC,MAAC2sI,GAAgC,CAC7BtlI,KAAMwnI,EACNlwF,YAAagvD,EAAUhvD,YACvBviD,QAASA,IAAM0yI,EAAiB,EAAK,EACrCrrG,OAAQA,IAAM,CACImrG,IACMD,GACxB,EACH,EAED3uI,MAACstI,GAA4B,CACzBjmI,KAAM0nI,EACNphC,YACAvxG,QAASA,IAAM4yI,EAAoB,EAAK,EACxCzB,SAAU4B,EACb,EAEDnvI,MAACktI,GAA0B,CACvB7lI,KAAM0nF,EACN4e,YACAvxG,QAASA,IAAM4yF,EAAkB,EAAK,EACtCm+C,OAAQgC,EACX,EAEDnvI,MAACytG,GAAwB,CACrBpmG,KAAMonG,EACNd,YACAvxG,QAASA,IAAMsyG,EAAqB,EAAK,EACzC1gB,UAAYzB,GAAY8iD,EAAmB9iD,EAAS5xG,GAAuBiiF,QAAQ,EACtF,EAED58D,MAACmuG,GAAuB,CACpB9mG,KAAM8hE,EACNwkC,YACAvxG,QAASA,IAAMgtE,EAAoB,EAAK,EACxCT,SAAUwmB,EACb,EACDnvF,MAAC0tI,GAAgC,CAC7BrmI,KAAM4nI,EACN7yI,QAASA,IAAM8yI,EAAuB,EAAK,EAC3CvhC,YACAlqE,OAAS8oD,GAAY8iD,EAAmB9iD,EAAS5xG,GAAuB0qF,OAAO,EAClF,CAAC,EACD,CAEb,wNC5NM0qE,GAAoEA,CAAC,CACvExhK,YACAyhK,8BACArtG,qBACJ,IAAM,CACF,KAAM,CAAC/1D,EAAUiQ,CAAW,EAAIuS,WAA+B,CAAE,GACjEL,YAAU,IAAM,CAKRxgB,GAJa,SAAY,CACbsO,EAAA,MAAM+G,GAAgCrV,CAAU,CAAC,MAM7DsO,EAAY,CAAE,EAClB,EACD,CAACtO,CAAS,CAAC,EAERvE,QAAU4C,EAASnC,IAAYs1C,IAAA,CACjCzW,aACI,OAAK3yB,UAAW0pB,GAAM4vI,WAAWr4J,SAAA,CAC7BooB,MAACmV,GAAW,CAACf,SAAU,GAAIj3B,UAAW4iC,EAAE5iC,UAAWxG,UAAW0pB,GAAMuiC,YAAc,EAAC,IAAE7iB,EAAEz/B,IAAI,EAC1F,EAETnZ,MAAO44C,EAAE5iC,SACX,IAEFnT,EAAQwuE,QAAQ,CACZlvC,aACI,OAAK3yB,UAAW0pB,GAAM4vI,WAAWr4J,UAE7BooB,MAAA,SAAO,QACP4H,EAAA,CAAA15B,GAAA,qBAAgC,CAAC,EAChC,EAET/G,MAAO,EACV,EAEKklG,QAAiB1pC,EAAsB34D,EAAQwS,KAAM9R,GAAMA,EAAEvD,QAAUw7D,CAAmB,EAAI34D,EAAQ,CAAC,EAE7G,aACKwiD,GAAM,CACHR,gBAAgB,MAChBr1C,UAAU,eACVysB,OAAQ,CACJq8G,QAASA,KAAO,CACZ1rG,MAAO,OACPm8H,aAAc,MACd7oE,OAAQ,oBACR7gD,QAAS,QAEjB,EAEA7uC,SAAWmvC,GAAMkpH,EAA6BlpH,EAAU3/C,KAAK,EAC7D6C,UACA7C,MAAOklG,EACV,CAET,EC1DM8jE,GAA8DA,CAAC,CAAE5hK,YAAWoJ,WAAUxQ,OAAM,IAAM,CAC9F,MAAC2a,CAAS,EAAIqQ,EAAc,IAAM7Q,GAAoB/S,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAEnF6hK,EAAiDtgK,GAE/CkwB,MAAChqB,EAAM6yB,SAAQ,CAAAjxB,SACV9H,EAASwQ,KACE,EAIlB+vJ,EAAmBvuJ,EACnBA,EAAUrX,IAAai3D,IAAA,CAAEp4B,MAAO8mI,EAAgB1uG,CAAE,EAAGv6D,MAAOu6D,EAAGxzD,GAAIR,KAAMg0D,CAAG,EAAE,EAC9E,CAAC,CAAEp4B,YAAO1B,EAAA,CAAA15B,GAAA,UAAqB,EAAG/G,MAAO,GAAI,EAEnD,aACI,OAAAyQ,eACK40C,GAAM,CACH/1C,YAAa4kB,EAAAwW,mBAAiB,EAC9Bl6B,SAAuBA,KAASo1F,EAAG5lG,MAAO4lG,EAAGr/F,IAAI,EACjDvG,MAAOkpK,EAAiB7zJ,QAAaklD,EAAGv6D,QAAUA,CAAK,GAAK,KAC5D6C,QAASqmK,EACZ,EACA,CAEb,ECRMC,GAA4FnoE,IACvF,CACHj6F,GAAIi6F,EAAMvqF,kBACVo9C,KAAMmtC,EAAMr4F,SACZwQ,KAAM6nF,EAAM5+B,eAgBpB,SAASgnG,GAAahrG,EAA6C,CAC/D,MAAMirG,EAAwCjrG,EAAOv1D,KAAKvF,IAAWqhD,IAC1D,CACH59C,GAAI49C,EAAE59C,GACN/G,MAAO2kD,EAAE59C,GACTo7B,MAAOwiB,EAAExiB,MACT4lB,UAAWpD,EAAEoD,WAEpB,EAEM,OACH5uC,KAAMilD,EAAOqnD,UACb/gF,YAAa05B,EAAO15B,YACpBkqH,eAAgBxwF,EAAOwwF,eACvB0a,gBAAiBH,GAA0B/qG,CAAM,EACjD5C,oBAAqB4C,EAAO5C,oBAC5B+tG,qBAAsBnrG,EAAOmrG,qBAC7BC,uBAAwBprG,EAAOorG,uBAC/BC,aAAcrrG,EAAOqrG,aACrB5gK,KAAMwgK,EAEd,CAEA,MAAMK,GAAqEA,CAAC,CACxExpI,OACAsmG,YACAvxG,UACAqnC,QAEJ,IAAM,CACIwjB,QAAWt3D,SAAyB,IAAI,EACxC,CAACgnB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC0hJ,EAAWC,EAAgBC,CAAY,EAAI9/I,GAAcq/I,GAAa5iC,CAAS,CAAC,EACjF,CAACxqH,EAAe8tJ,CAAgB,EAAI7hJ,WAAgC,IAAI,EAE9EL,YAAU,IAAM,CACR,CAAC+hJ,EAAU/a,gBAAkB+a,EAAUJ,sBACxBK,EAAA,CAAEL,qBAAsB,GAAO,EAG9C,CAACI,EAAUH,wBAA0BG,EAAUF,cAChCG,EAAA,CAAEH,aAAc,GAAO,CAC1C,EACD,CAACE,EAAWC,CAAc,CAAC,EAE9B,IAAI/mK,EAGE,GAEFmZ,IACUA,IAAc1Y,IAAausJ,IAAA,CAAE7vJ,MAAO6vJ,EAAG9oJ,GAAIo7B,MAAO0tH,EAAG12I,IAAO,IACtEtW,EAAQwuE,QAAQ,CAAErxE,MAAO,KAAMmiC,YAAO1B,EAAA,CAAA15B,GAAA,cAAyB,EAAG,GAGtE,MAAMu1C,EAAa,SAAY,CACd8sH,KAAa5iC,CAAS,CAAC,EACpCsjC,EAAiB,MAAMhuJ,GAAiB0qH,EAAUp/H,SAAS,CAAC,GAG1Dw5B,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,GAGpB0L,EAAoB,SAAY,CAClC8O,EAAU,EAAI,EAER81F,SAAsBiB,EAAUhvD,YAAa,CAC/Cr+D,KAAMwwJ,EAAUxwJ,KAChBurB,YAAailI,EAAUjlI,YACvB82B,oBAAqBmuG,EAAUnuG,oBAC/B3yD,KAAM8gK,EAAU9gK,KAChB+lJ,eAAgB+a,EAAU/a,eAC1Bn4I,kBAAmBkzJ,EAAUL,gBAAgBviK,GAC7CwiK,qBAAsBI,EAAUJ,qBAChCC,uBAAwBG,EAAUH,uBAClCC,aAAcE,EAAUF,aAC3B,EAGS31H,gBAAQrT,EAAA,CAAA15B,GAAA,wBAAoC,EAAC,EACvD0oC,EAAU,EAAK,EAEf,MAAMs6H,EAA4C,CAC9C,GAAGvjC,EACH/gB,UAAWkkD,EAAUxwJ,KACrBurB,YAAailI,EAAUjlI,YACvB82B,oBAAqBmuG,EAAUnuG,oBAC/BozF,eAAgB+a,EAAU/a,eAC1B2a,qBAAsBI,EAAUJ,qBAChC9yJ,kBAAmBkzJ,EAAUL,gBAAgBviK,GAC7Cq7D,aAAcunG,EAAUL,gBAAgBnwJ,KACxCxQ,SAAUghK,EAAUL,gBAAgBz1G,KACpC21G,uBAAwBG,EAAUH,uBAClCC,aAAcE,EAAUF,aACxB5gK,KAAM8gK,EAAU9gK,KAAKvF,IAAI,CAACqhD,EAAG3uB,KAAW,CAAEjvB,GAAI49C,EAAE59C,IAAM,CAACivB,EAAOmM,MAAOwiB,EAAExiB,MAAO4lB,UAAWpD,EAAEoD,WAAY,GAE3Gp6C,EAAe2uD,EAAQytG,CAAe,EACtCp8J,EAAesnB,CAAO,GAE1B,aACKL,EAAK,CAACzb,KAAK,oBAAoBjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,OAAQsnB,EAAW7rC,gBACvFk/B,GAAc,CAACC,SAAUjP,EAAkBlwB,SAAA,CACxCooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,4BAAuC,EAC9B,EACb85B,OAAC5G,EAAS,CAAAxpB,UACNowB,OAAA,OAAKrxB,UAAU,aAAYiB,UACvBowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAClB8xB,MAAC5pB,GAAe,CACZO,UAAU,eACVR,IAAK8wE,EACL9/E,MAAO2pK,EAAUxwJ,KACjB3I,YAAiBo5J,EAAe,CAAEzwJ,KAAM9M,EAAEgf,OAAOrrB,MAAO,EACxDsP,YAAa4kB,EAAAwW,cAAY,EACzBn7B,SAAQ,GACX,CAAC,EACC,EACPsxB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,cAAyB,EACzB8xB,MAACvoB,GAAQ,CACLE,YAAiBo5J,EAAe,CAAEllI,YAAar4B,EAAEgf,OAAOrrB,MAAO,EAC/DA,MAAO2pK,EAAUjlI,YACjBk9D,QAAS,EACTE,WAAU,GACVxyF,YAAa4kB,EAAAwW,8BAA4B,EACzCl7B,UAAU,eACb,CAAC,EACC,EACPqxB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,kBAA6B,EAC7B8xB,MAAC+vI,GAAwB,CACrBxhK,UAAWo/H,EAAUp/H,UACrByhK,+BAAqCe,EAAe,CAAEpuG,oBAAqBz0D,GAAU,KAAM,EAC3Fy0D,oBAAqBmuG,EAAUnuG,oBAClC,CAAC,EACC,EACP36B,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAClB8xB,MAAC8qB,GAAQ,CACLC,gBAAwBgmH,EAAe,CAAE/gK,OAAY,EACrD7I,MAAO2pK,EAAU9gK,KACjBzB,UAAWo/H,EAAUp/H,UACrBlH,KAAM0T,GAAeiwC,KACxB,CAAC,EACC,EACPhjB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,WAAsB,EACtB8xB,MAACmwI,GAAqB,CAClBhpK,MAAO2pK,EAAUL,gBAAgBviK,GACjCK,UAAWo/H,EAAUp/H,UACrBoJ,SAAUA,CAAC4H,EAAYzP,IACnBihK,EAAe,CACXN,gBAAiB,CACbviK,GAAI4B,EAAS5B,GACboS,KAAMxQ,EAASwQ,KACf06C,KAAMlrD,EAASA,QACnB,EACH,EAER,CAAC,EACC,EACPk4B,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,mBAA8B,EAC9B8xB,MAAA,OAAKrpB,UAAU,aAAYiB,SACtBuL,GACG6c,MAACwsB,GAAM,CACHrlD,MAAO6C,EAAQwS,QAAY8zF,EAAEnpG,QAAU2pK,EAAU/a,cAAc,EAC/Dp+I,YAAuBo5J,EAAe,CAAEhb,eAAgBhpD,EAAG5lG,MAAO,EAClE6C,UACH,EAEJ,CAAC,EACH,EACPg2B,MAAA,SAAApoB,eACI,QAAAA,eACKs/B,GAAQ,CACLrS,SAAU,CAACisI,EAAU/a,eACrB5gJ,QAAS27J,EAAUJ,qBACnB/4J,YAAiBo5J,EAAe,CAAEL,qBAAsBl9J,EAAEgf,OAAOrd,QAAS,EAAEyC,eAC5EgwB,EAAA,CAAA15B,GAAA,0BAAqC,EAC/B,EACR,EACH,EAEP8xB,MAAA,SAAApoB,eACI,QAAAA,eACKs/B,GAAQ,CACL/hC,QAAS27J,EAAUH,uBACnBh5J,YAAiBo5J,EAAe,CAAEJ,uBAAwBn9J,EAAEgf,OAAOrd,QAAS,EAAEyC,eAC9EgwB,EAAA,CAAA15B,GAAA,2BAAsC,EAChC,EACR,EACH,EAEP8xB,MAAA,SAAApoB,eACI,QAAAA,eACKs/B,GAAQ,CACLrS,SAAU,CAACisI,EAAUH,uBACrBx7J,QAAS27J,EAAUF,aACnBj5J,YAAiBo5J,EAAe,CAAEH,aAAcp9J,EAAEgf,OAAOrd,QAAS,EAAEyC,eACpEgwB,EAAA,CAAA15B,GAAA,mCAA8C,EACxC,EACR,EACH,CAAC,CACP,GACL8xB,MAACwX,KAAmB,CAAC,EACd,EACXxP,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASgjB,EAAO/+B,eAClDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACA,CAAC,EACF,EACb,CAEf,ECjQMijK,GAAkEA,CAAC,CACrEC,oBACAz5J,WACA05J,sBACJ,IAAM,CACF,KAAM,CAACC,EAAgBC,CAAiB,EAAIniJ,WAAyB,CAAE,GACvEL,YAAU,IAAM,CACZ,eAAeygB,GAAO,CAEI+hI,EADlBH,EACkB,MAAMnuJ,GAAiBmuJ,CAAiB,EAExC,CAAE,CAFuC,CAInE,CAEK5hI,GAAA,EACN,CAAC4hI,CAAiB,CAAC,EAOhBpnK,QAA8CsnK,EAAe7mK,IAAausJ,IAAA,CAC5E7vJ,MAAO6vJ,EAAG9oJ,GACVo7B,MAAO,GAAG0tH,EAAG12I,QAAQ02I,EAAGnrH,YAAc,MAAQmrH,EAAGnrH,YAAc,IACjE,IACF7hC,SAAQwuE,QAAQ,CAAErxE,MAAO,GAAImiC,YAAO1B,EAAA,CAAA15B,GAAA,cAAyB,EAAG,SAG5D,OAAA0J,UACIooB,MAAA,OAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,4BAAuC,EACtC,EACL8xB,MAACogB,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,iQAAA28C,WAAA,CAAA7N,EACIhd,MAA4B,YAAC,EAG1B,EACH,EAERA,MAAA,OAAKrpB,UAAU,aAAYiB,eACtB40C,GAAM,CACHvB,aAAcjhD,EAAQ,CAAC,EACvB7C,MAAO6C,EAAQwS,KAAY8zF,KAAEnpG,QAAUkqK,CAAoB,EAC3D15J,SAAWo1F,GAAYp1F,EAASo1F,EAAG5lG,KAAK,EACxC6C,UACH,EACA,CAAC,EACL,CAEb,ECrD0E,IASrE+oD,cAAI,CAAJA,WAAI,6CAAJA,IAAI,6BAAJA,IAAI,qBAAJA,CAAI,EAAJA,IAAI,IAMT,MAAM+mE,GAAQ,CAAC/mE,GAAKy+G,oBAAqBz+G,GAAKowG,WAAW,EAEnDsO,GAA6EA,CAAC,CAChFr1I,UACAs1I,cACArqI,OACAsmG,WACJ,IAAM,CACF,KAAM,CAACh3F,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC40C,EAAMq2D,CAAO,EAAIjrG,WAAS2jC,GAAKy+G,mBAAmB,EAEnD,CAACxhK,EAAMm7C,CAAO,EAAI/7B,WAAuB,CAAE,GAC3C,CAAC2mI,EAAgB4b,CAAiB,EAAIviJ,WAAwB,IAAI,EAClE,CAACwhD,EAAoBghG,CAAqB,EAAIxiJ,WAAmB,CAAE,GAEnEqB,EAAoBD,GAAqB,CAC3C,CACIqtB,QAASA,IAAM+yB,EAAmB9oE,OAAS,EAC3Ci2C,eAAgBA,IAAM/d,MAAA4H,EAAA,CAAA15B,GAAA,oCAA+C,CACxE,EACJ,EAGKmqH,EAAaA,IAAM,CACrBgC,EAAQtnE,GAAKy+G,mBAAmB,EACxB7jC,IAAU39H,KAAKi9C,MAAO,GAC9B0kH,EAAkBhkC,EAAUooB,cAAc,EAC1C6b,EAAsBjkC,EAAU8gB,iBAAiBhkJ,IAAWC,KAAEwD,EAAE,CAAC,EACjE0oC,EAAU,EAAK,GAGb6M,EAAa,SAAY,CAChB40E,GAAA,EAGTniE,EAAe,SAAY,CAC7Btf,EAAU,EAAI,EAEV,IACMw2F,SAA0BO,EAAUhvD,YAAa,CACnDo3E,iBACA/lJ,KAAMA,EAAKvF,IAAKC,GAAMA,EAAE4+B,KAAK,EAC7BsnC,qBACH,EAED97D,EAAe48J,CAAW,EAC1B58J,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,GAGE7O,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,GAGpBk5B,EAAwC,CAC1C19C,eAAUgwB,EAAA,CAAA15B,GAAA,YAAuB,EACjCylB,QAASgjB,GAGb,cACK5a,EAAK,CAACzb,KAAK,+BAA+BjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,OAAQsnB,EAAYvqC,KAAK,KAAItB,SAAA,CAC7GooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,kBAAAE,OAAA,CAAA4uC,EAAmB2wF,EAAU/gB,SAAS,EAAS,EACtC,EACb5sF,MAACoB,EAAS,CAAAxpB,eACLggD,GAAe,CAACnnC,oBAAqC7Y,gBACjDu9C,GAAY,CACTJ,MAAO+kE,GACPllE,YAAaoP,EACb3O,aAAe2O,GAASq2D,EAAQr2D,CAAI,EACpCjtB,SAAUmf,EACV3uB,SAAUQ,EACVutB,kBAAiC19C,SAAA,CACjCooB,MAACi1B,GAAgB,CACbuB,WAAYzD,GAAKy+G,oBACjBrwI,aAAQyG,EAAA,CAAA15B,GAAA,uCAAkD,EAAE0J,gBAC5D,OAAKjB,UAAU,iBAAgBiB,UAC3BowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAClB8xB,MAAC8qB,GAAQ,CAACC,aAAcI,EAAShkD,MAAO6I,EAAO,CAAC,EAC7C,EAEFgwB,EAAA,mBAEL,SAAApoB,eACKu5J,GAAuB,CACpBC,kBAAmBzjC,EAAUp/H,UAC7B8iK,qBAAsBtb,EACtBp+I,SAAUg6J,EACb,EACE,CAAC,EACP,EACS,EAElB3xI,MAACi1B,GAAgB,CAACuB,WAAYzD,GAAKowG,YAAahiI,aAAQyG,EAAA,CAAA15B,GAAA,4BAAuC,EAAE0J,eAC5F2zG,GAA+B,CAC5Bh9G,UAAWo/H,EAAUp/H,UACrBk9G,aAAcz7G,EACd7I,MAAOypE,EACP0rB,kBAAmBs1E,EACnBC,sBAAuB,KAC1B,EACa,CAAC,EAKT,EACD,EACV,CAAC,EACT,CAEf,EC9GA,SAAS19C,GAAsBhmF,EAA4C,CACvE,OAAQA,EAAM,CACV,KAAKxzB,GAAuBiiF,SACjB,gBACX,KAAKjiF,GAAuB2qF,SACjB,eACX,KAAK3qF,GAAuB0qF,QACjB,gBACX,QACW,YACf,CACJ,CAEA,MAAMysE,GAAsEA,CAAC,CACzEnkC,YACAlS,cACAnH,kBACA38G,WACAg3J,qBACJ,IAAM,CACF,KAAM,CAACjlG,EAAYC,CAAa,EAAIv6C,WAAS,CAAC,CAACklG,CAAe,EACxD,CAACC,EAAUC,CAAW,EAAIplG,WAAS,EAAK,EACxC,CAAC++I,EAAgBC,CAAiB,EAAIh/I,WAAS,EAAK,EACpD,CAAC2iJ,EAAqBC,CAAsB,EAAI5iJ,WAAS,EAAK,EAC9D,CAAC6iJ,EAAqBC,CAAsB,EAAI9iJ,WAAS,EAAK,EAO9Du0B,EAAoEwuH,GAAA,CACtEr9J,EAAe6C,EAAU,CAACE,GAAYC,UAAU61H,EAAW,CAAE,GAAGwkC,CAAc,EAAC,CAAC,GAG9EC,EAAkBA,IAAM,CAC1Bt9J,EAAe65J,CAAmB,GAGhC78B,EAAoBA,IAAM,CAC5B,MAAMzhI,EAAwB,GAE1Bs9H,SAAU18H,YAAYkxF,SAChBz4F,aACD6gC,GAAkB,CAEf5F,aAAa,OACb5D,KAAMilC,GACNzzC,QAAgB/e,GAAA,CACZ46J,EAAkB,EAAI,CAC1B,EACAvpI,SAAUwtI,EAAQz6J,eAClBgwB,EAAA,CAAA15B,GAAA,OAAkB,GAPd,MAQY,CACxB,EAGAy/H,EAAU18H,YAAYqhK,cAChB5oK,aACD6gC,GAAkB,CAEf5F,aAAa,OACb5D,KAAMmoG,GACN32G,QAAgB/e,GAAA,CACZw+J,EAAuB,EAAI,CAC/B,EACAntI,SAAUwtI,EAAQz6J,eAClBgwB,EAAA,CAAA15B,GAAA,YAAuB,GAPnB,WAQY,CACxB,EAGExE,aACD6gC,GAAkB,CAEf5F,aAAa,OACb5D,KAAM2uC,GACNn9C,QAAgB/e,GAAA,CACZ0+J,EAAuB,EAAI,CAC/B,EAAEt6J,eACFgwB,EAAA,CAAA15B,GAAA,WAAsB,GANlB,YAOY,CACxB,QAEQg8C,GAAgB,CAACC,OAAQ95C,EAAMvI,SAAW,EAAE8P,SAAEvH,EAAwB,GAG5EgiK,EAAU1kC,EAAU8gB,iBAAiB3mJ,SAAW,EAEtD,aACIg4B,WAAA,CAAAloB,gBACKgkE,GAAe,CAACC,aAAcy4C,GAAmBC,EAAS38G,SAAA,CACvDowB,OAACgf,GAAc,CACXrwC,UAAW07J,EAAUhyI,GAAMgyI,QAAU9gK,OAErC01C,SAAU,CAACorH,GAAW3oG,EACtBxiB,wBACKwnH,GAAgC,CAC7B71H,OAAQA,IAAM27E,EAAY,EAAI,EAC9B78G,WACAg2H,YACAghC,sBACH,EACJ/2J,UACDowB,OAAA,OAAKrxB,UAAW0pB,GAAMkyI,UAAU36J,SAAA,CAC5BowB,OAACsiB,GAAO,CAAA1yC,SAAA,CACJooB,MAACmV,GAAW,CACRf,SAAU,GACVj3B,UAAWwwH,EAAUhrE,oBACrBhsD,UAAW0pB,GAAMuiC,YACpB,EAED56B,OAACmhB,EAAW,CAACC,cAAUkL,GAAmB,CAACntD,MAAOwmI,EAAUl5D,eAAiB,EAAE78D,UAC3EooB,MAAA,OAAKrpB,UAAW0pB,GAAMc,OAAOvpB,SAAE+1H,EAAU/gB,UAAe,EACxD5sF,MAAA,OAAKrpB,UAAW0pB,GAAMwL,YAAYj0B,SAAE+1H,EAAU9hG,YAAiB,CAAC,CACvD,GAEZ4vF,IAAgB,uBACZtyE,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,UAAqB,EAAGs/B,MAAK,GAAA51B,eAC/C,QAAMjB,UAAW0pB,GAAMwL,YAAYj0B,SAAE+1H,EAAU98E,YAAkB,EACxD,EAGjB7wB,MAACmpB,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,SAAoB,EAAGs/B,MAAK,GAACuG,MAAM,QAAOn8B,gBAC5D,OAAAA,SAAA,CACIooB,MAACq7B,GAAW,CAACl0D,MAAOwmI,EAAU6kC,SAAW,EACzCxyI,MAAA4H,EAAA,CAAA15B,GAAA,iBAAAE,OAAA,CAAA4uC,EACqB2wF,EAAUU,gBAAgB,EAAAxjF,WAAA,CAAA7N,EAA3Chd,MAAmD,WAAC,EACjD,CAAC,EACP,EACI,EAEbgI,OAACmhB,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,WAAsB,EAAGs/B,MAAK,GAACuG,MAAM,QAAOn8B,SAAA,CAC7D+1H,EAAUpkE,aACXvpC,MAAA,MAAK,GACLA,MAACq7B,GAAW,CAACl0D,MAAOwmI,EAAU79H,SAAW,CAAC,EACjC,CAAC,EACT,EAETkwB,MAACsqB,GAAO,CAAA1yC,eACHuxC,EAAW,CAAAvxC,eACPg1C,GAAI,CAAC1zC,KAAK,QAAQlJ,KAAM29H,EAAU39H,KAAY,EACtC,EACR,EAETgwB,MAACsqB,GAAO,CAAA1yC,gBACJ,OAAKjB,UAAW0pB,GAAMoyI,uBAAuB76J,UACzCowB,OAAA,OAAKrxB,UAAW0pB,GAAMqyI,kBAAkB96J,SAAA,CACpCooB,MAAA4H,EAAA,CAAA15B,GAAA,sBAAAE,OAAA,CAAA4uC,EAAkB2wF,EAAU8gB,iBAAiB3mJ,MAAM,CAAc,GACrE,KAAK,EACLk4B,MAACgnE,GAAS,CAAApvF,SACL+1H,EAAU8gB,iBAAiBhkJ,IAAKkoH,SAC5BT,GAAsB,CAEnB70G,kBAAmBs1G,EAAGzkH,GACtBikH,QAAQ,UACR/vF,oBAAqB,GAAMxqB,eAC1BwvF,GAAW,CACRxlE,MAAOuyF,GAAsBxB,EAAGi7C,sBAAsB,EACtD10J,KAAK,QACLvC,UAAWg8G,EAAGggD,aAAe,GAAKtyI,GAAMuyI,cAAch7J,SACrD+6G,EAAGryG,KACK,GATRqyG,EAAGzkH,EAUY,CAC3B,EACM,CAAC,EACX,EACA,CAAC,EACT,EAEL8xB,MAACioB,GAAoB,CACjBhB,SAAU,CAACorH,GAAW3oG,EACtBthB,eAAgBA,IAAMuhB,EAAc,CAACD,CAAU,EAC/CxhB,iBAAYtgB,EAAA,CAAA15B,GAAA,gBAA2B,EACvCi6C,mBAAcvgB,EAAA,CAAA15B,GAAA,gBAA2B,EACzC22B,SAAUwtI,EACb,EAEAvgC,GAAmB,CApFfnE,IAAUhvD,WAqFH,QAEfkyF,GAA2B,CACxBz0I,QAASA,IAAMgyI,EAAkB,EAAK,EACtCzgC,YACAtmG,KAAM8mI,EACN1qG,OAAQ9f,EACX,EAED3jB,MAACyxI,GAA+B,CAC5Br1I,QAASA,IAAM41I,EAAuB,EAAK,EAC3C3qI,KAAM0qI,EACNpkC,YACA+jC,YAAaU,EAChB,EAEDpyI,MAACk0F,GAAe,CACZ3jH,OAAQ,CACJhC,UAAWo/H,EAAUp/H,UACrBqkH,WAAY,0BACZsQ,UAAW,CAACyK,EAAUhvD,WAAW,CACrC,EACAq0C,cAAe,CAAC,YAAY,EAC5Bh3F,OAAQA,IAAMk2I,EAAuB,EAAK,EAC1C7iK,OAAQ4iK,EACX,CAAC,EACW,EACnB,CAEV,ECpOMY,GAA8DA,CAAC,CAAEC,aAAYj+I,oBAAmB,GAAG3e,CAAK,IAAM,CAC1G7I,QAAYinB,GAAaO,CAAiB,EAEhD,cACI,OAAAjd,SAAA,CACKk7J,EAAWroK,IAAK09F,SACZ2pE,GAAyB,CACtBx9C,gBAAiBjnH,GAAawnB,IAAsBszE,EAAMxpB,YAE1DgvD,UAAWxlC,EAAM,GACbjyF,GAFCiyF,EAAMxpB,WAGd,CACJ,EAEAm0F,EAAWhrK,SAAW,GAAM2gD,WAAe,CAAC,EAC5C,CAEb,ECXMsqH,GAAwDA,CAAC,CAAExiK,SAAQoH,WAAUma,YAAWumD,YAAW,IAAM,CAC3G,KAAM,CAACu3E,EAAcC,CAAe,EAAIzgI,WAAS,EAAK,EAChD0gI,EAAiB5mC,GAAoB34G,EAAQyiK,EAA2B,EAE9E,cACIlzI,WAAA,CAAAloB,SAAA,CACIooB,MAACspF,GAAa,CACVE,WAAYj5G,EAAOi5G,WACnBC,sBAA2B9xG,EAAS,CAAE,GAAGpH,EAAQi5G,WAAY1iE,EAAG,EAChEh1B,YACAy3F,cAAeA,IAAMsmC,EAAiB/oG,GAAM,CAACA,CAAC,EAC9Cxa,SAAUwjH,EACb,EAED9nH,OAACsiF,GAAY,CACT9zF,QAASA,IAAM7e,EAASq7J,IAA6B,EACrD52I,QAASA,IAAMyzH,EAAgB,EAAK,EACpCp8F,UAAWm8F,EAAah4I,UACxBooB,MAAA,SAAOrpB,UAAU,eAAciB,eAC3BgwB,EAAA,CAAA15B,GAAA,aAAwB,EACrB,EACP8xB,MAACw6C,GAAkB,CACfrzE,MAAOoJ,EAAOsqE,gBACdljE,YAAiBA,EAAS,CAAE,GAAGpH,EAAQsqE,gBAAiB/zB,EAAG,EAC9D,EACD9mB,MAAA,SAAOrpB,UAAU,eAAciB,eAC3BgwB,EAAA,CAAA15B,GAAA,OAAkB,EACf,EACP8xB,MAAC8qB,GAAQ,CACLr0C,YAAa4kB,EAAAwW,WAAS,EACtBkZ,gBAAwBpzC,EAAS,CAAE,GAAGpH,EAAQkpJ,OAAQzpJ,EAAKvF,IAAKqhD,GAAMA,EAAE59C,EAAE,EAAG,EAC7E/G,MAAOoJ,EAAOkpJ,OACjB,EAEAphF,GACGrwC,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAACovH,GAAU,CACPjoJ,MAAOoJ,EAAOg8G,QACd50G,YAAiBA,EAAS,CAAE,GAAGpH,EAAQg8G,QAASzlE,EAAG,EACnDiyD,MAAO1gC,EAAW0gC,MACrB,EAED/4E,MAAC2qF,GAAc,CACXl0G,YAAa4kB,EAAAwW,gBAAc,EAC3BvI,YAAO1B,EAAA,CAAA15B,GAAA,YAAuB,EAC9BR,KAAM2qE,EAAWv2D,UAAUrX,IAAYsuC,IAAA,CACnC7qC,GAAI6qC,EAAE7qC,GACNoS,YACIwf,WAAA,CAAAloB,SAAA,CACKmhC,EAAEz4B,KAAK,YAAI+6C,GAAW,CAACl0D,MAAO4xC,EAAEjpC,QAAW,GAAE,GAAG,EACnD,GAER,EACF3I,MAAOoJ,EAAOuR,UACdnK,YAAiBA,EAAS,CAAE,GAAGpH,EAAQuR,UAAWglC,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EACzE,CAAC,EACJ,CACL,EACS,CAAC,EACjB,CAEV,EClEO,SAAS+kK,GAA0BjpK,EAA8C,CACpF,OAAO6J,EAAQ,gCAAiC,CAC5CyK,OAAQ,OACRlK,KAAM,GACNR,KAAM5J,EACT,CACL,CAEgBkpK,YAA6BC,EAAuBnpK,EAA8C,CACvG6J,SAAQ,iCAAiCs/J,IAAiB,CAC7D70J,OAAQ,MACRlK,KAAM,GACNR,KAAM5J,EACT,CACL,CAEO,SAASopK,GAAoC7kK,EAAsD,CACtG,OAAOsF,EAAQ,gCAAiC,CAC5Cf,MAAO,CACHvE,WACJ,EACH,EAAEkG,KAAYsO,KAAE3O,KAAM,EAC3B,CAEO,SAASi/J,GAA0BF,EAAwD,CACvFt/J,SAAQ,iCAAiCs/J,GAAe,EAAE1+J,KAAYsO,KAAE3O,KAAM,EACzF,CAEO,SAASk/J,GAA6BH,EAAuB,CACzDt/J,SAAQ,iCAAiCs/J,IAAiB,CAC7D70J,OAAQ,SACX,CACL,CAEO,SAASi1J,GAAmBJ,EAAuB,CAC/Ct/J,SAAQ,iCAAiCs/J,YAAyB,CACrE70J,OAAQ,MACX,CACL,CAEO,SAASk1J,GAAqBL,EAAuB,CACjDt/J,SAAQ,iCAAiCs/J,cAA2B,CACvE70J,OAAQ,MACX,CACL,CCnCO,MAAMm1J,EAAmB,CAC5B,OAAOzpH,OAA4B,CACxB,OACHw/D,WAAY,GACZ3uC,gBAAiB,CAAE,EACnB64F,UAAW,GAEnB,CACJ,CAEO,MAAMC,GAAmDA,CAAC,CAAEjmK,OAAM6C,SAAQoH,WAAUma,WAAU,IAAM,CACvG,KAAM,CAAC89H,EAAcC,CAAe,EAAIzgI,WAAS,EAAK,EAChDskJ,EAAYn6I,UAAQ,IAAM,CAC5B,MAAM1tB,EAAS6B,EAAKgmK,UAAUjpK,IAAYC,IAAA,CAAEwD,GAAIxD,EAAG4V,KAAM5V,CAAI,IAC7DmB,SAAOnC,KAAK,CAAEwE,GAAI,GAAIoS,KAAM+a,EAAAwW,EAAgC,kCAAG,EACxDhmC,GACR,CAAC6B,CAAI,CAAC,EACHoiJ,EAAiB5mC,GAAoB34G,EAAQkjK,GAAmBzpH,KAAK,EAE3E,cACIlqB,WAAA,CAAAloB,SAAA,CACIooB,MAACspF,GAAa,CACVx3F,YACA03F,WAAYj5G,EAAOi5G,WACnBC,sBAA2B9xG,EAAS,CAAE,GAAGpH,EAAQi5G,WAAY1iE,EAAG,EAChEyiE,cAAeA,IAAMsmC,EAAiB/oG,GAAM,CAACA,CAAC,EAC9Cxa,SAAUwjH,EACb,EAED9nH,OAACsiF,GAAY,CACT9zF,QAASA,IAAM7e,EAAS87J,GAAmBzpH,OAAO,EAClD5tB,QAASA,IAAMyzH,EAAgB,EAAK,EACpCp8F,UAAWm8F,EAAah4I,UACxBooB,MAAA,SAAOrpB,UAAU,eAAciB,eAC3BgwB,EAAA,CAAA15B,GAAA,WAAsB,EACnB,EACP8xB,MAACw6C,GAAkB,CACfrzE,MAAOoJ,EAAOsqE,gBACdljE,YAAiBA,EAAS,CAAE,GAAGpH,EAAQsqE,gBAAiB/zB,EAAG,EAC9D,EAED9mB,MAAA,SAAOrpB,UAAU,eAAciB,eAC3BgwB,EAAA,CAAA15B,GAAA,WAAsB,EACnB,EACP8xB,MAAC85C,GAAU,CACPpsE,KAAMgmK,EACNvsK,MAAOoJ,EAAOmjK,UACdp6F,QAAQ,KACRC,UAAU,OACV5hE,YAAiBA,EAAS,CAAE,GAAGpH,EAAQmjK,UAAW5sH,EAAG,EACxD,CAAC,EACQ,CAAC,EACjB,CAEV,ECtCO,SAASksH,IAAmD,CACxD,OACH,GAAGS,GAAmBzpH,MAAM,EAC5ByvG,OAAQ,CAAE,EACVltC,QAAS,CAAE,EACXzqG,UAAW,GAEnB,CAEA,MAAM8xJ,GAAwEA,CAAC,CAAErlK,YAAWo9D,OAAO,QAAS,IAAM,CAC9G,KAAM,CAACp7D,EAAQq7G,CAAS,EAAI7zF,GAAmCi7I,GAA6B,GACtF,CAAC36F,CAAU,EAAIlmD,EAAc,IAAM85G,GAA2B19H,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC3F,CAACy7E,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EAExC,CAAE+e,UAAWnZ,GAAmD,EAEhE6+I,EAAyBv9D,GAAoBX,GAAmBm+D,0BAA2B,CAACvlK,CAAS,EAErGwlK,EAAgB5lI,EAEflkC,OAAOC,KAAKyQ,EAAsB,EAAE6B,QAC1B9R,EAAE2jC,YAAkBF,MAAOE,aACtC,EAHA,KAKA,CAACykI,EAAYkB,EAAeC,EAAkBniJ,CAAS,EAAIJ,GAC7D,IACIs6G,GAAiC,KAAMz9H,EAAW,CAC9CssE,gBAAiBtqE,EAAOsqE,gBACxB2uC,WAAYj5G,EAAOi5G,WACnBiwC,OAAQlpJ,EAAOkpJ,OACfltC,QAASh8G,EAAOg8G,QAChBh0C,YAAahoE,EAAOuR,UACpBqsB,OAAQA,EAAS,CAACA,CAAM,EAAI58B,OAC/B,EACL,CAAChD,EAAW4/B,EAAQw9B,EAAMp7D,CAAM,EAChC,IACJ,EAEMskB,EAAoBF,KAEpBgvB,EAAqE3rC,GAAA,CACzD4mC,KAAiBk0H,EAAa96J,CAAO,CAAC,GAGlDktJ,EAAgBtsI,KAEhB,CAAC6rD,CAAY,EAAItyD,EAAc,IAAMihJ,GAAoC7kK,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EACtG2lK,EAAc36I,UAAuC,KAChD,CACHkrD,aAAcA,GAA8B,OAEjD,CAACA,CAAY,CAAC,EAEX0vF,EAAkB,SAAY,CAChClqF,EAAY,EAAI,EAChB,MAAMqjD,GAAUwlC,EAAYroK,IAAWC,KAAEi0E,WAAW,CAAC,EACrDsL,EAAY,EAAK,EACAgqF,GAAA,EAGfG,EAAkC,SAAY,CAChDnqF,EAAY,EAAI,EAChB,MAAMujD,GAA0BslC,EAAYroK,IAAWC,KAAEi0E,WAAW,CAAC,EACrEsL,EAAY,EAAK,EACAgqF,GAAA,EAErB,cACIn0I,WAAA,CAAAloB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SAAA,CACNooB,MAAC+M,GAAiB,CACdC,gBAAgB,yBAChBC,YAAatyB,GACbxT,MAAO4sK,EACP7mI,gBAAyBg4H,EAAc,CAAE/2H,OAAQhnC,iBAAOknC,aAAY,CAAG,EACvEf,cAAeq+B,IAAS,SACxBv+B,cACIu+B,IAAS,QAAU,CAAChxD,GAAuB0qF,QAAS1qF,GAAuB2qF,QAAQ,EAAI/zF,OAI9F,EAEAq8B,UAAUL,MAAK,CAAA31B,SACXi8J,IACG7rI,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAACiI,GAAa,CACVtU,QAASq2D,EACT7hD,kBAAaP,EAAA,CAAA15B,GAAA,gBAA2B,EACxCg6B,UAAWisI,EACX/rI,iBACIR,EAAA,CAAA15B,GAAA,qEAAgF,EAEpF0zB,MAAM,WAAUhqB,eAChBgwB,EAAA,CAAA15B,GAAA,gCAA2C,EAChC,EACf8xB,MAACiI,GAAa,CACVtU,QAASq2D,EACT7hD,kBAAaP,EAAA,CAAA15B,GAAA,gBAA2B,EACxCg6B,UAAWksI,EACXhsI,iBACIR,EAAA,CAAA15B,GAAA,gFAEO,EAEX0zB,MAAM,WAAUhqB,eAChBgwB,EAAA,CAAA15B,GAAA,sBAAiC,EACtB,CAAC,EAClB,EAEN8xB,MAAC+yI,GAAkB,CAAC16F,aAAwBvmD,YAAsBvhB,SAAgBoH,SAAUi0G,EAAY,CAAC,EAC5F,CAAC,EACX,EAEVmc,SAA0B79F,SAAQ,CAAC/iC,MAAO+sK,EAAYt8J,SAClDk7J,EACG9yI,MAAC6yI,GAAqB,CAClBh+I,oBACAi+I,aACAr3C,YAAY,gBACZ9jH,SAAUgsC,EACV+tH,YAAaA,IAAMuC,EAAiB,EACpCtF,oBAAqBsF,EACxB,EAEAl5H,QAAkB,IAES,CAAC,EACvC,CAEV,ECxJMs5H,GAAsEA,CAAC,CACzEvI,WACAzjC,cACArK,gBACAs2C,mBACJ,IAAM,CACIjnK,QAAYinB,GAAaggJ,CAAiB,EAChD,cACI,OAAA18J,SAAA,CACKk0J,EAASrhK,IAAKs1C,SACVmqF,GAA4B,CAEzB7hI,KAAM03C,EACN87B,aAAcxuE,GAAainK,IAAsBv0H,EAAE7xC,GACnDm6H,YAAatoF,EAAE9uC,aAAe8uC,EAAE9uC,YAAYkxF,QAAUkmC,EAAc92H,OACpEysH,cAAej+E,EAAE9uC,aAAe8uC,EAAE9uC,YAAY6yF,UAAYk6B,EAAgBzsH,QAJrEwuC,EAAE7xC,EAKV,CACJ,EAEA49J,EAAShkK,SAAW,GAAM2gD,WAAe,CAAC,EAC1C,CAEb,wCCrBM8rH,GAAeA,CAAC,CAAE59J,YAAWF,cAAakB,WAAUxQ,QAAOqtK,gBAAmC,IAAM,CAChGxqK,QAAUwqK,EAAe/pK,IAAYC,IAAA,CACvCvD,MAAOuD,EACP4+B,MAAO5+B,CACT,IAEF,aACK4hD,GAAS,CACNN,gBAAgB,MAChBr1C,UAAWY,GAAW,eAAgBZ,CAAS,EAC/CF,cACAkB,SAAWjN,GAAWiN,GAASjN,iBAAG4+B,QAAS,IAAI,EAC/CniC,MAAOA,EAAQ,CAAEA,QAAcmiC,MAAOniC,GAAU,KAChD6lG,YAAW,GACXhjG,UACAuiD,iBAAkBA,IAAMlxB,EAAAwW,EAAc,gBACzC,CAET,EChBM4iI,GAAsEA,CAAC,CAAE12G,UAASpmD,WAAU+7J,WAAU,IAAM,CAC9G,MAAMgB,EAA2BlhK,GAAA,CACpBmE,EAAA,CAAE,GAAGomD,EAAS,CAACvqD,EAAEgf,OAAOlS,IAAI,EAAGrL,GAAczB,EAAEgf,MAAM,EAAG,GAGrE,aACKolC,GAAe,CAAAhgD,gBACZ,OAAKjB,UAAU,iBAAgBiB,UAC3BowB,OAAA,OAAApwB,UACIowB,OAAA,SAAApwB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAMs0I,eAAe/8J,SAAA,CACjCooB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EACjB8nJ,UAAoB,SACpBntF,GAAmB,CAAChpC,cAAS+H,EAAA,CAAA15B,GAAA,wCAAmD,EAAI,CAAC,EACrF,EAEL8xB,MAAC5pB,GAAe,CACZO,UAAU,eACV2lB,UAAS,GACTj1B,KAAK,OACLF,MAAO42D,EAAQz9C,KACf3I,SAAU+8J,EACVp0J,KAAK,OACL5J,SAAQ,GACRD,YAAa4kB,EAAAwW,EAAM,QACtB,CAAC,EACC,EAEP7J,OAAA,SAAApwB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAMs0I,eAAe/8J,eACjCgwB,EAAA,CAAA15B,GAAA,WAAsB,EACrB,EAEL8xB,MAACu0I,GAAY,CACT58J,SAAwB4gB,GAAA,CACX5gB,EAAA,CAAE,GAAGomD,EAAS62G,SAAUr8I,EAAU,CAC/C,EACAi8I,eAAgBd,EAChBvsK,MAAO42D,EAAQ62G,SACfn+J,YAAa4kB,EAAAwW,EAAU,YAC1B,CAAC,EACC,EAEP7J,OAAA,SAAApwB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAMs0I,eAAe/8J,SAAA,CACjCooB,MAAA4H,EAAA,CAAA15B,GAAA,cAAyB,EACzB8xB,MAAC6oC,GAAmB,CAAChpC,cAAS+H,EAAA,CAAA15B,GAAA,+CAA0D,EAAI,CAAC,EAC5F,EAEL8xB,MAACxoB,GAAkB,CACfb,UAAU,eACVxP,MAAO42D,EAAQlyB,YACfl0B,SAAU+8J,EACVp0J,KAAK,cACL2oF,WAAU,GACVF,QAAS,EACTC,QAAS,GACTvyF,YAAa4kB,EAAAwW,EAAa,eAC7B,CAAC,EACC,CAAC,EACP,EAEL7J,OAAA,OAAApwB,UACIowB,OAAA,SAAApwB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAMs0I,eAAe/8J,SAAA,CACjCooB,MAAA4H,EAAA,CAAA15B,GAAA,UAAsB,GACtB8xB,MAACg2H,KAAoB,CAAC,EACrB,EAELh2H,MAACk/G,GAAkB,CACf9yF,WAAY2R,EAAQ12D,OAASqT,GAAY8mD,YACzC7qD,UAAU,wBACVxP,MAAO42D,EAAQ0W,eACf98D,YAAkBA,EAAS,CAAE,GAAGomD,EAAS0W,eAAgBoE,EAAG1xE,MAAO,EACnEuP,SAAQ,GACRF,gBAAWoxB,EAAA,CAAA15B,GAAA,WAAsB,EACjCkxI,eAAgB,GACnB,CAAC,EACC,EAEPp3G,OAAA,SAAApwB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAMs0I,eAAe/8J,SAAA,CACjCooB,MAAA4H,EAAA,CAAA15B,GAAA,eAA0B,EAC1B8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,yGAGO,EAEd,CAAC,EACD,EAEL8xB,MAAC5pB,GAAe,CACZO,UAAU,eACVtP,KAAK,OACLF,MAAO42D,EAAQwD,YACf5pD,SAAU+8J,EACVp0J,KAAK,cACL7J,YAAa4kB,EAAAwW,EAAyB,2BACzC,CAAC,EACC,EAEP7J,OAAA,SAAApwB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAMs0I,eAAe/8J,SAAA,CACjCooB,MAAA4H,EAAA,CAAA15B,GAAA,oBAA+B,EAC/B8xB,MAAC6oC,GAAmB,CAAChpC,cAAS+H,EAAA,CAAA15B,GAAA,qFAAgG,EAAI,CAAC,EAClI,EAEL8xB,MAACxoB,GAAkB,CACfb,UAAU,eACVxP,MAAO42D,EAAQ82G,eACfl9J,SAAU+8J,EACVp0J,KAAK,iBACL2oF,WAAU,GACVF,QAAS,EACTC,QAAS,GACTvyF,YAAa4kB,EAAAwW,EAAmB,qBACnC,CAAC,EACC,CAAC,EACP,CAAC,EACL,EACQ,CAEzB,ECzHMijI,GAAsEA,CAAC,CACzE/2G,UACApmD,WACAo9J,iBACAC,sBACAC,8BACA/sC,eACJ,IAAM,CACF,MAAMwsC,EAA2BlhK,GAAA,CACpBmE,EAAA,CAAE,GAAGomD,EAAS,CAACvqD,EAAEgf,OAAOlS,IAAI,EAAGrL,GAAczB,EAAEgf,MAAM,EAAG,GAE/D0iJ,EAAkC1hK,GAAA,CACRyhK,EAAA,CAAE,GAAGD,EAAqB,CAACxhK,EAAEgf,OAAOlS,IAAI,EAAGrL,GAAczB,EAAEgf,MAAM,EAAG,GAG9F/E,EAAUsM,KACV9Y,EAAU+Y,KAEZ,IAACvM,GAAW,CAACxM,EACN+e,aAAC+a,EAAgB,EAAE,EAGxBouF,QACFzpE,GACIwoE,IAAkBztH,GAAqBuuH,QACjCv7G,EAASyM,yBACTjZ,EAASiZ,wBAAwB,EAG/C,cACI,OAAKvjB,UAAU,iBAAgBiB,UAC3BowB,OAAA,OAAApwB,SAAA,CACKm9J,GACG/sI,OAAA,SAAApwB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAMs0I,eAAe/8J,SAAA,CACjCooB,MAAA4H,EAAA,CAAA15B,GAAA,gBAA2B,EAC3B8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,uMAIO,EAEd,CAAC,EACD,EAEL8xB,MAAC5pB,GAAe,CACZkmB,UAAS,GACT3lB,UAAU,eACVtP,KAAK,SACLF,MAAQ42D,EAAkCksE,cAAgB,GAC1DtyH,SAAU+8J,EACVp0J,KAAK,eACL7J,YAAa4kB,EAAAwW,EAAO,SACvB,CAAC,EACC,EAEX7J,OAAA,SAAApwB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAMs0I,eAAe/8J,eACjCgwB,EAAA,CAAA15B,GAAA,6BAAAE,OAAA,CAAA+6H,kBAA+B,EAAS,EACvC,EAELnpG,MAAC5pB,GAAe,CACZO,UAAU,eACVtP,KAAK,SACLF,MAAO6tK,EAAoBjhI,OAAS,GACpCp8B,SAAUu9J,EACV50J,KAAK,QACL7J,YAAa4kB,EAAAwW,EAAO,SACvB,CAAC,EACC,EAEP7J,OAAA,SAAApwB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAMs0I,eAAe/8J,eACjCgwB,EAAA,CAAA15B,GAAA,8BAAAE,OAAA,CAAA+6H,kBAAgC,EAAS,EACxC,EAELnpG,MAAC5pB,GAAe,CACZO,UAAU,eACVtP,KAAK,SACLF,MAAO6tK,EAAoBlhI,QAAU,GACrCn8B,SAAUu9J,EACV50J,KAAK,SACL7J,YAAa4kB,EAAAwW,EAAQ,UACxB,CAAC,EACC,CAAC,EACP,EAEL7J,OAAA,OAAApwB,UACIowB,OAAA,SAAApwB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAMs0I,eAAe/8J,SAAA,CACjCooB,MAAA4H,EAAA,CAAA15B,GAAA,aAAwB,EACxB8xB,MAAC6oC,GAAmB,CAAChpC,cAAS+H,EAAA,CAAA15B,GAAA,0CAAqD,EAAI,CAAC,EACvF,EAEL8xB,MAAC5pB,GAAe,CACZO,UAAU,eACVtP,KAAK,OACLF,MAAO42D,EAAQkkE,KAAO,GACtBtqH,SAAU+8J,EACVp0J,KAAK,MACL7J,YAAa4kB,EAAAwW,EAAY,cAC5B,CAAC,EACC,EACP7J,OAAA,SAAApwB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAMs0I,eAAe/8J,eACjCgwB,EAAA,CAAA15B,GAAA,6BAAAE,OAAA,CAAA+6H,kBAA+B,EAAS,EACvC,EAELnpG,MAAC5pB,GAAe,CACZO,UAAU,eACVtP,KAAK,SACLF,MAAO6tK,EAAoBn1G,OAAS,GACpCloD,SAAUu9J,EACV50J,KAAK,QACL7J,YAAa4kB,EAAAwW,EAAO,SACvB,CAAC,EACC,EAEP7J,OAAA,SAAApwB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAMs0I,eAAe/8J,eACjCgwB,EAAA,CAAA15B,GAAA,8BAAAE,OAAA,CAAA+6H,kBAAgC,EAAS,EACxC,EAELnpG,MAAC5pB,GAAe,CACZO,UAAU,eACVtP,KAAK,SACLF,MAAO6tK,EAAoBltK,QAAU,GACrC6P,SAAUu9J,EACV50J,KAAK,SACL7J,YAAa4kB,EAAAwW,EAAQ,UACxB,CAAC,EACC,CAAC,EACP,CAAC,EACL,CAEb,oRCvIMsjI,GAA4CA,CAAC,CAAE5lF,SAAQj3B,QAAOn7B,QAAO+qG,eAAc,IAAM,CAC3F,MAAMtjB,EAAwB/0D,GAAA,CAC1B,GAAI0/B,EAAQ,CACR,MAAM7hF,EAAOmiD,EACRt/C,UAAc7F,EAAEwO,KAAO,CAAC,EACxBzO,IAAWC,GAAA,IAAIsJ,GAAStJ,CAAC,CAAC,EAC1BD,IAAI,CAACC,EAAGzC,KAAO,CACZiG,GAAIoqD,EAAQA,EAAMpqD,GAAK,KACvBghD,UAAWoJ,EAAQA,EAAMpJ,UAAY/xB,EAAQl1B,EAC7CmR,SAAU1O,EACV4V,KAAM5V,EAAEouH,4BAA4B,EACpC+G,YAAavnE,EAAQA,EAAMpqD,GAAK8G,GAAY,CAC9C,IAENu6E,EAAO7hF,CAAI,EACf,EAGJ,SAAS0nK,GAA0B,CAC/B,GAAI,CAAC98G,EAAc,SAEf4vE,OAAkBztH,GAAqBuuH,QAChCrC,UAAkCruE,EAAOpqD,EAAG,EACvD,GAAWg6H,IAAkBztH,GAAqBgR,QACvC+yC,UAAyClG,EAAOpqD,EAAG,EAGxD,UAAIuO,MAAM,qBAAqB,CACzC,CAEA,SAAS44J,GAAc,CACf/8G,UAASA,EAAMl/C,eACPm1G,GAAgB,CAAC+mD,UAAW,GAAOl8J,SAAUk/C,EAAOl/C,SAAW,QAGnE+2B,GAAS,CAACmlI,UAAW,GAAOxgI,IAAI,UAAU1E,IAAKglI,EAAgB,EAAI,CAC/E,CAOA,aACIt1I,WAAA,CAAAloB,SACK0gD,EACGt4B,MAAC0uD,GAAU,CACP31E,SAAS,QACTN,OAAM,GACN+wB,mBAAoBnJ,GAAMk1I,qBAC1BhmF,OAAQq1B,EACRj2B,SAAQ,GAAA/2E,SACPy9J,EAAY,EACL,EAEZr1I,MAAC0uD,GAAU,CAAC31E,SAAS,QAAQywB,mBAAoBnJ,GAAMk1I,qBAAsBhmF,OAAQq1B,EAAa,EAYxG,CAEV,EChEM4wD,GAA0CA,CAAC,CAAEl9G,QAAOn7B,QAAOxlB,WAAUwvH,WAAUe,eAAc,IAAM,CACrG,MAAMvkF,EAAuD3rC,GAAA,CAChDH,KAAYC,UAAUwgD,EAAO,CAAE,GAAGA,EAAO,GAAGtgD,CAAS,EAAC,GAGnE,cACI,OAAKrB,UAAW0pB,GAAMo1I,YAAY79J,UAC9BooB,MAAA,OAAKrpB,UAAW0pB,GAAM4oB,UAAUrxC,eAC3Bu9J,GAAqB,CAClB78G,QACAn7B,QACAoyD,OAASmmF,GAAa/xH,EAAa+xH,EAAS,CAAC,CAAC,EAC9CxtC,gBACH,EACA,EACLloG,MAAA,OAAKrpB,UAAW0pB,GAAMivC,QAAQ13D,eAWzBguB,EAAM,CAAChE,MAAM,OAAOrP,QAASA,IAAM40G,EAAS7uE,CAAK,EAAGv3B,KAAMwiE,GAAY5+D,aAAa,OAAOzrB,KAAK,SAAQtB,eACpGgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACP,CAAC,EACL,CAEb,EAMMynK,GAAgBC,GAAgB,CAAC,CAAEz4I,QAAOm7B,QAAO3gD,WAAUwvH,WAAUe,eAAkC,UACzG,OAAAtwH,eACK49J,GAAW,CAACl9G,QAAcn7B,QAAcxlB,WAAoBwvH,WAAoBe,gBAA+B,CAAC,CAChH,CACR,EASK2tC,GAAeC,GAAkB,CAAC,CAAE9jH,SAAQr6C,WAAUwvH,WAAUe,gBAAeiqB,WAA6B,WAE1G,OAAKx7I,UAAW0pB,GAAM8J,UAAUvyB,SAC3Bo6C,GAAOvnD,IAAI,CAAC6tD,EAAOn7B,UACfw4I,GAAa,CAEVr9G,QACAn7B,QACAxlB,WACAwvH,WACAe,iBALK5vE,EAAMpqD,IAAMoqD,EAAMunE,WAM1B,CACJ,QACD,OAAKlpH,UAAW0pB,GAAMq1I,SAAS99J,eAC3B,OAAKjB,UAAW0pB,GAAM4oB,UAAUrxC,eAC3Bu9J,GAAqB,CAClBjtC,gBACA5vE,MAAO,KACPn7B,MAAO60B,EAAOlqD,OACdynF,OAAmB4iE,KAAUtiG,CAAK,EACrC,EACA,EACJ,CAAC,EACL,CAEZ,EAQKkmH,GAA0EA,CAAC,CAC7E/jH,SACAgkH,gBACA9tC,gBACA/oH,cACA82J,qBACJ,IAAM,CACF,MAAMtyH,EAAqD7E,GAAA,CACvD,MAAMo3H,EAAY53H,GAAa0T,EAAQlT,EAAO/mC,SAAU+mC,EAAO5mC,QAAQ,EAEvE89J,EAAcE,CAAS,GAGrB/jB,EAA4DujB,GAAA,CAC9DM,EAAc,CAAC,GAAGhkH,EAAQ,GAAG0jH,CAAQ,CAAC,GAGpChkB,EAAuCp5F,GAAA,CACnC49G,QAAYlkH,EAAOzhD,OAAc7F,OAAM4tD,CAAK,EAAE7tD,IAAI,CAACulC,EAAK7S,KAAW,CAAE,GAAG6S,EAAKkf,UAAW/xB,CAAQ,IACtG64I,EAAcE,CAAS,GAErBC,EAAYA,CAAC,CAAEC,WAAUC,cAAe,CACpC73H,QAAW83H,GAAUtkH,EAAQokH,EAAUC,CAAQ,EAAE5rK,IAAI,CAACulC,EAAK7S,KAAW,CAAE,GAAG6S,EAAKkf,UAAW/xB,CAAQ,IACzG64I,EAAcx3H,CAAQ,GAG1B,cACKoZ,GAAe,CAAAhgD,SAAA,CACZooB,MAAC61I,GAAY,CACTU,YAAal2I,GAAMm2I,OACnBC,SAAU,GACVC,KAAK,KACL/+J,SAAUgsC,EACVwjF,SAAUuqB,EACVxpB,gBACAiuC,YACAnkH,SACAmgG,YACH,EACDnyH,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,6FAAwG,EACxG,EACJ8xB,MAAC2jE,GAAc,CACXhsF,SAAiBs+J,KAAoBziK,CAAC,EACtC05B,aAAcA,IAAM,GACpB/lC,MAAOgY,EACP4kF,WAAU,GACb,CAAC,EACW,CAEzB,ECnJM4yE,GAAiCA,CAAC,CAAE54G,UAASpmD,WAAUo9J,gBAAoD,WAEzGj1I,WAAA,CAAAloB,SAAA,CAUKm9J,GACG/sI,OAAA,SAAApwB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAMs0I,eAAe/8J,SAAA,CACjCooB,MAAA4H,EAAA,CAAA15B,GAAA,gBAA2B,EAC3B8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,uMAIO,EAEd,CAAC,EACD,EAEL8xB,MAAC5pB,GAAe,CACZkmB,UAAS,GACT3lB,UAAU,eACVtP,KAAK,SACLF,MAAQ42D,EAAkCksE,cAAgB,GAC1DtyH,YAAiBA,EAAS,CAAE,GAAGomD,EAASksE,aAAc,CAACz2H,EAAEgf,OAAOrrB,MAAO,EACvEmZ,KAAK,eACL7J,YAAa4kB,EAAAwW,EAAO,SACvB,CAAC,EACC,EAEX7J,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,cAAyB,EACzB8xB,MAACwsB,GAAM,CAACxiD,QAAS,CAAG,EAACoiD,WAAU,GAACjlD,MAAO,CAAEmiC,MAAO,MAAOniC,MAAO,KAAM,EAAI,CAAC,EACtE,CAAC,EACV,ECCJyvK,GAAsDA,CAAC,CACzD74G,UACApnB,SACAye,WACAz9C,WACA4vB,WACAwtI,iBACAC,sBACAC,8BACA/sC,gBACAwrC,WACJ,IAAM,CACF,MAAM3+G,EAAgB,CAClB,CACIz0C,WAAMsnB,EAAA,CAAA15B,GAAA,cAAyB,EAC/B0gC,OAAQA,IAAM5O,MAACy0I,GAAyB,CAAC12G,UAAkBpmD,SAAUk/J,EAAqBnD,YAAsB,GAEpH,CACIpzJ,WAAMsnB,EAAA,CAAA15B,GAAA,OAAkB,EACxB0gC,OAAQA,IACJmvB,EAAQ12D,OAASqT,GAAYogB,aACxBg6I,GAAyB,CACtB/2G,UACApmD,SAAUk/J,EACV9B,iBACA7sC,gBACA+sC,8BACAD,sBACH,EAEDh1I,MAAC22I,GAA8B,CAC3B54G,UACApmD,SAAUk/J,EACV9B,iBACH,GAGb,CACIz0J,WAAMsnB,EAAA,CAAA15B,GAAA,6BAAwC,EAC9C0gC,OAAQA,IACJ5O,MAAC+1I,GAA2B,CACxB/jH,OAAQ+L,EAAQ/L,OAChBgkH,cAAec,EACf5uC,gBACA/oH,YAAa4+C,EAAQ5+C,YACrB82J,oBAAqBc,EACxB,EAER,EAGC,CAACC,EAAmBC,CAAoB,EAAI7nJ,WAAS,CAAC,EACtDqB,EAAoBD,KAEpBqmJ,EAAuB94G,GAAyB,CAClDpmD,EAASomD,CAAO,GAGd+4G,EAAmE9kH,GAAA,CAC5Dr6C,EAAA,CAAE,GAAGomD,EAAS/L,SAAQ,GAG7B+kH,EAAoE53J,GAAA,CAC7DxH,EAAA,CAAE,GAAGomD,EAAS5+C,cAAa,GAGlCy9B,EAAWA,IACEnsB,EAAkBmsB,WAEnB90C,SAAW,EAGvBovK,EAAiCp4H,GAAA,CACnC,GAAIA,EAAS,GAAK,CAAClC,IACf,OAGJ,MAAM4Z,EAAawgH,EAAoBl4H,EAEvCm4H,EAAqBzgH,CAAU,GAG7BiiE,EAAkB,MAAOjlH,GAAM,CAC5BopC,KAIIwY,GAAA,EAGb,GAAI,CAAC2I,EACM/9B,aAAC+a,EAAgB,EAAE,EAG9B,MAAMirC,EAAgBjxB,EAAMjtD,OACtBqvK,EAAcH,EAAoB,EAAIhxF,EACtCoxF,EAAkBJ,EAAoB,EACtCpiH,EAAcG,EAAMiiH,CAAiB,EAE3C,aACKp/G,GAAe,CAACnnC,oBAAqC7Y,gBAClD,OAAKjB,UAAU,aAAYiB,SAAA,CACvBooB,MAAC20B,GAAgB,CAACC,YAAaoiH,EAAoB,EAAGniH,WAAYE,EAAMjtD,OAAQq5B,OAAQyzB,EAAYt0C,KAAO,EAE3G0f,MAAA,OAAKrpB,UAAU,aAAYiB,SAAEg9C,EAAYhmB,OAAO,EAAO,EAEvD5O,MAAA,OAAKrpB,UAAU,aAAYiB,eACtB4/B,GAAiB,CAACqgB,mBAAkB,GAAE,EACtC,EAEL7vB,OAAA,OAAKrxB,UAAW0pB,GAAMy3B,QAAQlgD,SAAA,CAC1BooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASgV,EAAU1C,SAAU8R,EAAO/+B,eACzDgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EAEPkpK,GACGp3I,MAAC4F,EAAM,CAAChE,MAAM,YAAYrP,QAAgB2kJ,KAAW,EAAE,EAAGryI,SAAU8R,EAAO/+B,eACvEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EAGXipK,GACGn3I,MAAC4F,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUrP,QAAgB2kJ,KAAW,CAAE,EAAGryI,SAAU8R,EAAO/+B,eACnFgwB,EAAA,CAAA15B,GAAA,OAAkB,CACd,GAGX,CAACipK,SACGvxI,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUrP,QAASkmG,EAAiB9kG,QAASgjB,EAAO/+B,eAC5EgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CACX,EACA,CAAC,EACL,EACQ,CAEzB,EAIampK,GAAuGA,CAAC,CACjHC,iBACA,GAAGphK,CACP,IAAM,CACF,KAAM,CAACmiE,CAAU,EAAIlmD,EACjB,IAAMolJ,GAAyBD,EAAe55E,cAAc,EAC5D,CAAC45E,EAAe55E,cAAc,EAC9B,CAAEg2E,UAAW,GACjB,EAEA,aACKkD,GAAiB,IACV1gK,EACJ6nD,QAASu5G,EACTpvC,cAAeztH,GAAqBuuH,QACpC0qC,UAAWr7F,EAAWq7F,UACzB,CAET,EAEa8D,GAETA,CAAC,CAAEF,iBAAgB,GAAGphK,CAAK,IAAM,CACjC,KAAM,CAACmiE,CAAU,EAAIlmD,EACjB,IAAMisC,GAAyBk5G,EAAe/oK,SAAS,EACvD,CAAC+oK,EAAe55E,cAAc,EAC9B,CAAEg2E,UAAW,GACjB,EAEA,aACKkD,GAAiB,IACV1gK,EACJ6nD,QAASu5G,EACTpvC,cAAeztH,GAAqBgR,QACpCioJ,UAAWr7F,EAAWq7F,UACzB,CAET,ECxNM+D,GAAkFA,CAAC,CACrFprC,0BACAhlG,OACAjL,UACAqnC,SACAl8B,UACJ,IAAM,CACF,MAAM9Z,EAAUsM,KACV9Y,EAAU+Y,KACV,CAAC+jC,EAAS6uG,CAAU,EAAIx9I,WAAmD,IAAI,EAC/E,CAAC+wC,EAAcu3G,CAAe,EAAItoJ,WAAS6wC,EAAgB,EAC3D,CAACtpB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EAEtC,IAAC3B,GAAW,CAACxM,EACN+e,aAAC+a,EAAgB,EAAE,EAG9B,MAAM/oB,EAAW,SAAY,CACzB,GAAIq6G,EAAyB,CACnBtsF,QAAI,MAAMme,GAAyBmuE,CAAuB,EAChEugC,EAAW7sH,CAAC,EACZ23H,EAAgB/3G,GAA2B5f,EAAG9+B,EAAQiZ,wBAAwB,CAAC,OAE/E0yI,EAAW+K,GAA0C,CACzD,EAGJ,SAASA,GAAkD,CAChD,OACH92G,OAAQ,GACR4T,eAAgB,KAChBipB,eAAgBjwE,EAASvf,GACzBK,UAAW0S,EAAS/S,GACpBoS,KAAM,GACN2hH,IAAK,GACLp2F,YAAa,GACb01B,YAAa,GACbvP,OAAQ,CAAE,EACV7yC,YAAa,CAAE,EACfgrH,oBAAqB,KACrB9iI,KAAMqT,GAAYogB,OAE1B,CAEA,SAAS8vD,GAAQ,CACbgiF,EAAW,IAAI,EACfh2H,EAAU,EAAK,CACnB,CAEA,MAAM7O,EAAoBA,IAAM,CAC5BjzB,EAAeyyB,CAAQ,EACvBzyB,EAAesnB,CAAO,GAGpBq8F,EAAkB,SAAY,CAChC7hF,EAAU,EAAI,EACd,MAAMghI,EAAoB13G,GAA8BnC,EAAUoC,EAAcl/C,EAAQiZ,wBAAwB,EAC1G,CAAE83B,SAAQ7yC,cAAa,GAAG04J,CAAiBD,IAE3C/nH,EAAQ,CACV,GAAGmC,EAAOvnD,IAAYi0C,IAAA,CAAE,GAAGA,EAAGr3C,KAAM,OAA+B,IACnE,GAAG8X,EAAY1U,IAAYi0C,IAAA,CAAE,GAAGA,EAAGr3C,KAAM,cAAoC,CAAC,EAG9E,IACMy2D,SAA0B+5G,EAAchoH,CAAK,EAEnD/6C,EAAe2uD,CAAM,EACrB3uD,EAAesnB,CAAO,EAChBwuD,GAAA,QACA,CACNh0C,EAAU,EAAK,CACnB,GAGJ,cACK7a,EAAK,CAACzb,KAAK,uBAAuBjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,OAAQnK,EAAU9Y,KAAK,KAAItB,SAAA,CACnGooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,SAClCy0H,EAA0BrsG,MAAA4H,EAAA,CAAA15B,GAAA,eAA0B,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,qBAAgC,EAChF,EACb8xB,MAACoB,EAAS,CAAAxpB,SACLmmD,EACG/9B,MAACw3I,GAA+B,CAC5BF,eAAgBv5G,EAChBi3G,oBAAqB70G,EACrB80G,4BAA6ByC,EAC7B//J,SAA0Bi1J,KAAWkL,CAAmC,EACxE1iH,SAAUqjE,EACVlxF,SAAUQ,EACV4O,SACAo+H,eAAgB,GACnB,EAEAh6H,QAAkB,IAEhB,CAAC,EACT,CAEf,mFCrGMg9H,GAAoEA,CAAC,CAAEjM,WAAU3kK,QAAOwQ,UAAS,IAAM,CACnGqgK,QAAoBA,CAACj6G,EAAgC/lB,IAAkB,CACzEljC,EAAe6C,EAAUonC,GAAY53C,EAAO42D,EAAQ7vD,GAAI8pC,CAAI,CAAC,GAG3DigI,EAAqD5vK,GAAA,CACvD,GAAIA,EAAK6vK,kBACL,aAAOtwI,EAAA,CAAA15B,GAAA,yCAAoD,EAC/D,GAAW,CAAC7F,EAAK8vK,uBACb,aAAOvwI,EAAA,CAAA15B,GAAA,iDAA4D,CACvE,EAGJ,aACI,MAAIyI,UAAW0pB,GAAMkd,KAAK3lC,SACrBk0J,EAASrhK,IAAKpC,UACX,MAAAuP,SAAA,CACIooB,MAACgqG,GAAqB,CAClB3hI,KAAMA,EAAK01D,QACX5oD,QAAShO,EAAMuU,SAASrT,EAAK01D,QAAQ7vD,EAAE,EACvCw6H,cAAergI,EAAK+vK,aAAeJ,EAAoB,IAAM,CAAC,CACjE,GAEA,CAAC3vK,EAAK+vK,oBACH,OAAKzhK,UAAW0pB,GAAMg4I,gBAAgBzgK,SAAEvP,EAAK6vK,mBAAqBD,EAAe5vK,CAAI,EAAO,CAC/F,GATIA,EAAK01D,QAAQ7vD,EAUlB,CACP,EACD,CAEZ,ECtBA,SAASoqK,IAA6B,CAC3B,OACHC,kBAAmB,GAE3B,CAEA,MAAMC,GAAwEA,CAAC,CAAEnxI,OAAMjL,UAASqnC,QAAO,IAAM,CACzG,KAAM,CAACqoG,EAAU2M,CAAW,EAAIrpJ,WAA4C,IAAI,EAC1E,CAACksD,EAAO,CAAIo9F,CAAU,EAAIxnJ,GAAconJ,GAAmB,GAE3D,CAACK,EAAoBC,CAAqB,EAAIxpJ,WAAmB,CAAE,GACnE3B,EAAUwF,EAA+BzlB,KAAMD,OAAOV,aAAc,EACpEoU,EAAUgS,EAA+BzlB,KAAMD,OAAOT,aAAc,EAEpE89E,EAAQA,IAAM,CAChB8tF,EAAWJ,IAAmB,EAC9BG,EAAY,IAAI,EAChBG,EAAsB,CAAE,IAGtBn1H,EAAa,SAAY,CACrBmnC,IACN6tF,EAAY,MAAM7xC,GAA6Bn5G,EAAQvf,GAAI+S,EAAQ/S,EAAE,CAAC,GAGpEo2D,EAAa,SAAY,CACrBuiE,SAAwB5lH,EAAQ/S,GAAIyqK,CAAkB,EAC5D7jK,EAAe2uD,CAAM,EACrB3uD,EAAesnB,CAAO,GAGpBy8I,EAAmBt/I,UAAQ,IAAM,CACnC,GAAI,CAACuyI,EACM,YAGX,IAAIp+J,EAAO,CAAC,GAAGo+J,EAASv7J,UAAc7F,EAAE0tK,YAAY,EAAG,GAAGtM,EAASv7J,OAAQ7F,GAAM,CAACA,EAAE0tK,YAAY,CAAC,EAE1F1qK,SAAK6C,OAAcwvC,GAClBu7B,IAAQi9F,mBAAqB,CAACx4H,EAAEq4H,aAKvC,GACF,CAACtM,EAAUxwF,CAAO,CAAC,EAEtB,cACKv/C,EAAK,CAACzb,KAAK,uBAAuBjR,OAAQg4B,EAAMrL,OAAQI,EAASD,OAAQsnB,EAAYvqC,KAAK,KAAItB,SAAA,CAC3FooB,MAACkB,GAAW,CAAClF,OAAQI,EAAQxkB,eACzBgwB,EAAA,CAAA15B,GAAA,yBAAAE,OAAA,CAAA4uC,EAA2B/7B,EAAQX,IAAI,EAAQ,EACtC,EACb0f,MAACoB,EAAS,CAAAxpB,SACLihK,EACG74I,MAAC+3I,GAAwB,CACrBjM,SAAU+M,EACV1xK,MAAOwxK,EACPhhK,SAAUihK,EACb,EAEA79H,QAAkB,IAEhB,EACX/S,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAAS6J,EAAQxkB,eACtCgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,UAAUrP,QAAS+xC,EAAYz/B,SAAU8zI,EAAmB7wK,SAAW,EAAE8P,eACnFgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CAAC,EACA,CAAC,EACX,CAEf,EC3EM4qK,GAAgEA,IAAM,CAExE,MAAMvqK,EADU0kB,EAA+BzlB,KAAMD,OAAOT,aAAc,EAChDoB,GACpB,CAAC6qK,EAAkBC,CAAmB,EAAI5pJ,WAAwB,IAAI,EACtE,CAAC++I,EAAgBC,CAAiB,EAAIh/I,WAAkB,EAAK,EAC7D,CAAC6pJ,EAAkBC,CAAmB,EAAI9pJ,WAAkB,EAAK,EACjE,CAAC7e,EAAQq7G,CAAS,EAAIx8F,EAA6BqkJ,YAAmBzpH,OAAO,EAE7E,CAAC8hH,GAAYqN,EAAgBrnJ,CAAS,EAAIJ,GAC5C,IACI2sC,GAA6B,CACzB9vD,YACAssE,gBAAiBtqE,EAAOsqE,gBACxB2uC,WAAYj5G,EAAOi5G,WACnBkqD,UAAWnjK,EAAOmjK,UAAU5rK,SAAW,EAAI,KAAOyI,EAAOmjK,SAC5D,GACL,CAACnlK,EAAWgC,CAAM,EAClB,IACJ,EAEM,CAAC8nE,GAAc+gG,CAAgB,EAAIjnJ,EAAc,IAAMisC,GAAyB7vD,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAE7G+lK,EAAoB3/I,KAEpB0kJ,EAA6Dt7G,GAAA,CAC/Di7G,EAAoBj7G,EAAQ7vD,EAAE,EAC9BkgK,EAAkB,EAAI,GAGpBkL,EAA+BA,IAAM,CACvCN,EAAoB,IAAI,EACxB5K,EAAkB,EAAK,GAGrBmL,EAA8B,SAAY,CAC7BJ,IACEC,GAAA,EAGfI,EAA2B,MAAOz7G,GAAmC,CACjEC,SAA4BD,EAAQ7vD,EAAE,EAC7BirK,IACEC,GAAA,EAGjB,OAACtN,GAAY,CAACzzF,EACPr4C,MAAC+a,EAAgB,EAAE,SAI1Bjb,WAAA,CAAAloB,SAAA,CACIooB,MAAC4N,GAAS,CAAAh2B,SACLg2B,UAAUL,MAAK,CAAA31B,SAAA,CACZooB,MAAC4F,EAAM,CAAC7E,KAAM04I,GAAc73I,MAAM,WAAWrP,QAASA,IAAM2mJ,EAAoB,EAAI,EAAEthK,eAClFgwB,EAAA,CAAA15B,GAAA,sBAAiC,EAC7B,EACR8xB,MAAC2zI,GAAa,CAAC7hJ,YAAsBvhB,SAAgBoH,SAAUi0G,EAAWl+G,KAAM2qE,EAAa,CAAC,EACjF,EACV,EAEXr4C,MAACq0I,GAAyB,CACtBC,oBACAxI,WACAzjC,YAAagxC,EACbr7C,cAAew7C,EAClB,EAEDx5I,MAACy3I,GAA+B,CAC5BpwI,KAAM8mI,EACN9hC,wBAAyB0sC,EACzB38I,QAASk9I,EACT71G,OAAQ81G,EACX,EAEDv5I,MAACw4I,GAA0B,CACvBnxI,KAAM4xI,EACN78I,QAASA,IAAM88I,EAAoB,EAAK,EACxCz1G,OAAQA,IAAM01G,EAAe,EAChC,CAAC,EACJ,CAEV,gwBC5EMxD,GAAgBC,GAAgB,CAAC,CAAE3tK,IAAGyxK,eAAc17C,gBAAeqK,aAAgC,WACrG,OAAK1xH,UAAW0pB,GAAM6P,eAAet4B,UACjCooB,MAAA,OAAKrpB,UAAW0pB,GAAM6gE,aAAc3uE,QAAStqB,EAAEiG,GAAKwrK,EAAenoK,OAAUqG,eACxEu4B,GAAS,CAACmlI,UAAW,GAAOllI,IAAKnoC,EAAEiG,GAAK6wE,GAAmC92E,EAAEiG,EAAE,EAAIjG,EAAEmR,SAAW,EAChG,EACL4mB,MAAC+2F,GAAuB,CAACxmF,UAAU,kBAAiB34B,eAChD,QAAMjB,UAAW0pB,GAAMs5I,aAAa/hK,eAC/BkxB,GAAmB,CAChBX,kBAAaP,EAAA,CAAA15B,GAAA,eAA0B,EACvCk6B,iBAAYR,EAAA,CAAA15B,GAAA,8CAAyD,EACrEy5B,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvCg6B,UAAW81F,EACXr5F,aAAa,OACb5D,KAAMwiE,GACN3hE,MAAM,OAAMhqB,eACZgwB,EAAA,CAAA15B,GAAA,SAAoB,EACH,EACnB,EACe,CAAC,EACzB,CACR,EASK2nK,GAAeC,GACjB,CAAC,CAAE9jH,SAAQ0nH,eAAc17C,gBAAeqK,cAAauxC,cAAgC,WAE7E,OAAKjjK,UAAW0pB,GAAMw5I,mBAAmBjiK,SACpCo6C,GAAOvnD,IAAI,CAACulC,EAAK7S,UACbw4I,GAAa,CACV33C,cAAeA,IAAMA,EAAchuF,CAAG,EACtC0pI,aAAcA,IAAMA,EAAa1pI,EAAK7S,CAAK,EAC3CkrG,YAAaA,IAAMA,EAAYr4F,CAAG,EAElC7S,QACAl1B,EAAG+nC,GAFE,QAAQA,EAAI9hC,IAAM8hC,EAAI6vF,aAG9B,CACJ,EACD7/F,MAAC0uD,GAAU,CAAC31E,SAAS,QAAQywB,mBAAoBnJ,GAAM0uD,WAAYQ,OAAQqqF,EAAe,CAAC,EAC1F,CAGjB,EAEME,GAA8BA,CAAC,CACjCC,iBACA/nH,QACiE,IAC7D+nH,QACQC,GAAkC,CAAChoH,SAAgB+nH,iBAAiC,QAExFE,GAAkC,CAACjoH,SAA6C,EAQtFgoH,GAAwFA,CAAC,CAC3FD,iBACA/nH,QACJ,IAAM,CACF,KAAM,CAACR,EAAkBC,CAAmB,EAAIriC,WAAS,CAAC,EACpD,CAACsiC,EAAmBC,CAAoB,EAAIviC,WAAS,EAAK,EAE1D8qJ,EAAmB,MAAOrqH,GAAkB,CAC1CsqH,MAAY7jK,GAAI07C,EAAOvnD,OAAWxC,EAAEinD,SAAS,CAAC,GAAK,EAEvD,MAAMkrH,EAAavqH,EAAMplD,IAAI,CAACqa,EAAM7c,IAAM,CACtC,MAAMinD,EAAYirH,EAAYtkI,KAAKwkI,IAAIpyK,CAAC,EAAI,EAErC,OAAE43H,YAAa7qH,GAAY,EAAGk6C,YAAWxhD,KAAMoX,EAAK,CAC9D,EAEDi1J,EAAe,CACX,GAAG/nH,EACH,GAAGooH,EAAW3vK,IAELC,IAAA,CACGm1H,YAAan1H,EAAEm1H,YACf3wE,UAAWxkD,EAAEwkD,UACb91C,SAAU,IAAIpF,GAAStJ,EAAEgD,IAAI,GAEzC,CAAC,CACJ,GAGCyoK,EAAY,MAAO,CAAEC,WAAUC,cAAe,CAChD,MAAM73H,EAAW83H,GAAUtkH,EAAQokH,EAAUC,CAAQ,EACrD0D,EAAev7H,CAAQ,GAErBikD,EAAe,MAAOnqC,GAAkC,CAC1DyhH,EAAe/nH,EAAOzhD,OAAQtI,GAAMA,EAAEiG,KAAOoqD,EAAMpqD,EAAE,CAAC,GAEpDygD,EAAkBA,IAAM,GACxB2rH,EAAmBA,CAAChiH,EAA+Bn7B,IAAkB,CACvEs0B,EAAoBt0B,CAAK,EACzBw0B,EAAqB,EAAI,GAG7B,cACI7xB,WAAA,CAAAloB,SAAA,CACIooB,MAAC61I,GAAY,CACTU,YAAal2I,GAAMm2I,OACnBx4C,cAAev7B,EACf4lC,YAAa15E,EACb+qH,aAAcY,EACdnE,YACAM,SAAU,GACVC,KAAK,KACL1kH,SACA4nH,aAAcM,EACjB,EAEDl6I,MAACszB,GAAY,CACTC,YAAa/B,EACbp0B,SAAUq0B,EACV+B,aAAc7B,EACd8B,UAAW/B,EACXgC,QAAS1B,EAAOvnD,OAAWq0E,GAA0B72E,EAAEiG,EAAG,CAAC,EAC9D,CAAC,EACJ,CAEV,EAMM+rK,GAAqCA,CAAC,CAAEjoH,QAAgD,IAAM,CAChG,KAAM,CAACR,EAAkBC,CAAmB,EAAIriC,WAAS,CAAC,EACpD,CAACsiC,EAAmBC,CAAoB,EAAIviC,WAAS,EAAK,EAE1DkrJ,EAAmBA,CAAChiH,EAA+Bn7B,IAAkB,CACvEs0B,EAAoBt0B,CAAK,EACzBw0B,EAAqB,EAAI,GAG7B,cACI7xB,WAAA,CAAAloB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAMw5I,mBAAmBjiK,SACpCo6C,EAAOvnD,IAAI,CAAC6tD,EAAOn7B,UAChB,OAAoBxmB,UAAW0pB,GAAMk6I,uBAAuB3iK,eACxD,OAAKjB,UAAW0pB,GAAM6gE,aAAatpF,eAC9Bu4B,GAAS,CACNC,IAAK2uC,GAAmCzmB,EAAMpqD,EAAE,EAChDqkB,QAAU/e,GAAM8mK,EAAiBhiH,EAAOn7B,CAAK,EAChD,EACA,GANCm7B,EAAMpqD,EAOX,CACR,EACA,EAEL8xB,MAACszB,GAAY,CACTC,YAAa/B,EACbp0B,SAAUq0B,EACV+B,aAAc7B,EACd8B,UAAW/B,EACXgC,QAAS1B,EAAOvnD,OAAWq0E,GAA0B72E,EAAEiG,EAAE,CAAC,EAC7D,CAAC,EACJ,CAEV,EChKA,SAASssK,GAAuBp7F,EAAuC,CACnE,OAAKA,EAaE,CACH9+D,KAAM8+D,EAAO9+D,KACburB,YAAauzC,EAAOvzC,YACpBmmB,OAAQotB,EAAOptB,OACfyoH,cAAer7F,EAAOq7F,cACtBv5G,MAAOke,EAAOle,MACd60F,eAAgB32E,EAAO22E,eACvB5xI,gBAAiBi7D,EAAOj7D,gBACxBu2J,SAAUt7F,EAAOs7F,UApBV,CACHp6J,KAAM,GACNurB,YAAa,GACbmmB,OAAQ,CAAE,EACVyoH,cAAe,GACfv5G,MAAO,KACP60F,eAAgB,KAChB5xI,gBAAiB,KACjBu2J,SAAU,KActB,CAEA,MAAMC,GAAsEA,CAAC,CACzEv7F,SACA+zF,gBACAyH,aACAC,cACJ,IAAM,CACF,MAAMtsK,EAAY0kB,EAAazlB,GAAkBA,EAAMD,OAAOT,cAAeoB,EAAE,EACzE,CAACyoC,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC0hJ,EAAWC,EAAgBC,CAAY,EAAI9/I,GAAyBspJ,GAAuBp7F,CAAM,CAAC,EACnG,CAACj8D,CAAa,EAAIgP,EAAc,IAAMlP,GAAiB1U,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EACpF,CAACuxI,CAAc,EAAI3tH,EAAc,IAAMtO,GAAkBtV,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAE5FwgB,YAAU,IAAM,CACCyrJ,KAAuBp7F,CAAM,CAAC,GAC5C,CAACA,EAAQ4xF,CAAY,CAAC,EAEzBjiJ,YAAU,IAAM,OACR+wH,GAAkB,CAACgxB,EAAU3sJ,iBACd4sJ,EAAA,CAAE5sJ,iBAAiB27H,IAAetjI,KAAY9R,KAAEs2D,SAAS,IAAtC8+E,cAAyC5xI,GAAI,GAEpF,CAAC4xI,EAAgBgxB,EAAU3sJ,gBAAiB4sJ,CAAc,CAAC,EAE9D,MAAMhpI,EAAoBA,IAAM,CAC5BjzB,EAAe+lK,CAAY,GAEzBpiD,EAAkB,SAAY,CAC5B,IAACr5C,GAAU,CAAC+zF,EACZ,MAAM12J,MAAM,6CAA6C,EAG7Dm6B,EAAU,EAAI,EAEV,IACIwoC,EACMjB,SAAsBiB,EAAOlxE,GAAI4iK,CAAS,EACzCqC,GACDl1F,SAAqBk1F,EAAerC,CAAS,CACvD,QACM,CACNl6H,EAAU,EAAK,CACnB,CACA9hC,EAAe8lK,CAAU,GAK7B,cACK9jI,GAAc,CAACC,SAAU0hF,EAAiB9hH,UAAW0pB,GAAMy6I,SAASljK,UACjEowB,OAAA,MAAIrxB,UAAU,cAAaiB,UACvBooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EAClB,EACJ8xB,MAAA,MAAApoB,eACKxB,GAAe,CACZM,SAAQ,GACRD,YAAa4kB,EAAAwW,QAAM,EACnBxqC,KAAK,OACLsP,UAAU,eACVxP,MAAO2pK,EAAUxwJ,KACjB3I,YAAiBo5J,EAAe,CAAEzwJ,KAAM9M,EAAEgf,OAAOrrB,MAAO,EAC3D,EACD,EAEJ64B,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,cAAyB,EACzB,EACJ8xB,MAAA,MAAApoB,eACKJ,GAAkB,CACfb,UAAU,eACVF,YAAa4kB,EAAAwW,eAAa,EAC1B1qC,MAAO2pK,EAAUjlI,YACjBl0B,YAAiBo5J,EAAe,CAAEllI,YAAar4B,EAAEgf,OAAOrrB,MAAO,EAClE,EACD,EAEC64B,EAAA,mBAEL,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,UAAqB,EACrB,EACJ85B,OAAA,MAAApwB,SAAA,CACIooB,MAAC+4C,GAAW,CACR5jE,QAAS27J,EAAU2J,cACnB9iK,YAAiBo5J,EAAe,CAAE0J,cAAejnK,EAAEgf,OAAOrd,QAAS,EAAEyC,eACrEgwB,EAAA,CAAA15B,GAAA,kBAA6B,CACpB,GACZ4iK,EAAU2J,qBACP,OAAK9jK,UAAW0pB,GAAM06I,cAAcnjK,gBAChC,OAAKjB,UAAU,2BAA0BiB,UACrCowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EACnB8xB,MAAC5pB,GAAe,CACZO,UAAU,eACVxP,MAAO2pK,EAAU5vG,OAAS,GAC1BvpD,YAAiBo5J,EAAe,CAAE7vG,MAAO9rD,GAAiB5B,EAAEgf,OAAOrrB,KAAK,EAAG,EAC3EuP,SAAQ,GACX,CAAC,EACC,EAEPsxB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EACjB4xI,GACG9/G,MAACtoB,GAAgB,CACbf,UAAU,eACVxP,MAAO2pK,EAAU3sJ,iBAAmB,GACpCxM,YACIo5J,EAAe,CAAE5sJ,gBAAiB/O,GAAiB5B,EAAEgf,OAAOrrB,KAAK,EAAG,EACvEyQ,SACAkoI,EAAer1I,IAAKC,SACjB,UAAmBvD,MAAOuD,EAAEwD,GAAG0J,SAC1BlN,EAAE4V,MADM5V,EAAEwD,EAEP,CACX,EACa,CACrB,EACE,EAEP85B,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,mBAA8B,EAC7BiV,GACG6kB,OAACtwB,GAAgB,CACbf,UAAU,eACVxP,MAAO2pK,EAAU/a,gBAAkB,GACnCp+I,YACIo5J,EAAe,CAAEhb,eAAgB3gJ,GAAiB5B,EAAEgf,OAAOrrB,KAAK,EAAG,EACtEyQ,UACDooB,MAAA,UAAApoB,SAASyjB,EAAAwW,EAAM,QAAU,EACxB1uB,EAAc1Y,IAAKC,SAChB,UAAmBvD,MAAOuD,EAAEwD,GAAG0J,SAC1BlN,EAAE4V,MADM5V,EAAEwD,EAEP,CACX,CAAC,EACY,CACrB,EACE,CAAC,EACP,EAWJ,CACR,EACD,EAEC8xB,EAAA,mBAEL,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,SAAoB,EACpB,EACJ8xB,MAAA,MAAApoB,eACKoiK,GAAkC,CAC/BD,kBAA4BhJ,EAAe,CAAE/+G,SAAgB,EAC7DA,OAAQ8+G,EAAU9+G,OACrB,EACD,CAAC,EACL,EAEJhyB,MAAC4N,GAAS,CAAAh2B,SACLg2B,UAAUL,MAAK,CAAA31B,SAAA,CACZooB,MAAC4F,EAAM,CAACrT,QAASwV,EAAmBnG,MAAM,WAAWiD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,YAAYjO,QAASgjB,EAAO/+B,eACpDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACI,EACV,CAAC,EACA,CAExB,6FCzOMmoB,GAAYA,CAAC,CAACze,UAAiC,IAAMA,EAE9CojK,GAAepF,GAAgBv/I,EAAS,EACxCw/I,GAAeC,GAAkBz/I,EAAS,EAC1C4kJ,GAAaC,GAAe7kJ,EAAS,ECMlD,SAAS8kJ,GAAmB,CAAEztK,OAAMiK,WAAU0/D,UAAkC,EAAG,CAC/E,MAAM8+F,EAAYA,CAAC,CAAEC,WAAUC,cAAe,CAC1C,MAAM73H,EAAW83H,GAAU5oK,EAAM0oK,EAAUC,CAAQ,EACnDvhK,EAAe6C,EAAU6mC,CAAQ,GAGrC,aACKq3H,GAAY,CAACM,YAAsBO,KAAK,IAAI0E,SAAS,IAAI7E,YAAal2I,GAAMm2I,OAAQ6E,qBAAoB,GAAAzjK,eACrG,MAAIjB,UAAW0pB,GAAMkd,KAAK3lC,SACrBlK,EAAKjD,IAAI,CAAC8rD,EAAGtuD,UACT+yK,GAAY,CAAS79I,MAAOl1B,EAAE2P,eAC3B,MAAIjB,UAAW0pB,GAAMh4B,KAAKuP,SAAEy/D,EAAS9gB,CAAC,EAAM,CAAC,EAD9BtuD,CAEL,CACjB,EACD,EACM,CAEtB,kJCTMqzK,GAAgFA,CAAC,CACnFp9F,2BACA72C,OACAjL,UACAkL,UACJ,IAAM,CACF,KAAM,CAAC7M,EAAS8gJ,CAAU,EAAInsJ,WAAqC,IAAI,EACjE,CAAC46D,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EAExCq0B,EAAa,SAAY,CACvBwgC,MAAc,MAAMovF,GAA0Bn1F,CAAwB,EAC1Eq9F,EAAWt3F,EAAYxpD,OAAO,GAG5B29B,EAAcA,IAAM,CACtBtjD,EAAesnB,CAAO,GAGpB85B,EAAe,SAAY,CAC7B,GAAKz7B,EAILwvD,GAAY,EAAI,EAEZ,IACA,MAAM3L,GACFJ,EACAzjD,EAAQhwB,IAAWC,KAAEwD,EAAE,CAC3B,EACA4G,EAAewyB,CAAQ,EACvBxyB,EAAesnB,CAAO,SAChB,CACN6tD,EAAY,EAAK,CACrB,IAGEuxF,EAA4Cp8F,UAE1C,OAAKzoE,UAAW0pB,GAAMh4B,KAAKuP,UACvBooB,MAAA,OAAKrpB,UAAW0pB,GAAM4oB,UAAUrxC,eAC3Bu4B,GAAS,CACNmlI,UAAW,GACXllI,IAAKgvC,EAAOptB,OAAOlqD,OAAS,EAAIi3E,GAAmCK,EAAOptB,OAAO,CAAC,EAAE9jD,EAAE,EAAI,KAC7F,EACA,EAEL85B,OAAA,OAAKrxB,UAAW0pB,GAAMqb,KAAK9jC,UACvBooB,MAAA,UAAApoB,SAASwnE,EAAO9+D,KAAa,EAC7B0f,MAAA,OAAKrpB,UAAW0pB,GAAMwL,YAAYj0B,SAAEwnE,EAAOvzC,YAAiB,CAAC,EAC5D,EAEL7D,OAAA,OAAKrxB,UAAW0pB,GAAMrwB,KAAK4H,UACvBooB,MAAA,OAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EACjB,EACL8xB,MAAC4sB,GAAI,CAAC58C,KAAMovE,EAAOpvE,KAAMsH,MAAO,EAAG4B,KAAK,QAAS,CAAC,EACjD,CAAC,EACL,EAMb,cACK6iB,EAAK,CAAC7iB,KAAK,KAAKkjB,QAASg8B,EAAa/oD,OAAQg4B,EAAMlL,OAAQsnB,EAAW7rC,SAAA,CACpEooB,MAACkB,GAAW,CAAAtpB,eACRgwB,EAAA,CAAA15B,GAAA,iBAA4B,EACnB,EACb8xB,MAACoB,EAAS,CAAAxpB,SACL6iB,GAAWuF,MAACm7I,GAAe,CAACztK,KAAM+sB,EAAS9iB,SAAU4jK,EAAYlkG,SAAUmkG,EAAa,EAClF,EACXxzI,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAAS6lC,EAAavzB,SAAUmlD,EAASpyE,eAC9DgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAAUz3D,QAAS2jC,EAAat+C,eAC3EgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACA,CAAC,EACX,CAEf,EC7EA,SAASqiK,GAAaloK,EAA0C,CAC5D,OAAKA,EAUE,CACHiY,KAAMjY,EAAKiY,KACXurB,YAAaxjC,EAAKwjC,YAClBrR,eAAgBnyB,EAAKmyB,eACrBihJ,iBAAkBpzK,EAAKozK,iBACvBC,WAAYrzK,EAAKqzK,YAdV,CACHp7J,KAAM,GACNurB,YAAa,GACbrR,eAAgB,GAChBihJ,iBAAkB,GAClBC,WAAY,GAWxB,CAEA,MAAMC,GAAoFA,CAAC,CACvFxzE,QACA9gE,OACAjL,UACAqnC,QACJ,IAAM,CACI,MAACqtG,EAAWC,EAAgBC,CAAY,EAAI9/I,GAAyBq/I,GAAapoE,CAAK,CAAC,EACxF55F,EAAYonB,KACZ,CAACq0D,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EAExCw7D,EAAQA,IAAM,CACH2lF,KAAapoE,CAAK,CAAC,GAG9BjyC,EAAe,SAAY,CAC7B,GAAK3nD,EAIL07E,GAAY,EAAI,EACZ,IACIke,EACM+qE,SAA6B/qE,EAAMj6F,GAAI,CACzC,GAAG4iK,EACHviK,UAAW45F,EAAM55F,UACpB,EAED,MAAM0kK,GAA0B,CAC5B,GAAGnC,EACHviK,YACH,EAGEk1D,IACCrnC,UACH5oB,GACCA,eACA,CACNy2E,EAAY,EAAK,CACrB,IAGJ,cACKluD,EAAK,CAAC7iB,KAAK,KAAK7J,OAAQg4B,EAAMlL,OAAQyuD,EAAMhzE,SAAA,CACzCooB,MAACkB,GAAW,CAAAtpB,SAAEuwF,EAAQnoE,MAAA4H,EAAA,CAAA15B,GAAA,mBAA8B,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,2BAAsC,EAAe,EAC7G85B,OAAC8O,GAAc,CAACngC,UAAU,iBAAiBogC,SAAUmf,EAAat+C,UAC9DowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAElB8xB,MAAC5pB,GAAe,CACZI,UAAW6kB,EAAAwW,QAAM,EACjBn7B,SAAQ,GACRC,UAAU,eACVF,YAAa4kB,EAAAwW,cAAY,EACzB1qC,MAAO2pK,EAAUxwJ,KACjB3I,YAAiBo5J,EAAe,CAAEzwJ,KAAM9M,EAAEgf,OAAOrrB,MAAO,EAC3D,CAAC,EACC,EAEP6gC,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,cAAyB,EAEzB8xB,MAACxoB,GAAkB,CACfhB,UAAW6kB,EAAAwW,eAAa,EACxBn7B,SAAQ,GACRC,UAAU,eACVF,YAAa4kB,EAAAwW,eAAa,EAC1B1qC,MAAO2pK,EAAUjlI,YACjBl0B,YAAiBo5J,EAAe,CAAEllI,YAAar4B,EAAEgf,OAAOrrB,MAAO,EAClE,CAAC,EACC,EACP64B,MAACkX,GAAQ,CACL/hC,QAAS27J,EAAUt2I,eACnB7iB,YAAiBo5J,EAAe,CAAEv2I,eAAgBhnB,EAAEgf,OAAOrd,QAAS,EAAEyC,eACtEgwB,EAAA,CAAA15B,GAAA,8BAAyC,EACnC,EAEV8xB,MAACkX,GAAQ,CACL/hC,QAAS27J,EAAU2K,iBACnB9jK,YAAiBo5J,EAAe,CAAE0K,iBAAkBjoK,EAAEgf,OAAOrd,QAAS,EAAEyC,eACxEgwB,EAAA,CAAA15B,GAAA,4BAAuC,EACjC,EAEV8xB,MAACkX,GAAQ,CACL/hC,QAAS27J,EAAU4K,WACnB/jK,YAAiBo5J,EAAe,CAAE2K,WAAYloK,EAAEgf,OAAOrd,QAAS,EAAEyC,eAClEgwB,EAAA,CAAA15B,GAAA,4CAAuD,EACjD,EAETspC,UAAmB,UACnBnW,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAACf,SAAUmlD,EAAUpoD,MAAM,WAAWrP,QAAS6J,EAAQxkB,eAC1DgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACv+B,KAAK,SAASssB,QAASq2D,EAAUpoD,MAAM,UAAShqB,eACpDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACA,CAAC,EACF,CAAC,EACd,CAEf,gYCtHM0tK,GAAeA,CAAC,CAAEzzE,OAAyB,WAEzC,OAAKxxF,UAAW0pB,GAAMoK,aAAa7yB,UAC/BowB,OAAA,OAAKrxB,UAAU,OAAMiB,SAAA,CACjBooB,MAACmV,GAAW,CAACf,SAAU,GAAIj3B,UAAWgrF,EAAMxlC,oBAAqBhsD,UAAW0pB,GAAMuiC,YAAc,EAChG56B,OAAA,OAAApwB,UACIooB,MAAA,SAAApoB,eACK08C,GAAmB,CAACntD,MAAOghG,EAAM1zB,eAAiB,EAChD,EACPzsC,OAAA,OAAApwB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAM/f,KAAK1I,SAAEuwF,EAAMykB,UAAe,EAClD5sF,MAAA,OAAKrpB,UAAW0pB,GAAMwL,YAAYj0B,SAAEuwF,EAAMt8D,YAAiB,CAAC,EAC3D,CAAC,EACL,CAAC,EACL,EACL7L,MAAC4sB,GAAI,CAAC1zC,KAAK,QAAQlJ,KAAMm4F,EAAMn4F,KAAO,CAAC,EACtC,EAYP6rK,GAAkCA,CAAC,CACrCz9F,WACAuwE,eACAtnH,OACAjL,UACAqnC,QACkC,IAAM,CACxC,MAAMl1D,EAAY0kB,EAAazlB,GAAkBA,EAAMD,OAAOT,cAAeoB,EAAE,EACzE,CAAC87E,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EACxC,CAAC0jJ,EAAYkB,CAAa,EAAI5kJ,WAA4C,IAAI,EAC9E,CAAC0sJ,EAAqBC,CAAsB,EAAI3sJ,WAAwB,IAAI,EAC5E,CAACplB,EAASwkI,CAAU,EAAIp/G,WAAqC,IAAI,EACjE,CAAC4sJ,EAAqBC,CAAsB,EAAI7sJ,WAAmB,CAAE,GAErE+M,EAAS,SAAY,CACvB4/I,EAAuB,IAAI,EAC3B/H,EAAc,MAAMhoC,GAAiC,KAAMz9H,CAAU,CAAC,EAC/CogJ,oBAAcutB,wBAAwBhuK,KAAM,IAAI,EAChDygJ,oBAAct+I,MAAM5F,IAAKC,GAAMA,EAAEyxK,iCAAkC,EAAE,GAG1FnE,EAAoBA,CAAC3vK,EAAyB8M,IAAqB,CACrE8mK,KAAsCl9H,GAAYu8D,EAAWjzG,EAAK85D,gBAAiBhtD,CAAO,CAAC,GAG/F4Z,YAAU,IAAM,CACZ,eAAeygB,GAAO,CAEHg/F,EADXstC,EACW,MAAM3vC,GAA4B2vC,CAAmB,EAErD,IAFsD,CAIzE,CACKtsI,GAAA,EACN,CAACssI,CAAmB,CAAC,EAExB,MAAM5lH,EAAe,SAAY,CAC7B,GAAK4lH,EAIL7xF,GAAY,EAAI,EACZ,IACA,MAAMvL,GAAeN,EAAU09F,EAAqBE,EAAqB,IAAI,EACtEv4G,IACCrnC,UACH5oB,GACCA,eACA,CACNy2E,EAAY,EAAK,CACrB,IAGE7rE,EAAgBmb,UAAQ,IACrBu5I,EAIEA,EAAWroK,IAAYC,IAAA,CAC1B4+B,YAAQsyI,GAAY,CAACzzE,MAAOz9F,EAAI,EAChCvD,MAAOuD,EAAEi0E,WACX,IANS,KAOZ,CAACm0F,CAAU,CAAC,EAETsJ,EAAgBA,IACdN,GAAuB,CAAC9xK,EACjBg2B,MAAC+a,EAAgB,EAAE,EAGzB/wC,QAKD81B,WAAA,CAAAloB,SACK5N,iBAASS,IAAK+kK,SACVhlC,GAAwB,CAErBniI,KAAMmnK,EACNr6J,QAAS6mK,EAAoBtgK,SAAS8zJ,EAAIrtG,eAAe,EACzDumE,cAAeA,CAACrgI,EAAM8M,IAAY6iK,EAAkBxI,EAAKr6J,CAAO,GAH3Dq6J,EAAIrtG,eAIZ,EACJ,CACH,EAbK,KAiBTsU,EAAgBA,IACbr4D,SAKD0hB,WAAA,CAAAloB,UACIooB,MAAA,OAAApoB,eACK40C,GAAM,CACHH,aAAcA,CAACZ,EAAQ+9D,IACDspD,EAAYt2J,KAAM9R,GAAMA,EAAEi0E,cAAgB,CAAClzB,EAAOtkD,KAAK,EACxDylH,UAAUv+E,cAAc3yB,SAAS8tG,EAAWn7E,aAAa,EAE9E6pC,aAAY,GACZ9rB,WAAY,CAAC,CAACuiG,EACdh4I,UAAW0pB,GAAMg8I,cACjB1kK,SAAWjN,GAAWqxK,EAAuBrxK,EAAEvD,KAAK,EACpDA,MAAOiX,EAAc5B,KAAY9R,KAAEvD,QAAU20K,CAAmB,EAChE9xK,QAASoU,EACZ,EACA,EAEJg+J,GAAe,EAClB,EArBKp8I,MAAC+a,EAAgB,EAAE,EAyBlC,cACKhf,EAAK,CAAC7iB,KAAK,KAAK7J,OAAQg4B,EAAMlL,SAAevkB,SAAA,CAC1CooB,MAACkB,GAAW,CAAAtpB,SAAE+2I,EAAe3uH,MAAA4H,EAAA,CAAA15B,GAAA,kBAA6B,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,uBAAkC,EAAe,EAC/G85B,OAAC8O,GAAc,CAACngC,UAAU,iBAAiBogC,SAAUmf,EAAat+C,SAAA,CAC9DooB,MAACoB,GAAS,CAAAxpB,SAAE6+D,EAAc,EAAa,EAEvCzuC,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAACf,SAAUmlD,EAAUpoD,MAAM,WAAWrP,QAAS6J,EAAQxkB,eAC1DgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACv+B,KAAK,SAASssB,QAASq2D,EAAUpoD,MAAM,UAAShqB,eACpDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACA,CAAC,EACF,CAAC,EACd,CAEf,EC/JMouK,GAA+BA,CAAC,CAAEl+F,WAAUuwE,eAAch3I,UAAS,IAAM,CAC3E,KAAM,CAACg6E,EAAWC,CAAY,EAAIxiE,WAAS,EAAK,EAC1C,CAACmtJ,EAAWC,CAAY,EAAIptJ,WAAS,EAAK,EAC1CqtJ,EAAqBljJ,UAAQ,IACxBo1H,EAAat+I,MACrB,CAACs+I,EAAat+I,MAAOksK,CAAS,CAAC,EAE5BlkH,EAA+ChwD,GAC1CA,EAAKivK,eAAetlH,OAAOlqD,OAAS,EACrC02D,GAAyCn2D,EAAKivK,eAAetlH,OAAO,CAAC,EAAE9jD,EAAE,EACzE,KAGJwuK,EAA6B,MAAOr0K,GAAgC,CACtE,MAAM62E,GAAqBd,EAAUuwE,EAAautB,wBAAwBhuK,GAAI7F,EAAK8zK,6BAA6B,EAChH9zK,EAAK24D,UAAY,GACjB2tF,EAAat+I,MACRE,OAAeosK,KAAGR,gCAAkC9zK,EAAK8zK,6BAA6B,EACtF/zK,QAASC,GAAUA,EAAK24D,UAAY,EAAM,EAC/Cw7G,EAAa,CAACD,CAAS,EACbthI,gBAAQrT,EAAA,CAAA15B,GAAA,wBAAoC,EAAC,GAG3D,aACI4xB,WAAA,CAAAloB,gBACI,MAAAA,UACIooB,MAAA,MAAApoB,eACK08C,GAAmB,CAACntD,MAAOwnJ,EAAautB,wBAAwBznG,eAAiB,EAClF,EACJz0C,MAAA,MAAApoB,SAAK+2I,EAAautB,wBAAwB57J,KAAS,EACnD0f,MAAA,MAAApoB,eACKg1C,GAAI,CAAC58C,KAAM2+I,EAAautB,wBAAwBlsK,KAAO,EACxD,EACJgwB,MAAA,MAAApoB,SACK+2I,EAAat+I,MAAM5F,IAAKpC,UACrB,OAA8CsO,UAAW0pB,GAAMu8I,YAAYhlK,SAAA,CACvEooB,MAACmU,GAAU,CAACnpC,IAAKqtD,EAAYhwD,CAAI,EAAGosC,MAAM,SAASC,IAAI,UAAW,EAClE1U,MAAA,QAAApoB,SAAOvP,EAAKivK,eAAeh3J,KAAW,CAAC,GAFjCjY,EAAK8zK,6BAGV,CACR,EACD,EACJn8I,MAAA,MAAApoB,SACK6kK,EAAmBhyK,IAAKpC,SACrB,OAAKsO,UAAW0pB,GAAMw8I,YAAYjlK,eAC7BgpC,GAAK,CACF/b,SAAUx8B,EAAK24D,UACfrpD,SAAUA,IAAM+kK,EAA2Br0K,CAAI,EAC/C8M,QAAS9M,EAAK24D,UAAkB,GAJA34D,EAAK8zK,6BAMxC,CACR,EACD,EACIn8I,EAAA,oBACR,MAAApoB,SAAA,CACIooB,MAAC6pB,GAAgB,CAAAjyC,eACZ2yB,GAAkB,CAAChY,QAAgBq/D,KAAa,EAAI,EAAG7wD,KAAMilC,GAAOpuD,eACjEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACF,EACN,EAElB8xB,MAAC67I,GAA+B,CAC5Bz9F,WACAuwE,eACAvyH,QAASA,IAAMw1D,EAAa,EAAK,EACjCnuB,OAAQA,IAAM9rD,EAAS,EACvB0vB,KAAMsqD,EACT,CAAC,EACF,CAAC,EACL,EAaN,CAEV,EAEMmrF,GAA4EA,CAAC,CAAE19F,SAAQznE,UAAS,IAAM,CACxG,KAAM,CAAColK,EAAUC,CAAW,EAAI5tJ,WAAS,EAAK,EAC9C,cACI0Q,WAAA,CAAAloB,UACIowB,OAAA,SAAOrxB,UAAWY,EAAW8oB,GAAM48I,aAAc,eAAe,EAAErlK,UAC9DooB,MAAA,SAAApoB,gBACI,MAAAA,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,WAAsB,EACtB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,SAAoB,EACpB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EAClB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,aAAwB,EACxB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,UAAqB,CACrB,GAEJ8xB,MAAA,OAAQ,CAAC,EACT,EACD,EACPA,MAAA,SAAApoB,SACKwnE,EAAOuvE,aAAalkJ,IAAK09F,SACrBm0E,GAAQ,CAELl+F,SAAUgB,EAAOlxE,GACjBygJ,aAAcxmD,EACdxwF,YAHKwwF,EAAM+zE,wBAAwBhuK,EAItC,CACJ,EACE,CAAC,EACL,EAEP8xB,MAAC4N,GAAS,CAAAh2B,SACLg2B,SAAUL,MAAK,CAAA31B,eACXguB,EAAM,CAAChE,MAAM,WAAWb,KAAMk6E,GAAQ1oF,QAAgByqJ,KAAY,EAAI,EAAEplK,eACrEgwB,EAAA,CAAA15B,GAAA,WAAsB,EAClB,EACK,EACV,EAEX8xB,MAAC67I,GAA+B,CAC5Bz9F,SAAUgB,EAAOlxE,GACjBkuB,QAASA,IAAM4gJ,EAAY,EAAK,EAChCv5G,OAAQA,IAAM9rD,EAAS,EACvB0vB,KAAM01I,EACT,CAAC,EACJ,CAEV,ECtJMG,GAA4EA,CAAC,CAAE99F,SAAQ+9F,gBAAe,IAAM,CAC9G,KAAM,CAAC/tK,EAAaguK,CAAc,EAAIhuJ,WAA6B,MAAM,EAEnEiuJ,EAAqB,SAAY,CAC7Br+F,SAAcI,EAAOlxE,EAAE,EACdivK,GAAA,EAGbG,EAAuB,SAAY,CAC/Br+F,SAAgBG,EAAOlxE,EAAE,EAChBivK,GAAA,EAGnB,cACKl8F,GAAI,CACDC,YAAa9xE,EACb+xE,WAA2Ci8F,KAAehsE,CAAK,EAC/DjqD,WAAW,QACXjuC,KAAK,QAAOtB,SAAA,CACZowB,OAAC44C,GAAG,CAAC1yE,GAAG,OAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,cAAyB,EAAE0J,UAC5CowB,OAAA,MAAIrxB,UAAU,cAAaiB,UACvBooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EAClB,EACJ8xB,MAAA,MAAApoB,SAAKwnE,EAAO9+D,KAAS,EAErB0f,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,cAAyB,EACzB,EACJ8xB,MAAA,MAAApoB,SACKwnE,EAAOvzC,aACJ7L,MAAA,QAAMrpB,UAAU,eAAciB,eAC1BgwB,EAAA,CAAA15B,GAAA,iBAA4B,EAC1B,EAEV,EAEJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,SAAoB,EACpB,EACJ8xB,MAAA,MAAApoB,eACKoiK,GAAkC,CAAChoH,OAAQotB,EAAOptB,OAAS,EAC5D,CAAC,EACL,EAEJhyB,MAAC+2F,GAAuB,CAACxmF,UAAU,kBAAiB34B,eAC/Cg2B,GAAS,CAAAh2B,SACLg2B,UAAUL,MAAK,CAAA31B,SAAA,CACXwnE,EAAOjxC,SAAW/yB,GAAwBiqF,eACtCz/D,EAAM,CAACrT,QAAS8qJ,EAAoBz7I,MAAM,UAAUb,KAAM0mD,GAAc7vE,eACrEgwB,EAAA,CAAA15B,GAAA,UAAqB,EACjB,EAGXkxE,EAAOjxC,SAAW/yB,GAAwBmiK,iBACtC33I,EAAM,CAACrT,QAAS+qJ,EAAsB17I,MAAM,WAAWb,KAAM+uF,GAAcl4G,eACxEgwB,EAAA,CAAA15B,GAAA,YAAuB,EACnB,CACX,EASY,EACV,EACU,CAAC,EACzB,EAEL8xB,MAAC4gD,GAAG,CAAC1yE,GAAG,UAAUoS,WAAMsnB,EAAA,CAAA15B,GAAA,UAAqB,EAAE0J,eAC1CklK,GAA4B,CAAC19F,SAAgBznE,SAAUwlK,EAAiB,EACxE,CAAC,EACJ,CAEd,ECxEMK,GAA8DA,CAAC,CAAEp+F,SAAQ+9F,gBAAe,IAAM,CAChG,KAAM,CAACzzG,EAAYC,CAAa,EAAIv6C,WAAS,EAAK,EAC5C,CAACquJ,EAAcC,CAAe,EAAItuJ,WAAS,EAAK,EAChD,CAACuuJ,EAAoBC,CAAqB,EAAIxuJ,WAAS,EAAK,EAE5DuwG,EAAoB,SAAY,CAC5BthD,SAAwBe,EAAOlxE,EAAE,EACxBivK,GAAA,EAGnB,OAAIM,QAEKz5H,GAAU,CAAApsC,eACN+iK,GAAyB,CACtBv7F,SACAw7F,WAAYA,IAAM,CACCuC,IACfO,EAAgB,EAAK,CACzB,EACA7C,aAAcA,IAAM6C,EAAgB,EAAK,EAC5C,EACO,SAKf12H,GAAc,CACX3/C,KAAK,kBACL4/C,SAAUyiB,EACVxlB,KAAI,GACJgD,wBAAoBg2H,GAA4B,CAACC,iBAAgC/9F,SAAiB,EAAExnE,SAAA,CACpGowB,OAACsiB,GAAO,CAAA1yC,UACJowB,OAAA,OAAKrxB,UAAW0pB,GAAM4iD,WAAWrrE,UAC7BooB,MAAA,OAAKrpB,UAAW0pB,GAAM6gE,aAAatpF,eAC9Bu4B,GAAS,CACNmlI,UAAW,GACXllI,IAAKgvC,EAAOptB,OAAOlqD,OAAS,EAAIi3E,GAAmCK,EAAOptB,OAAO,CAAC,EAAE9jD,EAAE,EAAI,KAC7F,EACA,EACL85B,OAAA,OAAKrxB,UAAW0pB,GAAM8iD,aAAavrE,UAC/BowB,OAAA,OAAKrxB,UAAW0pB,GAAMqb,KAAK9jC,SAAA,CACvBooB,MAACmpB,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,OAAkB,EAAE0J,SAAEwnE,EAAO9+D,IAAkB,GACpE8+D,EAAOq7F,qBACHtxH,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,QAAmB,EAAG6lC,MAAM,QAAQvG,MAAK,GAAA51B,eAC1D8lD,GAAsB,CAACv2D,MAAOi4E,EAAOle,MAAQ,EACrC,EAEjBl5B,OAACmhB,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,UAAqB,EAAG6lC,MAAM,QAAQvG,MAAK,GAAA51B,SAAA,CAC7DooB,MAACq7B,GAAW,CAACl0D,MAAOi4E,EAAOmzD,UAAa,GAAE,IACzCnzD,EAAOy+F,4BACJj2I,EAAA,CAAA15B,GAAA,kBAAAE,OAAA,CAAA4uC,EACoBoiC,EAAOy+F,oBAAoB,EAAAhzH,WAAA,CAAA7N,EAA3Chd,MAAmD,UAAC,EACjD,CACV,EACQ,CAAC,EACb,EACLA,MAACmpB,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,cAAyB,EAAE0J,SAAEwnE,EAAOvzC,YAAyB,CAAC,EACnF,CAAC,EACL,EAEL7L,MAACmpB,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,SAAoB,EAAG6lC,MAAM,QAAQvG,MAAK,GAAA51B,eAC3DstF,GAAS,CAACtjE,MAAOw9C,EAAOjxC,SAAW/yB,GAAwBiqF,QAAU,UAAY,UAAUztF,eACvFgwB,EAAK,CAAC15B,GAAI,2BAA2BkxE,EAAOjxC,SAAW,EACjD,EACF,EAEbnO,MAACioB,GAAoB,CAACG,eAAgBuhB,EAAe1iB,SAAUyiB,EAAa,EAE5E1pC,MAAC+2F,GAAuB,CAACxmF,UAAU,kBAAiB34B,gBAC/CsyC,GAAgB,CAAAtyC,SAAA,CACbooB,MAACuK,GAAkB,CACfxJ,KAAMilC,GACNpkC,MAAM,WACN1oB,KAAK,QACLqZ,QAASA,IAAMmrJ,EAAgB,EAAI,EAAE9lK,eACrCgwB,EAAA,CAAA15B,GAAA,aAAwB,EACR,EACpB8xB,MAAC6K,GAAyB,CACtB1C,kBAAaP,EAAA,CAAA15B,GAAA,eAA0B,EACvCk6B,iBAAYR,EAAA,CAAA15B,GAAA,+CAAAE,OAAA,CAAA4uC,EAA+CoiC,EAAO9+D,IAAI,EAAU,EAChFqnB,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvC25B,uBAAkBD,EAAA,CAAA15B,GAAA,SAAoB,EACtCm6B,yBAAyB,SACzBzG,MAAM,WACN1oB,KAAK,QACL6nB,KAAMwiE,GACNr7D,UAAWy3F,EAAkB/nH,eAC7BgwB,EAAA,CAAA15B,GAAA,eAA0B,EACH,EAC3B8xB,MAACuK,GAAkB,CAAChY,QAASA,IAAMqrJ,EAAsB,EAAI,EAAG78I,KAAM2uC,GAAU93D,eAC5EgwB,EAAA,CAAA15B,GAAA,WAAsB,EACN,CAAC,EACP,EACG,CAAC,EACrB,EAGT8xB,MAACk0F,GAAe,CACZ3jH,OAAQ,CACJhC,UAAW6wE,EAAO7wE,UAClBqkH,WAAY,oBACZsQ,UAAW,CAAC9jD,EAAOlxE,EAAE,CACzB,EACAmB,OAAQsuK,EACR3hJ,OAAQA,IAAM4hJ,EAAsB,EAAK,EAC5C,CAAC,EACU,CAExB,ECxFME,GAAwEA,CAAC,CAAE31E,QAAOg1E,gBAAe,IAAM,CACzG,KAAM,CAACzzG,EAAYC,CAAa,EAAIv6C,WAAS,EAAK,EAC5C,CAAC2tJ,EAAUC,CAAW,EAAI5tJ,WAAS,EAAK,EACxC,CAACuiE,EAAWC,CAAY,EAAIxiE,WAAS,EAAK,EAC1C,CAAC2uJ,EAAkBC,CAAmB,EAAI5uJ,WAAS,EAAK,EACxD,CAACuuJ,EAAoBC,CAAqB,EAAIxuJ,WAAS,EAAK,EAE5DuwG,EAAoB,SAAY,CAC5B2zC,SAA6BnrE,EAAMj6F,EAAE,EAC5BivK,GAAA,EAGbE,EAAqB,SAAY,CAC7B9J,SAAmBprE,EAAMj6F,EAAE,EAClBivK,GAAA,EAGbG,EAAuB,SAAY,CAC/B9J,SAAqBrrE,EAAMj6F,EAAE,EACpBivK,GAAA,EAGbc,EAAa91E,EAAM1tE,QAAQjrB,QAAY9E,EAAEyjC,SAAW/yB,GAAwBiqF,OAAO,EACnFwqE,EAAe1nE,EAAM1tE,QAAQjrB,QAAY9E,EAAEyjC,SAAW/yB,GAAwBmiK,SAAS,EAEvF9mG,EAAgBA,WAEd32C,WAAA,CAAAloB,SAAA,CACKuwF,EAAM1tE,QAAQhwB,IAAKs1C,SACfy9H,GAAqB,CAAYL,iBAAgC/9F,OAAQr/B,GAA9CA,EAAE7xC,EAAgD,CACjF,EAEA6uK,SACI/4H,GAAU,CAAApsC,eACN+iK,GAAyB,CACtBxH,cAAehrE,EAAMj6F,GACrB0sK,WAAYA,IAAM,CACCuC,IACfH,EAAY,EAAK,CACrB,EACAnC,aAAcA,IAAMmC,EAAY,EAAK,EACxC,CACO,GAGf,CAACD,SACGnvI,GAAS,CAAAh2B,SACLg2B,SAAUL,MAAK,CAAA31B,eACXguB,EAAM,CACHhE,MAAM,WACNjrB,UAAW0pB,GAAM69I,UACjB3rJ,QAAgByqJ,KAAY,EAAI,EAChCj8I,KAAMk6E,GAAOrjG,eACbgwB,EAAA,CAAA15B,GAAA,YAAuB,EACnB,EACK,EACV,CACd,EACH,EAIJiwK,EAAoBh2E,EAAM1tE,QAAQ3yB,OAClCs2K,EAAwBj2E,EAAM1tE,QAAQlqB,UAAc7F,EAAEyjC,SAAW/yB,GAAwBmiK,SAAS,EAAEz1K,OAE1G,cACKk/C,GAAc,CAACC,SAAUyiB,EAAYxlB,KAAI,GAACgD,kBAAmBuvB,EAAc,EAAE7+D,SAAA,CAC1EowB,OAACsiB,GAAO,CAAA1yC,SAAA,CACJooB,MAACmpB,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,OAAkB,EAAE0J,SAAEuwF,EAAM7nF,KAAkB,EACpE0nB,OAACmhB,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,UAAqB,EAAG6lC,MAAM,QAAQvG,MAAK,GAAA51B,SAAA,CAC7DooB,MAACq7B,GAAW,CAACl0D,MAAOghG,EAAMoqC,UAAc,GAAE,IACzCpqC,EAAM01E,4BACHj2I,EAAA,CAAA15B,GAAA,kBAAAE,OAAA,CAAA4uC,EACoBmrD,EAAM01E,oBAAoB,EAAAhzH,WAAA,CAAA7N,EAA1Chd,MAAkD,UAAC,EAChD,CACV,EACQ,EAEbA,MAACmpB,EAAW,CAACC,cAASxhB,EAAA,CAAA15B,GAAA,SAAoB,EAAG6lC,MAAM,QAAQvG,MAAK,GAAA51B,gBAC5D,OAAKjB,UAAW0pB,GAAM8N,OAAOv2B,SAAA,CACzBooB,MAACumE,GAAa,CACV5vF,UAAW0pB,GAAM8kE,UACjBvjE,MAAOw8I,EAAwBD,EAAoB,UAAY,UAClE,EAEDn+I,MAAA4H,EAAA,CAAA15B,GAAA,wDAAAE,OAAA,CAAAgwK,wBAC0BD,mBAAoB,EACvC,CAAC,EACP,EACI,EACbn+I,MAACioB,GAAoB,CAACG,eAAgBuhB,EAAe1iB,SAAUyiB,EAAa,EAE5E1pC,MAAC+2F,GAAuB,CAACxmF,UAAU,kBAAiB34B,gBAC/CsyC,GAAgB,CAAAtyC,SAAA,CACbooB,MAACuK,GAAkB,CAACxJ,KAAMg8G,GAAUxqH,QAASA,IAAMq/D,EAAa,EAAI,EAAEh6E,eAClEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACF,EACpB8xB,MAACuK,GAAkB,CAACxJ,KAAMs9I,GAAW9rJ,QAASA,IAAMyrJ,EAAoB,EAAI,EAAEpmK,eAC1EgwB,EAAA,CAAA15B,GAAA,iBAA4B,EACZ,EACpB8xB,MAAC6K,GAAyB,CACtB1C,kBAAaP,EAAA,CAAA15B,GAAA,qBAAgC,EAC7Ck6B,iBAAYR,EAAA,CAAA15B,GAAA,qDAAAE,OAAA,CAAA4uC,EAAqDmrD,EAAM7nF,IAAI,EAAU,EACrFqnB,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvC25B,uBAAkBD,EAAA,CAAA15B,GAAA,SAAoB,EACtCm6B,yBAAyB,SACzBtH,KAAMwiE,GACNr7D,UAAWy3F,EAAkB/nH,eAC7BgwB,EAAA,CAAA15B,GAAA,qBAAgC,EACT,EAE3B8xB,MAACuK,GAAkB,CAACxJ,KAAM0mD,GAAel1D,QAAS8qJ,EAAoBx4I,SAAU,CAACo5I,EAAWrmK,eACxFgwB,EAAA,CAAA15B,GAAA,cAAyB,EACT,EAEpB8xB,MAACuK,GAAkB,CAACxJ,KAAM+uF,GAAev9F,QAAS+qJ,EAAsBz4I,SAAU,CAACgrI,EAAaj4J,eAC5FgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACX,EACpB8xB,MAACuK,GAAkB,CAAChY,QAASA,IAAMqrJ,EAAsB,EAAI,EAAG78I,KAAM2uC,GAAU93D,eAC5EgwB,EAAA,CAAA15B,GAAA,WAAsB,EACN,CAAC,EACP,EACG,CAAC,EACrB,EACT8xB,MAACsqB,GAAO,CAAA1yC,gBACJ,OAAKjB,UAAW0pB,GAAMi+I,mBAAmB1mK,UACrCowB,OAAA,OAAKrxB,UAAW0pB,GAAMqyI,kBAAkB96J,SAAA,CACpCooB,MAAA4H,EAAA,CAAA15B,GAAA,sBAAAE,OAAA,CAAA4uC,EAAkBmrD,EAAM8tB,YAAYnuH,MAAM,CAAc,GAC5D,KAAK,EACLk4B,MAACgnE,GAAS,CAAApvF,SACLuwF,EAAM8tB,YAAYxrH,IAAKkoH,SACnBT,GAAsB,CAEnB70G,kBAAmBs1G,EAAGzkH,GACtBikH,QAAQ,UACR/vF,oBAAqB,GAAMxqB,eAC1BwvF,GAAW,CAACluF,KAAK,QAAOtB,SAAE+6G,EAAGryG,KAAkB,GAJ3CqyG,EAAGzkH,EAKY,CAC3B,EACM,CAAC,EACX,EACA,EACT8xB,MAACytB,GAAQ,CAACz9C,KAAMm4F,EAAMn4F,KAAO,EAE7BgwB,MAACu+I,GAA6B,CAC1BrgG,yBAA0BiqB,EAAMj6F,GAChCo5B,SAAU61I,EACV/gJ,QAASA,IAAM4hJ,EAAoB,EAAK,EACxC32I,KAAM02I,EACT,EAED/9I,MAAC27I,GAAgC,CAC7BxzE,QACA1kC,OAAQ05G,EACR91I,KAAMsqD,EACNv1D,QAASA,IAAMw1D,EAAa,EAAK,EACpC,EACD5xD,MAACk0F,GAAe,CACZl4F,OAAQA,IAAM4hJ,EAAsB,EAAK,EACzCvuK,OAAQsuK,EACRptK,OAAQ,CACJhC,UAAW45F,EAAM55F,UACjBqkH,WAAY,yBACZsQ,UAAW,CAAC/6B,EAAMj6F,EAAE,CACxB,EACH,CAAC,EAEU,CAExB,ECpMMswK,GAAgEA,IAAM,CAClE,MAAErwI,UAAWnZ,GAAoD,EAEjE++I,EAAgB5lI,EAEflkC,OAAOC,KAAKkR,EAAuB,EAAEoB,QAC3B9R,EAAE2jC,YAAkBF,MAAOE,aACtC,EAHA,KAKA9/B,EAAYonB,KAEZuvI,EAAgBtsI,KAChB,CAAC6lJ,EAAiBC,CAAkB,EAAItvJ,WAAS,EAAK,EAEtDuvJ,EAAqBA,IAAM,CACVj6F,GAAA,EAGjB,CAACD,GAAgBC,CAAkB,EAAIvyD,EACzC,IAAMihJ,GAAoC7kK,CAAU,EACpD,CAACA,CAAS,EACV,IACJ,EACMqwK,EAAiBn6F,iBAAcl0E,OAAc2uD,GAC3C60G,IAAiB,KAAa,GAC3B70G,EAAE/wB,SAAW4lI,GAGxB,cACIj0I,WAAA,CAAAloB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SAAA,CACNooB,MAAC+M,GAAiB,CACdC,gBAAgB,0BAChBC,YAAa9xB,GACbhU,MAAO4sK,EACP7mI,gBAAyBg4H,EAAc,CAAE/2H,OAAQhnC,iBAAOknC,aAAY,CAAG,EACvEf,cAAa,GAChB,EACDtN,MAAC+2F,GAAuB,CAACxmF,UAAU,kBAAiB34B,SAC/Cg2B,SAAUL,MAAK,CAAA31B,eACXguB,EAAM,CAACrT,QAASA,IAAMmsJ,EAAmB,EAAI,EAAG39I,KAAMk6E,GAAQr5E,MAAM,WAAUhqB,eAC3EgwB,EAAA,CAAA15B,GAAA,qBAAgC,EAC5B,EACK,EACI,CAAC,EACnB,EACX8xB,MAAA,OAAApoB,UACKgnK,iBAAgBn0K,IAAKy0D,SACjB4+G,GAA0B,CAAYX,eAAgBwB,EAAoBx2E,MAAOjpC,GAAjDA,EAAEhxD,EAAmD,KACnF6sC,QAAkB,IACxB,EACL/a,MAAC27I,GAAgC,CAC7Bl4G,OAAQk7G,EACRviJ,QAASA,IAAMsiJ,EAAmB,EAAK,EACvCr3I,KAAMo3I,EACT,CAAC,EACJ,CAEV,+7BC5CaI,GAAgBA,CAAC,CAC1BpzH,SACAqzH,eAAe,GACfC,iBACAC,yBACA/gF,WACAghF,mBACA9pK,UACA+pK,UACAC,UACAt6I,WACAu6I,iBACgB,IAAM,CACtB,MAAMr2C,EAAoB9uG,KACpBkvG,EAAmBzpE,GAAkBqpE,CAAiB,EAEtD5xF,EAAW2nI,EACb9+I,MAAA,OAAKzN,QAAS0rE,EAAUtnF,UAAWY,GAAW8oB,GAAMg/I,UAAWh/I,GAAMi/I,MAAM,EAAI,EAE/Et/I,MAAA,QAAMzN,QAASsS,EAAWu6I,EAAkB7tK,OAAWoF,UAAW0pB,GAAMg/I,UAAUznK,eAC7Es/B,GAAQ,CACLrS,WACAic,eAAgBzgB,GAAMg/I,UACtBt+H,aAAc1gB,GAAM8W,SACpBx/B,SAAUA,IAAMqnK,EAAuB,CAAE10K,KAAMy0K,EAAiB35J,GAAIqmC,EAAO0W,gBAAiB,EAC5FhtD,UACH,EACC,EAEJ9M,EAAOojD,EAAOsS,QACpB,cACI,OACI55B,aAAc+6I,EACd96I,aAAc+6I,EACdxoK,UAAWY,GAAW8oB,GAAM4rE,gBAAiB,CACzC,CAAC5rE,GAAMmM,MAAM,EAAGuyI,IAAmBtzH,EAAO0W,gBAC1C,CAAC9hC,GAAMy+I,YAAY,EAAGA,EACtB,CAACz+I,GAAMk/I,aAAa,EAAGN,IAAqB,QAC5C,CAAC5+I,GAAMm/I,YAAY,EAAGP,IAAqB,OAC9C,EAAErnK,SAAA,CACFqnK,IAAqB,QAAU9nI,SAC/B6M,GAAU,CACPzxB,QAAS0rE,EACTtnF,UAAWY,GAAW8oB,GAAMo/I,UAAW,CACnC,CAACp/I,GAAMmM,MAAM,EAAGuyI,IAAmBtzH,EAAO0W,gBAC1C,CAAC9hC,GAAMq/I,UAAU,EAAG,CAAC,CAACzhF,EACzB,EAAErmF,SACF6zC,GAAOsS,QAAQ/L,OAAO,CAAC,QACnB8G,GAAiB,CACdniD,UAAW0pB,GAAMs/I,iBACjB5mH,sBAAuByF,GACvBvF,eAAc,GACdhB,kBAAmBqG,GACnBtM,OAAQvG,EAAOsS,QAAQ/L,OAC1B,EAEDhyB,MAAA,OAAKrpB,UAAW0pB,GAAMs/I,iBAAmB,EAE7C3/I,MAACkpB,GAAU,CAAAtxC,gBACP,OAAKjB,UAAW0pB,GAAMc,OAAOvpB,SAAA,CACxB6zC,EAAOsS,QAAQz9C,KACfmrC,EAAOuV,kBACJ,QAAMrqD,UAAW0pB,GAAMgpG,QAAQzxH,SAAC,MACrBooB,MAAA4H,EAAA,CAAA15B,GAAA,SAAqB,GAChC,KAAM,CACT,EACA,EACG,EACZ8xB,MAACmpB,EAAW,CAAC3b,MAAK,GAAClL,SAAS,OAAOinB,OAAQ,GAAOH,cAASxhB,EAAA,CAAA15B,GAAA,QAAmB,EAAE0J,eAC3E8lD,GAAsB,CAACv2D,MAAOskD,EAAOs+E,gBAAkB,EAA2B,EAC1E,EACb/pG,MAAC6oC,GAAmB,CAChBlnC,UAAU,OACV9B,cACI,OAAAjoB,gBACI,OAAKjB,UAAW0pB,GAAMivC,QAAQ13D,SAAA,CAC1BowB,OAACggG,GAAuB,CAAC3gG,KAAMh/B,EAAKu3D,SAAW,KAAMxW,cAASxhB,EAAA,CAAA15B,GAAA,QAAmB,EAAE0J,SAAA,CAC9EunD,GAAc92D,EAAKu3D,QAASmpE,CAAiB,EAC7CI,CAAgB,EACI,EAEzBnhG,OAACggG,GAAuB,CAAC3gG,KAAMh/B,EAAK03D,UAAY,KAAM3W,cAASxhB,EAAA,CAAA15B,GAAA,SAAoB,EAAE0J,SAAA,CAChFunD,GAAc92D,EAAK03D,SAAUgpE,CAAiB,EAC9CI,CAAgB,EACI,EAEzBnhG,OAACggG,GAAuB,CAAC3gG,KAAMh/B,EAAK23D,UAAY,KAAM5W,cAASxhB,EAAA,CAAA15B,GAAA,SAAoB,EAAE0J,SAAA,CAChFunD,GAAc92D,EAAK23D,SAAU+oE,CAAiB,EAC9CI,CAAgB,EACI,EAEzBnhG,OAACggG,GAAuB,CAAC3gG,KAAMh/B,EAAKy3D,SAAW,KAAM1W,cAASxhB,EAAA,CAAA15B,GAAA,QAAmB,EAAE0J,SAAA,CAC9EunD,GAAc92D,EAAKy3D,QAASipE,CAAiB,EAC7CI,CAAgB,EACI,CAAC,EACzB,EACJ,EAEZ,CAAC,EACM,EACX81C,IAAqB,SAAW9nI,CAAQ,EACxC,CAEb,EClGM3X,GAAS,CACXogJ,UAAW,IACXC,WAAY,GACZC,SAAU,IACVC,QAAS,IACTC,aAAc,EAClB,EAEMpE,GAAeA,CAAC,CAAEzzE,OAAyB,WAEzC,OAAKxxF,UAAW0pB,GAAMoK,aAAa7yB,UAC/BowB,OAAA,OAAKrxB,UAAU,OAAMiB,SAAA,CACjBooB,MAACmV,GAAW,CAACf,SAAU,GAAIj3B,UAAWgrF,EAAMxlC,oBAAqBhsD,UAAW0pB,GAAMuiC,YAAc,EAChG56B,OAAA,OAAApwB,UACIooB,MAAA,SAAApoB,eACK08C,GAAmB,CAACntD,MAAOghG,EAAM1zB,eAAiB,EAChD,EACPzsC,OAAA,OAAApwB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAM/f,KAAK1I,SAAEuwF,EAAMykB,UAAe,EAClD5sF,MAAA,OAAKrpB,UAAW0pB,GAAMwL,YAAYj0B,SAAEuwF,EAAMt8D,YAAiB,CAAC,EAC3D,CAAC,EACL,CAAC,EACL,EACL7L,MAAC4sB,GAAI,CAAC1zC,KAAK,QAAQlJ,KAAMm4F,EAAMn4F,KAAO,CAAC,EACtC,EAcPiwK,GAAmBA,CAAC,CAAEC,kBAAwC,IAAM,CACtE,MAAM3xK,EAAYmnB,KACZ,CAACpV,EAAM6/J,CAAO,EAAI/wJ,WAAiB,EAAE,EACrC,CAACglD,CAAM,EAAIjiD,EAAc,IAAM65G,GAAiC,KAAMz9H,CAAU,EAAG,CAACA,CAAS,EAAG,CAAE,GAClG,CAAC6xK,EAAcC,CAAe,EAAIjxJ,WAAS,EAAI,EAC/C,CAACkxJ,EAAcC,CAAa,EAAInxJ,WAAS,EAAI,EAC7C,CAACwqF,EAAM4mE,CAAO,EAAIpxJ,WAAgC,IAAI,EACtD,CAAC2vJ,EAAgB0B,CAAiB,EAAIrxJ,WAAwB,IAAI,EAClE,CAACqpH,EAAiBioC,CAAkB,EAAItxJ,WAA2B,CAAE,GACrE,CAAC46D,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EACxC,CAACuxJ,EAAcC,CAAe,EAAIxxJ,WAAS,EAAK,EAChD,CAACyxJ,EAAaC,CAAc,EAAI1xJ,WAAwB,IAAI,EAC5D0H,EAAUC,KACVgqJ,EACF36B,GACIhyE,EACK7jE,UAAc7F,EAAEi0E,eAAgBi7B,iBAAMg2B,kBAAmBllI,EAAEi0E,eAAgBi7B,iBAAM+1B,cAAa,EAC9FllI,IAAKC,GAAMA,EAAEkT,iBAAiB,CACvC,EAAE9V,OAAS,EAETk5K,EAAmBD,EAEnBE,EAAoB1nJ,UAAQ,IACvB66C,EAAO3pE,IAAYC,IAAA,CACtB4+B,YAAQsyI,GAAY,CAACzzE,MAAOz9F,EAAI,EAChCvD,MAAOuD,EAAEi0E,YACTvyB,WAAY1hD,EAAEi0E,eAAgBi7B,iBAAM+1B,cACtC,IACH,CAACv7D,EAAQwlC,CAAI,CAAC,EAEXsnE,EAAkB3nJ,UAAQ,IACrB66C,EAAO3pE,IAAYC,IAAA,CACtB4+B,YAAQsyI,GAAY,CAACzzE,MAAOz9F,EAAI,EAChCvD,MAAOuD,EAAEi0E,YACTvyB,WAAY1hD,EAAEi0E,eAAgBi7B,iBAAMg2B,gBACtC,IACH,CAACx7D,EAAQwlC,CAAI,CAAC,EAEX,CAACunE,CAAW,EAAIhvJ,EAClB,IAAOynF,WAAMg2B,gBAAkBzD,GAA4BvyB,EAAKg2B,eAAe,EAAI37H,QAAQ4Y,QAAQ,IAAI,EACvG,CAAC+sF,iBAAMg2B,eAAe,EACtB,IACJ,EACM,CAACwxC,CAAS,EAAIjvJ,EAChB,IAAOynF,WAAM+1B,cAAgBxD,GAA4BvyB,EAAK+1B,aAAa,EAAI17H,QAAQ4Y,QAAQ,IAAI,EACnG,CAAC+sF,iBAAM+1B,aAAa,EACpB,IACJ,EAEA5gH,YAAU,IAAM,CAYRmxJ,GAXa,SAAY,CACnBmB,SAAM,MAAMnnC,GAAcgmC,CAAiB,EACzCM,EAAA,CACJtyK,GAAImzK,GAAInzK,GACR0hI,gBAAiByxC,GAAIzxC,gBACrBD,cAAe0xC,GAAI1xC,cACtB,EACD+wC,EAAmBW,GAAI5oC,eAAe,EACtC0nC,EAAQkB,GAAI/gK,IAAI,OAMRkgK,EAAA,CACJ5wC,gBAAiB,KACjBD,cAAe,KAClB,EACD+wC,EAAmB,CAAE,GACrBP,EAAQ,EAAE,EACd,EACD,CAACD,CAAgB,CAAC,EAErB,MAAMoB,EAA4CD,GAAA,CAC9C,MAAME,GACDF,OAAI/2K,OAASI,GAAEJ,MAAQ+2K,EAAI/2K,OAASI,GAAE0a,MAAQi8J,EAAIj8J,KAAO1a,GAAE0a,IAAMi8J,EAAIj8J,KAAO1a,GAAEJ,MAE7Ek3K,GAAc/oC,EAAgBj8H,KAAK+kK,EAAY,EAGjDb,EADAc,GACmB/oC,EAAgBloI,OAAQ7F,IAAM,CAAC62K,GAAa72K,EAAC,CAAC,EAE9C,CAAC,GAAG+tI,EAAiB4oC,CAAG,CAFuB,CAGtE,EAGEI,EAAkDt/G,GAAA,CACpDs+G,EAA+BvpK,IACvBA,KAAYirD,EACL,KAGJA,CACV,GAGCy/D,EAAcA,IAAM,CAClB,IAACu/C,GAAe,CAACC,EACV,YAEX,MAAMjgC,EAAwB,GACxBugC,GAAmC,GACnCC,GAA6B,GAEvBv5K,iBAAQ,CAACkC,GAAMs3K,KAAc,CAC3Bx5K,UAAQ,CAACgd,GAAIy8J,KAAY,CAC/B,GAAI1pC,GAAgB7tI,GAAK63D,gBAAiB/8C,GAAG+8C,gBAAiBs2E,CAAe,IAAMkoC,EAAc,CAC7F,MAAM18H,GAAY35C,GAAK63D,kBAAoB48G,GAAkB35J,GAAG+8C,kBAAoB48G,EAC9E+C,GAAQx3K,GAAK63D,kBAAoB0+G,GAAez7J,GAAG+8C,kBAAoB0+G,EAEvEkB,GAAY,IAAIv1F,GAClBhtD,GAAOsgJ,SAAWtgJ,GAAOwgJ,aAAe,EACxC4B,IAAapiJ,GAAOogJ,UAAYpgJ,GAAOqgJ,YAAcrgJ,GAAOogJ,UAAY,CAC5E,EAEMoC,GAAU,IAAIx1F,GAChBhtD,GAAOsgJ,SAAWtgJ,GAAOugJ,QAAUvgJ,GAAOwgJ,aAAe,EACzD6B,IAAWriJ,GAAOogJ,UAAYpgJ,GAAOqgJ,YAAcrgJ,GAAOogJ,UAAY,CAC1E,EAEIQ,MAAgBn8H,IAAa69H,GAAO,CAC9B57F,eACF,QACIvvE,UAAWY,GAAW8oB,GAAM6lD,KAAM,CAC9B,CAAC7lD,GAAMyhJ,KAAK,EAAGA,GACf,CAACzhJ,GAAM4jB,SAAS,EAAGA,GACnB,CAAC5jB,GAAM4V,OAAO,EAAG0qI,EACpB,EAEDsB,GAAIF,GAAUr3K,EACdw3K,GAAIH,GAAUvsK,EACd2sK,GAAIH,GAAQt3K,EACZ03K,GAAIJ,GAAQxsK,GAJP,GAAGlL,GAAK63D,mBAAmB/8C,GAAG+8C,iBAKtC,EAGDle,GACAy9H,GAAiBh4K,KAAKw8E,EAAI,EACnB47F,GACPH,GAAWj4K,KAAKw8E,EAAI,EAEpBi7D,EAAMz3I,KAAKw8E,EAAI,GAG3B,CACH,EACJ,EAEM,CAAC,GAAGi7D,EAAO,GAAGwgC,GAAY,GAAGD,EAAgB,GAGlDW,EAAmBA,CAACr4K,EAAqCs4K,KAA2B,CACtF,GAAI,CAACt4K,GAAWA,EAAQlC,SAAW,EACxB,YAGLy6K,SAAepB,iBAAaj1G,OAAOk1G,GAAa,CAAE,GAAE5kK,KAAM9R,IAAMA,GAAEy3D,kBAAoB48G,GACtFyD,GAAyBx4K,EAAQ2vB,OAAO,CAACC,GAAK4/E,KAC9B2+B,GAAgB4mC,GAAkB,EAAGvlE,GAAKr3C,gBAAiBs2E,CAAe,EAEjF7+G,GAAM,EAEVA,GACR,CAAC,EACJ,OAAO5vB,EAAQS,IAAI,CAACghD,GAAQxjD,KAAM,CAC9B,MAAM43C,GAAYs4F,GAAgB4mC,GAAkB,EAAGtzH,GAAO0W,gBAAiBs2E,CAAe,EAExFgqC,GAAe5iI,IAAa2iI,KAA2B,EAEvDE,IAAqBH,mBAAcvhH,YAAavV,GAAOuV,WAAanhB,GACpE8iI,GAAoBF,GACpBpnJ,EAAAwW,EAAsC,wCACtC6wI,GACArnJ,EAAAwW,EAAyC,2CACzC,GACN,aACI,iBAEInnC,EAAG43K,KAAS,OAAS,EAAI9iJ,GAAOsgJ,SAAWtgJ,GAAOugJ,QAClDvqK,EAAGvN,IAAKu3B,GAAOogJ,UAAYpgJ,GAAOqgJ,YAClC/rI,OAAQtU,GAAOogJ,UACf7rI,MAAOvU,GAAOsgJ,SAASloK,eACtBinK,GAAa,CACVK,QAASA,IAAM4B,EAAer1H,GAAO0W,eAAe,EACpDg9G,QAASA,IAAM2B,EAAe,IAAI,EAClC3rK,QAAS0qC,GACTm/H,uBAAwBsC,EACxBvC,iBACAtzH,UACAwyC,SACIqiF,GAAgBgC,KAAS,QAAU/wK,OAAY,IAAMkwK,EAAmBh2H,GAAO0W,eAAe,EAElG88G,iBAAkBqD,KAAS,OAAS,QAAU,OAC9CxD,aAAc,CAACC,GAAkB,CAAC,EAAC/0K,WAASwS,KAAM9R,IAAMA,GAAEy3D,kBAAoB48G,IAC9El6I,SAAU49I,IAAgBC,GAC1BtD,gBAAiBA,IAAM9jI,EAAUO,MAAM8mI,EAAiB,EAC3D,GAnBIl3H,GAAO0W,eAoBD,EAEtB,GAGCmC,EAAa,SAAY,CAC3B,GAAKs1C,EAIL3vB,GAAY,EAAI,EACZ,IACMp+E,QAAS,MAAMmuI,GAAc,CAC/B9rI,GAAIgyK,EACJ3xK,YACAqhI,gBAAiBh2B,EAAKg2B,gBACtBD,cAAe/1B,EAAK+1B,cACpB8I,kBACAn4H,OACH,EAEG4/J,IAAqBr0K,EAAOqC,IACpBvD,UAAQ,QAAQkB,EAAOqC,IAAI,EAG7B+sC,UAAQ5f,EAAAwW,EAAA,kBAAkB,SAC/Br+B,GACDA,KAAE26B,SAAWJ,GAAek7C,SAClBptC,QAAMxgB,EAAAwW,EAAA,yDAAyD,OAEnEr+B,QACV,QACM,CACNy2E,EAAY,EAAK,CACrB,IAEE24F,EAAyD5qK,GAAA,CAC3DyoK,EAAkB,IAAI,EACtBC,EAAmB,CAAE,GAErBF,EAAuBnvJ,KAAA,CAAE,GAAGA,GAAW,GAAGrZ,CAAU,KAGlD6qK,EAAqBA,CAACp3H,EAAgB+9D,KACtBp1C,EAAQ53D,KAAM9R,IAAMA,GAAEi0E,cAAgB,CAAClzB,EAAOtkD,KAAK,EACpDylH,UAAUv+E,cAAc3yB,SAAS8tG,GAAWn7E,aAAa,EAG9E,OAAKurE,QAKA9iE,GAAc,CAACC,SAAUutB,EAAW1sD,gBACjC,OAAKjB,UAAW0pB,GAAMygC,KAAMnrD,MAAO,CAAE,kBAAmB6pB,GAAOwgJ,aAAe,IAAK,EAASpoK,SAAA,CACxFowB,OAACga,GAAW,CAAApqC,SACRooB,CAACgiB,SAAYK,YAAW,CAACj9B,GAAG,wBAAuBxN,eAC/CgwB,EAAA,CAAA15B,GAAA,eAA0B,EACL,EAExB8zC,SAAYI,KAAI,CAAAxqC,eACb,QAAAA,SAAO0I,GAAQ+a,EAAAwW,EAAoB,sBAAQ,EAC7B,CAAC,EACV,EACb7R,MAAA,OAAApoB,eACKxB,GAAe,CACZ/O,KAAK,OACLsP,UAAU,eACVxP,MAAOmZ,EACP3I,SAAWnE,GAAM2sK,EAAQ3sK,EAAEgf,OAAOrrB,KAAK,EACvCsP,YAAa4kB,EAAAwW,QAAM,EACnBn7B,SAAQ,GACX,EACA,EAELsxB,OAAA,OAAKrxB,UAAW0pB,GAAMyiJ,YAAYlrK,SAAA,CAC9BooB,MAAC+4C,GAAW,CAACphE,SAAWnE,GAAM6sK,EAAgB7sK,EAAEgf,OAAOrd,OAAO,EAAGA,QAASirK,EAAaxoK,SAAC,iBAE3E,EACbooB,MAAC+4C,GAAW,CAACphE,SAAWnE,GAAM+sK,EAAc/sK,EAAEgf,OAAOrd,OAAO,EAAGA,QAASmrK,EAAa1oK,SAAC,cAEzE,CAAC,EAIb,EAELowB,OAAA,OAAKrxB,UAAW0pB,GAAM+zC,OAAOx8D,UACzBooB,MAAA,SAAApoB,eAEK40C,GAAM,CACHH,aAAcw2H,EACdz2H,WAAY,CAAC,CAAC8zH,EACdvpK,UAAW0pB,GAAMg8I,cACjB1kK,YAAsBirK,EAAiB,CAAEhzC,gBAAiBllI,EAAEvD,MAAO,EACnEA,MAAO85K,EAAkBzkK,QAAY9R,EAAEvD,QAAUyyG,EAAKg2B,eAAe,EACrE5lI,QAASi3K,EACZ,EACE,EACPjhJ,MAAA,SAAApoB,eAEK40C,GAAM,CACHH,aAAcw2H,EACdz2H,WAAY,CAAC,CAAC8zH,EACdvpK,UAAW0pB,GAAMg8I,cACjB1kK,YAAsBirK,EAAiB,CAAEjzC,cAAejlI,EAAEvD,MAAO,EACjEA,MAAO+5K,EAAgB1kK,QAAY9R,EAAEvD,QAAUyyG,EAAK+1B,aAAa,EACjE3lI,QAASk3K,EACZ,EACE,CAAC,EACP,EAEJH,GACG/gJ,MAACogB,GAAM,CAAC/4C,KAAK,SAAQuQ,eACjBgwB,EAAA,CAAA15B,GAAA,0CAAqD,CACjD,GAGX,CAAC8yK,UACE,OACIltI,OACI+B,KAAKv/B,KAAI6qK,iBAAar5K,SAAU,GAAGs5K,iBAAWt5K,SAAU,CAAC,GACpD03B,GAAOogJ,UAAYpgJ,GAAOqgJ,YAC/B,KACHjoK,UACAgqH,EACAygD,IAAiBlB,EAAa,MAAM,EACpCkB,EAAiBjB,EAAW,OAAO,CAAC,EACpC,EAGR5pI,UAAmB,SACnBu/E,GAAuB,CAACxmF,UAAW,kBAAkB34B,eACjDg2B,GAAS,CAAAh2B,SACLg2B,SAAUL,MAAK,CAAA31B,eACXguB,GAAM,CACHf,SAAU,CAAC+0E,EAAKg2B,iBAAmB,CAACh2B,EAAK+1B,eAAiBoxC,EAC1DptJ,QAASq2D,EACT3iF,KAAK,SACLu6B,MAAM,UAAShqB,eACfgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACK,EACV,EACU,CAAC,EACzB,EACO,EAjGT8xB,MAAC+a,EAAgB,EAAE,CAmGlC,yHCpZA,SAASo5E,GAAsBhmF,EAA4C,CACvE,OAAQA,EAAM,CACV,KAAKxzB,GAAuBiiF,SACjB,gBACX,KAAKjiF,GAAuB2qF,SACjB,eACX,KAAK3qF,GAAuB0qF,QACjB,gBACX,QACW,YACf,CACJ,CAEA,MAAM09E,GAAwBA,CAAC,CAAEnrK,WAAUlK,OAAMkhB,QAAQ,GAAgC,UAEhF8S,GAAO,CACJ9S,QACAgT,MAAM,QACNS,WAAY,IACZ1a,YAAOigB,EAAA,CAAA15B,GAAA,sBAAAE,OAAA,CAAA4uC,EAAwBtvC,EAAKk/G,SAAS,EAAQ,EACrD/sF,cACKmnE,GAAS,CAAApvF,SACLlK,EAAK+gJ,iBAAiBhkJ,IAAKkoH,SACvBvrB,GAAW,CAERxlE,MAAOuyF,GAAsBxB,EAAGi7C,sBAAsB,EACtD10J,KAAK,QACLvC,UAAWg8G,EAAGggD,aAAe,GAAKtyI,GAAMuyI,cAAch7J,SACrD+6G,EAAGryG,MAJCqyG,EAAGzkH,EAKC,CAChB,EACM,EACd0J,WAEI,EC5BXorK,GAAiDnxI,GAAA,CACnD,MAAMtjC,EAAYmnB,KACZ,CAAC23F,EAAS41D,EAAW,EAAI9wJ,EAAc,IAAM8nH,GAAmB,CAAE1rI,WAAuB,GAAG,CAACA,CAAS,EAAG,IAAI,EAE7G,CAACukK,CAAU,EAAI3gJ,EAAc,IAAM65G,GAAiC,KAAMz9H,EAAY,CAAE,GAAG,CAACA,CAAS,EAAG,IAAI,EAE5G,CAAC20K,EAAgBC,CAAiB,EAAI/zJ,WAAwB,IAAI,EAClEg0J,EAA8CzkG,GAAA,CAChD,MAAMgvD,EAAYmlC,iBAAYt2J,KAAY9R,KAAEi0E,cAAgBA,GAE5D,OAAKgvD,SAKD,OAAKh3H,UAAW0pB,GAAMstG,UAAU/1H,UAC5BooB,MAAA,OAAApoB,SAAM+1H,EAAU/gB,UAAe,EAC/B5kF,OAAA,OAAKrxB,UAAW0pB,GAAMqb,KAAK9jC,SAAA,CACvBooB,MAAC4sB,GAAI,CAAC1zC,KAAK,QAAQlJ,KAAM29H,EAAU39H,KAAO,EAC1CgwB,MAAC+iJ,GAAqB,CAACr1K,KAAMigI,EAAU/1H,gBACnC,QAAAA,UAAO+1H,EAAU8gB,iBAAiB3mJ,OAAO,QAAM,EAAM,EAClC,CAAC,EACvB,CAAC,EACL,EAZE,IAYF,EAIP26F,EAAe,MAAOp6F,GAAqB,CACvC8xI,SAAiB9xI,EAAK6F,EAAE,EAClB+0K,GAAA,EAEZnQ,WAAe,MAAQzlD,IAAU,KAC1BrtF,MAAC+a,EAAgB,EAAE,SAI1Bjb,WAAA,CAAAloB,SAAA,CACIooB,MAAC+2F,GAAuB,CAACxmF,UAAW,kBAAkB34B,eACjDg2B,GAAS,CAAAh2B,SACLg2B,SAAUL,MAAK,CAAA31B,eACXsvB,GAAkB,CAAC9hB,GAAI,sBAAuB2b,KAAMk6E,GAAQr5E,MAAM,WAAUhqB,eACzEgwB,EAAA,CAAA15B,GAAA,0BAAqC,EACrB,EACP,EACV,CACU,GAExBm/G,EAAMvlH,SAAW,SACb2gD,GAAa,CAAA7wC,eACVgwB,EAAA,CAAA15B,GAAA,uCAAkD,EACvC,EAGlBm/G,EAAM5iH,IAAKmvG,UACP51D,GAAU,CAAApsC,SAAA,CACPooB,MAACmpB,EAAW,CAACpV,MAAM,MAAMqV,cAASxhB,EAAA,CAAA15B,GAAA,OAAkB,EAAE0J,SACjDgiG,EAAKt5F,KACG,EACb0f,MAACmpB,EAAW,CAACpV,MAAM,MAAMqV,cAASxhB,EAAA,CAAA15B,GAAA,OAAkB,EAAE0J,SACjDwrK,EAAmBxpE,EAAKg2B,eAAe,EAC/B,EACb5vG,MAACmpB,EAAW,CAACpV,MAAM,MAAMqV,cAASxhB,EAAA,CAAA15B,GAAA,KAAgB,EAAE0J,SAC/CwrK,EAAmBxpE,EAAK+1B,aAAa,EAC7B,EAEZxmF,SAAyB,UACzBe,GAAgB,CAAC1c,MAAK,GAAA51B,SAAA,CAEnBooB,MAAC4K,GAAwB,CAACxlB,GAAI,qBAAqBw0F,EAAK1rG,KAAM6yB,KAAMg8G,GAASnlI,eACzEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACI,EAC1B8xB,MAACuK,GAAkB,CAAC5F,aAAa,OAAO5D,KAAM2uC,GAAWn9C,QAASA,IAAM4wJ,EAAkBvpE,EAAK1rG,EAAE,EAAE0J,eAC/FgwB,EAAA,CAAA15B,GAAA,WAAsB,EACN,EACpB8xB,MAAC6K,GAAyB,CACtBlG,aAAa,OACbwD,kBAAaP,EAAA,CAAA15B,GAAA,SAAoB,EACjCk6B,iBAAYR,EAAA,CAAA15B,GAAA,yCAAAE,OAAA,CAAA4uC,EAAyC48D,EAAKt5F,IAAI,EAAU,EACxEqnB,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvC25B,uBAAkBD,EAAA,CAAA15B,GAAA,SAAoB,EACtCm6B,yBAAyB,SACzBnvB,KAAK,QACLgvB,UAAWA,IAAMu6D,EAAamX,CAAI,EAClC74E,KAAMwiE,GAAW3rF,eACjBgwB,EAAA,CAAA15B,GAAA,SAAoB,EACG,CAAC,EACd,CAAC,GAhCN0rG,EAAK1rG,EAiCV,CACf,EACAg1K,SACIhvD,GAAe,CACZlB,cAAe,CAAC,YAAY,EAC5Bh3F,OAAQA,IAAMmnJ,EAAkB,IAAI,EACpC9zK,OAAQ6zK,IAAmB,KAC3B3yK,OAAQ,CACJhC,YACAqkH,WAAY,aACZsQ,UAAW,CAACggD,CAAc,CAC9B,EACH,CACJ,EACH,CAEV,ECnHMG,GAAiC,CAAEpiK,QAAS,iBAAkB,EAE9DqiK,GAAgDzxI,GAAA,CAElD,MAAM0xI,EADQzqJ,KACQhtB,KACtB,aACIg0B,WAAA,CAAAloB,gBACKypG,GAAM,CAAAzpG,SAAA,CACHooB,MAACiR,GAAK,CAACgkE,MAAK,GAACnpG,KAAM,GAAGy3K,IAAU3rK,SAC5BooB,MAACgjJ,GAAkB,IAChB,EACPhjJ,MAACwQ,EAAS,CAACG,WAAY0yI,GAAWhtJ,UAAW4pJ,GAAkBn0K,KAAM,GAAGy3K,WAA6B,EACrGvjJ,MAACiR,GAAK,CACFnlC,KAAM,GAAGy3K,aACT30I,OAAmB5O,SAACigJ,GAAgB,CAACC,iBAAkB,CAACngJ,EAAMlH,MAAM/kB,OAAO5F,GAAK,EACnF,CAAC,EACE,EACV,CAEV,ECCMs1K,GAAoDA,CAAC,CAAEj1K,YAAW6iG,OAAM,IAAM,CAChF,MAAMjiG,EAAkB8jB,EAA+BzlB,KAAM2D,OAAOhC,eAAe,EAC7Es0K,EAAsBntE,GAAoBX,GAAmB+tE,yBAA0B,CAACn1K,CAAS,EAEjGozE,EAAmBpoD,EACrB,mBACI,OACI,CACIrrB,GAAI,OACJlD,IAAK,UACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,cAAyB,EAC/B0gC,OAAqB5O,SAAC4zI,GAA0B,CAACjoG,KAAK,SAAQ,GAAK3hE,EAAU,GAEjF,CACIkE,GAAI,QACJlD,IAAK,gBACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,WAAsB,EAC5B0gC,OAAqB5O,SAAC4zI,GAA0B,CAACjoG,KAAK,QAAO,GAAK3hE,EAAU,EAC5E6vG,oBAAmB1qG,IAAgBX,QAAhBW,cAAuBsgI,eAAgB,GAE9D,CACIvhI,GAAI,SACJlD,IAAK,iBACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,SAAoB,EAC1B0gC,OAAqB5O,SAACw+I,GAAsB,IAAKx0K,EAAU,GAE/D,CACIkE,GAAI,WACJlD,IAAK,mBACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,WAAsB,EAC5B0gC,OAAS5kC,GAAa8uK,SAAwB,KAElD2K,EACM,CACEv1K,GAAI,eACJlD,IAAK,uBACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,eAA0B,EAChC0gC,OAAS5kC,GAAak/E,SAAc,KAEtC,IAAI,EACZ34E,OAAOgvC,EAAiB,GAC9B,CAACpwC,EAAiBs0K,CAAmB,CACzC,EAEA,cACI3jJ,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAS,WAAI,EAErC7R,MAACihD,GAAI,CAACC,YAAakwB,EAAMx5F,SACpB+pE,EAAKl3E,IAAKg5E,SACN3C,GAAO,CAEJ5yE,GAAIu1E,EAAIv1E,GACRkX,GAAI,aAAa7W,KAAak1E,EAAIz4E,MAClCsV,KAAMmjE,EAAInjE,KACVisB,wBAAyBk3C,EAAIo2B,kBAAkBjiG,SAC9C6rE,EAAI70C,OAAO,CAAErgC,UAAW,CAACA,EAAW,GALhCk1E,EAAIv1E,EAMJ,CACZ,EACC,CAAC,EACT,CAEV,EC3EYy1K,kBAAqB,CAArBA,SAAqB,wBAArBA,EAAqB,mBAArBA,EAAqB,4BAArBA,EAAqB,oBAArBA,EAAqB,oBAArBA,CAAqB,MAkBjC,MAAMC,GAAkB,CACpB,CAACD,GAAsB/9E,UAAU,EAAG,CAChCr1F,OAAe7F,GAAA,CAACA,EAAEuxJ,gBAClBp5H,QAAsB5hB,KAAQhQ,YAAY4yK,uBAC9C,EACA,CAACF,GAAsBG,OAAO,EAAG,CAC7BvzK,OAAe7F,KAAEwxJ,uBAAyBxxJ,EAAEyjC,SAAWv0B,GAA0BisF,eACjFhjE,QAAsB5hB,GAAA,EAC1B,EACA,CAAC0iK,GAAsB79E,WAAW,EAAG,CACjCv1F,OAAS7F,GAAMA,EAAEyjC,SAAWv0B,GAA0BksF,YACtDjjE,QAAsB5hB,KAAQhQ,YAAY8yK,qBAC9C,EACA,CAACJ,GAAsBr+E,QAAQ,EAAG,CAC9B/0F,OAAS7F,GAAMA,EAAEyjC,SAAWv0B,GAA0B0rF,SACtDziE,QAAsB5hB,KAAQhQ,YAAY8yK,qBAC9C,EACA,CAACJ,GAAsBl+E,QAAQ,EAAG,CAC9Bl1F,OAAS7F,GAAMA,EAAEyjC,SAAWv0B,GAA0BssF,iBACtDrjE,QAAsB5hB,KAAQhQ,YAAY8yK,qBAC9C,CACJ,EAEMC,GAAkFA,IAAM,CAC1F,MAAM/iK,EAAUgS,EAA+BzlB,KAAMD,OAAOT,aAAc,EACpEyB,EAAY0S,EAAQ/S,GAEpB,CAACO,EAAgB4+I,EAAmBpB,CAAoB,EAAI95H,EAC9D,IACIonE,GAAqB,CACjBhrF,YACAsB,SAAU,CACN+J,GAA0BisF,eAC1BjsF,GAA0BgsF,WAC1BhsF,GAA0BksF,YAC1BlsF,GAA0B0rF,SAC1B1rF,GAA0BssF,gBAAgB,CAEjD,GACL,CAAC33F,CAAS,EACV,IACJ,EAEM,CAAC01K,EAAqBC,CAAsB,EAAI90J,WAAS,IAAIjjB,GAAsC,EACzG4iB,YAAU,IAAM,CACPtgB,GAILy1K,EAAqC7yJ,GAAA,CAC7BkH,MAAW,IAAIpsB,IAAIklB,CAAQ,EAE/B,MAAM8yJ,EAAcl6K,OAAOC,KAAK05K,EAAK,EAA8Bn5K,IAAKkhE,IAAU,CAC9E,GAAGi4G,GAAMj4G,CAAI,EACbA,MACF,IAEFl9D,SAAgBrG,QAAgBqH,GAAA,CACvB8oB,EAASq1F,IAAIn+G,EAAGvB,EAAE,GACnBqqB,EAAS9rB,IACLgD,EAAGvB,GACHi2K,EAAW5zK,OAAgBkzE,KAAIlzE,OAAOd,CAAE,CAAC,EAAEhF,IAAag5E,KAAI9X,IAAI,CACpE,CACJ,CACH,EAEMpzC,EACV,GACF,CAAC9pB,CAAc,CAAC,EAEb21K,QAAav1J,cACd88C,GACUniE,MAAMc,KAAK25K,EAAoBjvG,QAAS,GAAEzkE,OAAO,CAAC,CAACrC,EAAI8kD,CAAC,IAAMA,EAAEt3C,SAASiwD,CAAI,CAAC,EAAE7jE,OAE3F,CAACm8K,CAAmB,CACxB,EAEMI,EAAc9qJ,EAChB,YAAM,CACF,CACIoyC,KAAMg4G,GAAsB/9E,WAC5BzkD,WAAMvZ,EAAA,CAAA15B,GAAA,4BAAuD,EAC7Do2K,MAAOF,EAAWT,GAAsB/9E,UAAU,GAEtD,CACIj6B,KAAMg4G,GAAsBG,QAC5B3iI,WAAMvZ,EAAA,CAAA15B,GAAA,kBAA6B,EACnCo2K,MAAOF,EAAWT,GAAsBG,OAAO,GAEnD,CACIn4G,KAAMg4G,GAAsB79E,YAC5B3kD,WAAMvZ,EAAA,CAAA15B,GAAA,gBAA2B,EACjCo2K,MAAOF,EAAWT,GAAsB79E,WAAW,GAEvD,CACIn6B,KAAMg4G,GAAsBr+E,SAC5BnkD,WAAMvZ,EAAA,CAAA15B,GAAA,WAAsB,EAC5Bo2K,MAAOF,EAAWT,GAAsBr+E,QAAQ,GAEpD,CACI35B,KAAMg4G,GAAsBl+E,SAC5BtkD,WAAMvZ,EAAA,CAAA15B,GAAA,WAAsB,EAC5Bo2K,MAAOF,EAAWT,GAAsBl+E,QAAQ,EACnD,EAEL,CAAC2+E,CAAU,CACf,EAEM,CAAEz4G,QAAS32C,GAA2C,EACtDkwI,EAAgBtsI,KAahB+qB,EAAe90B,cAC2B7W,GAAA,CAKxCq1I,EAAgCh8H,GACvBA,GAIErZ,EAAQG,YAAYkZ,CAAQ,CACtC,GAEL,CAACg8H,CAAiB,CACtB,EAEMk3B,EAAc11J,cAAY,SAAY,CACxC,MAAMo9H,EAAqB,GAE5B,CAACA,CAAoB,CAAC,EAEnBu4B,EAAeH,EAAY9zK,OAAcqzK,MAAMl5K,EAAEihE,IAAI,EAAE9oC,QAAQ5hB,CAAO,CAAC,EAC7E,GAAI,CAACujK,EAAahoK,QAAY9R,EAAEihE,OAASA,CAAI,EACzC,aACKvlC,GAAQ,CACLhhB,GAAI8/I,EAAc,CACdv5F,KAAM64G,EAAa,CAAC,EAAE74G,KACzB,EACJ,EAIL,IAACl9D,GAAkB,CAACw1K,EACbjkJ,aAAC+a,EAAgB,EAAE,EAGxB0pI,QAAeh2K,EAAe8B,OAAc0zK,qBAAoBz3K,IAAI9B,EAAEwD,EAAE,IAA5B+1K,cAA+BvoK,SAASiwD,GAAK,EAE/F,cACI7rC,WAAA,CAAAloB,SAAA,CACIooB,MAAC4N,GAAS,CAAAh2B,eACL+0B,GAAa,CAAA/0B,SACT4sK,EAAa/5K,IACVu1B,SAAC2M,GAAcG,aAAY,CACvBP,wBAAyB7hC,EAAE45K,MAE3Bh4I,SAAUq/B,IAASjhE,EAAEihE,KACrBvmD,GAAI8/I,EAAc,CACdv5F,KAAMjhE,EAAEihE,KACX,EAAE/zD,SACFlN,EAAEy2C,MALEz2C,EAAEihE,IAMiB,CAC/B,EACU,EACR,EAEX3rC,MAACuuH,GAAuB,CACpBhgJ,YACA8B,MAAOo0K,EACP32G,gBAAY++E,GAAiB,CAACl1I,SAAUA,IAAM,KAAMlJ,eAAgB,CAAG,EAACw9I,qBAAsBA,IAAM,CAAC,EAAI,EAAEr0I,SAC1GA,CAACvH,EAAOu9F,EAAiBkoC,IACtB9tG,OAAChyB,EAAM6yB,SAAQ,CAAAjxB,SAAA,CACXooB,MAAC+uH,GAA6B,CAC1BnhD,kBACAkoC,uBACAkZ,eAAe,UAClB,EACDhvH,MAAC6sH,GAAiB,CAACp+I,eAAgB4B,EAAO47I,qBAAsBs4B,EAAa5sK,SAAUgsC,EAAe,CAAC,GANtFiqD,EAAgB1/F,EAOrB,EAEC,CAAC,EAC5B,CAEV,6gBCtNMw2K,GAA0EA,CAAC,CAAE7lK,eAAc,IAAM,CAC7FknG,QAAeA,CAACk1B,EAA+C31D,IAAoB,CACjFh8C,YAAQ1B,EAAA,CAAA15B,GAAA,WAAsB,EAC9B0zB,EAAwB,SAE5B,OAAIq5G,EAAY0pC,YACZr7I,QAAQ1B,EAAA,CAAA15B,GAAA,aAAwB,EACxB0zB,EAAA,iBAGPsjE,GAAS,CAACvuF,UAAWY,EAAW8oB,GAAM8kE,UAAW,CAAE,CAAC9kE,GAAM9B,IAAI,EAAG+mD,EAAQ,EAAG1jD,QAAahqB,SACrF0xB,EACM,GAGnB,cACK0a,GAAU,CAAApsC,SAAA,CACPowB,OAACmhB,EAAW,CAACG,KAAI,GAACjJ,iBAAkBhgB,GAAMzqB,KAAMwzC,cAASxhB,EAAA,CAAA15B,GAAA,UAAqB,EAAE0J,SAAA,CAC5EooB,MAACyG,GAAmB,CAAC9vB,UAAW0pB,GAAMukJ,YAAax/J,GAAI,YAAYvG,EAAcnP,kBAAkBkI,SAC9FiH,EAAckoB,QACE,EACrB/G,MAAA,QAAApoB,SAAOiH,EAAcgtB,YAAkB,CAAC,EAC/B,EACb7D,OAAA,OAAKrxB,UAAW0pB,GAAMwkJ,gBAAgBjtK,SACjCiH,GAAc86E,aAAalvF,IAAI,CAACs1C,EAAG93C,IAChC+/B,OAACa,WAAQ,CAAAjxB,UACLowB,OAAA,OAAKrxB,UAAW0pB,GAAMs5D,aAAa/hF,UAC/BowB,OAAA,OACIrxB,UAAWY,EAAW8oB,GAAMykJ,eAAgB,CACxC,CAACzkJ,GAAM9B,IAAI,EAAGt2B,IAAM4W,EAAc86E,aAAa7xF,OAAS,EAC3D,EAAE8P,SAAA,CACHooB,MAACuV,GAAQ,CAACnB,SAAU,GAAInvB,OAAQ86B,EAAE96B,OAAS,EAC3C+iB,OAAA,OAAKrxB,UAAW0pB,GAAM0kJ,cAAcntK,UAChCooB,MAAA,UAAApoB,SAASmoC,EAAE8D,YAAoB,EAC/B7b,OAAA,QAAMrxB,UAAW0pB,GAAMkiB,YAAY3qC,SAAC,KAAEmoC,EAAEwC,WAAW,EAAO,CAAC,EAC1D,CAAC,EACL,EACJwjE,EAAahmE,EAAG93C,IAAM4W,EAAc86E,aAAa7xF,OAAS,CAAC,CAAC,EAC5D,EACJG,IAAM4W,EAAc86E,aAAa7xF,OAAS,SAAK,OAAK6O,UAAW0pB,GAAMgnE,OAAS,CAAC,GAdrEtnD,EAAE96B,MAeP,CACb,EACApG,EAAc86E,aAAa7xF,SAAW,GACnCk4B,MAAA,OAAKrpB,UAAW0pB,GAAM2kJ,eAAeptK,eACjCgwB,EAAA,CAAA15B,GAAA,gDAA2D,EAC1D,CACR,EACA,CAAC,EACE,CAEpB,gXCjDM+2K,GAAwDA,CAAC,CAAEC,kBAAiB,IAAM,CACpF,KAAM,CAACvyK,EAAQwpD,CAAS,EAAI/sC,WAAwB,IAAI,EAErCP,iBAAY,CAACvO,EAAMrX,IAAQkzD,EAAUlzD,CAAG,EAAG,CAAE,EAAC,EACjE,MAAM0gC,EAAcra,KAMpB,GAJAG,GAAY,IAAM,CACFka,KACb,GAAI,EAEH,CAACh3B,EACM,YAGLwyK,QAAYt6K,KAAKkhE,MACjBq5G,EAAUC,GAAWx6K,KAAKkhE,MAAOm5G,CAAgB,EACvD,aAAOplJ,WAAA,CAAAloB,SAAG0tK,GAAeH,EAAWC,EAAS,CAAEzyK,SAAQ,EAAI,CAC/D,EAMM4yK,GAA0FA,CAAC,CAC7FC,eACA/2K,gBACJ,IAAM,CACF,MAAMg3K,EAAmBlsJ,EACrB,YAAM9qB,EAAek0E,QAASlzE,GAAOA,EAAGkqF,aAAan9E,QAAYujC,EAAE96B,SAAWugK,EAAavgK,MAAM,CAAC,EAClG,CAACxW,EAAgB+2K,CAAY,CACjC,EACA,GAAI/2K,EAAe3G,SAAW,EAAU,YAElC49K,QAAuBD,EAAiB,CAAC,EAEzC1/D,EAAeA,CAAC4/D,EAAqCrgG,IAAoB,OACrEq/F,UAAYgB,IAAahsF,aAAan9E,KAAMujC,GAAMA,EAAE96B,SAAWugK,EAAavgK,MAAM,IAAtE0gK,cAAyEhB,YAAa,KAEpGr7I,YAAQ1B,EAAA,CAAA15B,GAAA,WAAsB,EAC9B0zB,EAAwB,SAE5B,OAAI+iJ,IACAr7I,QAAQ1B,EAAA,CAAA15B,GAAA,aAAwB,EACxB0zB,EAAA,iBAGPsjE,GAAS,CAACvuF,UAAWY,EAAW8oB,GAAM8kE,UAAW,CAAE,CAAC9kE,GAAM9B,IAAI,EAAG+mD,EAAQ,EAAG1jD,QAAahqB,SACrF0xB,EACM,GAGnB,aACIxJ,WAAA,CAAAloB,gBACKosC,GAAU,CAAApsC,UACPowB,OAAA,OAAKrxB,UAAW0pB,GAAMulJ,WAAWhuK,UAC7BowB,OAAA,OAAKrxB,UAAW0pB,GAAMwlJ,SAASjuK,SAAA,CAC3BooB,MAACuV,GAAQ,CAACnB,SAAU,GAAInvB,OAAQugK,EAAavgK,MAAS,GACrDygK,EAAqB7hI,kBACtB,QAAAjsC,SAAO8tK,EAAqBnjI,YAAkB,CAAC,EAC9C,EACLva,OAAA,OAAKrxB,UAAW0pB,GAAMqb,KAAK9jC,UACvBooB,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,qBAAgC,EAC9B,EACLs3K,EAAaM,iBAAiB,EAC9B,EACL99I,OAAA,OAAKrxB,UAAW0pB,GAAMqb,KAAK9jC,UACvBooB,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,uBAAkC,CAChC,GACLs3K,EAAaO,iCACTd,GAAkB,CAACC,iBAAkBM,EAAaO,2BAA6B,EAEhF/lJ,MAAA4H,EAAA,CAAA15B,GAAA,MAAiB,CACpB,EACA,CAAC,EACL,EAEL8xB,MAAA,OAAKrpB,UAAW0pB,GAAM2lJ,uBAAuBpuK,SACxCnJ,EAAehE,IAAI,CAACgF,EAAI0tB,WACpB0L,WAAQ,CAAAjxB,UACLowB,OAAA,OACIrxB,UAAWY,EAAW8oB,GAAM4lJ,iBAAkB,CAC1C,CAAC5lJ,GAAM9B,IAAI,EAAGpB,IAAU1uB,EAAe3G,OAAS,EACnD,EAAE8P,SAAA,CACHooB,MAACyG,GAAmB,CAACrhB,GAAI,sBAAsB3V,EAAG4N,oBAAoBzF,SACjEnI,EAAG42G,oBACa,EACrBrmF,MAACyG,GAAmB,CAAC9vB,UAAW0pB,GAAMukJ,YAAax/J,GAAI,sBAAsB3V,EAAG4N,6BAA6B5N,EAAGC,kBAAkBkI,SAC7HnI,EAAGs3B,QACa,EACrB/G,MAAA,SAAApoB,SAAQnI,EAAGo8B,YAAmB,EAC7Bk6E,EAAat2G,EAAI0tB,IAAU1uB,EAAe3G,OAAS,CAAC,CAAC,EACrD,EACJq1B,IAAU1uB,EAAe3G,OAAS,SAAK,OAAK6O,UAAW0pB,GAAMgnE,OAAS,CAAC,GAd7D53F,EAAGC,eAeR,CACb,EACA,CAAC,EACE,EACd,CAEV,ECzFYw2K,kBAAyB,CAAzBA,SAAyB,0BAAzBA,EAAyB,cAAzBA,CAAyB,MAOrC,MAAMC,GAA8DA,IAAM,CACtE,MAAM53K,EAAY0kB,EAAazlB,GAAkBA,EAAMD,OAAOT,cAAeoB,EAAE,EACzE,CAACqC,EAAQq7G,CAAS,EAAI7zF,GAAwCy3H,GAAoC,GAClG,CAACI,EAAcC,CAAe,EAAIzgI,WAAS,EAAK,EAChD,CAACipD,CAAU,EAAIlmD,EAAc,IAAM6oE,GAA2BzsF,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC3F,CAAC63K,CAAa,EAAIj0J,EAAc,IAAM+oE,GAAqC3sF,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EACxGuhJ,EAAiB5mC,GAAoB34G,EAAQi/I,EAAkC,EAE/E,CAAC/gJ,EAAoBqjB,GAAS,EAAIJ,GACpC,IACIupE,GAA6B,CACzB8d,MAAOxoG,EAAOwoG,MACd3kC,OAAQ7jE,EAAO6jE,OACfulB,aAAcppF,EAAOopF,aACrB6vB,WAAYj5G,EAAOi5G,WACnBj7G,WACH,GACL,CAACA,EAAWgC,CAAM,EAClB,IACJ,EAEM,CAAEo7D,QAAS32C,GAA+C,EAE1DkwI,EAAgBtsI,KAGhB69C,EAAgBA,IACd3kD,GAAarjB,GAAkB,KACxBuxB,MAAC+a,EAAgB,EAAE,EAG1BtsC,EAAe3G,SAAW,EACnBk4B,MAACyoB,GAAa,EAAE,EAGvBkjB,IAASu6G,GAA0BG,aAE/B,OAAK1vK,UAAW0pB,GAAMimJ,SAAS1uK,eAC1B22I,GAAuB,CAAChgJ,YAAsB8B,MAAO5B,EAAgBq/D,UAAW9tC,MAAA,QAAM,EAAEpoB,SACpFA,CAACvH,EAAOu9F,EAAiBkoC,IACtB9tG,OAAChyB,EAAM6yB,SAAQ,CAAAjxB,SAAA,CACXooB,MAAC+uH,GAA6B,CAC1BnhD,kBACAkoC,uBACAkZ,eAAe,UAClB,EACA3+I,EAAO5F,IAAKgF,SACRi1K,GAA6B,CAA0B7lK,cAAepP,GAAnCA,EAAGC,eAAqC,CAC/E,CAAC,GARek+F,EAAgB1/F,EASrB,EAEC,EACxB,EAEFy9D,IAASu6G,GAA0BK,mBAEtC,OAAK5vK,UAAW0pB,GAAMimJ,SAAS1uK,SAC1BwuK,iBAAe37K,IAAK+6K,SAChBD,GAAmC,CAEhCC,eACA/2K,eAAgBA,EAAe8B,OAAQd,GACnCA,EAAGkqF,aAAalvF,IAAWs1C,KAAE96B,MAAM,EAAEvJ,SAAS8pK,EAAavgK,MAAM,CACrE,GAJKugK,EAAavgK,MAKrB,EACJ,CACA,EAIN,KAGX,cACI6a,WAAA,CAAAloB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SAAA,CACNowB,OAAC2E,GAAa,CAAA/0B,SACVooB,CAAC2M,SAAcG,aAAY,CACvBR,SAAUq/B,IAASu6G,GAA0BG,OAC7CjhK,GAAI8/I,EAAc,CACdv5F,KAAMu6G,GAA0BG,OACnC,EAAEzuK,eACHgwB,EAAA,CAAA15B,GAAA,UAAqB,EACG,EAC3By+B,SAAcG,aAAY,CACvBR,SAAUq/B,IAASu6G,GAA0BK,aAC7CnhK,GAAI8/I,EAAc,CACdv5F,KAAMu6G,GAA0BK,aACnC,EAAE3uK,eACHgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACH,CAAC,EAClB,EAEd0/B,UAAUL,MAAK,CAAA31B,SAAA,CACZooB,MAACqvH,GAAmB,CAChBC,aAAY,GACZjgJ,OAAQugJ,EACRxzH,QAASA,IAAMyzH,EAAgB,EAAK,EACpCx3E,aACAlxE,MAAOoJ,EACPy6G,eAAgBY,EACnB,EAED5rF,MAACspF,GAAa,CACVE,WAAYj5G,EAAOi5G,WACnBC,sBAA2BmC,EAAU,CAAE,GAAGr7G,EAAQi5G,WAAY1iE,EAAG,EACjEh1B,YACAy3F,cAAeA,IAAMsmC,EAAiB/oG,GAAM,CAACA,CAAC,EAC9Cxa,SAAUwjH,EACb,CAAC,EACW,CAAC,EACX,EAEVr5E,GAAe,EAClB,CAEV,ECnIM+vG,GAAsEA,CAAC,CAAEj4K,WAAU,IAAM,OAC3F,KAAM,CAACgC,EAAQq7G,CAAS,EAAI7zF,GAAwCy3H,GAAoC,GAClG,CAACI,EAAcC,CAAe,EAAIzgI,WAAS,EAAK,EAChD,CAACipD,CAAU,EAAIlmD,EAAc,IAAM6oE,GAA2BzsF,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC3FsmB,EAAoBF,KACpBtnB,EAAYinB,GAAaO,CAAiB,EAC1Ci7H,EAAiB5mC,GAAoB34G,EAAQi/I,EAAkC,EAE/E,CAAC/gJ,EAAgB4+I,EAAmB0C,EAAqBj+H,CAAS,EAAIJ,GACxE,IACI6nE,GAAqB,CACjBwf,MAAOxoG,EAAOwoG,MACd3kC,OAAQ7jE,EAAO6jE,OACfvkE,SAAUU,EAAOV,SACjB8pF,aAAcppF,EAAOopF,aACrB6vB,WAAYj5G,EAAOi5G,WACnBj7G,WACH,GACL,CAACgC,CAAM,EACP,IACJ,EAEM+hG,GAAuBm9C,KAAuBhhJ,CAAc,IAArCghJ,cAAwCl/I,OAAQd,GAAOA,EAAGigJ,aAEjF+2B,EAAuBltJ,UAAQ,IAC5B+4E,EAIEnkG,GACHmkG,EACA,CAAQ9+F,KAAE+8F,iBAAmB,IAAI1lG,KAAK,KAAM,EAAG,CAAC,EAAG,iBAAiB,EACpE,CAAC,OAAQ,KAAK,CAClB,EAPW,KAQZ,CAACynG,CAAoB,CAAC,EAEnBk8C,EAAWJ,GAAmBq4B,EAAsB,EAAE,EAEtD9iI,EAA2D3rC,GAAA,CACxDvJ,GAGauJ,IAAQG,YAAY1J,CAAc,CAAC,GAGnDkiJ,EAA6BA,IAAM,CACjBZ,GAAA,EAGxB,cACIjwH,WAAA,CAAAloB,SAAA,CACIooB,MAAC4N,GAAS,CAAAh2B,SACLg2B,UAAUL,MAAK,CAAA31B,SAAA,CACZooB,MAACqvH,GAAmB,CAChBhgJ,OAAQugJ,EACRxzH,QAASA,IAAMyzH,EAAgB,EAAK,EACpCx3E,aACAlxE,MAAOoJ,EACPy6G,eAAgBY,EACnB,EAED5rF,MAACspF,GAAa,CACVE,WAAYj5G,EAAOi5G,WACnBC,sBAA2BmC,EAAU,CAAE,GAAGr7G,EAAQi5G,WAAY1iE,EAAG,EACjEh1B,YACAy3F,cAAeA,IAAMsmC,EAAiB/oG,GAAM,CAACA,CAAC,EAC9Cxa,SAAUwjH,EACb,CAAC,EACW,CACV,GAETh+H,EAYEkO,MAAC+a,IAAkB,QAXlB8yG,GAAgB,CAAC9tB,OAAQyuB,EAAS52I,SAE3BooB,SAAC6sH,GAAiB,CACdh4H,kBAAmBxnB,EAAYwnB,EAAoBtjB,OACnD9C,eAAgBqgJ,EAChB7C,qBAAsB0E,EACtBh5I,SAAUgsC,EACb,CAES,EAGrB,EACH,CAEV,EC3FY+iI,kBAAqB,CAArBA,SAAqB,UAArBA,EAAqB,oBAArBA,EAAqB,cAArBA,EAAqB,oBAArBA,CAAqB,MAwBjC,MAAMC,GAAwDA,CAAC,CAAEp4K,YAAWk1E,KAAI,IAAM,CAClF,MAAMt0E,EAAkB8jB,EAA+BzlB,KAAM2D,OAAOhC,eAAe,EAC7EqqB,EAAiBC,KACjBxY,EAAUgS,EAA+BzlB,KAAMD,OAAOT,aAAa,EAEnE60E,EAAmBpoD,EACrB,YAAM,CACF,CACIrrB,GAAIw4K,GAAsBtf,IAC1Bp8J,IAAK,UACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,sBAAiC,EACvC0gC,OAAqB5O,SAAC2vH,GAA2B,CAAChkF,KAAK,MAAK,GAAK3hE,EAAU,EAC3E64B,QAAS,IAEb,CACI30B,GAAIw4K,GAAsBjwC,SAC1BzrI,IAAK,mBACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,WAAsB,EAC5B0gC,OAAqB5O,SAACmmJ,GAAqB,IAAKn8K,EAAU,EAC1D64B,QACI,CAAC,CAAC5hB,IAAYA,EAAQhQ,YAAY4yK,yBAA2B5iK,EAAQhQ,YAAY8yK,wBAEzF,CACI71K,GAAIw4K,GAAsBE,MAC1B57K,IAAK,gBACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,WAAsB,EAC5B0gC,OAAqB5O,SAACgkJ,GAA+B,IAAKh6K,EAAU,EACpE6vG,kBAAmB1qG,EAAgBV,eAAeC,MAClDm0B,QAAS,IAEb,CACI30B,GAAIw4K,GAAsBG,SAC1B77K,IAAK,mBACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,kBAA6B,EACnC0gC,OAAqB5O,SAACwmJ,GAAyB,IAAKx8K,EAAU,EAC9D6vG,kBAAmBrgF,EAAe3e,GAAkByQ,aAAa,EACjEuX,QAAS,EACZ,GAEL,CAAC1zB,EAAiBqqB,EAAgBvY,CAAO,CAC7C,EAEA,cACI6e,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAiB,mBAAI,EAE7C7R,MAACihD,GAAI,CAACC,YAAauC,GAAO,MAAM7rE,SAC3B+pE,EACIpxE,OAAc7F,KAAEm4B,OAAO,EACvBp4B,IAAKg5E,GACFzjD,MAAC8gD,GAAO,CAEJ5yE,GAAIu1E,EAAIv1E,GACRkX,GAAI,aAAa7W,KAAak1E,EAAIz4E,MAClCsV,KAAMmjE,EAAInjE,KACVisB,wBAAyBk3C,EAAIo2B,mBAAqBtoG,OAAUqG,SAC3D6rE,EAAI70C,OAAO,CACRrgC,UAAW,CAACA,EACf,GAPIk1E,EAAIv1E,EAQJ,CACZ,EACH,CAAC,EACT,CAEV,EChGM44K,GAAeA,IAAM,CACvB,MAAMv4K,EAAY0kB,EAAazlB,GAAkBA,EAAMD,OAAOT,cAAeoB,EAAE,EACzEiP,EAAY8V,EAAazlB,GAAkBA,EAAMD,OAAOV,cAAeqB,EAAE,EAE/E,cACI,OAAKyI,UAAU,aAAYiB,SAAA,CACvBooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAU,YAAI,EAEtC7R,MAACgkI,GAAkB,CAAC7mJ,YAAsB5O,YAAuB,CAAC,EACjE,CAEb,uDCFMw4K,GAAwEA,CAAC,CAAE5pK,WAAU,IAAM,CACvF,MAAEjP,GAAIgB,GAAa8lB,GAAsC,EACzDgyJ,EAAiB5xK,GAAiBlG,GAAY,EAAE,EAEhD+R,EAAUgS,EAA+BzlB,KAAMD,OAAOT,aAAa,EACnE,CAACqiG,EAAYC,CAAa,EAAIhgF,WAAS,EAAE,EAE/C,OAAKnO,SAKD,OAAKtK,UAAW0pB,GAAM8J,UAAUvyB,SAAA,CAC5BooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAU,YAAI,EAEtC7J,OAACga,GAAW,CAAApqC,SACRooB,CAACgiB,SAAYK,YAAW,CAACj9B,GAAG,YAAWxN,eACnCgwB,EAAA,CAAA15B,GAAA,WAAsB,EACD,EAExB8zC,SAAYI,KAAI,CAAAxqC,eACb,QAAAA,SAAOu3F,EAAiB,EACV,CAAC,EACV,EACbnvE,MAAC2qE,GAAoB,CACjBz7F,SAAU83K,EACVp8E,aAAe7S,GAAWqX,GAAcrX,iBAAQoX,aAAc,EAAE,EACnE,CAAC,EACD,EApBEnvE,MAAC+a,EAAgB,EAAE,CAsBlC,uDC7BMksI,GAAwFA,CAAC,CAC3F9pK,YACAE,mBACJ,IAAM,CACI,MAAEnP,GAAIgB,GAAa8lB,GAAsC,EACzDgyJ,EAAiB5xK,GAAiBlG,GAAY,EAAE,EAChD,CAAC0+F,CAAe,EAAIz7E,EAAc,IAAMo7E,GAAmBlwF,CAAiB,EAAG,CAACA,CAAiB,EAAG,IAAI,EAExG,CAAEomE,OAAQzuD,GAA2B,EACrC,CAACm6E,EAAYC,CAAa,EAAIhgF,WAAS,EAAE,EAE/C,OAAKw+E,SAKD,OAAKj3F,UAAW0pB,GAAM8J,UAAUvyB,SAAA,CAC5BooB,MAACqY,GAAe,CAAC1wB,MAAOimF,EAAgBttF,KAAO,EAE/C0nB,OAACga,GAAW,CAAApqC,SACRooB,CAACgiB,SAAYK,YAAW,CAACj9B,GAAG,qBAAoBxN,eAC5CgwB,EAAA,CAAA15B,GAAA,YAAuB,EACF,EAExB8zC,SAAYK,YAAW,CAACj9B,GAAI,sBAAsBwoF,EAAgB1/F,MAAMu1E,IAAM7rE,eAC3E,QAAAA,SAAOg2F,EAAgBttF,KAAW,EACb,EAExB0hC,SAAYI,KAAI,CAAAxqC,eACb,QAAAA,SAAOu3F,EAAiB,EACV,CAAC,EACV,EACbnvE,MAACqrE,GAAa,CACVn8F,SAAU83K,EACVp8E,aAAe7S,GAAWqX,GAAcrX,iBAAQoX,aAAc,EAAE,EACnE,CAAC,EACD,EAxBEnvE,MAAC+a,EAAgB,EAAE,CA0BlC,EC3CMmsI,GAAkDA,CAAC,CAAE32K,SAAQ64G,gBAAezxG,UAAS,IAAM,CAC7F,KAAM,CAACtI,EAAQqxE,CAAS,EAAItxD,WAAS,EAAK,EACpCy4I,EAAmBh5I,cAAY,IAC1Bu6F,EACR,CAACA,CAAa,CAAC,EAEZ0mC,EAAiB5mC,GAAoB34G,EAAQs3J,CAAgB,EAE7D3xI,EAAcA,IAAM,CACtBve,EAASyxG,CAAa,GAG1B,cACItpF,WAAA,CAAAloB,SAAA,CACIooB,MAACspF,GAAa,CAACC,cAAeA,IAAM7oC,EAAU,CAACrxE,CAAM,EAAGi9B,SAAUwjH,EAA+B,EACjG9nH,OAACsiF,GAAY,CAAC9zF,QAASN,EAAakG,QAASA,IAAMskD,EAAU,EAAK,EAAGjtB,UAAWpkD,EAAOuI,UACnFooB,MAAA,SAAOrpB,UAAU,eAAciB,eAC3BgwB,EAAA,CAAA15B,GAAA,aAAwB,EACrB,EACP8xB,MAACw6C,GAAkB,CAAC7iE,YAAiBA,EAAS,CAAE,GAAGpH,EAAQR,WAAY+2C,EAAG,EAAG3/C,MAAOoJ,EAAOR,WAAc,CAAC,EAChG,CAAC,EACjB,CAEV,ECZA,SAASo3K,GACL54K,EACA4/B,EACAi5I,EAC4B,CACrB,OACHj5I,OAAQA,EAAS,CAACA,CAAM,EAAI58B,OAC5BwpH,gBAAiB,GACjBhrH,WAAY,CAAE,EACds3K,eAAgBD,EAChB74K,YAER,CAEA,MAAM+4K,GAAoDA,CAAC,CAAE/4K,YAAW4/B,SAAQi5I,oBAAmB,IAAM,CAC/Fh+D,QAAgB7vF,UAAQ,IACnB4tJ,GAAmB54K,EAAW4/B,EAAQi5I,CAAkB,EAChE,CAAC74K,EAAW4/B,EAAQi5I,CAAkB,CAAC,EAEpC,CAAC9rG,EAASo9F,CAAU,EAAItpJ,WAASg6F,CAAa,EAC9C,CAAC4R,EAAyBC,CAA0B,EAAI7rG,WAAS,EAAK,EAE5EiJ,GAAmB,IAAM,CACrBqgJ,EAAWtvD,CAAa,GACzB,CAACA,CAAa,CAAC,EAElB,KAAM,CAACz1C,GAAaunD,CAAe,EAAI/oG,EAAc,IAAMy9C,GAAuB0L,CAAO,EAAG,CAACA,CAAO,EAAG,IAAI,EACrG,CAAC6/C,EAAkBC,CAAmB,EAAIhsG,WAAS,EAAK,EACxD,CAACisG,EAAwBC,CAAyB,EAAIlsG,WAAS,EAAK,EAEpE,CAACmsG,EAAkBC,CAAmB,EAAIpsG,WAAc,IAAI,EAE5DwsG,EAA0BA,IAAM,CAClBV,GAAA,EAEdW,EAA4BA,CAAC/2G,EAAmBrP,IAAkC,CACpF,MAAM2D,EAAW0L,EAAO,IAAI9Q,GAAS8Q,CAAI,EAAI,KACvCg3G,EAAa,CACfr+G,WAAYhI,GAAYA,EAASgI,WAAahI,EAASgI,WAAak5G,GAAO,EAC3Ev9G,WACAkH,KAAMlH,EAAWA,EAAS0/G,4BAAgC,KAC1DhoE,MAAOr7C,EAAWA,EAASq7C,MAAQ,EACnC58B,eAAgBze,EAAWA,EAASye,eAAiB,KACrD6nG,YAAa,CAAC,CAACtmH,GAEnB+lH,EAAoBM,CAAU,EAC9BV,EAAoB,EAAI,GAGtBz3E,EAAyD3rC,GAAA,CACtD27D,GAGWunD,GAAA,EAKhBlzF,cAAChyB,EAAM6yB,SAAQ,CAAAjxB,SAAA,CACXowB,OAAC4F,GAAS,CAAAh2B,SACLwvK,GACGpnJ,MAAC+M,GAAiB,CACdC,gBAAgB,iBAChBC,YAAavzB,GACbvS,MAAOgnC,EACPjB,aAAe/lC,GAAU,aAAaoH,6BAAqCpH,EAAOknC,YAAY,IAC9FjB,cAAe,CAAC1zB,GAAe2rF,QAAS3rF,GAAe4rF,QAAQ,EAClE,EAEDtlE,MAAC+M,GAAiB,CACdC,gBAAgB,iBAChBC,YAAavzB,GACbvS,MAAOgnC,EACPjB,gBACI,aAAa3+B,sBAA8BpH,EAAQ,IAAMA,EAAMknC,YAAgB,OAEnFf,cAAa,GAChB,EAGJM,UAAUL,MAAK,CAAA31B,UACX,CAACwvK,SACGruG,GAAW,CACRphE,YAAiB+gK,EAAW,CAAE,GAAGp9F,EAASy/C,gBAAiBvnH,EAAEgf,OAAOrd,QAAS,EAC7EA,QAASmmE,EAAQy/C,gBAAgBnjH,eACjCgwB,EAAA,CAAA15B,GAAA,0BAAqC,EAC5B,EAEjB8xB,MAAC4F,EAAM,CAACrT,QAASA,IAAM0oG,EAA2B,EAAI,EAAGl6F,KAAMk7F,GAAer6F,MAAM,WAAUhqB,eAC1FgwB,EAAA,CAAA15B,GAAA,oBAA+B,EAC3B,EACR85B,OAAC+uF,GAAuB,CAACxmF,UAAU,qBAAoB34B,SAAA,CACnDooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAAgB+oG,KAA0B,EAAI,EAAGv6F,KAAM2uD,GAAS93E,eACrFgwB,EAAA,CAAA15B,GAAA,0BAAqC,EACjC,EAER8xB,MAACw6F,GAAoB,CACjB/kH,SAAU8lH,GAAoB,KAC9BlsH,OAAQ8rH,EACR5sH,YACAk1D,OAAQm4D,EACRx/F,QAASA,IAAM,CACXg/F,EAAoB,EAAK,EACzBI,EAAoB,IAAI,CAC5B,EACH,EAEDx7F,MAACk6F,GAA0B,CACvBzkH,SAAU8lH,GAAoB,KAC9BlsH,OAAQgsH,EACR9sH,YACAk1D,OAAQm4D,EACRx/F,QAASA,IAAM,CACXk/F,EAA0B,EAAK,EAC/BE,EAAoB,IAAI,CAC5B,EACH,CAAC,EACmB,EACzBx7F,MAACknJ,GAAe,CACZ99D,gBACA74G,OAAQ+qE,EACR3jE,SAA+C+gK,KAAW5xH,CAAC,EAC9D,CAAC,EACW,CAAC,EACX,EAEV6sB,EACG3zC,MAACs2F,GAAY,CACT3qD,KAAK,UACLgI,YACA0gD,WAAYwH,EACZlkH,SAAUgsC,EACb,EAEA5I,SAAkB,SAEtBmhF,GAAyB,CACtBxB,mBAAkB,GAClBp/C,UACAt/C,OAAQA,IAAMi/F,EAA2B,EAAK,EAC9C5rH,OAAQ2rH,EACX,CAAC,EACU,CAExB,ECzJMusD,GAAwEA,CAAC,CAAEjsG,UAAS/sE,WAAU,IAAM,CACtG,KAAM,CAAColE,EAAWoC,CAAY,EAAI3mD,WAAgC,IAAI,EAChEyF,EAAoBK,KAC1BnG,YAAU,IAAM,CACZ,eAAeiD,GAAW,CACtB+jD,EAAa,IAAI,EACbhzD,MAAI,MAAM4sD,GAA+B,CAAE,GAAG2L,EAAS/sE,YAAW,EACtEwnE,EAAahzD,CAAC,CAClB,CAESiP,GAAA,EACV,CAACspD,EAAS/sE,CAAS,CAAC,EAEjBo1C,QAAe,MAAO3rC,GAAyC,CAC5D27D,GAKLoC,EAAa,MAAMpG,GAA+B,CAAE,GAAG2L,EAAS/sE,WAAW,EAAC,GAGhF,OAAKolE,EAIA2H,EAAQ1K,yBA0BR0lD,GAAY,CACTzhG,oBACA82C,KAAK,kBACLgI,YACAh8D,SAAUgsC,EACb,QA7BI4qG,GAAuB,CACpBhgJ,YACA8B,MAAOsjE,EACP7F,gBAAYwoD,GAAY,CAAC3qD,KAAK,kBAAkBgI,UAAW,GAAK,EAAE/7D,SACjEA,CAACvH,EAAOu9F,EAAiBkoC,IACtB9tG,OAAChyB,EAAM6yB,SAAQ,CAAAjxB,SAAA,CACXooB,MAAC+uH,GAA6B,CAC1BnhD,kBACAkoC,uBACAkZ,eAAe,YAClB,EACDhvH,MAACs2F,GAAY,CACTzhG,oBACA82C,KAAK,kBACLgI,UAAWtjE,EACXsH,SAAUgsC,EACb,CAAC,GAXeiqD,EAAgB1/F,EAYrB,EAEC,EAxBtB8xB,MAAC+a,EAAgB,EAAE,CAoClC,ECvDA,SAASosI,GACLh5I,EACAi5I,EACoC,CAC7B,OACHj5I,OAAQA,EAAS,CAACA,CAAM,EAAI58B,OAC5Bi2K,wBAAyB,GACzBzsD,gBAAiB,GACjBhrH,WAAY,CAAE,EACds3K,eAAgBD,EAExB,CAEA,MAAMK,GAA8CA,CAAC,CAAEl5K,YAAW4/B,SAAQi5I,oBAAmB,IAAM,CACzFh+D,QAAgB7vF,UAAQ,IACnB4tJ,GAAmBh5I,EAAQi5I,CAAkB,EACrD,CAACj5I,EAAQi5I,CAAkB,CAAC,EAEzB,CAAC9rG,EAASo9F,CAAU,EAAItpJ,WAASg6F,CAAa,EAEpD/wF,GAAmB,IAAM,CACrBqgJ,EAAWtvD,CAAa,GACzB,CAACA,CAAa,CAAC,EAElB,KAAM,CAAC4R,EAAyBC,CAA0B,EAAI7rG,WAAS,EAAK,EAE5E,cACI0Q,WAAA,CAAAloB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SACLwvK,GACGpnJ,MAAC+M,GAAiB,CACdC,gBAAgB,iBAChBC,YAAavzB,GACbvS,MAAOgnC,EACPjB,aAAe/lC,GAAU,aAAaoH,qBAA6BpH,EAAOknC,YAAY,IACtFjB,cAAe,CAAC1zB,GAAe2rF,QAAS3rF,GAAe4rF,QAAQ,EAClE,EAEDtlE,MAAC+M,GAAiB,CACdC,gBAAgB,iBAChBC,YAAavzB,GACbvS,MAAOgnC,EACPjB,gBAAyB,aAAa3+B,cAAsBpH,EAAQ,IAAMA,EAAMknC,YAAgB,OAChGf,cAAa,GAChB,EAGJM,UAAUL,MAAK,CAAA31B,UACX,CAACwvK,SACGruG,GAAW,CACRphE,YAAiB+gK,EAAW,CAAE,GAAGp9F,EAASy/C,gBAAiBvnH,EAAEgf,OAAOrd,QAAS,EAC7EA,QAASmmE,EAAQy/C,gBAAgBnjH,eACjCgwB,EAAA,CAAA15B,GAAA,0BAAqC,EAC5B,EAEjB8xB,MAAC4F,EAAM,CAACrT,QAASA,IAAM0oG,EAA2B,EAAI,EAAGl6F,KAAMk7F,GAAer6F,MAAM,WAAUhqB,eAC1FgwB,EAAA,CAAA15B,GAAA,oBAA+B,EAC3B,CAAC,EACI,EACjB8xB,MAACknJ,GAAe,CACZ99D,gBACA74G,OAAQ+qE,EACR3jE,SAAuD+gK,KAAW5xH,CAAC,EACtE,CAAC,EACK,EAEX9mB,MAACunJ,GAA0B,CAACh5K,YAAsB+sE,UAAmB,EACrEt7C,MAACk8F,GAAyB,CACtB5gD,QAAS,CAAE,GAAGA,EAAS/sE,WAAU,EACjCytB,OAAQA,IAAMi/F,EAA2B,EAAK,EAC9C5rH,OAAQ2rH,EACX,CAAC,EACJ,CAEV,ECnEM0sD,GAA8CA,CAAC,CAAEn5K,YAAWk1E,MAAKkkG,UAASx5I,QAAO,IAAM,CACzF,MAAMh/B,EAAkB8jB,EAA+BzlB,KAAM2D,OAAOhC,eAAe,EAE/Ew4K,IACOlkG,GAAA,UAGX,MAAMmkG,EACF,CAACz5I,GAAUA,IAAW,MAChB,KACClkC,OAAOC,KAAKwP,EAAc,EAAE8C,KAAY9R,KAAE2jC,gBAAkBF,EAAOE,aAAa,EAErFszC,EAAmBpoD,EACrB,qBAAM,OACF,CACIrrB,GAAI,YACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,iBAA4B,EAClC0gC,OAAqB5O,SAACynJ,GAAa,IAAKz9K,EAAU,GAEtD,CACIkE,GAAI,kBACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,yBAAoC,EAC1C0gC,OAAqB5O,SAACynJ,GAAa,IAAKz9K,EAASo9K,mBAAkB,GAAE,EACrEvtE,mBAAmB1qG,IAAgBX,QAAhBW,cAAuBwkE,WAE9C,CACIzlE,GAAI,oBACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,oBAA+B,EACrC0gC,OAAqB5O,SAACsnJ,GAAgB,IAAKt9K,EAAU,GAEzD,CACIkE,GAAI,0BACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,4BAAuC,EAC7C0gC,OAAqB5O,SAACsnJ,GAAgB,IAAKt9K,EAASo9K,mBAAkB,GAAE,EACxEvtE,mBAAmB1qG,IAAgBX,QAAhBW,cAAuB04K,iBAC7C,GAEL,CAAC14K,CAAe,CACpB,EAEA,cACI2wB,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAW,aAAI,EAEvC7R,MAACihD,GAAI,CAACC,YAAauC,EAAI7rE,SAClB+pE,EAAKl3E,IAAKg5E,SACN3C,GAAO,CAEJ5yE,GAAIu1E,EAAIv1E,GACRkX,GAAI,aAAa7W,KAAak1E,EAAIv1E,KAClCoS,KAAMmjE,EAAInjE,KACVisB,wBAAyBk3C,EAAIo2B,kBAAkBjiG,SAC9C6rE,EAAI70C,OAAO,CAAErgC,UAAW,CAACA,EAAW4/B,OAAQy5I,EAAgB,GALxDnkG,EAAIv1E,EAMJ,CACZ,EACC,CAAC,EACT,CAEV,EClEM45K,GAAkEA,CAAC,CACrE3gL,QACA6jH,iBACA3yC,aACAhpE,SACA+sB,UACA5F,UACA84H,eAAe,EACnB,IAAM,CACF,MAAMC,EAAyEv3I,GAAA,CAC5DgzG,EAAA,CAAE,GAAG7jH,EAAO,GAAG6Q,EAAS,GAG3C,GAAI,CAACqgE,EACM,YAGX,MAAMxoE,EAAyBwoE,EAAWlqC,OAAO1jC,IAAgB0jC,IACtD,CACHjgC,GAAIigC,EACJ7tB,WAAOsnB,EAAK,CAAC15B,GAAI,2BAA2BigC,IAAiB,GAEpE,EAED,cACKm8E,GAAY,CAAC9zF,UAAkB4F,UAAkBq3B,UAAWpkD,EAAOuI,SAAA,CAChEooB,MAAC2qF,GAAc,CACXj9G,KAAM2qE,EAAWjE,OACjB9qC,YAAO1B,EAAA,CAAA15B,GAAA,cAAyB,EAChC/G,MAAOA,EAAMitE,OACbz8D,YAAiB43I,EAAmB,CAAEn7E,OAAQttB,EAAEr8C,IAAKq8C,GAAMA,EAAE54C,EAAE,EAAG,EACrE,EAED8xB,MAAC2qF,GAAc,CACXj9G,KAAM2qE,EAAW0gC,MACjBzvE,YAAO1B,EAAA,CAAA15B,GAAA,QAAmB,EAC1B/G,MAAOA,EAAM4xG,MACbphG,YAAiB43I,EAAmB,CAAEx2C,MAAOjyD,EAAEr8C,IAAKq8C,GAAMA,EAAE54C,EAAE,EAAG,CACpE,GAEA,CAACohJ,SACG3kC,GAAc,CACXj9G,KAAMmC,EACNy5B,YAAO1B,EAAA,CAAA15B,GAAA,SAAoB,EAC3B/G,MAAOA,EAAM0I,SACb8H,YAAiB43I,EAAmB,CAAE1/I,SAAUi3C,EAAEr8C,IAAKq8C,GAAMA,EAAE54C,EAAE,EAAG,EACvE,CACJ,EACS,CAEtB,ECzDO,SAAS65K,IAAmE,CACxE,OACHhvE,MAAO,CAAE,EACT3kC,OAAQ,CAAE,EACVvkE,SAAU,CAAE,EACZ25G,WAAY,GACZuR,gBAAiB,GAEzB,CCcA,MAAMitD,GAAoFA,CAAC,CAAEz5K,YAAWo9D,OAAMx9B,QAAO,IAAM,CACvH,MAAMtZ,EAAoBF,KACpBtnB,EAAYinB,GAAaO,CAAiB,EAC1C+iE,EAAU3kE,EAAazlB,GAAkBA,EAAM2D,OAAOhC,gBAAgBR,QAAQ,EAE9E,CAACihJ,EAAcC,CAAe,EAAIzgI,WAAS,EAAK,EAChD,CAAC7e,EAAQq7G,CAAS,EAAI7zF,GAA4CgwJ,GAAoC,GACtGj4B,EAAiB5mC,GAAoB34G,EAAQw3K,EAAkC,EAE/E,CAACvnB,EAAkBC,CAAmB,EAAIrxI,WAAS,EAAK,EACxD,CAACipD,CAAU,EAAIlmD,EAAc,IAAMq3H,GAA+Bj7I,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC/F,CAAC+wJ,EAAoBoB,EAAyB5uI,EAAS,EAAIJ,GAC7D,SAAY,CACF7hB,QAAWs+B,EACX,CAACA,CAAM,EACP,CAAC10B,GAAwBmjF,SAAUnjF,GAAwB4rF,QAAS5rF,GAAwB6rF,QAAQ,EAEtGk7D,GACS92J,OAAK+P,GAAwBgsF,QAAQ,EAE5CwiF,QAAa,MAAM1+B,GAAyB,CAC9Ch7I,YACA84K,eAAgB17G,IAAS,QACzBiF,mBAAoBrgE,EAAOwoG,MAC3BmvE,wBAAyB33K,EAAO6jE,OAChCvkE,WACA25G,WAAYj5G,EAAOi5G,WACtB,EACD,OAAI79C,IAAS,YACE8mC,OAAK,CAAC/zD,EAAGC,IAAM,SAChBwpI,SAAWvwF,mBAASp7E,KAAM9R,GAAMA,EAAEwE,WAAawvC,EAAEkzD,mBAAtCha,cAAwD2Y,gBACnE63E,GAAWxwF,mBAASp7E,KAAM9R,GAAMA,EAAEwE,WAAayvC,EAAEizD,mBAAtCha,cAAwD2Y,gBACzE,GAAI43E,GAAYC,EAAU,CAClBC,MAAQ,IAAIx9K,KAAKs9K,CAAQ,EACzBG,EAAQ,IAAIz9K,KAAKu9K,CAAQ,EAC7B,OAAOE,EAAMC,UAAYF,EAAME,QAAQ,MAEnCJ,UAAiB,GACjBC,EAAiB,EACd,CACX,CACH,EAEEH,GAEX,CAAC13K,EAAQo7D,EAAMx9B,EAAQypD,EAAS4oE,CAAgB,EAChD,IACJ,EAEM78G,EAA+D3rC,GAAA,CACjE0oJ,EAA6B1oJ,KAAQG,YAAY2uC,CAAE,CAAC,GAGlDo+G,EAAgBtsI,KAEtB,cACIkH,WAAA,CAAAloB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SAAA,CACNooB,MAAC+M,GAAiB,CACdC,gBAAgB,0BAChBC,YAAaxzB,GACb0zB,cACIw+B,IAAS,QACH,CAAClyD,GAAwBmjF,SAAUnjF,GAAwBgsF,QAAQ,EACnE,CAAChsF,GAAwBgsF,QAAQ,EAE3Ct+F,MAAOgnC,EACPjB,gBAAyBg4H,EAAc,CAAE/2H,OAAQhnC,iBAAOknC,aAAY,CAAG,EACvEf,cAAeq+B,IAAS,QAC3B,EAEA/9B,UAAUL,MAAK,CAAA31B,SAAA,CACZooB,MAAC+4C,GAAW,CAACphE,SAAUA,IAAM8oJ,EAAoB,CAACD,CAAgB,EAAGrrJ,QAASqrJ,EAAiB5oJ,eAC3FgwB,EAAA,CAAA15B,GAAA,4BAAuC,EAC9B,EACb8xB,MAAC8nJ,GAAuB,CACpBtxJ,QAASA,IAAMo1F,EAAUm8D,IAAoC,EAC7D14K,OAAQugJ,EACRxzH,QAASA,IAAMyzH,EAAgB,EAAK,EACpCx3E,aACAlxE,MAAOoJ,EACPy6G,eAAgBY,EAChB0jC,aAAY,GACf,EAEDtvH,MAACspF,GAAa,CACVE,WAAYj5G,EAAOi5G,WACnBC,sBAA2BmC,EAAU,CAAE,GAAGr7G,EAAQi5G,WAAY1iE,EAAG,EACjEh1B,YACAy3F,cAAeA,IAAMsmC,EAAiB/oG,GAAM,CAACA,CAAC,EAC9Cxa,SAAUwjH,EACb,CAAC,EACW,CAAC,EACX,EAEVwP,EACGt3H,OAAAlI,WAAA,CAAAloB,UACK+zD,IAAS,kBACL0zF,GAAqB,CAClBxqI,kBAAmBxnB,EAAYwnB,EAAoBtjB,OACnD+tJ,qBACA3nJ,SAAUgsC,EACVm7G,SAAU,EACb,GAEJnzF,IAAS,kBACL4iF,GAAuB,CACpBhgJ,YACA8B,MAAOivJ,EACPxxF,gBACKuxF,GAAqB,CAACP,SAAU,GAAOQ,mBAAoB,CAAG,EAAC3nJ,SAAUA,IAAM,CAAC,EAAI,EACxFC,SACAA,CAACvH,EAAOu9F,EAAiBkoC,IACtB9tG,OAAChyB,EAAM6yB,SAAQ,CAAAjxB,SAAA,CACXooB,MAAC+uH,GAA6B,CAC1BnhD,kBACAkoC,uBACAkZ,eAAe,sBAClB,EACDhvH,MAACq/H,GAAqB,CAClBP,SAAU,GACVjqI,kBAAmBxnB,EAAYwnB,EAAoBtjB,OACnD+tJ,mBAAoBjvJ,EACpBsH,SAAUgsC,EACb,CAAC,GAXeiqD,EAAgB1/F,EAYrB,EAEC,CAC5B,CACH,GAEF8xB,MAAC+a,IAAkB,CACtB,EACH,CAEV,EC9IMytI,GAAgEA,CAAC,CAAEj6K,YAAW6iG,QAAOjjE,QAAO,IAAM,CACpG,MAAMh/B,EAAkB8jB,EAA+BzlB,KAAM2D,OAAOhC,eAAe,EAC7Es0E,EAAmC2tB,EACnC53E,EAAiBC,KAEjBs6I,EACF,CAAC5lI,GAAUA,IAAW,MAChB,KACClkC,OAAOC,KAAKuP,EAAuB,EAAE+C,KAC3B9R,KAAE2jC,gBAAkBF,EAAOE,aACtC,EAEJszC,EAAmBpoD,EACrB,mBAAM,OACF,CACIrrB,GAAI,OACJlD,IAAK,sBACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,0BAAqC,EAC3C0gC,OAAqB5O,SAACgoJ,GAAgC,CAACr8G,KAAK,SAAQ,GAAK3hE,EAAU,GAEvF,CACIkE,GAAI,QACJlD,IAAK,4BACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,WAAsB,EAC5B0gC,OAAqB5O,SAACgoJ,GAAgC,CAACr8G,KAAK,QAAO,GAAK3hE,EAAU,EAClF6vG,mBAAmB1qG,IAAgBX,QAAhBW,cAAuBmwJ,oBAE9C,CACIpxJ,GAAI,WACJlD,IAAK,+BACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,kBAA6B,EACnC0gC,OAAqB5O,SAACgoJ,GAAgC,CAACr8G,KAAK,WAAU,GAAK3hE,EAAU,EACrF6vG,kBAAmBrgF,EAAehO,iBACrC,IAEL,CAACrc,EAAiBqqB,CAAc,CACpC,EAEA,cACIsG,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAqB,uBAAI,EAEjD7R,MAACihD,GAAI,CAACC,YAAauC,EAAI7rE,SAClB+pE,EAAKl3E,IAAKg5E,SACN3C,GAAO,CAEJ5yE,GAAIu1E,EAAIv1E,GACRkX,GAAI,aAAa7W,KAAak1E,EAAIz4E,MAClCsV,KAAMmjE,EAAInjE,KACVisB,wBAAyBk3C,EAAIo2B,kBAAkBjiG,SAC9C6rE,EAAI70C,OAAO,CAAErgC,UAAW,CAACA,EAAW4/B,OAAQ4lI,EAAc,GALtDtwF,EAAIv1E,EAMJ,CACZ,EACC,CAAC,EACT,CAEV,2GCnEMu6K,GAAwCA,CAAC,CAAEthL,QAAOuhL,iBAAiB,CAAE,IAAM,CAI7E,MAAMC,EAAYC,GAAmBzhL,EAAM0hL,YAAa1hL,EAAM2hL,cAAeJ,CAAc,EACrFK,EAAQC,GAAML,EAAUM,MAAON,EAAUO,IAAM,CAAC,EAEtD,cACI,OAAKvyK,UAAW0pB,GAAMwuH,WAAWj3I,UAC7BooB,MAAA,OAAKrpB,UAAW0pB,GAAMqb,KAAK9jC,eACvBgwB,EAAA,CAAA15B,GAAA,2CAAAE,OAAA,CAAA4uC,EAGS71C,EAAMgiL,iBAAiBF,MAAQ,EAACz/G,EAAM3zB,KAAKx/B,IAAIlP,EAAMgiL,iBAAiBD,IAAM,EAAG/hL,EAAMiiL,YAAY,EAACx/F,EAC/FziF,EAAMiiL,YAAY,EAAAv+H,WAAA,CAAA7N,EAF1Bhd,MAGQ,YAAC,EAEN,EACN,EAELgI,OAAA,OAAKrxB,UAAW0pB,GAAM0oJ,MAAMnxK,SAAA,CACxBooB,MAAC4F,EAAM,CAACrT,QAAU/e,GAAMrM,EAAMm/D,QAAQ,CAAC,EAAE1uD,SAAC,KAAgB,EAC1DooB,MAAC4F,EAAM,CAACrT,QAAgBprB,KAAMm/D,QAAQn/D,EAAM0hL,YAAc,CAAC,EAAEjxK,SAAC,IAAY,EACzEmxK,EAAMt+K,IAAKxC,SACP29B,EAAM,CACHrT,QAAU/e,GAAMrM,EAAMm/D,QAAQr+D,CAAC,EAE/B0O,UAAW1O,IAAMd,EAAM0hL,YAAcxoJ,GAAMmM,OAASj7B,OAAUqG,SAC7D3P,EAAI,CAFAA,GAGD,CACX,QACA29B,EAAM,CAACrT,QAAgBprB,KAAMm/D,QAAQn/D,EAAM0hL,YAAc,CAAC,EAAEjxK,SAAC,IAAY,EAC1EooB,MAAC4F,EAAM,CAACrT,QAAgBprB,KAAMm/D,QAAQn/D,EAAM2hL,cAAgB,CAAC,EAAElxK,SAAC,KAAgB,CAAC,EAChF,CAAC,EACL,CAEb,ECjCgBgxK,YAAmBC,EAAqBC,EAAuBJ,EAA+B,CAC1G,MAAMriH,EAAWyiH,EAAgB,EACjC,GAAIA,EAAgBJ,EACT,OACHO,MAAO,EACPC,IAAK7iH,GAITkC,MAAYsgH,GAAeH,EAAiB,GAAK,EACjDW,EAAUR,GAAeH,EAAiB,GAAK,EAEnD,OAAIngH,EAAY,IACZ8gH,GAAW9gH,EAAY,GACXA,EAAA,GAGZ8gH,EAAUP,EAAgB,IAC1BvgH,GAAa8gH,EAAUhjH,EACbA,KAGP,CACH4iH,MAAO1gH,EACP2gH,IAAKG,EAEb,CAEgBC,YAAcC,EAAoBjhH,EAAmB,GAAqB,CACtF,GAAIA,EAAW,EACL,UAAI7rD,MAAM,qBAAqB6rD,GAAU,EAGnD,KAAM,CAACugH,EAAaW,CAAc,EAAIp6J,WAAS,CAAC,EAC1Cq6J,EAAiB56J,cACnB,UAA6B,CACzB,IAAI66J,EAAiBH,EACjBI,EAAc,GAEkBD,GAAmB,OAClCA,EAAA,EACHC,EAAA,IAGlB,MAAMb,EAAgBxgH,EAAWzyB,KAAK4yB,KAAKihH,EAAiBphH,CAAQ,EAAI,EAClEshH,EAA6BxjH,GAAA,CAC3BA,EAAO,IACAA,EAAA,GAEP0iH,IAAkB,EACX1iH,EAAA,EACAA,EAAO0iH,EAAgB,IAC9B1iH,EAAO0iH,EAAgB,GAG3BU,EAAepjH,CAAI,GAGhB,OACHyiH,cACAvgH,WACA6gH,iBAAkB7gH,EACZ,CAAE2gH,MAAOJ,EAAcvgH,EAAU4gH,IAAKrzI,KAAKx/B,KAAKwyK,EAAc,GAAKvgH,EAAW,EAAGohH,CAAc,GAC/F,CAAET,MAAO,EAAGC,IAAKQ,EAAiB,CAAE,EAC1CZ,gBACAM,aAAcM,EACdpjH,QAASsjH,EACTD,cAGR,GAACJ,EAAWjhH,EAAUugH,CAAW,CACrC,EAEA,OAAOtvJ,UAAQkwJ,EAAgB,CAACA,CAAc,CAAC,CAQnD,CAEgBI,YAAch7B,EAA6B9mJ,EAAY,CAC5DA,SAAIklD,MAAM4hG,EAAWs6B,iBAAiBF,MAAOp6B,EAAWs6B,iBAAiBD,IAAM,CAAC,CAC3F,CCvFO,MAAMY,GAAkCA,CAAC,CAAEnxF,UAAWoxF,CAAW,IAAM,CAC1E,MAAMx7K,EAAY0kB,EAAazlB,UAAkBA,WAAMD,OAAOT,gBAAbU,cAA4BU,GAAE,EACzE,CAAC0B,CAAQ,EAAIuiB,EAAc,SAAa5jB,EAAY,MAAM0kF,GAAe1kF,CAAS,EAAI,KAAO,CAACA,CAAS,EAAG,IAAI,EAC9G2mF,EAAU37D,UAAQ,IAAM3pB,iBAAU4M,KAAM9R,GAAMA,EAAEwD,IAAM67K,GAAa,CAACn6K,EAAUm6K,CAAU,CAAC,EACzF,CAACC,CAAQ,EAAI73J,EACf,SAAa5jB,EAAY,MAAMglF,GAAmBhlF,EAAWw7K,CAAU,EAAI,KAC3E,CAACx7K,CAAS,EACV,IACJ,EACM,CAACs6K,EAAaW,CAAc,EAAIp6J,WAAS,CAAC,EAC1C66J,EAAkB1wJ,UAAQ,KACrB,CACHsvJ,cACAvgH,SAAU,GACV8gH,cAAcY,iBAAUr8K,aAAc,EACtCm7K,cAAekB,WAAUr8K,YAAaq8K,iBAAUr8K,YAAa,GAAK,EAClE24D,QAA2BF,GAAA,CACnBA,EAAO,GAAKA,GAAQ4jH,EAAUr8K,WAAa,IAC3C67K,EAAepjH,CAAI,CAE3B,EACAujH,YAAa,GACbR,iBAAkB,CACdF,OAAQJ,EAAc,GAAK,GAC3BK,IAAKL,EAAc,GAAK,CAC5B,IAEL,CAACA,EAAamB,iBAAUr8K,UAAU,CAAC,EAClC,OAACunF,GAAW,CAAC80F,EAAiBhqJ,MAAC+a,EAAgB,EAAE,SAEjDjb,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAOutE,EAAQ50E,KAAO,EAEvC0nB,OAACga,GAAW,CAAApqC,SACRooB,CAACgiB,SAAYK,YAAW,CAACj9B,GAAG,WAAUxN,eAClCgwB,EAAA,CAAA15B,GAAA,eAA0B,EACL,EACxB8zC,SAAYI,KAAI,CAAAxqC,SAAEs9E,EAAQ50E,KAAuB,CAAC,EAC1C,EACb0f,MAAA,SAAApoB,SAAQs9E,EAAQrpD,YAAmB,EAEnC7L,MAACihD,GAAI,CAACC,YAAa,WAAWtpE,gBACzBgpE,GAAG,CAACtgE,KAAK,WAAWpS,GAAG,WAAU0J,UAC9BooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,sBAAAE,OAAA,CAAA4uC,EAAwBgtI,EAASr8K,UAAU,EAAQ,CAChD,GACNq8K,EAASp6K,SAASnF,IAAiBy/K,UAE3BlmI,GAAU,CAAApsC,SAAA,CACPooB,MAACmpB,GAAW,CAACpV,MAAM,MAAMuV,KAAI,GAACF,cAASxhB,EAAA,CAAA15B,GAAA,cAAyB,EAAE0J,SAC7DsyK,EAAQC,gBACA,EACbnqJ,MAACmpB,GAAW,CAACpV,MAAM,MAAMuV,KAAI,GAACF,cAASxhB,EAAA,CAAA15B,GAAA,QAAmB,EAAE0J,SACvDsyK,EAAQE,iBACA,EACbpqJ,MAACmpB,GAAW,CAACpV,MAAM,MAAMuV,KAAI,GAACF,cAASxhB,EAAA,CAAA15B,GAAA,OAAkB,EAAE0J,eACtD+jD,GAAe,CAACx0D,MAAO+iL,EAAQ5/K,KAAO,EAC9B,EACb01B,MAACmpB,GAAW,CAACpV,MAAM,MAAMuV,KAAI,GAACF,cAASxhB,EAAA,CAAA15B,GAAA,OAAkB,EAAE0J,SACtDsyK,EAAQ7jE,oBACA,CAAC,EACN,CAEnB,EACDrmF,MAACyoJ,GAAU,CAACthL,MAAO8iL,EAAkB,CAAC,EACrC,EACH,CAAC,EACT,CAEV,kCCpEMI,GAAoDA,IAAM,CAC5D,MAAMvzJ,EAAUC,KACVxoB,EAAY0kB,EAAazlB,UAAkBA,WAAMD,OAAOT,gBAAbU,cAA4BU,GAAE,EACzE,CAAC0B,CAAQ,EAAIuiB,EAAc,SAAa5jB,EAAY,MAAM0kF,GAAe1kF,CAAS,EAAI,KAAO,CAACA,CAAS,EAAG,IAAI,EAC9GgkB,EAAiComE,GAAA,CAC3BjvF,OAAK,aAAa6E,cAAsBoqF,GAAW,GAEzDsxF,EAAkB,CACpBpB,YAAa,EACbvgH,SAAU,GACV8gH,aAAc,IACdN,cAAe,GACfxiH,QAASA,IAAM,KACfqjH,YAAa,GACbR,iBAAkB,CACdF,MAAO,EACPC,IAAK,EACT,GAEJ,OAAKt5K,SAEDkwB,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAmB,qBAAI,EAE9CjiC,EACIW,UAAc7F,EAAEo6C,OAAO,EACvBr6C,IAAiByqF,UAETlxC,GAAU,CAAkBrtC,UAAW0pB,GAAM0hB,KAAMxvB,QAASA,IAAMA,EAAQ2iE,EAAQhnF,EAAE,EAAE0J,SAAA,CACnFooB,MAAC+oB,GAAa,CAAC3Y,IAAK8kD,EAAQC,SAAW,EACvCn1D,MAACmpB,GAAW,CAACpV,MAAM,MAAMuV,KAAI,GAACF,cAASxhB,EAAA,CAAA15B,GAAA,QAAmB,EAAE0J,SACvDs9E,EAAQ50E,KACA,EACb0f,MAACmpB,GAAW,CAACpV,MAAM,MAAMuV,KAAI,GAACF,cAASxhB,EAAA,CAAA15B,GAAA,cAAyB,EAAE0J,SAC7Ds9E,EAAQrpD,YACA,EACb7D,OAACmhB,GAAW,CAACpV,MAAM,MAAMuV,KAAI,GAACF,cAASxhB,EAAA,CAAA15B,GAAA,WAAsB,EAAE0J,SAAA,CAC1Ds9E,EAAQo1F,gBAAgB,UAAC1iJ,EAAA,CAAA15B,GAAA,UAAqB,CAAC,EACvC,CAAC,GAVDgnF,EAAQhnF,EAWb,CAEnB,EACJ0B,EAAS9H,OAAS,UAAO2gL,GAAU,CAACthL,MAAO8iL,EAAkB,CAAC,EACjE,EAxBgBjqJ,MAAC+a,IAAkB,CA0B7C,ksBCtBMwvI,GAAoDA,CAAC,CACvD78K,OACAk0E,YACAv6C,OACAmjJ,SACApuJ,UACA4uF,iBACAzjF,WACAC,eAAeD,EACfE,qBAAqB,UACrBC,oBAAoB,WACpBC,0BAAoBC,EAAA,CAAA15B,GAAA,UAAqB,EACzC25B,yBAAmBD,EAAA,CAAA15B,GAAA,SAAoB,CAC3C,IAAM,CACF,KAAM,CAACu8K,EAAUC,CAAW,EAAIt7J,WAAkB,EAAK,EACjD,CAACu7J,EAASC,CAAU,EAAIx7J,WAAkB,EAAK,EAC/C,CAACy7J,EAAWC,CAAY,EAAI17J,WAAkB,EAAK,EACnD,CAAC27J,EAAWC,CAAY,EAAI57J,WAAuC1hB,CAAI,EACvE,CAACipC,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EAE1CL,YAAU,IAAM,CACZ,GAAI,CAACg8J,EACDC,EAAat9K,CAAI,MACd,CACG8wC,QAAWusI,EAAUtgL,IAAWC,GAAA,CAClC,MAAMrC,EAAOqF,EAAK8O,QAAYhH,EAAEtH,KAAOxD,EAAEwD,EAAE,EAC3C,OAAI7F,IACKA,EAAKw3C,WAAa,CAACn1C,EAAEm1C,WAAe,CAACx3C,EAAKw3C,WAAan1C,EAAEm1C,WACnDx3C,EAGRqC,EACV,EACDsgL,EAAaxsI,CAAQ,EACzB,EACD,CAAC9wC,CAAI,CAAC,EAETqhB,YAAU,IAAM,CACZ67J,EAAW,CAACD,CAAO,GACpB,CAACI,CAAS,CAAC,EAERtG,QAAelrJ,UAAQ,IAClBprB,GAAQ48K,EAAW,CAAC,MAAM,CAAC,EACnC,CAACA,EAAWr9K,EAAMi9K,EAAS/oG,CAAS,CAAC,EAElC95C,EAAoB,SAAY,CAClC,MAAMywD,EAAqC,GAC3C,IAAI0yF,EAA0B,GAoB1BA,GAnBJF,WACMx6K,OAAc7F,KAAEm1C,WACjBz3C,QAAesC,GAAA,CACZ,GAAIA,EAAEwgL,aAAexgL,EAAEygL,eAAiBzgL,EAAE0gL,YAAa,CAC/C1gL,EAAEygL,cAAgBzgL,EAAE0gL,aACN1hL,OAAKgB,EAAE4V,KAAO;AAAA,EAAQ+a,EAAAwW,EAAA,mDAAmD,CAAC,EAE5F,MAAMw5I,EAA6B,CAC/BhuK,kBAAmB3S,EAAEwD,GACrBo9K,YAAa1pG,EACbspG,YAAahwH,GAAWxwD,EAAEwgL,WAAW,EACrCC,cAAezgL,EAAEygL,cACjBC,YAAa1gL,EAAE0gL,aAEnB7yF,EAAiB7uF,KAAK2hL,CAAU,OAElB3hL,OAAKgB,EAAE4V,KAAO;AAAA,EAAQ+a,EAAAwW,EAAA,mCAAmC,CAAC,CAC5E,GAEJo5I,EAAcnjL,OAAS,EACvBwzC,EAAUO,MAAM;AAAA,EAAOovI,EAAc1gL,KAAK;AAAA;AAAA,CAAM,EAAG,KAAM,CAAEoM,UAAW0pB,GAAMkrJ,SAAU,MAElF,KACA30I,EAAU,EAAI,EACd,MAAM+9C,GAA6B4D,CAAgB,EACzCt9C,gBAAQrT,EAAA,CAAA15B,GAAA,4BAAwC,EAAC,OAC7D,CACY2tC,cAAMjU,EAAA,CAAA15B,GAAA,uBAAmC,EAAC,SAC9C,CACCs8K,IACPgB,EAAe,EAAK,EACpB50I,EAAU,EAAK,EACf9hC,EAAesnB,CAAO,CAC1B,CACJ,EAGE2L,EAAoBA,IAAM,CAC5BijJ,EAAat9K,CAAI,EACjB89K,EAAe,EAAK,EACpB12K,EAAesnB,CAAO,GAGpBqnB,EAAaA,IAAM,CACrB7M,EAAU,EAAK,GAGb40I,EAAkBf,GAAa,CACjCC,EAAYD,CAAQ,GAGlBgB,EAAqBZ,GAAc,CACrCC,EAAaD,CAAS,GAGpBa,EAAuDnhI,GAAA,CACzD,MAAMohI,EAAcj+K,EAAK8O,QAAY9R,EAAEwD,KAAOq8C,EAAIr8C,EAAE,EACpD88G,EAAe2gE,EAAa,EAAK,GAG/BC,EAAoBA,CAACrhI,EAAiCyQ,IAAsB,CAC9E4vH,EAAW,CAACD,CAAO,EACbkB,QAAevtI,GAAaysI,EAAYxgI,EAAK,CAAE,GAAGA,EAAK2gI,YAAalwH,EAAO,EACjFgwH,EAAaa,CAAY,GAGvBnqI,EAAgBA,CAAC6I,EAAiCvyC,IAAiD,CACrG4yK,EAAW,CAACD,CAAO,EACf3yK,EAAQmzK,eACJ5gI,EAAI6gI,aAAe7gI,EAAI6gI,YAAcpzK,EAAQmzK,gBAC7CnzK,EAAQozK,YAAcpzK,EAAQmzK,eAGhC3sI,QAAWF,GAAaysI,EAAYxgI,EAAK,CAAE,GAAGA,EAAK,GAAGvyC,EAAS,EACrEgzK,EAAaxsI,CAAQ,GAGnB+wG,EAAiCma,GAAA,CACnC,MAAMnrH,EAAU7wC,EAAK8O,KAAY9R,KAAEwD,KAAOw7J,CAAM,EAChD1+C,EAAezsE,EAAU,EAAI,EAC7BitI,EAAe,EAAK,GAGxB,cACKzvJ,EAAK,CAACzb,KAAK,WAAWjR,OAAQg4B,EAAM1wB,UAAW0pB,GAAM2E,QAAShJ,OAAQwL,EAAcrL,OAAQsnB,EAAW7rC,SAAA,CACpGowB,OAAC9G,GAAW,CAAAtpB,SAAA,CACRooB,MAACc,EAAe,CAAC5nB,KAAK,KAAK6nB,KAAM+qJ,GAAiB,EAClD9jJ,OAAA,OAAKrxB,UAAW0pB,GAAMsmB,UAAU/uC,SAAA,CAC5BooB,MAAA4H,EAAA,CAAA15B,GAAA,oCAA+C,EAAC,IAAE0zE,EAAUthE,IAAI,EAC/D,CAAC,EACG,EACb0nB,OAAC5G,EAAS,CAAAxpB,UACNooB,MAAA,OAAKrpB,UAAW0pB,GAAMsmB,UAAU/uC,eAC5BgwB,EAAA,CAAA15B,GAAA,8DAAyE,EACxE,EACL8xB,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAMsmB,UAAWtmB,GAAM0rJ,iBAAiB,EAAEn0K,SAChE6sK,EACIl0K,OAAQ7F,GAAMA,EAAEm1C,SAAS,EACzBp1C,IAAI,CAACC,EAAGyyB,IACL6C,MAAA,OAAiBrpB,UAAW0pB,GAAM2rJ,QAAQp0K,gBAEtC,OAAKjB,UAAW0pB,GAAM4rJ,aAAar0K,UAC/BowB,OAAA,OAAKrxB,UAAW0pB,GAAM6rJ,UAAUt0K,UAC5BowB,OAAA,OAAKrxB,UAAW0pB,GAAM8rJ,KAAKv0K,SAAA,CACtBlN,EAAE4V,KAAK,MAAI5V,EAAE0hH,wBAAwB,EACrC,EACLpsF,MAAC4F,EAAM,CAAChE,MAAM,SAAS1oB,KAAK,QAAQqZ,QAASA,IAAMm5J,EAAgBhhL,CAAC,EAAEkN,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CAAC,EACR,EACL85B,OAAA,OAAKrxB,UAAW0pB,GAAM+rJ,aAAax0K,UAC/BowB,OAAA,QAAApwB,UACIooB,MAAA,QAAMrpB,UAAW0pB,GAAM8rJ,KAAKv0K,SAAEgqE,EAAUthE,KAAW,EAAC,IAAC0f,MAAA4H,EAAA,CAAA15B,GAAA,gBAA2B,CAAC,EAC/E,EACN85B,OAAA,OAAKrxB,UAAW0pB,GAAMgsJ,SAASz0K,UAC3BooB,MAAA,QAAMrpB,UAAW0pB,GAAMisJ,SAAS10K,eAC5BgwB,EAAA,CAAA15B,GAAA,OAAkB,EAChB,EACN8xB,MAACi3G,GAAU,CACPxgI,YAAY,aACZkB,SAAWqjD,GAAS4wH,EAAkBlhL,EAAGswD,CAAI,EAC7C7zD,MAAOuD,EAAEwgL,YAAc,IAAIrgL,KAAKH,EAAEwgL,WAAW,EAAI,KACjDv0K,UAAWY,GAAW8oB,GAAMksJ,YAAa,cAAc,EAC1D,CAAC,EACD,EACLvsJ,MAAA,QAAMrpB,UAAW0pB,GAAM0wB,MAAMn5C,eACzBgwB,EAAA,CAAA15B,GAAA,8CAAyD,EACvD,EACN85B,OAAA,OAAKrxB,UAAW0pB,GAAMmsJ,QAAQ50K,UAC1BowB,OAAA,OAAKrxB,UAAWY,GAAW8oB,GAAMgsJ,QAAQ,EAAEz0K,UACvCooB,MAAA,QAAMrpB,UAAW0pB,GAAMisJ,SAAS10K,eAC5BgwB,EAAA,CAAA15B,GAAA,OAAkB,EAChB,EACN8xB,MAACjqB,GAAK,CACF5O,MAAOuD,EAAEygL,cAAgB5wH,GAAc7vD,EAAEygL,aAAa,EAAI,GAC1D9jL,KAAK,OACLsQ,SACI+pC,KAAch3C,EAAG,CACbygL,cACIsB,EAAgBj6J,OAAOk6J,cAAgB,GAAK,IACnD,EAEL/1K,UAAWY,GAAW8oB,GAAMksJ,YAAa,cAAc,EAC1D,CAAC,EACD,EACLvkJ,OAAA,OAAKrxB,UAAWY,GAAW8oB,GAAMgsJ,QAAQ,EAAEz0K,UACvCooB,MAAA,QAAMrpB,UAAW0pB,GAAMisJ,SAAS10K,eAC5BgwB,EAAA,CAAA15B,GAAA,KAAgB,EACd,EACN8xB,MAACjqB,GAAK,CACF5O,MAAOuD,EAAE0gL,YAAc7wH,GAAc7vD,EAAE0gL,WAAW,EAAI,GACtD/jL,KAAK,OACLsQ,SACI+pC,KAAch3C,EAAG,CACb0gL,YAAauB,EAAcn6J,OAAOk6J,cAAgB,GAAK,IAC1D,EAEL/1K,UAAWY,GAAW8oB,GAAMksJ,YAAa,cAAc,EAC1D,CAAC,EACD,CAAC,EACL,CAAC,EACL,CAAC,EACL,CAAC,EA/DApvJ,CAgEL,CACR,EACJ,EACL6K,OAAA,OAAKrxB,UAAW0pB,GAAMsmB,UAAU/uC,SAAA,CAC3B6yK,EACGziJ,OAAA,OAAKrxB,UAAW0pB,GAAMusJ,QAAQh1K,UAC1BowB,OAAA,OAAKrxB,UAAW0pB,GAAMwsJ,cAAcj1K,UAChCooB,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,iBAA4B,EAC1B,EACN85B,OAACkP,GAAQ,CACL0iC,UAAU,SACVt5D,KAAK,YACLnL,QAAS01K,EACTlzK,SAAWnE,GAAMi4K,EAAkBj4K,EAAEgf,OAAOrd,OAAO,EAAEyC,SACpD,KACDooB,MAAA4H,EAAA,CAAA15B,GAAA,qCAAgD,CAAC,EAC3C,EACV8xB,MAAC4F,EAAM,CAAChE,MAAM,OAAOjrB,UAAW0pB,GAAMysJ,YAAav6J,QAASA,IAAMi5J,EAAe,EAAK,EAAE5zK,eACpFgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CAAC,EACR,EACL8xB,MAAA,OAAApoB,eACK2uJ,GAAoB,CACjBj9H,MAAO,GACP7yB,YAAa4kB,EAAAwW,eAAa,EAC1BnkC,KAAMA,EACD6C,OAAQ7F,GAAM,CAACA,EAAEm1C,YAAcgrI,EAAY,CAACngL,EAAEwgL,YAAc,GAAK,EACjEzgL,IAAWC,GAAA,OACJqiL,MACAriL,EAAE4V,MACD5V,EAAE0hH,2BAA6B,KAC1B,MAAQ1hH,EAAE0hH,yBACV,IACV,MAAMxc,IACFllG,IAAEklG,YAAFllG,cAAa8sB,MAAM1vB,QAAS,EACtB,OAAS4C,EAAEklG,UAAUp4E,MAAM/sB,QAAWmiG,GAAE/oD,WAAW,EAAEt5C,KAAK,IAAI,EAAI,IAClE,GACH,OACH2D,GAAIxD,EAAEwD,GACNoS,KAAMysK,EAAWn9E,EACrB,CACH,EACLzoG,MAAO,GACPwQ,SAAWmvC,GAAMyoG,EAAmBzoG,EAAE54C,EAAE,EAC3C,EACA,CAAC,EACL,EAEL85B,OAACpC,EAAM,CAAChE,MAAM,WAAWjrB,UAAW0pB,GAAMysJ,YAAav6J,QAASA,IAAMi5J,EAAe,EAAI,EAAE5zK,SAAA,CACvFooB,MAACc,EAAe,CAACC,KAAMk6E,GAAS,EAAC,IAACj7E,MAAA4H,EAAA,CAAA15B,GAAA,iBAA4B,CAAC,EAC3D,EAEZ8xB,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAMsmB,SAAS,EAcrC,CAAC,EACL,CAAC,EACC,EACX3e,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAO8F,EAAmBnV,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,SAC1EiwB,CACG,GACPkjJ,EAAUx6K,UAAc7F,EAAEm1C,SAAS,EAAErwC,KAAY9E,KAAEsiL,QAAQ,QACvD/kJ,GAAa,CACVrG,MAAO6F,EACPS,UAAWJ,EACXnU,QAASgjB,EACTxO,kBAAaP,EAAA,CAAA15B,GAAA,mBAA8B,EAC3Ck6B,kBACItI,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,oOAAA28C,WAAA,CAAA7N,EAEIhd,MAAA,OAAK,EAACwpC,EAENxpC,MAAA,OAAK,EAAC4pD,EACN5pD,MAAK,QAAC,EAGH,EACPA,EAAA,WAAK,EACJ+qJ,EACIx6K,OAAQ7F,GAAMA,EAAEm1C,WAAan1C,EAAEsiL,QAAQ,EACvCviL,IAAI,CAACC,EAAGyyB,WACL,OAAAvlB,SAAA,CAAiB,KACVlN,EAAE4V,KAAK,MAAI5V,EAAE0hH,wBAAwB,GADlCjvF,CAEL,CACR,CAAC,EACR,EACLvlB,SACA+vB,EACU,EAEf3H,MAAC4F,EAAM,CAAChE,MAAO6F,EAAoBlV,QAASuV,EAAmBnU,QAASgjB,EAAO/+B,SAC1E+vB,EACG,CACX,EACQ,CAAC,EACX,CAEf,+iBClUMslJ,GAAgDA,CAAC,CACnDC,mBACAC,kBACAvrG,YACAv6C,OACAmjJ,SACAprD,WACAhjG,UACA4uF,iBACAzjF,WACAC,eAAeD,EACfE,qBAAqB,UACrBC,oBAAoB,WACpBC,0BAAoBC,EAAA,CAAA15B,GAAA,OAAkB,EACtC25B,yBAAmBD,EAAA,CAAA15B,GAAA,SAAoB,CAC3C,IAAM,OACF,KAAM,CAACu8K,EAAUC,CAAW,EAAIt7J,WAAS,EAAK,EACxC,CAAC+zH,EAASC,CAAU,EAAIh0H,WAAS,EAAK,EACtC,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAACg+J,EAAgBC,CAAa,EAAIj+J,EAA0B,WAElEL,YAAU,IAAM,CACRo+J,GACAE,EAAcF,CAAe,CACjC,EACD,CAACA,CAAe,CAAC,EAEpB,MAAMrlJ,EAAoB,SAAY,CAClC0jJ,EAAe,EAAK,EACd8B,QAAUJ,EAAiB38K,OAAc7F,KAAEm1C,SAAS,EAAEp1C,IAAWC,KAAEiuF,SAAU,EACnF,GAAI,EAACy0F,WAAgBl/D,YAAa,EAACk/D,WAAgBvlE,SAAS,CAC9ChsE,cAAMjU,EAAA,CAAA15B,GAAA,mDAA+D,EAAC,EAChF,OAEJk1I,EAAW,EAAI,EACf,MAAM9uD,GAAag5F,CAAO,EACrB74K,KAAK,IAAM,CACEwmC,gBAAQrT,EAAA,CAAA15B,GAAA,6BAAyC,EAAC,EAC5D4G,EAAe01K,CAAM,EACrB11K,EAAesnB,CAAO,EACzB,EACA68D,MAAazlF,GAAA,CACAqoC,cAAMjU,EAAA,CAAA15B,GAAA,qCAAiD,EAAC,CACrE,GACAq/K,QAAQ,IAAMnqC,EAAW,EAAK,CAAC,GAGlCr7G,EAAoBA,IAAM,CAC5ByjJ,EAAe,EAAK,EACpB12K,EAAeyyB,CAAQ,EACvBzyB,EAAesnB,CAAO,GAEpBovJ,EAAkBf,GAAa,CACjCC,EAAYD,CAAQ,GAElBiB,EAAuDnhI,GAAA,CACzDygE,EAAezgE,EAAK,EAAK,GAEvBglG,EAAiCma,GAAA,CACnC,MAAMnrH,EAAU2uI,EAAiB1wK,KAAY9R,KAAEwD,KAAOw7J,CAAM,EAC5D1+C,EAAezsE,EAAU,EAAI,GAG3BivI,EAA4Dx1K,GAAA,CAC9D,MAAMwmC,EAAW,CAAE,GAAG4uI,EAAgB,GAAGp1K,GACzCq1K,EAAc7uI,CAAQ,EACtBivI,EAAgBjvI,CAAQ,GAGtBivI,EAAkB,MAAOC,GAAiC,CACxDA,GAAeA,EAAYn/K,WAAam/K,EAAYx/K,KACpD0oC,EAAU,EAAI,EACd,MAAM69C,GAAsBi5F,EAAYn/K,UAAWm/K,EAAYx/K,GAAIw/K,CAAW,EACzEj5K,KAAK,IAAM6mC,EAAUL,QAAQjb,MAAA4H,EAAA,CAAA15B,GAAA,6BAAwC,CAAC,CAAC,EACvE+qF,MAAa39C,KAAUO,MAAM7b,MAAA4H,EAAA,CAAA15B,GAAA,mCAA8C,CAAC,CAAC,EAC7Eq/K,QAAQ,IAAM,CACX32I,EAAU,EAAK,EACf9hC,EAAesqH,CAAQ,EAC1B,EACT,EAGJ,cACKrjG,EAAK,CAACzb,KAAK,WAAWjR,OAAQg4B,EAAM1wB,UAAW0pB,GAAM2E,QAAShJ,OAAQwL,EAAa5vB,SAAA,CAChFowB,OAAC9G,GAAW,CAAAtpB,SAAA,CACRooB,MAACc,EAAe,CAAC5nB,KAAK,KAAK6nB,KAAM+qJ,GAAiB,EAClD9jJ,OAAA,OAAKrxB,UAAW0pB,GAAMsmB,UAAU/uC,SAAA,CAC5BooB,MAAA4H,EAAA,CAAA15B,GAAA,uBAAkC,EAAC,IAAE0zE,EAAUthE,IAAI,EAClD,CAAC,EACG,EACb0nB,OAAC5G,EAAS,CAAAxpB,UACNooB,MAAA,OAAKrpB,UAAW0pB,GAAMsmB,UAAU/uC,eAC5BgwB,EAAA,CAAA15B,GAAA,8FAEO,EACN,EACL8xB,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAMsmB,UAAWtmB,GAAM0rJ,iBAAiB,EAAEn0K,SAChEs1K,EACI38K,OAAQ7F,GAAMA,EAAEm1C,SAAS,EACzBp1C,IAAI,CAACC,EAAGyyB,IACL6K,OAAA,OAAiBrxB,UAAW0pB,GAAM2rJ,QAAQp0K,UAEtCowB,OAAA,OAAKrxB,UAAW0pB,GAAM4rJ,aAAar0K,UAC/BooB,MAAA,OAAKrpB,UAAW0pB,GAAM8rJ,KAAKv0K,SAAElN,EAAE4V,KAAU,EACzC0nB,OAAA,OAAKrxB,UAAW0pB,GAAM+rJ,aAAax0K,UAC/BooB,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gBAA2B,CACzB,GACLxD,EAAEwgL,kBACE7vH,GAAW,CAACl0D,MAAOuD,EAAEwgL,YAAa5vH,cAAe,GAAO,EAEzDt7B,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,cAAyB,EACvB,EAEV8xB,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACzB,EACN8xB,MAAA,QAAApoB,SACKlN,EAAEygL,eAAiBzgL,EAAE0gL,kBAClB,QAAAxzK,SACK2iD,GAAc7vD,EAAEygL,aAAa,EAAI,MAAQ5wH,GAAc7vD,EAAE0gL,WAAW,EACnE,EAENprJ,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,cAAyB,EACvB,EAER,CAAC,EACN,CAAC,EACL,EAEL8xB,MAAC4F,EAAM,CAAChE,MAAM,SAASrP,QAASA,IAAMm5J,EAAgBhhL,CAAC,EAAEkN,eACrDgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CAAC,GAlCHivB,CAmCL,CACR,EACJ,EACL6C,MAAA,OAAKrpB,UAAW0pB,GAAMsmB,UAAU/uC,SAC3B6yK,EACGziJ,OAAA,OAAKrxB,UAAW0pB,GAAMusJ,QAAQh1K,UAC1BowB,OAAA,OAAKrxB,UAAW0pB,GAAMwsJ,cAAcj1K,UAChCooB,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,iBAA4B,EAC1B,EACN8xB,MAAC4F,EAAM,CAAChE,MAAM,OAAOjrB,UAAW0pB,GAAMysJ,YAAav6J,QAASA,IAAMi5J,EAAe,EAAK,EAAE5zK,eACpFgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CAAC,EACR,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMstJ,YAAY/1K,eAC7B2uJ,GAAoB,CACjBj9H,MAAO,GACP7yB,YAAa4kB,EAAAwW,eAAa,EAC1BnkC,KAAMw/K,EACD38K,OAAc7F,GAAA,CAACA,EAAEm1C,WAAan1C,EAAEsiL,QAAQ,EACxCviL,IAAWC,GAAA,OACJqiL,MACAriL,EAAE4V,MACD5V,EAAE0hH,2BAA6B,KAC1B,MAAQ1hH,EAAE0hH,yBACV,IACV,MAAMxc,IACFllG,IAAEklG,YAAFllG,cAAa8sB,MAAM1vB,QAAS,EACtB,OAAS4C,EAAEklG,UAAUp4E,MAAM/sB,OAAWmiG,EAAE/oD,WAAW,EAAEt5C,KAAK,IAAI,EAAI,IAClE,GACH,OACH2D,GAAIxD,EAAEwD,GACNoS,KAAMysK,EAAWn9E,EACrB,CACH,EACLzoG,MAAO,GACPwQ,SAAWmvC,GAAMyoG,EAAmBzoG,EAAE54C,EAAE,EAC3C,EACA,CAAC,EACL,EAEL85B,OAACpC,EAAM,CAAChE,MAAM,WAAWjrB,UAAW0pB,GAAMysJ,YAAav6J,QAASA,IAAMi5J,EAAe,EAAI,EAAE5zK,SAAA,CACvFooB,MAACc,EAAe,CAACC,KAAMk6E,GAAS,EAAC,IAACj7E,MAAA4H,EAAA,CAAA15B,GAAA,iBAA4B,CAAC,EAC3D,EAiBX,EACL85B,OAAA,OAAKrxB,UAAWY,GAAW8oB,GAAMsmB,UAAWtmB,GAAMutJ,qBAAqB,EAAEh2K,SAAA,CACrEooB,MAACogB,GAAM,CAAC/4C,KAAK,OAAOsP,UAAW0pB,GAAMwtJ,aAAaj2K,eAC9CgwB,EAAA,CAAA15B,GAAA,2EAAAE,OAAA,CAAA4uC,GAEaowI,mBAAgB9B,cAAhB8B,cAA6B9sK,IAAI,EAAAuqC,WAAA,CAAA7N,EAA1Chd,MAAmD,YAAC,EACjD,EACH,EACRgI,OAAA,OAAKrxB,UAAW0pB,GAAMytJ,gBAAgBl2K,SAAA,CAClCooB,MAAA4H,EAAA,CAAA15B,GAAA,MAAiB,EACjB8xB,MAAC+4C,GAAW,CACRphE,YAAiB61K,EAAmB,CAAE3lE,QAASr0G,EAAEgf,OAAOrd,QAAS,EACjEA,QAASi4K,iBAAgBvlE,QAAsB,CAAC,EACnD,EACL7/E,OAAA,OAAKrxB,UAAW0pB,GAAMytJ,gBAAgBl2K,SAAA,CAClCooB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EACnB8xB,MAAC+4C,GAAW,CACRphE,YAAiB61K,EAAmB,CAAEt/D,UAAW16G,EAAEgf,OAAOrd,QAAS,EACnEA,QAASi4K,iBAAgBl/D,UAAwB,CAAC,EACrD,CAAC,EACL,CAAC,EACC,EACXlmF,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAO8F,EAAmBnV,QAASwV,EAAmBlD,SAAUs+G,GAAWxsG,EAAO/+B,SACrFiwB,EACG,EACR7H,MAAC4F,EAAM,CAAChE,MAAO6F,EAAoBlV,QAASuV,EAAmBnU,QAASwvH,GAAWxsG,EAAO/+B,SACrF+vB,EACG,CAAC,EACA,CAAC,EACX,CAEf,g+BCpPaomJ,IAAoDA,CAAC,CAC9DC,aACAC,sBACA7xJ,UACA8xJ,oBACAC,kBACAC,cACA74F,gBACJ,IAAM,CACF,KAAM,CAAC84F,EAAYC,CAAa,EAAIl/J,WAAkB,EAAK,EACrDqY,EAAqB,YAErBE,QAAoBC,EAAA,CAAA15B,GAAA,eAA0B,EAGpD,cACI,OACIyI,UAAWY,GAAW8oB,GAAMkuJ,UAAW,CACnC,CAACluJ,GAAMmmB,OAAO,EAAGwnI,iBAAYx+K,KAAM9E,GAAMA,EAAEm1C,WAC3C,CAACxf,GAAMmuJ,WAAW,EAAG,EAACR,WAAYx+K,KAAY9E,KAAEm1C,WAAS,CAC5D,EAAEjoC,UACHowB,OAAA,OAAKrxB,UAAW0pB,GAAMouJ,gBAAgB72K,UAClCooB,MAAA,OAAKrpB,UAAW0pB,GAAMu5E,KAAMrnF,QAAS6J,EAAQxkB,eACxCkpB,EAAe,CAACC,KAAM2tJ,GAAM,EAC5B,EACL1mJ,OAAA,OAAKrxB,UAAW0pB,GAAMsuJ,UAAU/2K,SAAA,CAC5BooB,MAACmM,GAAiB,CACdx1B,UAAW0pB,GAAMuuJ,mBACjB11K,KAAK,SACL/R,MAAO6mL,EAAYz9K,OAAc7F,KAAEm1C,SAAS,EAAE/3C,MACjD,GACAkmL,EAAYz9K,OAAQ7F,GAAMA,EAAEm1C,SAAS,EAAE/3C,OAAS,EAC7Ck4B,MAAA,OAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,oBAA+B,EAC9B,EAEL8xB,MAAA,OAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,mBAA8B,EAC7B,CACR,EACA,CAAC,EACL,EACL85B,OAAA,OAAKrxB,UAAW0pB,GAAMouJ,gBAAgB72K,SAAA,CAClCowB,OAACpC,GAAM,CAAChE,MAAM,WAAWjrB,UAAW0pB,GAAMwuJ,SAAUt8J,QAAS27J,EAAkBt2K,SAAA,CAC3EooB,MAACc,EAAe,CAACC,KAAM+tJ,GAAa,EACpC9uJ,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACzB,CAAC,EACH,EACR85B,OAACpC,GAAM,CAAChE,MAAM,YAAYjrB,UAAW0pB,GAAMwuJ,SAAUt8J,QAAS47J,EAAgBv2K,SAAA,CAC1EooB,MAACc,EAAe,CAACC,KAAMilC,GAAS,EAChChmC,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EAChB,CAAC,EACH,EACR85B,OAACC,GAAa,CACVtxB,UAAW0pB,GAAMwuJ,SACjBjtJ,MAAO6F,EACPS,UAAWkmJ,EACXjmJ,kBAAaP,EAAA,CAAA15B,GAAA,mBAA8B,EAC3Ck6B,kBACItI,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,uEAAkF,EAClF8xB,MAAK,SACJguJ,EACIz9K,OAAc7F,KAAEm1C,SAAS,EACzBp1C,IAAI,CAACC,EAAGyyB,WACL,OAAAvlB,SAAA,CAAiB,KACVlN,EAAE4V,KAAK,MAAI5V,EAAE0hH,wBAAwB,GADlCjvF,CAEL,CACR,CAAC,EACR,EACLvlB,SAAA,CACDooB,MAACc,EAAe,CAACC,KAAMguJ,GAAkB,EACzC/uJ,MAAA,QAAApoB,SAAO+vB,EAAwB,CAAC,EACrB,EACfK,OAACpC,GAAM,CAAChE,MAAM,YAAYjrB,UAAW0pB,GAAMwuJ,SAAUt8J,QAASgjE,EAAe39E,SAAA,CACzEooB,MAACc,EAAe,CAACC,KAAMiuJ,GAAe,EACtChvJ,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,SAAoB,EAClB,CAAC,EACH,EAER85B,OAACpC,GAAM,CACHhE,MAAM,YACNjrB,UAAW0pB,GAAMwuJ,SACjBl7J,QAAS06J,EACT97J,QAAS,MAAO/e,GAAM,CAClB,MAAMy7K,EAAejB,iBAAYz9K,OAAQ7F,GAAMA,EAAEm1C,WAC7CouI,GAAuBgB,GAAgBA,EAAannL,OAAS,IAC7DwmL,EAAc,EAAI,EAClB,MAAMx4F,GACFm4F,EACAgB,EAAaxkL,OAAWC,EAAEwD,EAAE,CAChC,EACK+qF,MAAM,IAAM39C,EAAUO,YAAMjU,EAAA,CAAA15B,GAAA,uBAAkC,CAAC,CAAC,EAChEq/K,QAAQ,IAAMe,EAAc,EAAK,CAAC,EAE/C,EAAE12K,SAAA,CACFooB,MAACc,EAAe,CAACC,KAAMmuJ,GAAU,EACjClvJ,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,eAA0B,EACxB,CAAC,EACH,CAAC,EACR,CAAC,EACL,CAEb,ECzEMihL,IAAsDA,CAAC,CAAEC,oBAAmB1B,cAAan9K,SAAQosJ,SAAQ,IAAM,CAEjH,MAAMpuJ,EADU0kB,EAA+BzlB,KAAMD,OAAOT,aAAc,EAChDoB,GACpB,CAACmhL,EAAYC,CAAa,EAAIlgK,WAAkB,EAAK,EACrD,CAAC8+J,EAAmBqB,CAAoB,EAAIngK,WAAkB,EAAK,EACnE,CAAC++J,EAAiBqB,CAAkB,EAAIpgK,WAAkB,EAAK,EAC/D,CAAC0C,EAAWC,CAAY,EAAI3C,WAAkB,EAAI,EAClD,CAAC4+J,EAAYyB,CAAa,EAAIrgK,EAAuC,WACrE,CAACgoG,EAAQs4D,CAAS,EAAItgK,WAAkB,CAAEgoG,OAAQ,OAAQngD,UAAW,MAAO,EAE5E04G,EAA0Bp2J,UAAQ,IAC7BprB,GAAQ6/K,EAAY,CAAC52D,EAAOA,OAAQ,gBAAgB,EAAGA,EAAOngD,SAAS,EAC/E,CAAC+2G,EAAY52D,CAAM,CAAC,EAEjB,CAACw4D,GAAeC,CAAiB,EAAI19J,EACvC,IAAMoiE,GAAuBhmF,CAAS,EACtC,CAACA,CAAS,EACV,IACJ,EAEM,CAACkgJ,CAAgB,EAAIt8H,EACvB,IACI+6E,GAA4C3+F,EAAW,CACnD28G,OAAQ36G,EAAO26G,OACfC,YAAa56G,EAAO46G,YACpB2kE,SAAUv/K,EAAO6jE,OACjBo1C,WAAYj5G,EAAOi5G,UACtB,GACL,CAACj5G,EAAQhC,CAAS,EAClB,IACJ,EAEAwgB,YAAU,IAAM,CACZ,GAAI0/H,GAAoBmhC,EAAa,CACjC79J,EAAa,EAAK,EAClBu9J,EAAc,EAAK,EA2BnB,MAAMS,GA1BgBthC,EAAiBhkJ,IAAmDmjG,IAAA,iBACtF,IAAIy9E,GAAauE,EAAYpzK,KACxB04E,YACGA,UAAQ73E,oBAAsBuwF,GAAgB1/F,MAAMgnF,MAAQo2F,cAARp2F,eAAqBhnF,MAAOkhL,EAAkBlhL,GAC1G,EACI8hL,GAA8C,CAC9CnwI,YAAWmuI,oBAAYxxK,KAAM6iD,IAASA,GAAKnxD,KAAO0/F,GAAgB1/F,MAAvD8/K,eAA4DnuI,YAAa,GACpF,GAAG+tD,IAEHy9E,WAAe,OACG2E,GAAA,CACd,GAAGA,GACHr3F,UAAW0yF,GAAWn9K,GACtBo9K,YAAaD,GAAWC,YACxB0B,SAAU3B,GAAW2B,SACrB9B,YAAaG,GAAWH,YACxB+E,iBAAkB5E,GAAW4E,iBAC7B9E,cAAeE,GAAWF,cAC1BC,YAAaC,GAAWD,YACxB8E,kBAAkB7E,UAAW8E,uBAAX9E,eAAiC7uK,SAAY9R,GAAEwlL,kBAAoB,QAAnE7E,eACZ6E,iBACNE,aAAa/E,MAAW8E,uBAAX9E,eAAiC96K,OAAc7F,OAAEwlL,kBAAoB,KAAI,GAGvFF,GACV,EAEIz/K,OAAQ7F,IACL6F,EAAO8/K,UAAY,MACb3lL,GAAEsiL,SACFz8K,EAAO8/K,UAAY,KACnB3lL,GAAEsiL,UAAY,MAAQtiL,GAAEsiL,WAAaz7K,OACrC,EACV,EACChB,OACGA,MAAO+/K,iBAAmB,MACpB5lL,GAAEwgL,YACF36K,EAAO+/K,iBAAmB,KAC1B5lL,GAAEwgL,aAAe,MAAQxgL,GAAEwgL,cAAgB35K,OAC3C,EACV,EACChB,OAAQ7F,IACL6F,EAAOggL,eAAiB,MAClB7lL,GAAEwlL,iBACF3/K,EAAOggL,eAAiB,KACxB7lL,GAAEwlL,kBAAoB,MAAQxlL,GAAEwlL,mBAAqB3+K,OACrD,EACV,EACChB,OACGA,MAAOigL,cAAgB,MACjB9lL,GAAEulL,iBACF1/K,EAAOigL,cAAgB,KACvB9lL,GAAEulL,kBAAoB,MAAQvlL,GAAEulL,mBAAqB1+K,OACrD,EACV,EACJk+K,EAAcM,EAAY,IAE/B,CAACthC,EAAkBmhC,EAAaR,EAAmB7+K,CAAM,CAAC,EAIvDkgL,QAAaA,CAAClmI,EAAiCp1C,KAAqB,CACjEA,IACDm6K,EAAc,EAAK,EAEjBoB,SAAgBpyI,GAAa0vI,EAAazjI,EAAK,CAAE,GAAGA,EAAK1K,UAAW1qC,GAAS,EACnFs6K,EAAciB,EAAa,GAGzBC,EAA0DpmI,GACxDA,EAAI6lI,YACG7lI,EAAI6lI,YAAY7/K,WAAc7F,GAAEkmL,gBAAgB,EAAE9oL,OAAS,EAE/D,GAGL+oL,EAAgEtmI,GAC9DmjI,IAAeA,WAAaoD,oBAAqBpD,EAAYoD,kBAAkBhpL,OAAS,EAC3D4lL,EAAYoD,kBAAkBvgL,OAAc7F,IAAA,CACrE,MAAMomL,GAAoBlB,iBAAar/K,OAClC2kF,IACGA,kBAAQ73E,oBAAsBktC,EAAIr8C,MAClCgnF,MAAQo2F,cAARp2F,eAAqBhnF,MAAOxD,IAC5BwqF,GAAQg2F,cAAgB35K,SAE5Bu/K,YAAqBA,GAAkBhpL,OAAS,EAG7C,CACV,EAC2BA,OAAS,EAE9B,GAITipL,EAA6C1pJ,GAAA,CAC/CkoJ,EAAqBloJ,CAAI,GAGvB2pJ,EAAuB,SAAY,CACrC,IAAIC,EAAY,GAChB,GAAIjD,IAAez8K,OAAW,CACpB2/K,SAA4BlD,EAC7Bz9K,OAAQ7F,IAAMA,GAAEm1C,SAAS,EACzBp1C,IAAWC,IACJA,GAAEiuF,YAAcpnF,OACT7G,GAAEiuF,WAEC98C,QAAMnxC,GAAE4V,KAAO;AAAA,EAAQ+a,EAAAwW,EAAA,mCAAmC,CAAC,EACzDo/I,EAAA,GACL,EAEd,EACD,CAACA,GAAaC,GAAgBppL,OAAS,IACvC,MAAMytF,GAAe27F,EAAe,EAE1Bj2I,UAAQ5f,EAAAwW,EAAA,WAAW,IAErC,EAGEs/I,EAAoB,SAAY,CAClC,MAAMC,EAAazB,EAAwBp/K,OAAQ7F,IAAMA,GAAEm1C,SAAS,EAC9D21C,GAAa47F,EAAW7gL,OAAc7F,OAAEiuF,SAAS,EAAEluF,IAAWC,OAAEiuF,SAAU,EAC5EnD,IAAc47F,GAAc57F,GAAW1tF,SAAWspL,EAAWtpL,QAC7DwhF,QAAQwL,IAAIU,EAAU,EAChBpB,SAAmBoB,EAAU,EAC9B/gF,KAAK,IAAM6mC,EAAUL,cAAQrT,EAAA,CAAA15B,GAAA,oBAA+B,CAAC,CAAC,EAC9D+qF,MAAa39C,MAAUO,MAAM7b,MAAA4H,EAAA,CAAA15B,GAAA,uBAAmC,EAAC,CAAC,EAClEq/K,QAAQ,IAAMsC,EAAmB,IAE5Bh0I,QACNxgB,EAAAwW,EAAuB,yBACnB;AAAA,EACAu/I,EACK7gL,OAAQ7F,IAAM,CAACA,GAAEiuF,SAAS,EAC1BluF,IAAWC,IACDA,GAAE4V,KAAQ,MAAQ5V,GAAE0hH,wBAC9B,EACA7hH,KAAK;AAAA,CAAI,EAClB,KACA,CAAEoM,UAAW0pB,GAAMkrJ,QAAS,EAEpC,EAGE8F,EAAqBA,IAAM,CACXxB,IAClBN,EAAqB,EAAK,GAGxB+B,EAA2BA,IAAM,CACnCx8K,EAAe6nJ,CAAO,GAGpB40B,EAA2ClqJ,GAAA,CACxCA,GACDmqJ,EAAiB,EAAK,EAE1BhC,EAAmBnoJ,CAAI,GAGrBoqJ,EAAsBA,IAAM,CACZ5B,IAClBL,EAAmB,EAAK,GAGtBkC,EAAqDnnI,GAAA,CACvDkmI,EAAWlmI,EAAK,EAAI,EACpBgnI,EAAsB,EAAI,GAGxBI,EAAwCC,GAAA,CACpCC,SAAQz6D,EAAOngD,YAAc,MAC7B66G,GAAS16D,EAAOA,SAAWw6D,GAAYC,GAAQ,OAAS,MACpDnC,EAAA,CAAEt4D,OAAQw6D,EAAU36G,UAAW66G,GAAQ,GAG/CN,EAAyCr8K,GAAA,CACrCu7K,SAAgB1C,iBAAYvjL,IAAWC,KAElC,CAAE,GAAGA,GAAGm1C,UADG1qC,CACH0qC,IAEnB4vI,EAAciB,EAAa,EAC3BpB,EAAcn6K,CAAO,GAGzB,OAAI2c,EACOkO,MAAC+a,EAAgB,EAAE,SAI1B,OAAAnjC,SAAA,CACIooB,MAACitJ,GAAc,CACX5lJ,KAAM6mJ,EACNhB,iBAAkBc,EAClBb,gBAAiBO,EACjB9rG,UAAWwtG,EACX5E,OAAQA,IAAM6G,EAAmB,EACjCjyD,SAAUA,IAAMkyD,EAAyB,EACzCtmE,eAAgBylE,EAChBr0J,QAASA,IAAM20J,EAAwB,EAAK,EAC5CxpJ,SAAUA,IAAMwpJ,EAAwB,EAAK,EAChD,EACD/wJ,MAACuqJ,GAAgB,CACbljJ,KAAM8mJ,EACNzgL,KAAMsgL,EACNpsG,UAAWwtG,EACX5E,OAAQiH,EACRzmE,eAAgBylE,EAChBr0J,QAASA,IAAMm1J,EAAsB,EAAK,EAC1ChqJ,SAAUA,IAAMgqJ,EAAsB,EAAK,EAC9C,EACDvxJ,MAAC+tJ,IAAgB,CACbC,aACAC,oBAAqBmB,EAAkBlhL,GACvCkuB,QAASA,IAAMo1J,EAAiB,EAAK,EACrCtD,kBAAmBA,IAAM6C,EAAwB,EAAI,EACrD5C,gBAAiBA,IAAMoD,EAAsB,EAAI,EACjDnD,YAAaA,IAAM+C,EAAkB,EACrC57F,eAAgBA,IAAMy7F,EAAqB,EAC9C,EACDhpJ,OAAA,SAAOrxB,UAAW0pB,GAAM0xJ,WAAWn6K,UAC/BooB,MAAA,SAAApoB,gBACI,MAAAA,UACIooB,MAAA,MAAApoB,eACKs/B,GAAQ,CACL4J,eAAgBzgB,GAAM2xJ,UACtBjxI,aAAc1gB,GAAM2xJ,UACpBp4G,UAAU,SACVt5D,KAAK,aACLnL,QAASk6K,EACT13K,SAAWnE,GAAMg+K,EAAiBh+K,EAAEgf,OAAOrd,OAAO,EACrD,EACD,EACJ6yB,OAAA,MAAIrxB,UAAWY,GAAW8oB,GAAMu5E,IAAI,EAAGrnF,QAASA,IAAMo/J,EAAgB,MAAM,EAAE/5K,UAC1EooB,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EAChB,EAEN,IAACkpH,EAAOA,SAAW,SACdA,EAAOngD,YAAc,OAClBj3C,MAACc,EAAe,CAACC,KAAMkxJ,GAAY,EAEnCjyJ,MAACc,EAAe,CAACC,KAAMmxJ,EAAc,GACvC,EACN,EACJlqJ,OAAA,MAAIrxB,UAAWY,GAAW8oB,GAAMu5E,IAAI,EAAGrnF,QAASA,IAAMo/J,EAAgB,0BAA0B,EAAE/5K,SAAA,CAC9FooB,MAAA4H,EAAA,CAAA15B,GAAA,aAAwB,EAExB,IAACkpH,EAAOA,SAAW,6BACdA,EAAOngD,YAAc,OAClBj3C,MAACc,EAAe,CAACC,KAAMkxJ,GAAY,EAEnCjyJ,MAACc,EAAe,CAACC,KAAMmxJ,EAAc,GACvC,EACN,EACJlqJ,OAAA,MAAIrxB,UAAWY,GAAW8oB,GAAMu5E,IAAI,EAAGrnF,QAASA,IAAMo/J,EAAgB,OAAO,EAAE/5K,SAAA,CAC3EooB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EAEnB,IAACkpH,EAAOA,SAAW,UACdA,EAAOngD,YAAc,OAClBj3C,MAACc,EAAe,CAACC,KAAMkxJ,GAAY,EAEnCjyJ,MAACc,EAAe,CAACC,KAAMmxJ,EAAc,GACvC,EACN,EACJlyJ,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,QAAmB,EACnB,EACJ8xB,MAAA,MAAIrpB,UAAWY,GAAW8oB,GAAM8xJ,WAAW,EAAEv6K,SACxCw3K,EAAkBgD,mBAAqBpyJ,MAAA4H,EAAA,CAAA15B,GAAA,SAAoB,EAC5D,EACJ85B,OAAA,MACIrxB,UAAWY,GAAW8oB,GAAM8xJ,YAAa9xJ,GAAMu5E,IAAI,EACnDrnF,QAASA,IAAMo/J,EAAgB,gBAAgB,EAAE/5K,SAAA,CACjDooB,MAAA4H,EAAA,CAAA15B,GAAA,YAAuB,EAEvB,IAACkpH,EAAOA,SAAW,mBACdA,EAAOngD,YAAc,OAClBj3C,MAACc,EAAe,CAACC,KAAMkxJ,GAAY,EAEnCjyJ,MAACc,EAAe,CAACC,KAAMmxJ,EAAc,GACvC,EACN,EACJlyJ,MAAA,MACIrpB,UAAWY,GAAW8oB,GAAM8xJ,YAAa9xJ,GAAMu5E,IAAI,EACnDrnF,QAASA,IAAMo/J,EAAgB,eAAe,EAAE/5K,SAC/Cw3K,EAAkBgD,mBACfpqJ,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,iBAA4B,EAE5B,IAACkpH,EAAOA,SAAW,kBACdA,EAAOngD,YAAc,OAClBj3C,MAACc,EAAe,CAACC,KAAMkxJ,GAAY,EAEnCjyJ,MAACc,EAAe,CAACC,KAAMmxJ,EAAc,GACvC,EACR,EAEN,EACJlqJ,OAAA,MACIrxB,UAAWY,GAAW8oB,GAAM8xJ,YAAa9xJ,GAAMu5E,IAAI,EACnDrnF,QAASA,IAAMo/J,EAAgB,aAAa,EAAE/5K,SAAA,CAC9CooB,MAAA4H,EAAA,CAAA15B,GAAA,eAA0B,EAE1B,IAACkpH,EAAOA,SAAW,gBACdA,EAAOngD,YAAc,OAClBj3C,MAACc,EAAe,CAACC,KAAMkxJ,GAAY,EAEnCjyJ,MAACc,EAAe,CAACC,KAAMmxJ,EAAc,GACvC,EACN,EACJlyJ,MAAA,MAAIrpB,UAAWY,GAAW8oB,GAAM8xJ,WAAW,EAAEv6K,eACzCgwB,EAAA,CAAA15B,GAAA,eAA0B,EAC1B,CAAC,EACL,EACD,EACP8xB,MAAA,SAAApoB,SACK+3K,EAAwBllL,IAAI,CAAC8/C,EAAKptB,0CAC/B,MAAAvlB,UAEIooB,MAAA,MAAApoB,eACKs/B,GAAQ,CACL4J,eAAgBzgB,GAAM2xJ,UACtBjxI,aAAc1gB,GAAM2xJ,UACpBp4G,UAAU,SACVt5D,KAAM,eAAiB6c,GACvBhoB,QAASo1C,EAAI1K,WAAawvI,EAC1B13K,SAAiB84K,MAAWlmI,EAAK/2C,GAAEgf,OAAOrd,OAAO,EACpD,EACD,EACJ6qB,MAAA,MAAApoB,SAAK2yC,EAAIjqC,KAAS,EAClB0f,MAAA,MAAApoB,SAAK2yC,EAAI6hE,yBAA6B,EACtCpsF,MAAA,MAAApoB,SAAK2yC,EAAIuG,MAAU,EAEnB9wB,MAAA,MAAApoB,UACK2yC,SAAIqlD,YAAJrlD,eAAe/yB,QAAf+yB,eAAsB9/C,IAAI,CAACkC,GAAMwwB,KAC9B6C,MAAA,OAAApoB,eACI,QAAAA,SAAOjL,GAAKk3C,YAAkB,CAAC,EADzB1mB,EAEL,EACR,CACD,EAEJ6C,MAAA,MAAIrpB,UAAWY,GAAW8oB,GAAM8xJ,WAAW,EAAEv6K,gBACzC,OAAKjB,UAAW0pB,GAAMgyJ,cAAcz6K,UAChCooB,MAAA,OAAApoB,WACK2yC,KAAI+gI,cAAJ/gI,eAAiB6nI,sBACd7nI,SAAIqlD,YAAJrlD,eAAe/yB,QAAf+yB,eAAsB9/C,IAAI,CAACkC,GAAMwwB,KAC7B6C,2BAAA,OAAApoB,SACK2yC,EAAIyiI,YACAziI,SAAI6lI,cAAJ7lI,eAAiB/tC,KAAM9R,IAAMA,GAAEyhG,oBAAsBx/F,GAAKsY,UAA1DslC,SACK2lI,uBACDxuJ,GAAO,CACJG,aAAc,GACdhC,eACI,OAAAjoB,UACIooB,MAAA,OAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,uCAEO,EACN,EACL8xB,MAAA,OAAApoB,SAAMjL,GAAKk3C,YAAiB,EAC5B7jB,MAAA,OAAApoB,eACKyjD,GAAW,CACRl0D,OACIojD,KAAI6lI,YAAY5zK,SAER9R,GAAEyhG,oBACFx/F,GAAKsY,MACb,IAJAslC,eAIG2lI,iBAEP50H,cAAe,GAClB,EACA,CAAC,EACL,EACR1jD,eACAkpB,EAAe,CACZnqB,UAAW0pB,GAAMiyJ,cACjBvxJ,KAAMwxJ,GACT,EACI,EAETvyJ,MAAC0B,GAAO,CACJG,aAAc,GACdhC,cACI,OAAAjoB,eACIgwB,EAAA,CAAA15B,GAAA,qDAGO,EACN,EACR0J,eACAkpB,EAAe,CACZnqB,UAAW0pB,GAAMmyJ,iBACjBzxJ,KAAMwxJ,GACT,EACI,EACX,EAjDAp1J,EAkDL,IACR,CACJ,EACL6K,OAAA,OAAKrxB,UAAW0pB,GAAMoyJ,iBAAiB76K,UAClC+4K,EAAmBpmI,CAAG,SACnB,QAAA3yC,eACK8pB,GAAO,CACJG,aAAc,GACdhC,cACI,OAAAjoB,eACIgwB,EAAA,CAAA15B,GAAA,+CAA0D,EACzD,EACR0J,eACAkpB,EAAe,CACZnqB,UAAW0pB,GAAMiyJ,cACjBvxJ,KAAMwxJ,GACT,EACI,CACP,GAET1B,EAAyBtmI,CAAG,SACzB,QAAA3yC,eACK8pB,GAAO,CACJG,aAAc,GACdhC,cACI,OAAAjoB,eACIgwB,EAAA,CAAA15B,GAAA,wDAEO,EACN,EACR0J,eACAkpB,EAAe,CAACnqB,UAAW0pB,GAAMmyJ,iBAAkBzxJ,KAAM0uF,GAAS,EAC9D,EACP,CACT,EACA,CAAC,EACL,EACL,EAEJzvF,MAAA,MAAIrpB,UAAW0pB,GAAM8xJ,YAAYv6K,eAC5ByjD,GAAW,CAACl0D,MAAOojD,EAAIyiI,SAAU1xH,cAAe,GAAO,EACxD,EAEJt7B,MAAA,MAAIrpB,UAAWY,GAAW8oB,GAAM8xJ,WAAW,EAAEv6K,eACzC,OAAKjB,UAAW0pB,GAAMqyJ,SAAS96K,WAC1B2yC,KAAI+gI,cAAJ/gI,eAAiB6nI,oBACd7nI,EAAIqlD,UAAUp4E,MAAM1vB,SAAW,IAC9ByiD,EAAI2lI,iBACDlwJ,MAAA,QAAApoB,eACKyjD,GAAW,CAACl0D,MAAOojD,EAAI2lI,iBAAkB50H,cAAe,GAAO,CAC9D,GACN/Q,EAAI0lI,uBACJ,OAAKt5K,UAAWY,GAAW8oB,GAAMsyJ,SAAUtyJ,GAAMuyJ,MAAM,EAAEh7K,eACpD8pB,GAAO,CACJ7B,eACI,OAAAjoB,UACIooB,MAAA,OAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gBAA2B,EAC1B,EACL8xB,MAAA,OAAApoB,eACKyjD,GAAW,CACRl0D,MAAOojD,EAAI0lI,iBACX30H,cAAe,GAClB,EACA,CAAC,EACL,EACR1jD,eACD,QAAAA,eACIgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACzB,EACD,CACR,GACLq8C,EAAIyiI,eACJ,OAAKr2K,UAAWY,GAAW8oB,GAAMwyJ,aAAcxyJ,GAAMuyJ,MAAM,EAAEh7K,eACzDgwB,EAAA,CAAA15B,GAAA,gBAA2B,CAC1B,GAEL4xB,mBAAI,GAEX,EACL,EAEJE,MAAA,MAAIrpB,UAAWY,GAAW8oB,GAAM8xJ,YAAa9xJ,GAAMu5E,IAAI,EAAGrnF,QAASA,IAAMm/J,EAAcnnI,CAAG,EAAE3yC,eACxF,QAAMjB,UAAW0pB,GAAM0vF,UAAUn4G,SAC3B2yC,EAAI2gI,YAGFlrJ,MAACq7B,GAAW,CAACl0D,MAAOojD,EAAI2gI,YAAa5vH,cAAe,GAAO,QAF1Dx6B,EAAe,CAACC,KAAM+xJ,GAAQ,CAE4B,CAE7D,EACN,EAEJ9yJ,MAAA,MAAIzN,QAASA,IAAMm/J,EAAcnnI,CAAG,EAAG5zC,UAAWY,GAAW8oB,GAAM8xJ,YAAa9xJ,GAAMu5E,IAAI,EAAEhiG,eACxF,QAAMjB,UAAW0pB,GAAM0vF,UAAUn4G,SAC5B2yC,EAAI4gI,eACD5gI,EAAI6gI,aACJ7wH,GAAchQ,EAAI4gI,aAAa,EAAI,MAAQ5wH,GAAchQ,EAAI6gI,WAAW,EAC1E,EACN,CAAC,GAjLAjuJ,EAkLL,EACP,EACE,CAAC,EACL,CAAC,EACP,CAEb,2wCC/jBY41J,kBAAiB,CAAjBA,SAAiB,YAAjBA,EAAiB,cAAjBA,EAAiB,oBAAjBA,EAAiB,YAAjBA,EAAiB,cAAjBA,EAAiB,0BAAjBA,EAAiB,0BAAjBA,CAAiB,MAgBtB,MAAMC,GAAyC,CAClD,CACI9kL,GAAI6kL,GAAkBE,MACtB7pI,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EAClCglL,aAAc,cAClB,EACA,CACIhlL,GAAI6kL,GAAkBI,SACtB/pI,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,YAAuB,EACtCglL,aAAc,kCAClB,EACA,CACIhlL,GAAI6kL,GAAkBK,KACtBhqI,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EACjCglL,aAAc,MAClB,EACA,CACIhlL,GAAI6kL,GAAkBM,MACtBjqI,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EAClCglL,aAAc,GAClB,EACA,CACIhlL,GAAI6kL,GAAkBO,YACtBlqI,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,eAA0B,EACzCglL,aAAc,kCAClB,EACA,CACIhlL,GAAI6kL,GAAkBQ,YACtBnqI,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,eAA0B,EACzCglL,aAAc,aAClB,CAAC,EAGCM,IAAkDA,CAAC,CAAE9F,cAAa+F,mBAAkB92B,SAAQ,IAAM,OACpG,KAAM,CAACywB,EAAgBC,CAAa,EAAIj+J,EAA0B,WAC5D,CAACskK,EAAeC,CAAgB,EAAIvkK,WAAkB,EAAK,EAC3D,CAACwkK,EAAsBC,CAAuB,EAAIzkK,WAAkB,EAAK,EACzE,CAAC0kK,EAAeC,CAAgB,EAAI3kK,WAAkB,EAAK,EAC3D,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EAE1CL,YAAU,IAAM,CACR2+J,IACIA,EAAYoD,oBAAsB,OAClCpD,EAAYoD,kBAAoB,IAGhCpD,EAAYsG,4BAA8B,OAC1CtG,EAAYsG,0BAA4B,IAG5C3G,EAAcK,CAAW,EAC7B,EACD,CAACA,CAAW,CAAC,EAEVuG,QAAiB16J,UAAQ,IACZ6zJ,WAAgB8G,SAAW9G,EAAe8G,SAASpsL,OAAS,EAE5E,CAACslL,CAAc,CAAC,EAEbI,EAA4Dx1K,GAAA,CAC9Dq1K,EAA6Bh8J,IAAA,CAAE,GAAGA,EAAU,GAAGrZ,CAAU,KAGvDm8K,EAA0BA,CAACjmL,EAAuB42C,IAAqB,CACzEuoI,EAA4Bh8J,IACjB,CACH,GAAGA,EACH2iK,0BAA2Bj1I,IAAY1tB,iBAAU2iK,4BAA6B,CAAE,EAAE9lL,EAAI42C,CAAO,GAEpG,GAGCsvI,EAAsB,MAAOvkI,GAAU,CACzCkkI,EAAiB,EAAI,EACfjvK,QAAO+qC,EAAM,CAAC,EACpB,GAAK/qC,EAGD1L,OAAW,IAAIpF,GAAS8Q,CAAI,EAEhC,GADA,MAAM1L,EAASvE,iBACXiQ,IAAS,KAAM,CACf,MAAMkwE,EAAS,MAAMJ,GAASx7E,CAAQ,EAAE3E,KAAY/J,IAChDqpL,EAAiB,EAAK,EACfrpL,EACV,EACkB8iL,EAAA,CAAE6G,eAAgBr/F,EAAQ,GACjD,EAGEs/F,EAAiB,MAAOzkI,GAAU,CACpC8jI,EAAiB,EAAI,EACf7uK,QAAO+qC,EAAM,CAAC,EACpB,GAAK/qC,EAGD1L,OAAW,IAAIpF,GAAS8Q,CAAI,EAEhC,GADA,MAAM1L,EAASvE,iBACXiQ,IAAS,KAAM,CACf,MAAMkwE,EAAS,MAAMJ,GAASx7E,CAAQ,EAAE3E,KAAY/J,IAChDipL,EAAiB,EAAK,EACfjpL,EACV,EACkB8iL,EAAA,CAAE+G,eAAgBv/F,EAAQ,GACjD,EAGEw/F,EAAwB,MAAO3kI,GAAU,CAC3CgkI,EAAwB,EAAI,EACtB/uK,QAAO+qC,EAAM,CAAC,EACpB,GAAK/qC,EAGD1L,OAAW,IAAIpF,GAAS8Q,CAAI,EAEhC,GADA,MAAM1L,EAASvE,iBACXiQ,IAAS,KAAM,CACf,MAAMkwE,EAAS,MAAMJ,GAASx7E,CAAQ,EAAE3E,KAAY/J,IAChDmpL,EAAwB,EAAK,EACtBnpL,EACV,EACkB8iL,EAAA,CAAEiH,sBAAuBz/F,EAAQ,GACxD,EAGEy4F,EAAkB,SAAY,CAEhC,GAAIL,GAAkBA,EAAe7+K,WAAa6+K,EAAel/K,GAAI,CAC5Dk/K,EAAe4G,4BACDA,4BAA4B,CAACjB,GAAkB56E,IAAI,GAGlE,IACAvhE,EAAU,EAAI,EACd,MAAM69C,GAAsB24F,EAAe7+K,UAAW6+K,EAAel/K,GAAIk/K,CAAc,EAC7EnyI,gBAAQrT,EAAA,CAAA15B,GAAA,4BAAwC,EAAC,EAC3D4G,EAAe6nJ,CAAO,OACxB,CACY9gH,cAAMjU,EAAA,CAAA15B,GAAA,kCAA8C,EAAC,SACzD,CACN0oC,EAAU,EAAK,CACnB,EACJ,EAGJ,aACI9W,WAAA,CAAAloB,SACKw1K,GACGptJ,MAAA,OAAKrpB,UAAW0pB,GAAMq0J,gBAAgB98K,gBAClC,OAAKjB,UAAW0pB,GAAMs0J,cAAc/8K,UAChCowB,OAAA,OAAKrxB,UAAW0pB,GAAMu0J,iBAAiBh9K,UACnCowB,OAAA,OAAKrxB,UAAW0pB,GAAM6rJ,UAAUt0K,UAC5BowB,OAAA,MAAApwB,SAAA,EACKw1K,IAAe9B,cAAf8B,cAA4B9sK,KAAK,UAACsnB,EAAA,CAAA15B,GAAA,QAAmB,CAAC,EACvD,EACJ8xB,MAAC4F,GAAM,CAACrT,QAASA,IAAMk7J,EAAgB,EAAG7rJ,MAAM,UAAUjO,QAASgjB,EAAO/+B,eACtEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACR,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMw0J,QAAQj9K,eAC1BgwB,EAAA,CAAA15B,GAAA,oFAEO,EACN,CAAC,EACL,EACA8xB,EAAA,oBACL,OAAKrpB,UAAW0pB,GAAMy0J,UAAUl9K,UAC5BowB,OAAA,OAAKrxB,UAAW0pB,GAAM00J,UAAUn9K,UAC5BooB,MAAA,OAAKrpB,UAAW0pB,GAAM20J,WAAWp9K,eAC7BgwB,EAAA,CAAA15B,GAAA,kBAA6B,EAC5B,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMw0J,QAAQj9K,eAC1BgwB,EAAA,CAAA15B,GAAA,kDAA6D,EAC5D,CAAC,EACL,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAM40J,WAAWr9K,eAC7B,OAAKjB,UAAW0pB,GAAM60J,aAAat9K,SAC9Bo7K,GAAiBvoL,IAAKC,uBAClBwsC,GAAQ,CACL52B,KAAM5V,EAAEwD,GAERiH,SAASi4K,IAAe4G,4BAAf5G,cAA0C1xK,SAAShR,EAAEwD,IAC9DyJ,SAAiBw8K,KAAwBzpL,EAAEwD,GAAIsF,EAAEgf,OAAOrd,OAAO,EAAEyC,eACjE,QAAAA,SAAOlN,EAAE0+C,QAAQ,EAAQ,GAHpB1+C,EAAEwD,EAID,EACb,EAUA,EACJ,CAAC,EACL,EAEA8xB,EAAA,oBACL,OAAKrpB,UAAW0pB,GAAMy0J,UAAUl9K,UAC5BowB,OAAA,OAAKrxB,UAAW0pB,GAAM00J,UAAUn9K,UAC5BooB,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAM20J,UAAU,EAAEp9K,eACzCgwB,EAAA,CAAA15B,GAAA,mCAA8C,EAC7C,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMw0J,QAAQj9K,eAC1BgwB,EAAA,CAAA15B,GAAA,mJAAA28C,WAAA,CAAA7N,EACkDhd,MAAK,QAAC,EAGjD,EACN,CAAC,EACL,EACLA,MAAA,OAAKrpB,UAAW0pB,GAAM40J,WAAWr9K,eAC5B+yG,GAAc,CACXl0G,YAAa4kB,EAAAwW,6BAA2B,EACxCvI,YAAO1B,EAAA,CAAA15B,GAAA,qBAAgC,EACvCR,KAAM+lL,EACDljL,OAAc7F,mBAAEwD,OAAOk/K,IAAe9B,cAAf8B,cAA4Bl/K,IAAE,EACrDzD,IAAsB6gL,IAAA,CACnBp9K,GAAIo9K,EAAYp9K,GAChBoS,WAAMwf,WAAA,CAAAloB,SAAG0zK,EAAYhrK,KAAO,GAC9B,EACNnZ,MAAOimL,EAAe0D,mBAAqB,CAAG,EAC9Cn5K,YAAiB61K,EAAmB,CAAEsD,kBAAmBhqI,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EAChF,EACA,CAAC,EACL,EACA8xB,EAAA,oBACL,OAAKrpB,UAAW0pB,GAAMy0J,UAAUl9K,UAC5BowB,OAAA,OAAKrxB,UAAW0pB,GAAM00J,UAAUn9K,UAC5BooB,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAM20J,UAAU,EAAEp9K,eACzCgwB,EAAA,CAAA15B,GAAA,6BAAwC,EACvC,EACL85B,OAAA,OAAKrxB,UAAW0pB,GAAMw0J,QAAQj9K,SAAA,CAC1BooB,MAAA4H,EAAA,CAAA15B,GAAA,0CAAqD,EACrD8xB,EAAA,UAAK,SACL4H,EAAA,CAAA15B,GAAA,oCAA+C,CAAC,EAC/C,CAAC,EACL,EACL85B,OAAA,OAAKrxB,UAAWY,GAAW8oB,GAAM40J,WAAY50J,GAAM80J,WAAW,EAAEv9K,UAC5DowB,OAAA,OAAKrxB,UAAW0pB,GAAM6gE,aAAatpF,UAC/BooB,MAAA,QAAMrpB,UAAW0pB,GAAM8rJ,KAAKv0K,eACxBgwB,EAAA,CAAA15B,GAAA,YAAuB,EACrB,EACN85B,OAAA,OAAKrxB,UAAW0pB,GAAM+0J,SAASx9K,SAC1B87K,IAAkB34I,QAAgB,EAAE,EACpCqyI,EAAemH,gBACZv0J,MAACmQ,GAAS,CACNC,IAAK2kD,GAAiBq4F,EAAemH,cAAc,EACnD59K,UAAW0pB,GAAMi4B,MACpB,EAELt4B,MAAA,OAAKrpB,UAAW0pB,GAAMg1J,cAAcz9K,eAC/B82E,GAAU,CAAC31E,SAAS,QAAQN,OAAM,GAAC82E,OAAQ+kG,EAAiB,CAC5D,GACJlH,EAAemH,sBACX3uJ,GAAM,CACHhE,MAAM,SACNrP,WAAgBi7J,EAAmB,CAAE+G,eAAgBhjL,OAAW,EAAEqG,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CACX,EACA,CAAC,EACL,EACL85B,OAAA,OAAKrxB,UAAW0pB,GAAM6gE,aAAatpF,UAC/BooB,MAAA,QAAMrpB,UAAW0pB,GAAM8rJ,KAAKv0K,eACxBgwB,EAAA,CAAA15B,GAAA,aAAwB,EACtB,EACN85B,OAAA,OAAKrxB,UAAW0pB,GAAM+0J,SAASx9K,SAC1Bg8K,IAAyB74I,QAAgB,EAAE,EAC3CqyI,EAAeqH,uBACZz0J,MAACmQ,GAAS,CACNC,IAAK2kD,GAAiBq4F,EAAeqH,qBAAqB,EAC1D99K,UAAW0pB,GAAMi4B,MACpB,EAELt4B,MAAA,OAAKrpB,UAAW0pB,GAAMg1J,cAAcz9K,eAC/B82E,GAAU,CAAC31E,SAAS,QAAQN,OAAM,GAAC82E,OAAQilG,EAAwB,CACnE,GACJpH,EAAeqH,6BACX7uJ,GAAM,CACHhE,MAAM,SACNrP,WAAgBi7J,EAAmB,CAAEiH,sBAAuBljL,OAAW,EAAEqG,eACzEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CACX,EACA,CAAC,EACL,CAAC,EACL,CAAC,EACL,EACA8xB,EAAA,oBACL,OAAKrpB,UAAW0pB,GAAMy0J,UAAUl9K,UAC5BowB,OAAA,OAAKrxB,UAAW0pB,GAAM00J,UAAUn9K,UAC5BooB,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAM20J,UAAU,EAAEp9K,eACzCgwB,EAAA,CAAA15B,GAAA,qBAAgC,EAC/B,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMw0J,QAAQj9K,eAC1BgwB,EAAA,CAAA15B,GAAA,qEAAgF,EAC/E,EACL85B,OAAA,OAAKrxB,UAAWY,GAAW8oB,GAAMi1J,iBAAkBj1J,GAAMsmB,SAAS,EAAE/uC,SAAA,CAChEooB,MAAC+4C,GAAW,CACRphE,YAAiB61K,EAAmB,CAAE+H,eAAgB/hL,EAAEgf,OAAOrd,QAAS,EACxEA,QAASi4K,EAAemI,eAC3B,EACDv1J,MAAA,QAAMrpB,UAAWY,GAAW8oB,GAAM20J,UAAU,EAAEp9K,eAC1CgwB,EAAA,CAAA15B,GAAA,0BAAqC,EACnC,CAAC,EACN,CAAC,EACL,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAM40J,WAAWr9K,eAC7B,OACIjB,UAAWY,GAAW8oB,GAAMutJ,sBAAuB,CAC/C,CAACvtJ,GAAMmmB,OAAO,EAAG4mI,EAAemI,eAChC,CAACl1J,GAAMmuJ,WAAW,EAAG,CAACpB,EAAemI,eACxC,EAAE39K,eACH,OAAKjB,UAAW0pB,GAAMm1J,iBAAiB59K,eAClC69K,GAAoB,CACjB9rG,SAAUyjG,EAAesI,gBAAkB,GAC3C/9K,YAAoB61K,EAAmB,CAAEkI,eAAgBv0I,EAAM,EAC/Dw0I,YAAat1J,GAAMu1J,UACtB,EASA,EACJ,EACJ,CAAC,EACL,EAEA51J,EAAA,oBACL,OAAKrpB,UAAW0pB,GAAMy0J,UAAUl9K,UAC5BowB,OAAA,OAAKrxB,UAAW0pB,GAAM00J,UAAUn9K,UAC5BooB,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAM20J,UAAU,EAAEp9K,eACzCgwB,EAAA,CAAA15B,GAAA,eAA0B,EACzB,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMw0J,QAAQj9K,eAC1BgwB,EAAA,CAAA15B,GAAA,+HAGO,EACN,CAAC,EACL,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAM40J,WAAWr9K,gBAC7B,OAAKjB,UAAW0pB,GAAMutJ,sBAAsBh2K,UACxCowB,OAAA,OAAKrxB,UAAW0pB,GAAMytJ,gBAAgBl2K,SAAA,CAClCooB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EACnB8xB,MAAC+4C,GAAW,CACRphE,YAAiB61K,EAAmB,CAAEt/D,UAAW16G,EAAEgf,OAAOrd,QAAS,EACnEA,QAASi4K,EAAel/D,UAAwB,CAAC,EACpD,EAELlmF,OAAA,OAAKrxB,UAAW0pB,GAAMytJ,gBAAgBl2K,SAAA,CAClCooB,MAAA4H,EAAA,CAAA15B,GAAA,MAAiB,EACjB8xB,MAAC+4C,GAAW,CACRphE,YAAiB61K,EAAmB,CAAE3lE,QAASr0G,EAAEgf,OAAOrd,QAAS,EACjEA,QAASi4K,EAAevlE,QAAsB,CAAC,EAClD,CAAC,EACL,EACJ,CAAC,EACL,EACA7nF,EAAA,oBACL,OAAKrpB,UAAW0pB,GAAMy0J,UAAUl9K,UAC5BowB,OAAA,OAAKrxB,UAAW0pB,GAAM00J,UAAUn9K,UAC5BooB,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAM20J,UAAU,EAAEp9K,eACzCgwB,EAAA,CAAA15B,GAAA,oCAA+C,EAC9C,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMw0J,QAAQj9K,eAC1BgwB,EAAA,CAAA15B,GAAA,gGAGO,EACN,EAEL85B,OAAA,OAAKrxB,UAAWY,GAAW8oB,GAAMi1J,iBAAkBj1J,GAAMsmB,SAAS,EAAE/uC,SAAA,CAChEooB,MAAC+4C,GAAW,CACRphE,YAAiB61K,EAAmB,CAAEqI,cAAeriL,EAAEgf,OAAOrd,QAAS,EACvEA,QAASi4K,EAAeyI,cAC3B,EACD71J,MAAA,QAAMrpB,UAAWY,GAAW8oB,GAAM20J,UAAU,EAAEp9K,eAC1CgwB,EAAA,CAAA15B,GAAA,mBAA8B,EAC5B,CAAC,EACN,CAAC,EACL,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAM40J,WAAWr9K,gBAC7B,OAAKjB,UAAW0pB,GAAMutJ,sBAAsBh2K,SAAA,CACxCooB,MAACjqB,GAAK,CACF5O,MAAOimL,EAAe0I,YAAc,GACpCr/K,YAAa4kB,EAAAwW,6BAA2B,EACxCl6B,YAAiB61K,EAAmB,CAAEsI,WAAYtiL,EAAEgf,OAAOrrB,MAAO,EAClEwP,UAAWY,GAAW,cAAc,EACvC,EACDyoB,MAACxoB,GAAkB,CACfb,UAAU,eACVF,YAAa4kB,EAAAwW,oCAAkC,EAC/CozD,KAAM,EACN99F,MAAOimL,EAAe8G,UAAY,GAClCv8K,YAAiB61K,EAAmB,CAAE0G,SAAU1gL,EAAEgf,OAAOrrB,MAAO,CACnE,GACA,IAAM8sL,EAAe,UAACrsJ,EAAA,CAAA15B,GAAA,aAAwB,EAyB/C85B,OAAA,OACIrxB,UAAWY,GAAW8oB,GAAM+0J,SAAU,CAClC,CAAC/0J,GAAMmmB,OAAO,EAAG4mI,EAAeyI,cAChC,CAACx1J,GAAMmuJ,WAAW,EAAG,CAACpB,EAAeyI,cACxC,EAAEj+K,SACFk8K,IAAkB/4I,QAAgB,EAAE,EACpCqyI,EAAeiH,gBACZr0J,MAACmQ,GAAS,CACNC,IAAK2kD,GAAiBq4F,EAAeiH,cAAc,EACnD19K,UAAW0pB,GAAMi4B,MACpB,EAELt4B,MAAA,OAAKrpB,UAAW0pB,GAAMg1J,cAAcz9K,eAC/B82E,GAAU,CAAC31E,SAAS,QAAQN,OAAM,GAAC82E,OAAQ6kG,EAAsB,EACjE,CAAC,EACL,CAAC,EACL,EACJ,CAAC,EACL,EACAp0J,EAAA,mBACL,OAAKrpB,UAAWY,GAAW8oB,GAAMy0J,UAAWz0J,GAAM01J,UAAU,EAAEn+K,eACzDguB,GAAM,CAACrT,QAASA,IAAMk7J,EAAgB,EAAG7rJ,MAAM,UAAUjO,QAASgjB,EAAO/+B,eACtEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACP,CAAC,EACL,EACJ,EAEX,CAEV,yIC9cM8nL,IAA0CA,CAAC,CAC7CznL,YACA6gL,oBACA1hL,OACA25B,OACAmjJ,SACApuJ,UACAmL,WACAE,qBAAqB,UACrBC,oBAAoB,WACpBC,0BAAoBC,EAAA,CAAA15B,GAAA,OAAkB,EACtC25B,yBAAmBD,EAAA,CAAA15B,GAAA,SAAoB,CAC3C,IAAM,CACF,KAAM,CAACu8K,EAAUC,CAAW,EAAIt7J,WAAkB,EAAK,EACjD,CAACq8F,EAAc0qC,CAAe,EAAI/mI,WAAmC,CAAE,GACvE,CAACwhD,EAAoBghG,CAAqB,EAAIxiJ,WAAmB,CAAE,GACnE,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAACuE,EAASy5D,CAAU,EAAIh+D,WAAS,EAAI,EAErC,CAAC6mK,CAAc,EAAI9jK,EACrB,IAAM4hE,GAAwBxlF,EAAW6gL,EAAkBlhL,EAAG,EAC9D,CAACkhL,EAAkBlhL,EAAE,EACrB,IACJ,EAEA6gB,YAAU,IAAM,CACRknK,GACA7oG,EAAW,EAAK,CACpB,EACD,CAAC6oG,CAAc,CAAC,EAEnBlnK,YAAU,IAAM,CACR6hD,GACIA,EAAmBrgE,OAAQ7F,GAAM,CAACurL,EAAgBv6K,SAAShR,CAAC,CAAC,EAAE5C,OAAS,IAC9D6rC,aAAK/L,EAAA,CAAA15B,GAAA,gCAA4C,EAAC,EAC5D0jK,EAAsBhhG,EAAmBrgE,OAAQ7F,GAAMurL,EAAgBv6K,SAAShR,CAAC,CAAC,CAAC,EAE3F,EACD,CAACkmE,CAAkB,CAAC,EAEvB,MAAM9oC,EAAoB,SAAY,CAC9B8oC,KAAmB9oE,SAAW,EAAG,CACvB6rC,aAAK/L,EAAA,CAAA15B,GAAA,sCAAkD,EAAC,EAClE,OAEA,IACA0oC,EAAU,EAAI,EACd,MAAMs9C,GAAaxmF,EAAKa,UAAYb,EAAK49K,YAAap9K,GAAK0iE,CAAkB,EACnE31B,gBAAQrT,EAAA,CAAA15B,GAAA,+BAA2C,EAAC,OAChE,CACY2tC,cAAMjU,EAAA,CAAA15B,GAAA,qCAAiD,EAAC,SAC5D,CACN0oC,EAAU,EAAK,EACf40I,EAAe,EAAK,EACpB12K,EAAe01K,CAAM,EACrB11K,EAAesnB,CAAO,CAC1B,GAGE2L,EAAoBA,IAAM,CAC5ByjJ,EAAe,EAAK,EACpB12K,EAAeyyB,CAAQ,EACvBzyB,EAAesnB,CAAO,GAEpBovJ,EAAkBf,GAAa,CACjCC,EAAYD,CAAQ,GAOxB,cACK1uJ,EAAK,CAACzb,KAAK,WAAWjR,OAAQg4B,EAAM1wB,UAAW0pB,GAAM2E,QAAShJ,OAAQ+L,EAAkBnwB,SAAA,CACrFowB,OAAC9G,GAAW,CAAAtpB,SAAA,CACRooB,MAACc,EAAe,CAAC5nB,KAAK,KAAK6nB,KAAMm1J,GAAkB,EACnDluJ,OAAA,OAAKrxB,UAAW0pB,GAAMsmB,UAAU/uC,SAAA,CAC3Bw3K,EAAkB9uK,KAAK,UAACsnB,EAAA,CAAA15B,GAAA,SAAoB,CAAC,EAC7C,CAAC,EACG,EACb8xB,MAACoB,EAAS,CAAAxpB,SACL+b,EACIonB,QAAgB,EAAE,SAEnBjb,WAAA,CAAAloB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAMsmB,UAAU/uC,SAAA,CAC5BooB,MAAA4H,EAAA,CAAA15B,GAAA,2CAAsD,EACrD,CAAC+nL,GACGA,EAAenuL,SAAW,SACtBs4C,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,uIAAA28C,WAAA,CAAA7N,EACoDhd,MAAK,QAAC,EAEnD,EACH,CACV,EACL,EACLA,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAMsmB,UAAWtmB,GAAM0rJ,iBAAiB,EAAEn0K,eAChE2zG,GAA+B,CAC5Bh9G,UAAWb,EAAKa,UAChBi9G,aAAcyqE,GAAkB1kL,OAChCk6G,eACAtkH,MAAOypE,EACP0rB,kBAAmBs1E,EACnBC,sBAAuB,KAC1B,EACA,CAAC,EACR,EAEC,EACX7pI,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAO8F,EAAmBnV,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,SAC1EiwB,EACG,EACR7H,MAAC4F,EAAM,CAAChE,MAAO6F,EAAoBlV,QAASuV,EAAmBnU,QAASgjB,EAAO/+B,SAC1E+vB,EACG,CAAC,EACA,CAAC,EACX,CAEf,8gCCtIMwuJ,IAAsDA,CAAC,CAAEzI,cAAa+F,mBAAkB92B,SAAQ,IAAM,CACxG,KAAM,CAACywB,EAAgBC,CAAa,EAAIj+J,EAA0B,WAC5D,CAACgnK,EAAgBC,CAAiB,EAAIjnK,WAAkB,EAAK,EAC7D,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EAE1CL,YAAU,IAAM,CACR2+J,GAAe+F,IACX/F,EAAYoD,oBAAsB,OAClCpD,EAAYoD,kBAAoB,IAGhCpD,EAAYsG,4BAA8B,OAC1CtG,EAAYsG,0BAA4B,IAG5C3G,EAAcK,CAAW,EAC7B,EACD,CAACA,EAAa+F,CAAgB,CAAC,EAElC,MAAMjG,EAA4Dx1K,GAAA,CAC9Dq1K,EAA6Bh8J,IAAA,CAAE,GAAGA,EAAU,GAAGrZ,CAAU,KAEvDy1K,EAAkB,SAAY,CAChC,GAAIL,GAAkBA,EAAe7+K,WAAa6+K,EAAel/K,GACzD,IACA0oC,EAAU,EAAI,EACd,MAAM69C,GAAsB24F,EAAe7+K,UAAW6+K,EAAel/K,GAAIk/K,CAAc,EAC7EnyI,gBAAQrT,EAAA,CAAA15B,GAAA,4BAAwC,EAAC,OAC7D,CACY2tC,cAAMjU,EAAA,CAAA15B,GAAA,kCAA8C,EAAC,SACzD,CACN0oC,EAAU,EAAK,CACnB,CAEJ9hC,EAAe6nJ,CAAO,GAGpB25B,EAA0CjvJ,GAAA,CAC5CgvJ,EAAkBhvJ,CAAI,GAGpBkvJ,EAAoBh9J,UAAQ,IACf6zJ,WAAgBoJ,gBAAkBpJ,EAAeoJ,gBAAgB1uL,OAAS,EAE1F,CAACslL,CAAc,CAAC,EAEbqJ,EAAiBl9J,UAAQ,IACtBm0J,EAIEsF,GAAgBziL,OAAcm9K,qBAAYsG,4BAAZtG,cAAuChyK,SAAShR,EAAEwD,IAAG,EAH/E,GAIZ,CAACw/K,CAAW,CAAC,EAEVoD,EAAoBv3J,UAAQ,IAC1B,CAACm0J,GAAe,CAAC+F,EACV,GAGJ/F,EAAYoD,kBAAmBrmL,IAAWgpL,KAAiBj3K,KAAYhH,KAAEtH,KAAOxD,CAAC,CAAE,EAC3F,CAACgjL,EAAa+F,CAAgB,CAAC,EAElC,aACI3zJ,WAAA,CAAAloB,SACKw1K,GACGplJ,OAAA,OAAKrxB,UAAW0pB,GAAMq0J,gBAAgB98K,UAClCowB,OAAA,OAAKrxB,UAAW0pB,GAAM6rJ,UAAUt0K,SAAA,CAC5BooB,MAAC4F,GAAM,CAACrT,QAASA,IAAMk7J,EAAgB,EAAG7rJ,MAAM,UAAUjO,QAASgjB,EAAO/+B,eACtEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACR8xB,MAAC4F,GAAM,CAACrT,QAASA,IAAM+jK,EAAqB,EAAI,EAAG10J,MAAM,UAAUiD,SAAU8R,EAAO/+B,eAChFgwB,EAAA,CAAA15B,GAAA,iCAA4C,EACxC,EACR8xB,MAACg2J,IAAW,CACRznL,UAAWm/K,EAAan/K,UACxB6gL,kBAAmBhC,EAAe9B,YAClCjkJ,KAAM+uJ,EACN1oL,KAAM0/K,EACN5C,OAAQA,IAAM8L,EAAqB,EAAK,EACxCl6J,QAASA,IAAMk6J,EAAqB,EAAK,EACzC/uJ,SAAUA,IAAM+uJ,EAAqB,EAAK,EAC7C,CAAC,EACD,EACLtuJ,OAAA,OAAKrxB,UAAW0pB,GAAMq2J,cAAc9+K,UAChCowB,OAAA,OAAKrxB,UAAW0pB,GAAMqpF,YAAY9xG,UAC9BowB,OAAA,OAAKrxB,UAAW0pB,GAAMs2J,cAAc/+K,UAChCowB,OAAA,OAAKrxB,UAAW0pB,GAAMu2J,MAAMh/K,UACvBw1K,EAAemH,sBACXpkJ,GAAS,CACNC,IAAK2kD,GAAiBq4F,EAAemH,cAAc,EACnD59K,UAAW0pB,GAAMi4B,KACpB,GAEJ80H,EAAeqH,6BACXtkJ,GAAS,CACNC,IAAK2kD,GAAiBq4F,EAAeqH,qBAAqB,EAC1D99K,UAAW0pB,GAAMi4B,MACpB,CACJ,EACA,EACLt4B,MAAA,OACIrpB,UAAWY,GAAW,CAClB,CAAC8oB,GAAMw2J,UAAU,EACbzJ,EAAemH,gBAAkBnH,EAAeqH,sBACvD,EAAE78K,eACF69K,GAAoB,CACjB9rG,SAAUyjG,EAAesI,gBAAkB,GAC3CoB,YAAa,GACbnB,YAAap+K,GAAW8oB,GAAMu1J,UAAWv1J,GAAM02J,aAAa,EAC/D,EACA,CAAC,EACL,EACL/uJ,OAAA,OAAKrxB,UAAW0pB,GAAM22J,YAAYp/K,UAC9BooB,MAAA,OAAKrpB,UAAWY,GAAW8oB,GAAM20J,UAAU,EAAEp9K,eACzCgwB,EAAA,CAAA15B,GAAA,iBAA4B,EAC3B,EACL8xB,MAACjqB,GAAK,CACF5O,MAAOimL,EAAe4H,YAAc,GACpCv+K,YAAa4kB,EAAAwW,uBAAqB,EAClCl6B,YACI61K,EAAmB,CACfwH,WAAYxhL,EAAEgf,OAAOrrB,MACxB,EAELwP,UAAWY,GAAW8oB,GAAM42J,gBAAiB,cAAc,EAC9D,EACDj3J,MAACy1J,GAAoB,CACjB9rG,SAAUyjG,EAAe8J,aAAe,GACxCv/K,YACI61K,EAAmB,CACf0J,YAAa/1I,EAChB,EAELw0I,YAAap+K,GAAW8oB,GAAMu1J,UAAWv1J,GAAM82J,UAAU,EACzDh0F,iBAAkB9iE,GAAMs0J,cAC3B,CAAC,EACD,CAAC,EACL,EACL3sJ,OAAA,OAAKrxB,UAAW0pB,GAAM+2J,aAAax/K,SAC9B,EAAC6+K,EAAe3uL,OAAS,GAAKgpL,EAAkBhpL,OAAS,IACtDkgC,OAAA,OAAKrxB,UAAW0pB,GAAMg3J,cAAcz/K,UAC/B6+K,EAAehsL,IAAI,CAACpC,EAAM80B,IACvB90B,EAAK6F,GAAGwN,SAAS,MAAM,SACnB,OAAiB/E,UAAW0pB,GAAMi3J,iBAAiB1/K,UAC/CooB,MAAA,QAAMrpB,UAAW0pB,GAAMk3J,oBAAoB3/K,SAAEvP,EAAK+gD,QAAQ,EAAQ,EAClEppB,MAACjqB,GAAK,CACFY,UAAWY,GAAW8oB,GAAMm3J,WAAY,cAAc,EACtD3yJ,SAAQ,GACR19B,MAAO+zD,GAAerwD,QAAM,EAC/B,CAAC,GANIsyB,CAOL,EAEL6K,OAAA,OAAiBrxB,UAAW0pB,GAAMi3J,iBAAiB1/K,UAC/CooB,MAAA,QAAMrpB,UAAW0pB,GAAMk3J,oBAAoB3/K,SAAEvP,EAAK+gD,QAAQ,EAAQ,EAClEppB,MAACjqB,GAAK,CACFY,UAAWY,GAAW8oB,GAAMm3J,WAAY,cAAc,EACtD3yJ,SAAQ,GACR19B,MAAOkB,EAAK6qL,aACf,CAAC,GANI/1J,CAOL,CAEb,EACC2zJ,iBAAmBrmL,IAAI,CAACpC,EAAM80B,IAC1BnnB,SAAM6yB,SAAQ,CAAAjxB,UACXowB,OAAA,OAAKrxB,UAAW0pB,GAAMi3J,iBAAiB1/K,UACnCowB,OAAA,QAAMrxB,UAAW0pB,GAAMk3J,oBAAoB3/K,SAAA,CACtCvP,EAAKiY,KAAK,UAACsnB,EAAA,CAAA15B,GAAA,OAAkB,CAAC,EAC7B,EACN8xB,MAACjqB,GAAK,CACFY,UAAWY,GAAW8oB,GAAMm3J,WAAY,cAAc,EACtD3yJ,SAAQ,GACR19B,MAAO+zD,GAAerwD,QAAM,EAC/B,CAAC,EACD,EACLm9B,OAAA,OAAKrxB,UAAW0pB,GAAMi3J,iBAAiB1/K,UACnCowB,OAAA,QAAMrxB,UAAW0pB,GAAMk3J,oBAAoB3/K,SAAA,CACtCvP,EAAKiY,KAAK,UAACsnB,EAAA,CAAA15B,GAAA,OAAkB,CAAC,EAC7B,EACN8xB,MAACjqB,GAAK,CACFY,UAAWY,GAAW8oB,GAAMm3J,WAAY,cAAc,EACtD3yJ,SAAQ,GACR19B,MAAO,cACV,CAAC,EACD,CAAC,GApBWg2B,CAqBL,EAClB,EACD,EAET6K,OAAA,OAAKrxB,UAAW0pB,GAAMo3J,cAAc7/K,UAChCowB,OAAA,OAAKrxB,UAAWY,GAAW8oB,GAAMgsJ,QAAQ,EAAEz0K,UACvCooB,MAAA,QAAMrpB,UAAW0pB,GAAMisJ,SAAS10K,eAC5BgwB,EAAA,CAAA15B,GAAA,iBAA4B,EAC1B,EACN8xB,MAACjqB,GAAK,CACF5O,MAAOimL,EAAesK,aAAe,GACrCjhL,YAAa4kB,EAAAwW,mBAAiB,EAC9Bl6B,YACI61K,EAAmB,CACfkK,YAAalkL,EAAEgf,OAAOrrB,MACzB,EAELwP,UAAWY,GAAW8oB,GAAMksJ,YAAa,cAAc,EAC1D,CAAC,EACD,EACLvkJ,OAAA,OAAKrxB,UAAWY,GAAW8oB,GAAMgsJ,QAAQ,EAAEz0K,UACvCooB,MAAA,QAAMrpB,UAAW0pB,GAAMisJ,SAAS10K,eAC5BgwB,EAAA,CAAA15B,GAAA,QAAmB,EACjB,EACN8xB,MAACjqB,GAAK,CACF5O,MAAOimL,EAAeuK,cAAgB,GACtClhL,YAAa4kB,EAAAwW,oBAAkB,EAC/Bl6B,YACI61K,EAAmB,CACfmK,aAAcnkL,EAAEgf,OAAOrrB,MAC1B,EAELwP,UAAWY,GAAW8oB,GAAMksJ,YAAa,cAAc,EAC1D,CAAC,EACD,EACLvsJ,MAACxoB,GAAkB,CACfb,UAAWY,GAAW8oB,GAAM42J,gBAAiB,cAAc,EAC3DxgL,YAAa4kB,EAAAwW,wBAAsB,EACnCozD,KAAM,EACN1uF,UAAW,IACXpP,MAAOimL,EAAeoJ,iBAAmB,GACzC7+K,YACI61K,EAAmB,CACfgJ,gBAAiBhjL,EAAEgf,OAAOrrB,MAC7B,CAER,GACA,IAAMovL,EAAkB,UAAC3uJ,EAAA,CAAA15B,GAAA,aAAwB,CAAC,EAClD,CAAC,EACL,CAAC,EACL,CAAC,EACL,EAEX,CAEV,wOChOM0pL,IAAiD,CACnD,CAAE1pL,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,KAAMoS,WAAMsnB,EAAA,CAAA15B,GAAA,KAAgB,CAAE,CAAC,EAGnC2pL,IAAiD,CACnD,CAAE3pL,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,KAAMoS,WAAMsnB,EAAA,CAAA15B,GAAA,KAAgB,CAAE,CAAC,EAGnC4pL,IAA6C,CAC/C,CAAE5pL,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,KAAMoS,WAAMsnB,EAAA,CAAA15B,GAAA,KAAgB,CAAE,CAAC,EAEnC6pL,IAA2C,CAC7C,CAAE7pL,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,KAAMoS,WAAMsnB,EAAA,CAAA15B,GAAA,KAAgB,CAAE,CAAC,EAGnC8pL,IAAgDA,CAAC,CAAEznL,SAAQy6G,gBAAe,IAAM,CAClF,MAAMz8G,EAAY0kB,EAAazlB,GAAkBA,EAAMD,OAAOT,cAAeoB,EAAE,EACzE,CAACmB,EAAQqxE,CAAS,EAAItxD,WAAS,EAAK,EACpC,CAACipD,CAAU,EAAIlmD,EAAc,IAAM/N,GAAsC7V,CAAS,EAAG,GAAI,IAAI,EAC7FuhJ,EAAiB5mC,GAAoB34G,EAAQ0nL,GAAqBjuI,KAAK,EAE7E,cACIlqB,WAAA,CAAAloB,SAAA,CACIooB,MAACspF,GAAa,CACVE,WAAYj5G,EAAOi5G,WACnBC,sBAA2BuB,EAAe,CAAE,GAAGz6G,EAAQi5G,WAAY1iE,EAAG,EACtEyiE,cAAeA,IAAM7oC,EAAW55B,GAAM,CAACA,CAAC,EACxCxa,SAAUwjH,EACb,EAED9vH,MAACsqF,GAAY,CACT9zF,QAASA,IAAM,CACIyhK,KAAqBjuI,OAAO,EAC3C02B,EAAU,EAAK,CACnB,EACAtkD,QAASA,IAAMskD,EAAU,EAAK,EAC9BjtB,UAAWpkD,EAAOuI,SACjBygE,GACGrwC,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAAC2qF,GAAc,CACXrhF,YAAO1B,EAAA,CAAA15B,GAAA,QAAmB,EAC1BuI,YAAa4kB,EAAAwW,aAAW,EACxBnkC,KAAM2qE,EAAW6yC,OAAOzgH,IAAYqoE,IAAA,CAAE5kE,GAAI4kE,EAAGxyD,KAAMwyD,GAAI,EACvD3rE,MAAOoJ,EAAO26G,OACdvzG,YAAiBqzG,EAAe,CAAE,GAAGz6G,EAAQ26G,OAAQpkE,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EAC5E,EAED8xB,MAAC2qF,GAAc,CACXrhF,YAAO1B,EAAA,CAAA15B,GAAA,eAA0B,EACjCuI,YAAa4kB,EAAAwW,mBAAiB,EAC9BnkC,KAAM2qE,EAAW8yC,YAAY1gH,IAAYqoE,IAAA,CAAE5kE,GAAI4kE,EAAGxyD,KAAMwyD,GAAI,EAC5D3rE,MAAOoJ,EAAO46G,YACdxzG,YAAiBqzG,EAAe,CAAE,GAAGz6G,EAAQ46G,YAAarkE,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EACjF,EAED8xB,MAAC2qF,GAAc,CACXrhF,YAAO1B,EAAA,CAAA15B,GAAA,cAAyB,EAChCuI,YAAa4kB,EAAAwW,mBAAiB,EAC9BnkC,KAAM2qE,EAAWjE,OAAO3pE,IAAYqoE,IAAA,CAAE5kE,GAAI4kE,EAAE5kE,GAAIoS,KAAMwyD,EAAExyD,MAAO,EAC/DnZ,MAAOoJ,EAAO6jE,OACdz8D,YAAiBqzG,EAAe,CAAE,GAAGz6G,EAAQ6jE,OAAQttB,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EAC5E,EACD8xB,MAACumI,GAAoB,CACjBj9H,YAAO1B,EAAA,CAAA15B,GAAA,mBAA8B,EACrCuI,kBAAamxB,EAAA,CAAA15B,GAAA,mBAA8B,EAC3CR,KAAMmqL,IACN1wL,MAAOoJ,EAAO+/K,eACd34K,YAAkBqzG,EAAe,CAAE,GAAGz6G,EAAQ+/K,eAAgBz3G,EAAG3qE,GAAI,EACxE,EACD8xB,MAACumI,GAAoB,CACjBj9H,YAAO1B,EAAA,CAAA15B,GAAA,sBAAiC,EACxCuI,kBAAamxB,EAAA,CAAA15B,GAAA,sBAAiC,EAC9CR,KAAMkqL,IACNzwL,MAAOoJ,EAAO8/K,QACd14K,YAAkBqzG,EAAe,CAAE,GAAGz6G,EAAQ8/K,QAASx3G,EAAG3qE,GAAI,EACjE,EACD8xB,MAACumI,GAAoB,CACjBj9H,YAAO1B,EAAA,CAAA15B,GAAA,qBAAgC,EACvCuI,kBAAamxB,EAAA,CAAA15B,GAAA,qBAAgC,EAC7CR,KAAMoqL,IACN3wL,MAAOoJ,EAAOggL,aACd54K,YAAkBqzG,EAAe,CAAE,GAAGz6G,EAAQggL,aAAc13G,EAAG3qE,GAAI,EACtE,EACD8xB,MAACumI,GAAoB,CACjBj9H,YAAO1B,EAAA,CAAA15B,GAAA,gBAA2B,EAClCuI,kBAAamxB,EAAA,CAAA15B,GAAA,gBAA2B,EACxCR,KAAMqqL,IACN5wL,MAAOoJ,EAAOigL,YACd74K,YAAkBqzG,EAAe,CAAE,GAAGz6G,EAAQigL,YAAa33G,EAAG3qE,GAAI,EACrE,CAAC,EACJ,EAEI,CAAC,EACjB,CAEV,EC9HO,MAAM+pL,EAAqB,CAC9B,OAAOjuI,OAA8B,CAC1B,OACHkhE,OAAQ,CAAE,EACVC,YAAa,CAAE,EACf/2C,OAAQ,CAAE,EACVo1C,WAAY,GACZ6mE,QAAS,MACTC,eAAgB,MAChBC,aAAc,MACdC,YAAa,MAErB,CACJ,CCHA,MAAM0H,IAA6BnjJ,OAAK,IAAM54B,GAAA,WAAO,oCAA2D,qHAAC,EAMrGg8K,kBAAU,CAAVA,SAAU,oBAAVA,EAAU,cAAVA,EAAU,YAAVA,EAKR,kBALQA,CAAU,MAmDtB,MAAMC,GAA4C,CAC9C,CACIlqL,GAAIiqL,GAAW1hD,SACfrtF,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,WAAsB,EACrC0gC,OAAQA,CAAC,CAAEwgJ,oBAAmBjC,kBAAiB58K,SAAQgqB,kBAClD40J,IAAiB,CACdzB,YAAaP,EACbiC,oBACA7+K,SACAosJ,QAASpiI,EACZ,CAET,EACA,CACIrsB,GAAIiqL,GAAWE,MACfjvI,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EAClC0gC,OAAQA,CAAC,CAAEu+I,kBAAiBsG,mBAAkBl5J,kBACzCi5J,IAAkB,CAAC9F,YAAaP,EAAiBsG,mBAAoC92B,QAASpiI,EAAS,CAEhH,EACA,CACIrsB,GAAIiqL,GAAWG,KACflvI,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,SAAoB,EACnC0gC,OAAQA,CAAC,CAAEu+I,kBAAiBsG,mBAAkBl5J,kBACzC47J,IAAiB,CAACzI,YAAaP,EAAiBsG,mBAAoC92B,QAASpiI,EAAS,CAE/G,EACA,CACIrsB,GAAIiqL,GAAWI,QACfnvI,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,UAAqB,EACpC0gC,OAAQA,CAAC,CAAEu+I,kBAAiBqL,mBACvBC,WAAQ,CAACzjJ,SAAUhV,MAAC+a,IAAkB,EAAEnjC,eACpCsgL,IAAoB,CAACxK,YAAaP,EAAiBqL,UAAmB,EACjE,CAElB,CAKA,EAGEE,IAAkDA,IAAM,CAC1D,MAAMz3K,EAAUgS,EAA+BzlB,KAAMD,OAAOT,aAAc,EACpEyB,EAAY0S,EAAQ/S,GACpB,CAAC4jB,EAAWC,CAAY,EAAI3C,WAAS,EAAI,EACzC,CAAC6+J,EAAqB0K,CAAsB,EAAIvpK,WAA6B7d,MAAS,EAItF,CAACqnL,EAAkCC,CAAmC,EAAIzpK,EAAmC,WAC7G,CAAC0pK,EAA4BC,CAA6B,EAAI3pK,EAASgpK,YAAoB,CAAC,CAAC,EAC7F,CAACY,EAAmBC,CAAoB,EAAI7pK,EAA0B,WACtE,CAAC7e,EAAQq7G,CAAS,EAAI7zF,GAAoCkgK,GAAqBjuI,OAAO,EAEtFkvI,EAA6Dz1G,GAAA,CACzD01G,QAAeC,iBAAW58K,KAAM9R,GAAMA,mBAAE4gL,cAAF5gL,cAAewD,MAAOu1E,EAAK6nG,YAAYp9K,KAC5Du1E,IAAI6nG,YAAYp9K,EAAE,EACzC+qL,EAAqBE,CAAY,EACjCN,EAAoCp1G,CAAG,EACvCn5D,aAAaE,QAAQ,GAAGvJ,EAAQ/S,mBAAoB,GAAKu1E,EAAI6nG,YAAYp9K,EAAG,GAG1EmrL,EAAiD51G,GAAA,CACnDs1G,EAA8Bt1G,CAAG,GAE/B61G,EAAeA,IAAM,CACvBvnK,EAAa,EAAI,EACDwnK,GAAA,EAGdC,EAAsCryL,GAAA,CAClCs8E,QAAMg2G,EAA2Bj9K,KAAM9R,GAAMA,EAAE4gL,YAAYp9K,KAAO/G,EAAM+G,EAAE,EAChFgrL,EAAwBz1G,CAAI,GAG1B,CAACgwG,CAAgB,EAAIthK,EACvB,IAAM8hE,GAA4B1lF,CAAS,EAC3C,CAACA,CAAS,EACV,IACJ,EAEM,CAAC6qL,GAAaG,CAAe,EAAIpnK,EACnC,IAAMqiE,GAAsBjmF,CAAS,EACrC,CAACA,CAAS,EACV,IACJ,EAEM,CAACiqL,EAASkB,CAAU,EAAIvnK,EAC1B,IACQ87J,GACAyL,EAAW,IAAI,EACR3jG,GAAgBk4F,CAAmB,GAEnCh6K,QAAQ4Y,QAAQ,IAAI,EAGnC,CAACohK,EAAqBmL,CAAS,EAC/B,IACJ,EAEMK,EAA4BlgK,UAA2C,IACrE,CAACk6J,GAAoB,CAAC2F,EACf,KAGJ3F,EAAiBhpL,IAAWC,IACxB,CACH4gL,YAAa5gL,EACb0+C,QAASA,IAAMppB,MAAAF,WAAA,CAAAloB,SAAGlN,EAAE4V,KAAO,GAElC,EACF,CAACmzK,EAAkB2F,CAAS,CAAC,EAE1BtiK,EAAUC,KAkBZ,OAhBJhI,YAAU,IAAM,CACZ,GAAIqqK,GAAaK,EAA2B,CACpCA,MAA6BA,EAA0B3xL,SAAW,EAAG,CACrEgvB,EAAQptB,KAAK,cAAc,EAC3B,OAEJ,MAAMiwL,EAAWrvK,aAAaM,QAAQ,GAAG3J,EAAQ/S,kBAAkB,EAC/DyrL,MAAa,KAAgC,CACvCl2G,QAAMg2G,EAA2Bj9K,KAAM9R,GAAMA,EAAE4gL,YAAYp9K,KAAO,CAACyrL,CAAQ,EACjFT,EAAwBz1G,CAAI,OAEJg2G,IAA0B,CAAC,CAAC,EAE5D,EACD,CAACL,EAAWK,CAAyB,CAAC,EAErC,CAAChG,GAAoB,CAAC2F,EACfp5J,MAAC+a,EAAgB,EAAE,EAGzB69I,SASD,OAAAhhL,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAU,YAAI,EACtC7J,OAAA,OAAKrxB,UAAW0pB,GAAMu5J,gBAAgBhiL,UAClCowB,OAAA,OAAKrxB,UAAW0pB,GAAMw5J,UAAUjiL,UAC5BooB,MAAA,OAAKrpB,UAAW0pB,GAAMy5J,aAAaliL,eAC9B2uJ,GAAoB,CACjB5uJ,SAAiB6hL,KAAa1yI,CAAC,EAC/BrwC,YAAa4kB,EAAAwW,uBAAqB,EAClCnkC,KAAM+rL,EAA2BhvL,IAAWC,IACjC,CAAEwD,GAAIxD,EAAE4gL,YAAYp9K,GAAIoS,KAAM5V,EAAE0+C,QAAQ,GAClD,EACDjiD,MAAO,CACH+G,GAAI+/K,EACJ3tK,KAAMs4K,EAAiCxvI,QAAQ,CACnD,EACA9f,MAAO,GACV,EACA,EAELtJ,MAAC2M,GAAa,CAAA/0B,SACTwgL,GAAoB3tL,IACjBu1B,SAAC2M,GAAc/G,OAAM,CAEjB0G,SAAUwsJ,EAA2B5qL,KAAOxD,EAAEwD,GAC9CqkB,QAASA,IAAM8mK,EAAkB3uL,CAAC,EAAEkN,SACnClN,EAAE0+C,QAAQ,GAHN1+C,EAAEwD,EAIW,CACzB,EACU,CAAC,EACf,EACJ4qL,EAA2B5qL,KAAOiqL,GAAW1hD,gBACzCuhD,IAAc,CAACznL,SAAgBy6G,eAAgBY,EAAY,CAC/D,EACA,EACJktE,EAA2BlqJ,OAAO,CAC/BrgC,YACA4+K,gBAAiB6L,EACjBR,UACA/E,mBACArE,kBAAmBwJ,EAAkCtN,YACrD/wJ,OAAQ++J,EACR/oL,SACH,CAAC,EACD,QAlDD,OAAKoG,UAAW0pB,GAAM05J,WAAWniL,eAC7BgwB,EAAA,CAAA15B,GAAA,oEAA+E,EAC9E,CAkDjB,4rBClQa8rL,GAAyCA,CAAC,CAAE7yL,QAAO09B,WAAW,GAAOltB,UAAS,IAAM,CAC7F,KAAM,CAACmtC,EAASm1I,CAAU,EAAI7qK,WAASjoB,IAAU,CAAC,EAClD,cACI,OAAKwP,UAAW0pB,GAAM65J,uBAAuBtiL,SAAA,CACzCooB,MAACkX,GAAQ,CACLrS,WACA+0C,UAAU,SACVzkE,QAAS2vC,EACTntC,SAAiBnE,GAAA,CACbA,EAAEgf,OAAOrd,QACE3B,IAAEgf,OAAOrd,OAAO,EACtB3B,EAAEgf,OAAOrd,QAGVwC,EAAS,CAAC,EAFVA,EAAS,CAAC,CAIlB,EACH,EACDqwB,OAAA,OAAKrxB,UAAW0pB,GAAM85J,aAAaviL,SAAA,CAC/BooB,MAACjqB,GAAK,CACF5O,MAAO29C,EAAU39C,EAAQ,GACzBE,KAAK,SACLsQ,SAAqBA,KAAS,CAAC+wJ,EAAMl2I,OAAOrrB,KAAK,EACjD09B,SAAU,CAACigB,GAAWjgB,EACtBluB,UAAWY,GAAW,eAAgB8oB,GAAM+5J,QAAQ,CACvD,GACAjzL,IAAU,QAAIygC,EAAA,CAAA15B,GAAA,OAAkB,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,MAAiB,CAAC,EACtD,CAAC,EACL,CAEb,ECVMmsL,IAA4CA,IAAM,CAEpD,MAAM9rL,EADU0kB,EAA+BzlB,KAAMD,OAAOT,aAAc,EAChDoB,GACpB,CAAC4jB,EAAWC,CAAY,EAAI3C,WAAkB,EAAI,EAClD,CAACkrK,EAASC,CAAU,EAAInrK,WAAkB,EAAK,EAC/C,CAACqkK,EAAkB+G,EAAqBC,CAAsB,EAAItoK,EACpE,IAAM8hE,GAA4B1lF,CAAS,EAC3C,CAACA,CAAS,EACV,IACJ,EAEAwgB,YAAU,IAAM,CACR0kK,GACA1hK,EAAa,EAAK,CACtB,EACD,CAAC0hK,CAAgB,CAAC,EAEfiH,QAA0BA,CAACpP,EAA+BtzK,IAAuC,CAEnG,GADAuiL,EAAW,EAAI,EACX9G,EAAkB,CACZj1I,QAAWF,GAAam1I,EAAkBnI,EAAa,CAAE,GAAGA,EAAa,GAAGtzK,EAAS2iL,QAAS,GAAM,EAC1GH,EAAoBh8I,CAAQ,EAChC,EAsBEo8I,EAAiBA,IAAM,CAEzB,GADAL,EAAW,EAAI,EACX9G,EAAkB,CACZj1I,QAAWi1I,EAAiBvnH,OAAO,CACrC,CAAEkmH,kBAAmB,GAAO9xK,KAAM,GAAIu6K,MAAO,GAAMxhF,2BAA4B,EAAGyhF,mBAAoB,CAAG,EAC5G,EACDN,EAAoBh8I,CAAQ,EAChC,EAEEu8I,EAAgB,SAAY,CAC9B,IAAIC,EAAkC,GAClCC,EAAgC,GAChCxH,GACAA,EAAiBrrL,QAAesC,GAAA,CACxBA,EAAEmwL,MACFI,EAAUvxL,KAAKgB,CAAC,EACTA,EAAEiwL,SACTK,EAAYtxL,KAAKgB,CAAC,CACtB,CACH,EAEL,IAAIwwL,EAAe,GACnB,UAAWxwL,KAAKuwL,EACZ,MAAM5mG,GAAkB9lF,EAAW7D,CAAC,EAC/B+J,KAAK,IAAM,CACR/J,EAAEmwL,MAAQ,GACb,EACA5hG,MAAazlF,GAAA,CACK0nL,EAAA,GAClB,EAELF,EAAYlzL,SAAW,IAClBozL,EAGSr/I,cAAMjU,EAAA,CAAA15B,GAAA,uBAAmC,EAAC,EAF1C+sC,gBAAQrT,EAAA,CAAA15B,GAAA,wCAAoD,EAAC,GAK3E8sL,EAAYlzL,OAAS,GACrB,MAAMqsF,GAAmB5lF,EAAWysL,CAAW,EAC1CvmL,KAAK,IAAM,CACJymL,EACUr/I,cAAMjU,EAAA,CAAA15B,GAAA,uBAAmC,EAAC,EAE1C+sC,gBAAQrT,EAAA,CAAA15B,GAAA,mCAA+C,EAAC,CACtE,CACH,EACA+qF,SAAa39C,EAAUO,YAAMjU,EAAA,CAAA15B,GAAA,uBAAmC,EAAC,CAAC,EAE3E,MAAMusL,EAAuB,GAGjC,OAAI3oK,EACOkO,MAAC+a,EAAgB,EAAE,SAI1B,OAAKpkC,UAAW0pB,GAAM86J,cAAcvjL,SAAA,CAChCooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAU,YAAI,EACtC7J,OAAA,OAAKrxB,UAAW0pB,GAAM+6J,kBAAkBxjL,UACpCooB,MAAA,OAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,eAA0B,EACzB,EACL85B,OAAA,OAAApwB,SAAA,CACIooB,MAAC4F,GAAM,CAACrT,QAASqoK,EAAgBh5J,MAAM,UAAShqB,eAC5CgwB,EAAA,CAAA15B,GAAA,kBAA6B,EACzB,EACR8xB,MAAC4F,GAAM,CAACf,SAAU,CAACy1J,EAAS/nK,QAASwoK,EAAen5J,MAAM,UAAShqB,eAC/DgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACR,CAAC,EACL,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMg7J,mBAAmBzjL,UACpC67K,iBAAkB3rL,UAAW,QAC1B,OAAK6O,UAAWY,GAAW8oB,GAAM05J,UAAU,EAAEniL,eACzCgwB,EAAA,CAAA15B,GAAA,oCAA+C,EAC9C,EAEL85B,OAAA,SAAOrxB,UAAW0pB,GAAM0xJ,WAAWn6K,UAC/BooB,MAAA,SAAApoB,gBACI,MAAAA,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EAClB,EACJ8xB,MAAA,MAAIrpB,UAAWY,GAAW8oB,GAAMi7J,gBAAiBj7J,GAAMk7J,kBAAkB,EAAE3jL,eACvEgwB,EAAA,CAAA15B,GAAA,qBAAgC,EAChC,EACJ8xB,MAAA,MAAIrpB,UAAW0pB,GAAMi7J,gBAAgB1jL,eACjCgwB,EAAA,CAAA15B,GAAA,gCAA2C,EAC3C,EACJ8xB,MAAA,MAAIrpB,UAAW0pB,GAAMi7J,gBAAgB1jL,eACjCgwB,EAAA,CAAA15B,GAAA,8BAAyC,EACzC,CAAC,EACL,EACD,EACP8xB,MAAA,SAAApoB,SACK67K,EAAkBhpL,IAAI,CAACC,EAAGzC,WACvB,MAAY0O,UAAW0pB,GAAMm7J,WAAW5jL,UACpCooB,MAAA,MAAIrpB,UAAW0pB,GAAMo7J,eAAe7jL,eAC/B7B,GAAK,CACF5O,MAAOuD,EAAE4V,KACT3I,SAAqB+iL,KAAwBhwL,EAAG,CAAE4V,KAAMooJ,EAAMl2I,OAAOrrB,MAAO,EAC5EwP,UAAWY,GAAW,cAAc,EACvC,EACD,EACJyoB,MAAA,MAAIrpB,UAAWY,GAAW8oB,GAAMi7J,gBAAiBj7J,GAAMk7J,kBAAkB,EAAE3jL,eACtEs/B,GAAQ,CACL0iC,UAAU,SACVt5D,KAAK,oBACLnL,QAASzK,EAAE0nL,kBACXz6K,SACI+iL,KAAwBhwL,EAAG,CAAE0nL,kBAAmB5+K,EAAEgf,OAAOrd,QAAS,EAEzE,EACD,EAEJ6qB,MAAA,MAAIrpB,UAAW0pB,GAAMi7J,gBAAgB1jL,eAChCoiL,GAAiB,CACdn1J,SAAU,CAACn6B,EAAE0nL,kBACbz6K,SACI+iL,KAAwBhwL,EAAG,CAAE2uG,2BAA4B9gF,EAAU,EAEvEpxB,MAAOuD,EAAE2uG,2BACZ,EACD,EAEJr5E,MAAA,MAAIrpB,UAAW0pB,GAAMi7J,gBAAgB1jL,eAChCoiL,GAAiB,CACdriL,SACI+iL,KAAwBhwL,EAAG,CAAEowL,mBAAoBviK,EAAU,EAE/DpxB,MAAOuD,EAAEowL,mBACZ,EACD,CAAC,GApCA7yL,CAqCL,CACP,EACE,CAAC,EACL,EAEV,CAAC,EACL,CAEb,EC7La2vG,GAAoCA,CAAC,CAAEn0B,MAAKl1E,WAAU,IAAM,CACrE,MAAMzB,EAAgBmmB,EAA+BzlB,KAAMD,OAAOT,aAAc,EAC1E,CAAC4uL,CAAc,EAAIvpK,EACrB,SACIrlB,WAAemE,YAAYwuC,iBAAmB3yC,EAAgB,MAAM6mF,GAAU7mF,iBAAeoB,EAAE,EAAI,GACvG,CAACpB,CAAa,EACd,EACJ,EACM60E,EAAmB,CACrB,CACIzzE,GAAI,eACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,gBAA2B,EACjC0gC,OAAQA,CAAC,CAAErgC,qBAAiB8rL,IAAY,CAAC9rL,UAAWA,EAAY,EAChE0C,YAAa,iBACjB,EACA,CACI/C,GAAI,WACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,mBAA8B,EACpC0gC,OAAQA,CAAC,CAAErgC,qBAAiBmqL,IAAe,CAACnqL,UAAWA,EAAY,EACnE0C,YAAa,iBACjB,GAQAyqL,GACA/5G,EAAKj4E,KAAK,CACNwE,GAAI,WACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,WAAsB,EAC5B0gC,OAAqB5O,SAACqqJ,GAAgB,IAAKrgL,EAAU,EACrDiH,YAAa,kBAChB,EAGD0qL,MAAch6G,EAAKpxE,OAAQ7F,GAAM2lC,GAAevjC,EAAcmE,YAAavG,EAAEuG,WAAW,CAAC,EAE7F,OAAK0qL,EAAYn/K,QAAY9R,EAAEwD,KAAOu1E,CAAG,QASpCxC,GAAI,CAACC,YAAauC,EAAKnC,OAAQ,GAAK1pE,SAChC+pE,EAAKl3E,IAAKg5E,SACN3C,GAAO,CAAc5yE,GAAIu1E,EAAIv1E,GAAIkX,GAAI,aAAa7W,cAAsBk1E,EAAIv1E,KAAMoS,KAAMmjE,EAAInjE,KAAK1I,SAC7F6rE,EAAI70C,OAAO,CAAErgC,UAAW,CAACA,EAAW,GAD3Bk1E,EAAIv1E,EAET,CACZ,EACC,EAdFytL,EAAY7zL,SAAW,QACf0+B,GAAuB,CAACphB,GAAG,qBAAsB,QAGrDohB,GAAuB,CAACphB,GAAI,IAAIu2K,EAAY,CAAC,EAAEztL,KAAO,CAYtE,ECpEM0tL,IAAsDA,CAAC,CAAEv0J,OAAMjL,UAASusE,WAAU0zB,SAAQ,IAAM,CAClG,KAAM,CAAC5oH,EAAQm1F,CAAS,EAAIx5E,WAAS,EAAE,EACjC,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EAEpCy5E,EAAkBl5E,SAA4B,IAAI,EAElD8zB,EAAaA,IAAM,CACrBmlD,EAAU,EAAE,EAERC,EAAgB3xF,SAChB2xF,EAAgB3xF,QAAQ2mB,OAC5B,EAGEirE,EAAoB,SAAY,CAClClyD,EAAU,EAAI,EAEV,IACM0lF,SAAYD,EAAS5oH,CAAM,EAEjCqB,EAAe6zF,EAAUl1F,CAAM,EAC/BqB,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,GAGE7O,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,GAG1B,cACKL,EAAK,CAACzb,KAAK,eAAejR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB9L,SAAUwnB,EAAW7rC,SAAA,CACrFooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,eAA0B,EACjB,EACb8xB,MAACoB,EAAS,CAAAxpB,gBACN,OAAKjB,UAAU,aAAYiB,UACvBooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,SAAoB,EACjB,EACP8xB,MAACvoB,GAAQ,CACLtB,IAAK0yF,EACL1hG,MAAOsM,EACP6M,KAAK,SACL3J,UAAU,eACVF,YAAa4kB,EAAAwW,UAAQ,EACrBl6B,SAAWnE,GAAMo1F,EAAUp1F,EAAEgf,OAAOrrB,KAAK,EAAa,CAAC,EAC1D,EACE,EACX6gC,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,SAASrP,QAASu2E,EAAmBn1E,QAASgjB,EAAO/+B,eAC/DgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CAAC,EACA,CAAC,EACX,CAEf,EC7DM2tL,IAAwCA,CAAC,CAAE36D,QAAOvpH,UAAS,IAAM,CACnE,KAAM,CAACmkL,EAAYC,CAAa,EAAI3sK,WAA6C,MAAM,EACjF,CAAC+5E,EAAkBC,CAAmB,EAAIh6E,WAAS,EAAK,EAE9D,GAAI,CAAC8xG,EACM,YAGPA,KAAM/yF,SAAWl0B,GAAYorH,aAC7B,aACKz/F,EAAM,CAAChE,MAAM,UAAUjrB,UAAU,OAAOoqB,KAAM0mD,GAAe5iD,SAAQ,GAAAjtB,eAClEgwB,EAAA,CAAA15B,GAAA,WAAsB,EAClB,EAIZgzH,KAAM/yF,SAAWl0B,GAAYqrF,SAC7B,aACK1/D,EAAM,CAAChE,MAAM,SAASjrB,UAAU,OAAOoqB,KAAM+uF,GAAejrF,SAAQ,GAAAjtB,eACjEgwB,EAAA,CAAA15B,GAAA,WAAsB,EAClB,EAQZ,GAJAgzH,EAAM/yF,SAAWl0B,GAAYorF,SAI7B,CAAC67B,EAAMjwH,YAAY4+G,WACZ,YAGX,MAAM/mB,EAAoBA,IAAM,CAC5BM,EAAoB,EAAI,GAGtBulC,EAAqB,SAAY,CACnCotD,EAAc,WAAW,EAErB,IACM3/D,SAAa8E,EAAMhzH,EAAE,EAC3B4G,EACI6C,EACAW,GAAeC,OAAc,CAAC2oH,EAAMhzH,EAAE,EAAG,CAAEigC,OAAQl0B,GAAYorH,aAAcnP,aAAc,IAAM,EACrG,SAGM,CACN6lE,EAAc,MAAM,CACxB,GAGE5sE,EAA+C17G,GAAA,CACjDqB,EACI6C,EACAW,GAAeC,OAAc,CAAC2oH,EAAMhzH,EAAE,EAAG,CAAEigC,OAAQl0B,GAAYqrF,SAAU4wB,aAAcziH,CAAQ,EACnG,GAIJ,cACIqsB,WAAA,CAAAloB,SAAA,CACIooB,MAAC47J,IAAiB,CACdv0J,KAAM8hE,EACNkzB,QAAS6E,EAAMhzH,GACfkuB,QAASA,IAAMgtE,EAAoB,EAAK,EACxCT,SAAUwmB,EACb,EAEDnvF,MAAC4F,EAAM,CACHhE,MAAM,SACNsC,cAAS0D,EAAA,CAAA15B,GAAA,SAAoB,EAC7BqkB,QAASu2E,EACT/nE,KAAM+uF,GACNn8F,QAASmoK,IAAe,YACxBj3J,SAAUi3J,IAAe,OAAOlkL,eAChCgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EAER8xB,MAACiI,GAAa,CACVrG,MAAM,UACNb,KAAM0mD,GACNvjD,cAAS0D,EAAA,CAAA15B,GAAA,UAAqB,EAC9Bg6B,UAAWymG,EACXxmG,kBAAaP,EAAA,CAAA15B,GAAA,gBAA2B,EACxCk6B,iBAAYR,EAAA,CAAA15B,GAAA,oDAAAE,OAAA,CAAA4uC,EAAqDkkF,EAAMiD,WAAW,EAAS,EAC3FxwG,QAASmoK,IAAe,YACxBj3J,SAAUi3J,IAAe,OAAOlkL,eAChCgwB,EAAA,CAAA15B,GAAA,UAAqB,EACV,CAAC,EAClB,CAEV,uDCjGMgoC,IAAqBA,KAAO,IAC5B7P,IAAsC74B,IAAA,CACxC2P,UAAW3P,EAAMD,OAAOV,cAAeqB,EAC3C,GAQM8tL,IAA4CA,CAAC,CAAE96D,QAAOC,eAAc,WAElE,OAAAvpH,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAA,cAAAmL,EAAWkkF,EAAMhzH,GAAG,EAAI,EAEhD8xB,MAAC8iG,GAAmB,CAAC3B,gBAA8BD,QAAe,EAElElhG,MAAA,OAAKrpB,UAAW0pB,IAAM47J,cAAcrkL,eAC/BikL,IAAoB,CAAC36D,QAAe,EACpC,CAAC,EACL,EAIE56F,OAAQD,IAAiB6P,GAAkB,EAAE8lJ,GAAY,ECzBlEE,IAAoDA,CAAC,CAAE7/D,SAAQ,IAAM,CACvE,KAAM,CAAC6E,GAASi7D,CAAW,EAAIhqK,EAAc,IAAM2qG,GAAST,CAAO,EAAG,CAACA,CAAO,EAAG,IAAI,EAErF,OAAK6E,QAKA86D,IAAY,CACT76D,cAAeA,IAAM,CACLg7D,GAChB,EACAj7D,QACH,EATMlhG,MAAC+a,EAAgB,EAAE,CAWlC,0QCHMqhJ,GAA0BnmL,aAAyC,CAAC,CAAE2B,WAAUD,WAAU2xB,QAAO,GAAGpzB,CAAK,EAAGC,IAAQ,CACtH,KAAM,CAACxD,EAAQwpD,CAAS,EAAI/sC,WAAwB,IAAI,EACrCP,wBAAY,CAACvO,EAAMrX,IAAQkzD,EAAUlzD,CAAG,EAAG,CAAE,EAAC,SAG7D,OAAKkN,MAAUQ,UAAW0pB,GAAMg8J,kBAAkBzkL,UAC9CowB,OAAA,OAAKrxB,UAAW0pB,GAAMi8J,YAAY1kL,SAAA,CAC9BooB,MAACc,EAAe,CAACC,KAAMw7J,GAAe5lL,UAAW0pB,GAAMm8J,aAAe,EACtEx8J,MAAA,OAAKrpB,UAAW0pB,GAAMiJ,MAAM1xB,SAAE0xB,EAAW,CAAC,EACzC,EACLtJ,MAACo3G,GAAe,CACZzkI,OAAQA,GAAUpB,OAClBoF,UAAW0pB,GAAMo8J,OACjBplD,WAAW,IAAG,GACVnhI,EACJyB,SAAUA,CAACqjD,EAAMxnD,IAAM,CAEfwnD,GACAA,EAAKL,SAAS,EAAE,EAEpBhjD,EAASqjD,EAAMxnD,CAAC,CACpB,EACH,EACDwsB,MAAA,OACIrpB,UAAW0pB,GAAMq8J,cACjBj8J,KAAK,SACL,YAAU,IACVlO,QAAgB/e,GAAA,CACZA,EAAEmtB,gBAAgB,EAClBhpB,EAAS,KAAMnE,CAAC,CACpB,EAAEoE,eACDkpB,EAAe,CAACC,KAAMwiE,GAAY5sF,UAAW0pB,GAAMm8J,aAAe,EAClE,CAAC,EACL,CAEb,CAAC,EAEYG,IAAaA,CAAC,CAAExX,YAAWC,UAASztK,UAA0B,IAAM,CACvEilL,QAAkBziI,GAAqBgrH,CAAS,EAChD0X,EAAgB1iI,GAAqBirH,CAAO,EAElD,cACI,OAAAxtK,SAAA,CACIooB,MAACo8J,GAAiB,CACd9yJ,MAAOjO,EAAAwW,EAAM,QAAI,IACjBnX,SAAUkiK,EACVjlL,SAAWwtK,GAAc,CACrB,IAAIC,EAAUyX,EACV1X,GAAaC,GAAW0X,GAAQ3X,EAAWC,CAAO,IAClDA,EAAUD,GAGdxtK,EAASwtK,EAAWC,CAAO,CAC/B,EACA2X,aAAY,GACZ3X,QAASyX,EACZ,EACD78J,MAACo8J,GAAiB,CACd9yJ,MAAOjO,EAAAwW,EAAI,MAAI,IACfnX,SAAUy/B,GAAqBirH,CAAO,EACtCztK,SAAWytK,GAAYztK,EAASilL,EAAiBxX,CAAO,EACxD4X,WAAU,GACV7X,UAAWyX,EACXxX,QAASyX,EACTI,QAASL,EACZ,CAAC,EACD,CAEb,EClEMM,IAA2CA,CAAC,CAC9C3sL,SACAimB,UACAw0F,iBACAz8G,YACAujB,YACAqrK,eACJ,IAAM,CACF,KAAM,CAAC9tL,EAAQqxE,CAAS,EAAItxD,WAAS,EAAK,EACpCriB,EAAiBkmB,EAA+BzlB,KAAMD,OAAOR,cAAc,EAC3E,CAACsrE,CAAU,EAAIlmD,EAAc,IAAMqrG,GAAmBjvH,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EACnF,CAAC6uL,EAAkBC,CAAmB,EAAIjuK,WAAS,EAAK,EACxD0gI,EAAiB5mC,GAAoB34G,EAAQ+sL,GAAoBtzI,KAAK,EAEtEuzI,EAAkBhkK,UAAQ,IACrB8+C,iBAAYmlH,YAAY/yL,IAAYyD,IAGhC,CAAEoS,KAFM6zC,GAAapnD,EAAgBmB,CAAE,EAC1BpC,KAAKmqC,QAAQ,EACbxrC,IAAKs1C,GAAMA,EAAEz/B,IAAI,EAAE/V,KAAK,KAAK,EAAG2D,QAEzD,CAACmqE,EAAYtrE,CAAc,CAAC,EAEzB0wL,EAAoBlkK,UAAQ,IACzB8+C,EACEA,EAAYxoE,SAASpF,IAAYiB,IAAA,CACpCwC,GAAIxC,EACJ4U,WAAOsnB,EAAK,CAAC15B,GAAI,eAAexC,IAAY,CAC9C,IAJsB,KAKzB,CAAC2sE,CAAU,CAAC,EAETk3E,EAAqBA,CACvBh3H,EACAouC,IACC,CACG,CAACpuC,GAAY,CAAC/uB,MAAMC,QAAQ8uB,CAAQ,EACrByyF,EAAA,CAAE,GAAGz6G,EAAQ,CAACo2D,CAAO,EAAG,GAAI,EAE5BqkD,EAAA,CAAE,GAAGz6G,EAAQ,CAACo2D,CAAO,EAAGpuC,EAAU,CACrD,EAEJ,cACIuH,WAAA,CAAAloB,SAAA,CACIooB,MAACspF,GAAa,CACVE,WAAYj5G,EAAOi5G,WACnBC,sBAA2BuB,EAAe,CAAE,GAAGz6G,EAAQi5G,WAAY1iE,EAAG,EACtEh1B,YACAy3F,cAAeA,IAAM7oC,EAAW55B,GAAM,CAACA,CAAC,EACxCxa,SAAUwjH,EACb,EAEAz3E,GACGrwC,OAACsiF,GAAY,CAAC9zF,UAAkB4F,QAASA,IAAMskD,EAAU,EAAK,EAAGjtB,UAAWpkD,EAAOuI,UAC/EooB,MAAA,SAAOrpB,UAAU,eAAciB,eAC3BgwB,EAAA,CAAA15B,GAAA,QAAmB,EAChB,EAEP8xB,MAACkvH,GAAY,CACTv3I,SAAW40G,GAAYgjC,EAAmBhjC,EAAS,OAAO,EAC1DxT,MAAO1gC,EAAW0gC,MAClB5xG,MAAOoJ,EAAOwoG,KACjB,GACA,CAACokF,SACGxyE,GAAc,CACXj9G,KAAM+vL,EACNn0J,YAAO1B,EAAA,CAAA15B,GAAA,oBAA+B,EACtCuI,YAAa4kB,EAAAwW,cAAY,EACzB1qC,MAAOoJ,EAAOV,SACd8H,YACI43I,EACIzoG,EAAEr8C,IAAW+I,KAAEtF,EAAE,EACjB,UACJ,EAEP,EAGL8xB,MAAC2qF,GAAc,CACXj9G,KAAM2qE,EAAWq2E,sBACjBplH,YAAO1B,EAAA,CAAA15B,GAAA,cAAyB,EAChCuI,YAAa4kB,EAAAwW,kBAAgB,EAC7B1qC,MAAOoJ,EAAO23K,wBACdvwK,YACI43I,EACIzoG,EAAEr8C,IAAW+I,KAAEtF,EAAE,EACjB,yBACJ,EAEP,EACD8xB,MAAC2qF,GAAc,CACXj9G,KAAM2qE,EAAWqlH,OACjBp0J,YAAO1B,EAAA,CAAA15B,GAAA,SAAoB,EAC3BuI,YAAa4kB,EAAAwW,aAAW,EACxB1qC,MAAOoJ,EAAOmtL,OACd/lL,YACI43I,EACIzoG,EAAEr8C,IAAW+I,KAAEtF,EAAE,EACjB,QACJ,EAEP,EAaD8xB,MAAC2qF,GAAc,CACXj9G,KAAM6vL,EACNj0J,YAAO1B,EAAA,CAAA15B,GAAA,aAAwB,EAC/BuI,YAAa4kB,EAAAwW,gBAAc,EAC3B1qC,MAAOoJ,EAAOxD,eACd4K,YACI43I,EACIzoG,EAAEr8C,IAAW+I,KAAEtF,EAAE,EACjB,gBACJ,EAEP,EAED8xB,MAAC2qF,GAAc,CACXj9G,KAAM2qE,EAAWv2D,UACjBwnB,YAAO1B,EAAA,CAAA15B,GAAA,YAAuB,EAC9BuI,YAAa4kB,EAAAwW,gBAAc,EAC3B1qC,MAAOoJ,EAAOotL,mBACdhmL,YACI43I,EACIzoG,EAAEr8C,IAAW+I,KAAEtF,EAAE,EACjB,oBACJ,EAEP,EACD8xB,MAAA,SAAOrpB,UAAU,eAAciB,eAC3BgwB,EAAA,CAAA15B,GAAA,OAAkB,EACf,EACP8xB,MAAC8qB,GAAQ,CACL3jD,MAAOoJ,EAAOP,KACdyG,YAAa4kB,EAAAwW,QAAM,EACnBkZ,gBACIwkG,EACIv/I,EAAKvF,IAAWqhD,KAAE59C,EAAE,EACpB,MACJ,EAEJ7G,KAAM0T,GAAeiwC,KACrBE,UAAW,GACX38C,YACH,EAEDyxB,MAAA,SAAOrpB,UAAU,eAAciB,eAC3BgwB,EAAA,CAAA15B,GAAA,OAAkB,EACf,EACP8xB,MAAC28J,IAAU,CACPhlL,SAAUA,CAACwtK,EAAWC,IAClBp6D,EAAe,CACX,GAAGz6G,EACHqtL,eAAezY,iBAAW0Y,gBAAiB,KAC3CC,aAAa1Y,iBAASyY,gBAAiB,KAC1C,EAEL50J,KAAMm0J,EACNzhF,QAAS0hF,EACTlY,UAAW50K,EAAOqtL,cAClBxY,QAAS70K,EAAOutL,YACnB,CAAC,EACQ,CACjB,EACH,CAEV,ECrLO,MAAMR,EAAoB,CAC7B,OAAOtzI,OAA6B,CACzB,OACH+uD,MAAO,CAAE,EACThsG,eAAgB,CAAE,EAClB8C,SAAU,CAAE,EACZ6tL,OAAQ,CAAE,EACVK,WAAY,CAAE,EACdv0E,WAAY,GACZx5G,KAAM,CAAE,EACRk4K,wBAAyB,CAAE,EAC3ByV,mBAAoB,CAAE,EACtBK,oBAAqB,MACrBJ,cAAe,KACfE,YAAa,KAErB,CACJ,wKCrBaG,GAA8DA,CAAC,CAAEn3H,UAAS3/D,QAAOwQ,UAAS,IAAM,CACzG,MAAMumL,EAAmBp3H,EAAQv2D,OAAQ7F,GAAMA,EAAEyzL,WAAW,EAEtDvyI,EAAaryB,UAAQ,IAChBpyB,EAAMoJ,OAAcu2D,KAAQtqD,KAAc4hL,KAAI90L,MAAQoB,CAAC,CAAC,EAChE,CAACvD,CAAK,CAAC,EAEJk3L,EAAkE7qL,GAAA,CAC3DurC,KAAY6M,EAAYp4C,EAAEgf,OAAOlS,KAAM9M,EAAEgf,OAAOrd,OAAO,CAAC,GAE/DmpL,EAA+D9qL,GAAA,CAC7DA,EAAEgf,OAAOrd,QACTwC,EAASmvD,EAASr8D,IAAWC,KAAEpB,GAAG,CAAC,EAEnCqO,EAASumL,EAAiBzzL,IAAWC,KAAEpB,GAAG,CAAC,CAC/C,EAGJ,cACI,OAAAsO,UACIooB,MAAA,OAAApoB,eACKs/B,GAAQ,CACLqnJ,cAAe3yI,EAAW9jD,OAASo2L,EAAiBp2L,QAAU8jD,EAAW9jD,OAASg/D,EAAQh/D,OAC1FqN,QAASy2C,EAAW9jD,SAAWg/D,EAAQh/D,OACvC6P,SAAU2mL,EAAgB1mL,eAC1BgwB,EAAA,CAAA15B,GAAA,aAAwB,EAClB,EACT,EAEL8xB,MAAA,MAAApoB,SACKkvD,EAAQr8D,IAAK8rD,SACV,MAAA3+C,eACKs/B,GAAQ,CACLrS,SAAU0xB,EAAE4nI,YACZhpL,QAAShO,EAAMuU,SAAS66C,EAAEjtD,GAAG,EAC7BgX,KAAMi2C,EAAEjtD,IACRqO,SAAU0mL,EAAmBzmL,SAC5B2+C,EAAEj2C,KACG,GAPLi2C,EAAEjtD,GAQP,CACP,EACD,CAAC,EACJ,CAEb,EC7CA,SAAS8xC,GAAkB0rB,EAAiE,CACjF,OACHA,QAASA,EAAUA,EAAQv2D,OAAc7F,KAAEs2D,SAAS,EAAEv2D,IAAKC,GAAMA,EAAEpB,GAAG,EAAI,GAElF,CAEO,MAAMk1L,IAA0EA,CAAC,CAAEr3L,QAAOwQ,UAAS,IAAM,CACtG,MAACmvD,CAAO,EAAI30C,EAAc,IAAM4hH,KAAiC,GAAI,IAAI,EACzEnoF,EAAoC,CACtC,GAAGxQ,GAAkB0rB,CAAO,EAC5B,GAAG3/D,GAGDw8C,EAA4D3rC,GAAA,CACrDL,EAAA,CAAE,GAAGi0C,EAAY,GAAG5zC,EAAS,GAGpCymL,EAAkBA,IAAM,CACjBrjJ,KAAkB0rB,CAAO,CAAC,GAGvC,OAAKA,SAKD,OAAAlvD,SAAA,CACIooB,MAACi+J,GAAqB,CAClB92L,MAAOykD,EAAWkb,QAClBnvD,YAAwBgsC,EAAa,CAAEmjB,QAASvuC,EAAU,EAC1DuuC,UACH,EAED9mC,MAAC4F,GAAM,CAAC0R,QAAQ,UAAU/kB,QAASksK,EAAgB7mL,eAC/CgwB,EAAA,CAAA15B,GAAA,mBAA8B,EAC1B,CAAC,EACR,EAdE,IAgBf,ECnCA,SAASktC,GAAkB0rB,EAAoE,CACpF,OACHA,QAASA,EAAUA,EAAQv2D,OAAc7F,KAAEs2D,SAAS,EAAEv2D,IAAKC,GAAMA,EAAEpB,GAAG,EAAI,GAElF,CAEO,MAAMo1L,IAAsEA,CAAC,CAAEv3L,QAAOwQ,UAAS,IAAM,CAClG,MAACmvD,CAAO,EAAI30C,EAAc,IAAM2hH,KAA+B,GAAI,IAAI,EACvEloF,EAAuC,CACzC,GAAGxQ,GAAkB0rB,CAAO,EAC5B,GAAG3/D,GAGDw8C,EAA+D3rC,GAAA,CACxDL,EAAA,CAAE,GAAGi0C,EAAY,GAAG5zC,EAAS,GAGpCymL,EAAkBA,IAAM,CACjBrjJ,KAAkB0rB,CAAO,CAAC,GAGvC,OAAKA,SAKD,OAAAlvD,SAAA,CACIooB,MAACi+J,GAAqB,CAClB92L,MAAOykD,EAAWkb,QAClBnvD,YAAwBgsC,EAAa,CAAEmjB,QAASvuC,EAAU,EAC1DuuC,UACH,EAED9mC,MAAC4F,GAAM,CAAC0R,QAAQ,UAAU/kB,QAASksK,EAAgB7mL,eAC/CgwB,EAAA,CAAA15B,GAAA,mBAA8B,EAC1B,CAAC,EACR,EAdE,IAgBf,ECzCA,SAASktC,GAAkB0rB,EAAgE,CAChF,OACHA,QAASA,EAAUA,EAAQv2D,OAAc7F,KAAEs2D,SAAS,EAAEv2D,IAAKC,GAAMA,EAAEpB,GAAG,EAAI,GAElF,CAEO,MAAMq1L,GAAwEA,CAAC,CAAEx3L,QAAOwQ,UAAS,IAAM,CACpG,MAACmvD,CAAO,EAAI30C,EAAc,IAAM8hH,KAA2B,GAAI,IAAI,EACnEroF,EAAmC,CACrC,GAAGxQ,GAAkB0rB,CAAO,EAC5B,GAAG3/D,GAGDw8C,EAA2D3rC,GAAA,CACpDL,EAAA,CAAE,GAAGi0C,EAAY,GAAG5zC,EAAS,GAGpCymL,EAAkBA,IAAM,CACjBrjJ,KAAkB0rB,CAAO,CAAC,GAGvC,OAAKA,SAKD,OAAAlvD,SAAA,CACIooB,MAACi+J,GAAqB,CAClB92L,MAAOykD,EAAWkb,QAClBnvD,YAAwBgsC,EAAa,CAAEmjB,QAASvuC,EAAU,EAC1DuuC,UACH,EAED9mC,MAAC4F,GAAM,CAAC0R,QAAQ,UAAU/kB,QAASksK,EAAgB7mL,eAC/CgwB,EAAA,CAAA15B,GAAA,mBAA8B,EAC1B,CAAC,EACR,EAdE,IAgBf,EClCA,SAASktC,GAAkB0rB,EAAuE,CACvF,OACHA,QAASA,EAAUA,EAAQv2D,OAAc7F,KAAEs2D,SAAS,EAAEv2D,IAAKC,GAAMA,EAAEpB,GAAG,EAAI,CAAE,EAC5Es1L,iBAAkB,GAE1B,CAEO,MAAMC,IAAsFA,CAAC,CAAE13L,QAAOwQ,UAAS,IAAM,CAClH,MAACmvD,CAAO,EAAI30C,EAAc,IAAM6hH,KAAuC,GAAI,IAAI,EAC/EpoF,EAA0C,CAC5C,GAAGxQ,GAAkB0rB,CAAO,EAC5B,GAAG3/D,GAGDw8C,EAAkE3rC,GAAA,CAC3DL,EAAA,CAAE,GAAGi0C,EAAY,GAAG5zC,EAAS,GAGpCymL,EAAkBA,IAAM,CACjBrjJ,KAAkB0rB,CAAO,CAAC,GAGvC,OAAKA,SAKD,OAAAlvD,UACIowB,OAAA,OAAApwB,SAAA,CACIooB,MAACkX,GAAQ,CACL/hC,QAASy2C,EAAWgzI,iBACpBjnL,YAAiBgsC,EAAa,CAAEi7I,iBAAkBprL,EAAEgf,OAAOrd,QAAS,EAAEyC,eACtEgwB,EAAA,CAAA15B,GAAA,sBAAiC,CAC3B,GACV8xB,MAAA,OAAK,CAAC,EACL,EAELA,MAACi+J,GAAqB,CAClB92L,MAAOykD,EAAWkb,QAClBnvD,YAAwBgsC,EAAa,CAAEmjB,QAASvuC,EAAU,EAC1DuuC,UACH,EAED9mC,MAAC4F,GAAM,CAAC0R,QAAQ,UAAU/kB,QAASksK,EAAgB7mL,eAC/CgwB,EAAA,CAAA15B,GAAA,mBAA8B,EAC1B,CAAC,EACR,EAvBE,IAyBf,EC7Ba4wL,GAA2C,GACxD,SAASC,GAAiBC,EAAgC,CACtDF,GAAiBp1L,KAAKs1L,CAAU,CACpC,CAEAD,GAAwC,CACpCz1L,IAAK,SACLgX,KAAMA,IAAM+a,EAAAwW,iBAAe,EAC3BjD,OAAqB5O,SAAC0+J,IAAyB,IAAK10L,EAAU,EAC9Di1L,UAAWA,CAAC1uL,EAAQvG,IAAYkqI,GAAwB3jI,EAAQvG,CAAO,CAC3E,CAAC,EAED+0L,GAAqC,CACjCz1L,IAAK,YACLgX,KAAMA,IAAM+a,EAAAwW,aAAW,EACvBjD,OAAqB5O,SAACw+J,IAA2B,IAAKx0L,EAAU,EAChEi1L,UAAWA,CAAC1uL,EAAQvG,IAAYmqI,GAA0B5jI,EAAQvG,CAAO,CAC7E,CAAC,EAED+0L,GAA2C,CACvCz1L,IAAK,oBACLgX,KAAMA,IAAM+a,EAAAwW,qBAAmB,EAC/BjD,OAAqB5O,SAAC6+J,IAAiC,IAAK70L,EAAU,EACtEi1L,UAAWA,CAAC1uL,EAAQvG,IAAYoqI,GAAgC7jI,EAAQvG,CAAO,CACnF,CAAC,EAED+0L,GAAoC,CAChCz1L,IAAK,UACLgX,KAAMA,IAAM+a,EAAAwW,WAAS,EACrBjD,OAAqB5O,SAAC2+J,GAA0B,IAAK30L,EAAU,EAC/Di1L,UAAWA,CAAC1uL,EAAQvG,IAAYqqI,GAAoB9jI,EAAQvG,CAAO,EACnE64B,QAAsB5hB,KAAQhQ,YAAYokI,oBAC9C,CAAC,EAED0pD,GAAoC,CAChCz1L,IAAK,QACLgX,KAAMA,IAAM+a,EAAAwW,kBAAgB,EAC5BjD,OAAqB5O,SAAC2+J,GAA0B,IAAK30L,EAAU,EAC/Di1L,UAAWA,CAAC1uL,EAAQvG,IAAYsqI,GAA2B/jI,EAAQvG,CAAO,EAC1E64B,QAAsB5hB,KAAQhQ,YAAYokI,oBAC9C,CAAC,EAED0pD,GAAkB,CACdz1L,IAAK,UACLgX,KAAMA,IAAM+a,EAAAwW,WAAS,EACrBjD,OAAqB5O,SAAA4H,EAAA,CAAA15B,GAAA,gCAA2C,EAChE+wL,UAAWA,CAAC1uL,EAAQvG,IAAYuqI,GAAsBhkI,CAAM,EAC5DsyB,QAASA,IAAM31B,OAAOiF,WAAWwJ,cAAgB,YACrD,CAAC,ECvDD,SAASujL,IAAY51L,EAAyBU,EAAc,CACxD,MAAMm1L,EAAa,eAAe71L,IAC9BU,EACAsgB,aAAaE,QAAQ20K,EAAY9qL,KAAKC,UAAUtK,CAAO,CAAC,EAExDsgB,aAAaC,WAAW40K,CAAU,CAE1C,CAEA,SAASC,KAAiC,CACtC,MAAMvzL,EAAS,GAEfizL,UAAiB12L,QAAkBf,GAAA,CACzB83L,QAAa,eAAe93L,EAAKiC,MACnC,IACM+1L,QAAa/0K,aAAaM,QAAQu0K,CAAU,EAC9CE,IACAxzL,EAAOxE,EAAKiC,GAAG,EAAI+K,KAAKirL,MAAMD,CAAU,SAGpC1rJ,aAAK,oBAAoBwrJ,GAAY,CACjD,EACH,EAEMtzL,CACX,CAEO,MAAM0zL,IAAoDA,CAAC,CAC9DlwL,SACA+sB,UACA7rB,SACAivL,oBAAoB,EACxB,IAAM,CACF,MAAMv+K,EAAUgS,EAA+BzlB,KAAMD,OAAOT,aAAa,EACnE,CAAC2yL,EAAmBC,CAAoB,EAAItwK,WAA6B,QAAQ,EACjF,CAACplB,EAASwkI,CAAU,EAAIp/G,WAAuBgwK,IAAkB,GACjEO,EAAqBb,GAAiBtiL,KAAY9R,KAAEpB,MAAQm2L,CAAiB,EAE7Eh8I,EAAaA,IAAM,CACAq7I,KAAiB,CAAC,EAAEx1L,GAAG,GAE1Cq6C,EAA+Bx8C,GAAA,CAC5Bw4L,GAILnxD,EAAsB5jE,IAAA,CAAE,GAAGA,EAAM,CAAC+0H,EAAmBr2L,GAAG,EAAGnC,CAAQ,KAGjEy4L,EAAeA,IAAM,CACXH,MAAmBz1L,EAAQy1L,CAAiB,CAAC,EACjDrjK,GAAA,EAGN0zE,EAAY96F,KAElB,cACK+mB,GAAK,CAAC1sB,SAAgB+sB,UAAkBJ,OAAQI,EAASD,OAAQsnB,EAAY9sC,UAAW0pB,GAAMO,MAAO1nB,KAAK,KAAItB,SAAA,CAC3GooB,MAACkB,GAAW,CAAAtpB,eACRgwB,EAAA,CAAA15B,GAAA,SAAoB,EACX,EACb85B,OAAC5G,GAAS,CAACzqB,UAAW0pB,GAAMzsB,KAAKgE,SAC5B4nL,IACGx/J,MAACogB,GAAM,CAAC/4C,KAAK,UAASuQ,eAClBgwB,EAAA,CAAA15B,GAAA,iEAA4E,EACxE,EAEZ85B,OAAA,OAAKrxB,UAAW0pB,GAAMygC,KAAKlpD,UACvBooB,MAAA,OAAKrpB,UAAW0pB,GAAMzqB,KAAKgC,eACvB,MAAAA,SACKknL,GAAiBvuL,OAAQ7F,GAAM,CAACA,EAAEm4B,SAAWn4B,EAAEm4B,QAAQ5hB,CAAQ,CAAC,EAAExW,IAAKC,SACpE,MAAAkN,eACKgpC,GAAK,CACFtgC,KAAMwvF,EACN36F,QAASzK,EAAEpB,MAAQm2L,EACnB9nL,SAAWnE,GAAMksL,EAAqBh1L,EAAEpB,GAAG,EAAEsO,SAC5ClN,EAAE4V,KAAK,EACL,GANF5V,EAAEpB,GAOP,CACP,EACD,EACH,EACL02B,MAAA,OAAKrpB,UAAW0pB,GAAMmN,MAAM51B,SACvB+nL,EAAmB/wJ,OAAO,CAAEznC,MAAO6C,EAAQ21L,EAAmBr2L,GAAG,EAAGqO,SAAUgsC,EAAc,EAC5F,CAAC,EACL,CAAC,EACC,EACX3jB,MAACqB,GAAW,CAAAzpB,eACPguB,GAAM,CACHjvB,UAAW0pB,GAAMgF,OACjB9S,QAASqtK,EACTrnF,GAAG,IACHvxE,KAAM24J,EAAmBV,UAAU1uL,EAAQvG,EAAQ21L,EAAmBr2L,GAAG,CAAC,EAC1EkpB,OAAO,SAAQ5a,eACfgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACC,CAAC,EACX,CAEf,ECzGA,SAAS2xL,IAAcl0H,EAAsB,CACzC,OAAQA,EAAI,CACR,IAAK,kBACM,OAACzwD,GAAUoQ,aAAa,EACnC,IAAK,UACM,OAACpQ,GAAU4kL,WAAW,EACjC,QACI,MAAO,EACf,CACJ,CAEA,MAAMC,IAA4DA,CAAC,CAAExxL,YAAWo9D,MAAK,IAAM,CACvF,KAAM,CAACq0H,EAAiBC,CAAkB,EAAI7wK,WAAS,EAAK,EACtD,CAAC7e,EAAQq7G,CAAS,EAAI7zF,GAAculK,GAAoBtzI,OAAO,EAC/D,CAACgrF,EAAeC,CAAgB,EAAI7lH,WAAS,EAAK,EAClDyF,EAAoBF,KACpBurK,EAAmB3mK,UACrB,KACK,CACGhrB,YACA4/B,OAAQ6mG,EAAgBzjI,OAAY,CAAC0I,GAAYorH,YAAY,EAC7Dz0D,mBAAoBrgE,EAAOwoG,MAC3BonF,gBAAiB5vL,EAAOmtL,OACxBK,WAAY8B,IAAcl0H,CAAI,EAC9B6xH,YAAajtL,EAAOxD,eACpBy8G,WAAYj5G,EAAOi5G,WACnBiwC,OAAQlpJ,EAAOP,KACfk4K,wBAAyB33K,EAAO23K,wBAChCyV,mBAAoBptL,EAAOotL,mBAC3BK,oBAAqBztL,EAAOytL,sBAAwB,cAAgB,GAAQzsL,OAC5EqsL,cAAertL,EAAOqtL,cACtBE,YAAavtL,EAAOutL,cAE5B,CAACvvL,EAAWo9D,EAAMp7D,EAAQykI,CAAa,CAC3C,EAEM,CAACpR,EAAQ6Q,EAAa3iH,EAAS,EAAIJ,GACrC,IAAMqrG,GAAamjE,CAAgB,EACnC,CAACA,CAAgB,EACjB,IACJ,EACMrxC,EAAay6B,GAAc1lD,iBAAQ97H,MAAM,EACzCgoJ,EAAiB5mC,GAAoB34G,EAAQ+sL,GAAoBtzI,KAAK,EAEtEulG,EAAwDh3H,GAAA,CAC1DqzF,EAAUrzF,CAAQ,EAClBs2H,EAAWvoF,QAAQ,CAAC,GAGlB4+F,EAAgBtsI,KAEtB,cACI,OAAAhhB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SAAA,CACNowB,OAAC2E,GAAa,CAAA/0B,SACVooB,CAAC2M,SAAcG,aAAY,CACvBR,SAAUq/B,IAAS,MACnBvmD,GAAI8/I,EAAc,CACdv5F,KAAMp6D,OACT,EAAEqG,eACHgwB,EAAA,CAAA15B,GAAA,MAAiB,EACO,EAC3By+B,SAAcG,aAAY,CACvBR,SAAUq/B,IAAS,kBACnBvmD,GAAI8/I,EAAc,CACdv5F,KAAM,kBACT,EAAE/zD,eACHgwB,EAAA,CAAA15B,GAAA,wBAAmC,EACX,EAC3By+B,SAAcG,aAAY,CACvBR,SAAUq/B,IAAS,UACnBvmD,GAAI8/I,EAAc,CACdv5F,KAAM,UACT,EAAE/zD,eACHgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACH,CAAC,EAClB,EAUd0/B,UAAUL,MAAK,CAAA31B,UACX+zD,IAAS,iBACLoN,GAAW,CACRphE,YACIi0G,EAAU,CAAE,GAAGr7G,EAAQytL,oBAAqBxqL,EAAEgf,OAAOrd,QAAU,cAAgB,MAAO,EAE1FA,QAAS5E,EAAOytL,sBAAwB,cAAcpmL,eACtDgwB,EAAA,CAAA15B,GAAA,uBAAkC,EACzB,EAGjB8xB,MAAC+4C,GAAW,CAACphE,SAAUA,IAAMs9H,EAAiB,CAACD,CAAa,EAAG7/H,QAAS6/H,EAAcp9H,eAClFgwB,EAAA,CAAA15B,GAAA,wBAAmC,EAC1B,EAEb8xB,MAAC4F,EAAM,CACHhE,MAAM,WACNiD,UAAU++F,iBAAQ97H,UAAW,EAC7Bi5B,KAAM0uC,GACNl9C,QAAgB0tK,KAAmB,EAAI,EAAEroL,eACzCgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EAER8xB,MAACk9J,IAAY,CACT3uL,YACAioB,QAASA,IAAM+4H,EAAmB+tC,GAAoBtzI,OAAO,EAC7DghE,eAAgBukC,EAChBh/I,SACAuhB,YACAqrK,cAAe,GAClB,CAAC,EACW,CAAC,EACX,EAEXn9J,MAACu/J,IAAgB,CACblwL,OAAQ2wL,EACR5jK,QAASA,IAAM6jK,EAAmB,EAAK,EACvC1vL,OAAQ2vL,EACRV,kBAAmB1vC,GAAkBnkF,IAAS,MACjD,EAEAi4D,EACG57F,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAAC0yG,GAAS,CACN79G,oBACA+uG,OAAQimD,GAAch7B,EAAYjrB,CAAM,EACxCjsH,SAAuB88H,KAAUz8H,EAAQG,YAAYyrH,CAAM,CAAC,EAC/D,EAED5jG,MAACyoJ,GAAU,CAACthL,MAAO0nJ,EAAa,CAAC,CACnC,GAEF7uH,MAAC+a,IAAkB,CACtB,EACA,CAEb,ECtJM4mC,IAAmB,CACrB,CACIzzE,GAAI,OACJlD,IAAK,SACLsV,WAAMsnB,EAAA,CAAA15B,GAAA,aAAwB,EAC9B0gC,OAAqB5O,SAAC+/J,IAAoB,IAAK/1L,EAAU,CAC7D,CAAC,EAOCo2L,IAAwCA,CAAC,CAAE7xL,YAAWo9D,MAAK,IAAM,CACnE,MAAM8X,EAAa,OAEnB,cACI3jD,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAQ,UAAI,EAEpC7R,MAACihD,GAAI,CAACC,YAAauC,EAAI7rE,SAClB+pE,IAAKl3E,IAAKg5E,SACN3C,GAAO,CAAc5yE,GAAIu1E,EAAIv1E,GAAIkX,GAAI,aAAa7W,KAAak1E,EAAIz4E,MAAOsV,KAAMmjE,EAAInjE,KAAK1I,SACrF6rE,EAAI70C,OAAO,CAAErgC,UAAW,CAACA,EAAWo9D,KAAMA,GAAQ,MAAO,GADhD8X,EAAIv1E,EAET,CACZ,EACC,CAAC,EACT,CAEV,ECrCMyzE,IAAO,CACT,CACIzzE,GAAI,WACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,eAA0B,EAChC0gC,OAAQA,IAAOkqI,SAAwB,GAC3C,CAAC,EAOCunB,IAAgDA,CAAC,CAAE58G,MAAK,GAAGvtE,CAAK,WAE9D,OAAA0B,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAkB,oBAAI,EAE9C7R,MAACihD,GAAI,CAACC,YAAauC,EAAI7rE,SAClB+pE,IAAKl3E,IAAKg5E,SACN3C,GAAO,CAAc5yE,GAAIu1E,EAAIv1E,GAAIkX,GAAI,YAAYq+D,EAAIv1E,KAAMoS,KAAMmjE,EAAInjE,KAAK1I,SACtE6rE,EAAI70C,OAAO,GADF60C,EAAIv1E,EAET,CACZ,EACC,CAAC,EACN,u6BCjBPoyL,IAA8CA,CAAC,CAAEh3J,QAAOuC,cAAa1O,QAAOojK,cAAaC,aAAY,WAEnG,OAAK7qL,MAAO,CAAEo+B,MAAO,GAAG,IAAMysJ,IAAe,EAAG7pL,UAAW0pB,GAAM2jC,KAAKpsD,UAClEowB,OAAA,OAAKrxB,UAAW0pB,GAAMogK,gBAAgB7oL,UAClCooB,MAAA,OAAKrqB,MAAO,CAAE+wC,WAAYvpB,IAAU,EAAI,SAAW,SAAU,EAAGxmB,UAAW0pB,GAAM6lD,KAAO,EACxFl+C,OAAA,OAAKrxB,UAAWY,EAAW8oB,GAAM8c,OAAQ,CAAE,CAAC9c,GAAMmM,MAAM,EAAG+zJ,EAAa,EAAE3oL,SAAC,KAAEulB,EAAQ,CAAC,EAAM,EAC5F6C,MAAA,OAAKrqB,MAAO,CAAE+wC,WAAYvpB,IAAUqjK,EAAc,EAAI,SAAW,SAAU,EAAG7pL,UAAW0pB,GAAM6lD,KAAO,CAAC,EACtG,EACLl+C,OAAA,OAAKrxB,UAAW0pB,GAAMqgK,eAAe9oL,UACjCooB,MAAA,OAAKrpB,UAAW0pB,GAAMiJ,MAAM1xB,SAAE0xB,EAAW,EACzCtJ,MAAA,OAAKrpB,UAAW0pB,GAAMsgK,UAAU/oL,SAAEi0B,EAAiB,CAAC,EACnD,CAAC,EACL,ECnBPknB,IAA4CA,IACvC,KAOLD,GAAgG/yB,GAAA,CAClG,MAAM3nB,EAAQpC,EAAMysB,SAASuT,QAAQjW,EAAMnoB,QAAQ,EAEnD,aACI,OAAKjB,UAAW0pB,IAAM8J,UAAUvyB,SAC3BQ,EAAM3N,IAAI,CAAC+I,EAAG2pB,UACVmjK,IAAa,CAAaE,YAAapoL,EAAMtQ,OAAQq1B,QAAa,GAAK3pB,EAAEusB,KAAK,EAA3D5C,CAA8D,CACrF,EACA,CAEb,EAEA21B,GAAkBC,KAAOA,ICNzB,MAAM6tI,IAA0B,GAC1BC,IAAgC,GAUhCC,IAAa5lB,GAAe,IAC9Bl7I,MAAA,OAAKrpB,UAAW0pB,GAAM0gK,WAAWnpL,eAC5BkpB,EAAe,CAACC,KAAMs9I,GAAY,CAAC,CACnC,CACR,EACK2iB,IAAoBprB,GAAgB,CAAC,CAAE5iH,IAAGiuI,gBAAe9jK,QAAOuzB,YAA2C,WAC7G,OAAK/5C,UAAW0pB,GAAMkqB,IAAI3yC,UACrBkpL,UAAY,WACb,OAAKnqL,UAAW0pB,GAAM6gK,aAAatpL,UAC/BowB,OAAA,OAAKrxB,UAAW0pB,GAAM8/G,OAAOvoI,SAAA,CACzBooB,MAAC5pB,GAAe,CACZ/O,KAAK,OACLqP,SAAQ,GACRH,UAAWqqL,IACXjqL,UAAU,eACVF,YAAa4kB,EAAAwW,uCAAqC,EAClD1qC,MAAO6rD,EAAE1pB,MACT3xB,SACIspL,KAAcvwI,EAAWjmD,IAAI,CAAC02L,EAAIl5L,IAAO+qD,EAAE9kD,KAAOizL,EAAGjzL,GAAK,CAAE,GAAG8kD,EAAG1pB,MAAO91B,EAAEgf,OAAOrrB,KAAM,EAAIg6L,CAAG,CAAC,EAEvG,EACDnhK,MAACkX,GAAQ,CACL4J,eAAgBzgB,GAAMmjG,cACtBruH,QAAS69C,EAAEutI,YACX5oL,SAAUA,IACNspL,EACIvwI,EAAWjmD,IAAI,CAAC02L,EAAIl5L,IAAO+qD,EAAE9kD,KAAOizL,EAAGjzL,GAAK,CAAE,GAAG8kD,EAAGutI,YAAa,CAACvtI,EAAEutI,WAAY,EAAIY,CAAG,CAC3F,EACHvpL,eACDgwB,EAAA,CAAA15B,GAAA,mBAA8B,EACxB,CAAC,EACV,EACL8xB,MAAC5pB,GAAe,CACZ/O,KAAK,OACLsP,UAAU,eACVJ,UAAWsqL,IACXpqL,YAAa4kB,EAAAwW,6CAA2C,EACxD1qC,MAAO6rD,EAAEnnB,YACTl0B,SACIspL,KAAcvwI,EAAWjmD,IAAI,CAAC02L,EAAIl5L,IAAO+qD,EAAE9kD,KAAOizL,EAAGjzL,GAAK,CAAE,GAAG8kD,EAAGnnB,YAAar4B,EAAEgf,OAAOrrB,KAAM,EAAIg6L,CAAG,CAAC,EAE7G,CAAC,EACD,EACLnhK,MAACiI,GAAa,CACVE,kBAAaP,EAAA,CAAA15B,GAAA,mBAA8B,EAC3Ck6B,iBAAYR,EAAA,CAAA15B,GAAA,kDAA6D,EACzE25B,uBAAkBD,EAAA,CAAA15B,GAAA,SAAoB,EACtCy5B,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvCm6B,yBAAyB,SACzBH,UAAWA,IAAM+4J,EAAcvwI,EAAWngD,UAAeyiD,EAAE9kD,KAAOizL,EAAGjzL,EAAE,CAAC,EACxE0zB,MAAM,WACNjrB,UAAW0pB,GAAM+gK,YAAYxpL,eAC5BkpB,EAAe,CAAC5nB,KAAK,KAAK6nB,KAAMwiE,GAAa,EACnC,CAAC,EACf,CACR,EAEKsyE,IAAeC,GAAkB,CAAC,CAAEmrB,gBAAevwI,YAA8B,UACnF,OAAK/5C,UAAW0pB,GAAMghK,YAAYzpL,SAC7B84C,EAAWjmD,IAAI,CAACuoD,EAAG71B,UACf6jK,IAAiB,CAAYhuI,IAAM71B,QAAcuzB,aAAwBuwI,iBAAlDjuI,EAAE9kD,EAA+E,CAC5G,CAAC,CACD,CACR,EAEKozL,IAA8CA,CAAC,CAAE/yL,YAAW4gD,qBAAoB,IAAM,CACxF,KAAM,CAACuB,EAAYuwI,CAAa,EAAI9uK,EAChC,IAAMq+B,GAAyBjiD,EAAW4gD,CAAmB,EAC7D,CAAC5gD,EAAW4gD,CAAmB,EAC/B,CACJ,GACM,CAAC66B,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EACxCmyK,EAAiB5xK,SAAO,CAAC,EAEzB8zC,EAAS,SAAY,CACvBwmB,EAAY,EAAI,EACZ,IACMu3G,QAAiB9wI,EAAWjmD,IAAYuoD,IAAA,CAAE,GAAGA,EAAG9kD,GAAI8kD,EAAE9kD,GAAK,EAAIqD,OAAYyhD,EAAE9kD,EAAK,IAClFuzL,EAAgB,MAAMhxI,GAAyBliD,EAAWizL,EAAgBryI,CAAmB,EACzFlU,gBAAQrT,EAAA,CAAA15B,GAAA,kBAA8B,EAAC,EACjD+yL,EAAcQ,CAAa,SACrB,CACNx3G,EAAY,EAAK,CACrB,GAGEy3G,EAAeA,IAAM,CAEnBhxI,IAAWwb,OAAO,CACd,CACIq0H,YAAa,GACbj3J,MAAO,GACPuC,YAAa,GACbqjB,UAAWwB,EAAW5oD,OACtBoG,GAAI,EAAEqzL,EAAerqL,OACxB,EACJ,CACL,GAGEi/J,EAAYA,CAAC,CAAEC,WAAUC,cAAe,CAC1C,MAAM73H,EAAW83H,GAAU5lH,EAAY0lH,EAAUC,CAAQ,EACzD4qB,EAAcziJ,CAAQ,GAE1B,cACI1e,WAAA,CAAAloB,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,4BAAuC,EACvC,EACJ85B,OAAC8O,GAAc,CAACC,SAAU0sB,EAAQ9sD,UAAWgrL,GAAUrlH,QAAQ1kE,SAAA,CAC1D84C,EAAW5oD,OAAS,UACjBg4B,WAAA,CAAAloB,SAAA,CACIooB,MAAC8yB,GAAiB,CAAAl7C,SACb84C,EAAWjmD,IACRu1B,SAAC8yB,GAAkBC,KAAI,IAAgBC,GAAVA,EAAE9kD,EAAY,CAC9C,EACc,EACnB8xB,MAAC61I,IAAY,CACTU,YAAal2I,GAAMuhK,OACnBxmB,SAAS,IACT1E,KAAK,IACLD,SAAU,GACVN,YACAzlH,aACAuwI,gBACAY,cAAa,GAChB,CAAC,EACJ,EAEN7hK,MAAA,OAAApoB,eACKguB,EAAM,CAAC7E,KAAMk6E,GAAQr5E,MAAM,OAAOrP,QAASmvK,EAAa9pL,eACrDgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACvB,EACP,EACJspC,UAAmB,SACnB5R,EAAM,CAACjvB,UAAWgrL,GAAUG,WAAYz6L,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,eACrFgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACG,CAAC,EACnB,CAEV,kYC1JM6zL,IAA+CA,CAAC,CAAE16J,OAAMjL,UAASkL,WAAUgxB,OAAM,IAAM,CACzF,KAAM,CAAC3hB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC+xB,EAAM6gJ,CAAO,EAAI5yK,WAAS,EAAE,EAE7Bq0B,EAAaA,IAAM,CACb6U,oBAAOnX,OAAQ,EAAE,GAGvB6gD,EAAe,SAAY,CAC7B,GAAK1pC,EAIL1hB,GAAU,EAAI,EACV,IACA,MAAM8+H,EAAW,MAAMrlH,GAAyBiI,EAAMpqD,GAAIizC,CAAI,EAC9DrsC,EAAesnB,CAAO,EACtBtnB,EAAewyB,EAAU,IAAIzvB,GAAYygD,EAAOo9G,CAAQ,CAAC,SACnD,CACN9+H,EAAU,EAAK,CACnB,IAGJ,OAAK0hB,SAEAv8B,EAAK,CACFzb,KAAK,+BACLpH,KAAK,KACLvC,UAAW0pB,GAAMO,MACjB5E,OAAQI,EACR/sB,OAAQg4B,EACRlL,OAAQsnB,EAAW7rC,UACnBooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,kBAA6B,EAC7B,EACJ85B,OAAA,OAAKrxB,UAAW0pB,GAAMygC,KAAKlpD,SAAA,CACvBooB,MAACmQ,GAAS,CAACmlI,UAAW,GAAOllI,IAAKof,GAA6B8I,EAAMpqD,EAAE,EAAI,EAC3E85B,OAAA,OAAApwB,SAAA,CACIooB,MAACvoB,GAAQ,CACLsxF,QAAS,EACTE,WAAU,GACVxyF,YAAa4kB,EAAAwW,mJAAiJ,EAC9Jl7B,UAAU,eACVgB,SAAWnE,GAAMwuL,EAAQxuL,EAAEgf,OAAOrrB,KAAK,EACvCA,MAAOg6C,GAAQ,GAClB,EACDnhB,MAACogB,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,sGAAA28C,WAAA,CAAA7N,EACIhd,MAA2B,YAAC,EAEzB,EACH,CAAC,EACR,CAAC,EACL,EAELgI,OAAA,OAAKrxB,UAAU,WAAUiB,SAAA,CACrBooB,MAAC4F,EAAM,CAACrT,QAAS6J,EAASwF,MAAM,WAAWiD,SAAU8R,EAAO/+B,eACxDgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACrT,QAASyvE,EAAcpgE,MAAM,UAAUjO,QAASgjB,EAAO/+B,eAC3DgwB,EAAA,CAAA15B,GAAA,OAAmB,EACf,CAAC,EACR,CAAC,EACH,EAxCQ,IA0CvB,ECnDMynK,IAAgBC,GAAgB,CAAC,CAAE3tK,IAAGyxK,eAAc17C,gBAAeqK,aAAgC,WACrG,OAAK1xH,UAAW0pB,GAAM6P,eAAet4B,UACjCooB,MAAA,OAAKrpB,UAAW0pB,GAAM6gE,aAAc3uE,QAASmnJ,EAAa9hK,SACrD3P,EAAEiG,GAAK,EAAI8xB,MAAC+a,EAAkB,IAAI/a,MAACmQ,GAAS,CAACmlI,UAAW,GAAOllI,IAAKof,GAA6BvnD,EAAEiG,EAAE,EAAI,EACzG,EACL85B,OAAA,QAAMrxB,UAAW0pB,GAAMs5I,aAAa/hK,SAAA,CAChCooB,MAAC8I,GAAmB,CAChBX,kBAAaP,EAAA,CAAA15B,GAAA,eAA0B,EACvCk6B,iBAAYR,EAAA,CAAA15B,GAAA,8CAAyD,EACrEy5B,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvCg6B,UAAW81F,EACXr5F,aAAa,OACb5D,KAAMwiE,GACN3hE,MAAM,OAAMhqB,eACZgwB,EAAA,CAAA15B,GAAA,SAAoB,EACH,EACrB8xB,MAAC4F,EAAM,CAACrT,QAAS81G,EAAa1jG,aAAa,OAAO5D,KAAMg8G,GAAUn7G,MAAM,OAAMhqB,eAC1EgwB,EAAA,CAAA15B,GAAA,kBAA6B,EACzB,CAAC,EACP,CAAC,EACN,CACR,EASK2nK,IAAeC,GACjB,CAAC,CAAE9jH,SAAQ0nH,eAAc17C,gBAAeqK,cAAauxC,cAAgC,WAE7E,OAAKjjK,UAAW0pB,GAAMw5I,mBAAmBjiK,SACpCo6C,GAAOvnD,IAAI,CAACulC,EAAK7S,UACbw4I,IAAa,CACV9wI,SAAUmL,EAAI9hC,GAAK8hC,EAAI9hC,GAAK,EAAI,GAChC8vH,cAAeA,IAAMA,EAAchuF,CAAG,EACtC0pI,aAAcA,IAAMA,EAAa1pI,EAAK7S,CAAK,EAC3CkrG,YAAaA,IAAMA,EAAYr4F,CAAG,EAElC7S,QACAl1B,EAAG+nC,GAFE,QAAQA,EAAI9hC,IAGpB,CACJ,QACAwgF,GAAU,CAAC31E,SAAS,QAAQywB,mBAAoBnJ,GAAM0uD,WAAYQ,OAAQqqF,EAAe,CAAC,EAC1F,CAGjB,EAOA,IAAIqoB,IAAgB,GACpB,MAAMC,IAAgEA,CAAC,CAAE3zL,YAAW4gD,qBAAoB,IAAM,CAC1G,KAAM,CAAC6C,EAAQmwI,CAAS,EAAIhwK,EACxB,IAAMi9B,GAAqB7gD,EAAW4gD,CAAmB,EACzD,CAAC5gD,EAAW4gD,CAAmB,EAC/B,CACJ,GAEM,CAACqC,EAAkBC,CAAmB,EAAIriC,WAAS,CAAC,EACpD,CAACsiC,EAAmBC,CAAoB,EAAIviC,WAAS,EAAK,EAC1D,CAACgzK,EAAqBC,CAAsB,EAAIjzK,WAAS,EAAK,EAC9D,CAACkzK,EAAiBC,CAAkB,EAAInzK,WAAS,CAAC,EAElDwqJ,EAAe,MAAO/pH,GAAkB,CACtCsqH,MAAY7jK,GAAI07C,EAAOvnD,OAAWxC,EAAEinD,SAAS,CAAC,GAAK,EAEvD,MAAMkrH,EAAavqH,EAAMplD,IAAI,CAACqa,EAAM7c,IAAM,CACtC,MAAMinD,EAAYirH,EAAYtkI,KAAKwkI,IAAIpyK,CAAC,EAAI,EAGrC,OAAEu6L,OAFSP,MAEU/yI,YAAWxhD,KAAMoX,EAAK,CACrD,EAEDq9K,EAAU,CACN,GAAGnwI,EACH,GAAGooH,EAAW3vK,IAAYC,IAAA,CAAE6nI,eAAgB1nI,KAAQs2C,KAAM,GAAIjzC,GAAIxD,EAAE83L,OAAQtzI,UAAWxkD,EAAEwkD,WAAY,CAAC,CACzG,EACU9mD,UAAQ,MAAO0c,GAAS,CACzB/B,QAAI,MAAMisC,GAAoBzgD,EAAW,IAAIyF,GAAS8Q,EAAKpX,IAAI,EAAGoX,EAAKoqC,UAAWC,CAAmB,EAC3GgzI,EAAyBM,GAAA,CACrB,MAAMvsB,EAAYusB,EAAUlyL,UAAek6I,EAAGv8I,KAAO4W,EAAK09K,MAAM,EAChEtsB,SAAUxsK,KAAKqZ,CAAC,EACTmzJ,EACV,EACJ,GAGCC,EAAYA,CAAC,CAAEC,WAAUC,cAAe,CAC1C,MAAM73H,EAAW83H,GAAUtkH,EAAQokH,EAAUC,CAAQ,EACrD8rB,EAAU3jJ,CAAQ,EAClB8R,GACI/hD,EACAiwC,EAASjuC,OAAQtI,GAAMA,EAAEiG,GAAK,CAAC,EAAEzD,IAAKxC,GAAMA,EAAEiG,EAAE,EAChDihD,CACJ,GAGEuzI,EAAkE5jJ,GAAA,CAC1DA,IAAO3mC,YAAY65C,CAAM,CAAC,EAC1B/W,gBAAQrT,EAAA,CAAA15B,GAAA,cAA0B,EAAC,GAG3Cu0F,EAAe,MAAOnqC,GAAgC,CACxDjJ,GAAuBiJ,EAAMpqD,EAAE,EAC/Bi0L,EAAUnwI,EAAOzhD,OAAQtI,GAAMqwD,EAAMpqD,KAAOjG,EAAEiG,EAAE,CAAC,GAG/CygD,EAAmD2J,GAAA,CACrDiqI,EAAmBjqI,EAAMpqD,EAAE,EAC3Bm0L,EAAuB,EAAI,GAEzB/nB,EAAmBA,CAAChiH,EAA6Bn7B,IAAkB,CACrEs0B,EAAoBt0B,CAAK,EACzBw0B,EAAqB,EAAI,GAE7B,cACI7xB,WAAA,CAAAloB,SAAA,CACIooB,MAACszB,GAAY,CACTC,YAAa/B,EACbp0B,SAAUq0B,EACV+B,aAAc7B,EACd8B,UAAW/B,EACXiC,UAAW3B,EAAOvnD,IAAKxC,GAAMA,EAAEk5C,IAAI,EACnCuS,QAAS1B,EAAOvnD,OAAW8kD,GAAoBtnD,EAAEiG,EAAE,CAAC,EACvD,EACD8xB,MAAA,MAAIrpB,UAAWgrL,GAAUxgK,OAAOvpB,eAC5BgwB,EAAA,CAAA15B,GAAA,0BAAqC,EACrC,EACJ8xB,MAAA,OAAKrpB,UAAWgrL,GAAUrlH,QAAQ1kE,eAC7Bi+J,IAAY,CACTU,YAAal2I,GAAMm2I,OACnBx4C,cAAev7B,EACf4lC,YAAa15E,EACb+qH,aAAcY,EACdnE,YACAM,SAAU,GACVC,KAAK,KACL1kH,SACA4nH,eACH,EAEA,EACL55I,MAAC+hK,IAA2B,CACxB3lK,QAASA,IAAMimK,EAAuB,EAAK,EAC3C/6J,SAAUo7J,EACVr7J,KAAM+6J,EACN9pI,MAAOtG,EAAOx1C,QAAYvU,EAAEiG,KAAOo0L,CAAe,GAAK,KAC1D,CAAC,EACJ,CAEV,ECzLO,SAASK,GAAsBp0L,EAAiD,CAC5EsF,SAAQ,eAAetF,uBAA+B,EAAEkG,KAAY/J,KAAE0J,KAAM,EACvF,CAOgBwuL,aAAyBr0L,EAAmBs0L,EAA+C,CACvG,OAAOhvL,EAAQ,yBAA0B,CACrCyK,OAAQ,OACR1K,KAAM,CACFrF,YACAs0L,oBACJ,EACAzuL,KAAM,GACT,CACL,CCQA,MAAM68C,IAA0C,CAC5CC,sCAAuCxB,GACvCyB,6BAA8B1B,GAC9B1lC,mBAAoBE,EACxB,EAEa64K,IAAkFA,CAAC,CAC5Fv0L,YACA4gD,qBACJ,IAAM,CACF,MAAMriD,EAAgBmmB,EAA+BzlB,KAAMD,OAAOT,aAAa,EACzEi2L,EAAkB9vK,EAAazlB,GAAkBA,EAAMD,OAAOV,cAAeqB,EAAE,EAC/E80L,EAAUl2L,EAAgBA,EAAcmE,YAAYwuC,gBAAkB,GAEtE,CAACnQ,EAAY/U,EAAM,EAAIpI,EACzB,IAAMw9B,GAAuBphD,EAAW4gD,CAAmB,EAC3D,CAACA,EAAqB5gD,CAAS,EAC/B,CACJ,GAEM4jJ,EAAY,MAAOr0G,GAAsC,CAC3D,MAAM8R,GACF9R,EAAQvvC,UACRuvC,EAAQ3c,OACR2c,EAAQA,QACRA,EAAQ+R,MACR/R,EAAQgS,gBACRhS,EAAQiS,cACRgzI,EACA5zI,CACJ,EAEO50B,GAAA,EAGL0oK,EAAa,MAAOnlJ,GAAsC,CAC5D,MAAMkS,GACFzhD,EACAuvC,EAAQmS,KACRnS,EAAQ3c,OACR2c,EAAQA,QACRA,EAAQ+R,MACR/R,EAAQgS,gBACRhS,EAAQiS,cACRZ,CACJ,EAEO50B,GAAA,EAGLkoE,EAAe,MAAOxyC,GAAiB,CACnCC,SAAyB3hD,EAAW0hD,CAAI,EACpChV,gBAAQrT,EAAA,CAAA15B,GAAA,iBAA6B,EAAC,EACzCqsB,GAAA,EAGL2oK,EAAkB,MAAOjzI,EAAc13B,IAAsB,CACzD43B,SAA4B5hD,EAAW0hD,EAAM13B,CAAQ,EACpDgC,GAAA,EAGX,cACK24B,GAAmB,CAACC,IAAKlC,IAAgB9zC,UAAW4lL,EAAgBnrL,UACjEooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,0BAAqC,EACrC,EACJ8xB,MAAA,OAAKrpB,UAAWgrL,GAAUrlH,QAAQ1kE,eAC7BurL,GAAwB,CACrBH,UACA1zJ,WACA43F,MAAOirB,EACPixC,OAAQH,EACR3gG,SAAUG,EACV4gG,YAAaH,EACb30L,UAAWzB,EAAeoB,GAC7B,EACA,CAAC,EACW,CAE7B,EC1FMo1L,GAAoDA,CAAC,CAAE/0L,WAAU,IAAM,CACnE,MAACs0L,CAAkB,EAAI1wK,EAAc,IAAMwwK,GAAsBp0L,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC9F,CAACg1L,EAA2BC,CAA4B,EAAIp0K,WAAwB,IAAI,EACxF,CAACq/H,CAAgB,EAAIt8H,EAAc,IAAMi7E,GAA+B7+F,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAErGk1L,GAAoBh1C,iBAAkBj/I,QAAY9E,EAAEykD,sBAAwBo0I,KAA8B,GAEhH,OAAKV,SAMD,OAAAjrL,SAAA,CACIooB,MAAC4N,GAAS,CAACj3B,UAAW0pB,GAAMqjK,aAAa9rL,gBACpC+0B,GAAa,CAAA/0B,SACVooB,CAAC2M,SAAc/G,OAAM,CAEjB0G,SAAUi3J,IAA8B,KACxChxK,QAASA,IAAMixK,EAA6B,IAAI,EAAE5rL,eAClDgwB,EAAA,CAAA15B,GAAA,UAAqB,GAHhB,MAIa,EAErB20L,EAAmBp4L,IAChBu1B,SAAC2M,GAAc/G,OAAM,CACjBrT,QAASA,IAAMixK,EAA6B94L,EAAEwD,EAAE,EAEhDo+B,SAAUi3J,IAA8B74L,EAAEwD,GAAG0J,SAC5ClN,EAAE4V,MAFE5V,EAAEwD,EAGW,CACzB,CAAC,EACS,CACR,GAEV,CAACu1L,SACGrjJ,GAAM,CAAC/4C,KAAK,UAASuQ,eAClBgwB,EAAA,CAAA15B,GAAA,iNAIO,EACH,EAGZ85B,OAAC+uF,GAAuB,CAACxmF,UAAU,qBAAoB34B,SAAA,CACnDooB,MAACshK,IAA0B,CAAC/yL,YAAsB4gD,oBAAqBo0I,EAA4B,EACnGvjK,MAACkiK,IAAsB,CAAC3zL,YAAsB4gD,oBAAqBo0I,EAA4B,EAC/FvjK,MAAC8iK,IAA+B,CAACv0L,YAAsB4gD,oBAAqBo0I,EAA4B,CAAC,EACpF,CAAC,EACzB,EAzCEvjK,MAAC+a,EAAgB,EAAE,CA2ClC,uaC5CM1U,IAAsC74B,IAAA,CACxCyT,QAASzT,EAAMD,OAAOT,cACtB41J,gBAA6CruG,MAAiB7mD,EAAMD,OAAOR,eAAgB0nE,CAAc,CAC7G,GAyBMkvH,IAAoCA,CAAC,CAAE1iL,UAASyhJ,iBAAgB,IAAM,CACxE,KAAM,CAACF,CAAQ,EAAIrwI,EAAc,IAAMowF,GAA4BthG,EAAQ/S,EAAE,EAAG,CAAC+S,EAAQ/S,EAAE,EAAGqD,MAAS,EACjG,CAACqyL,CAAY,EAAIzxK,EAAc,IAAMqwF,GAAgCvhG,EAAQ/S,EAAE,EAAG,CAAC+S,EAAQ/S,EAAE,EAAGqD,MAAS,EACzG,CAACsyL,CAAW,EAAI1xK,EAAc,IAAMswF,GAA+BxhG,EAAQ/S,EAAE,EAAG,CAAC+S,EAAQ/S,EAAE,EAAGqD,MAAS,EACvG,CAACuQ,CAAS,EAAIqQ,EAAc,IAAMwwF,GAAoC1hG,EAAQ/S,EAAE,EAAG,CAAC+S,EAAQ/S,EAAE,EAAGqD,MAAS,EAE1G,CAACuyL,EAAWC,CAAY,EAAI30K,WAA8B,OAAO,EAEjE,CAAC40K,CAA2B,EAAI7xK,EAClC,IAAM0wF,GAAsC5hG,EAAQ/S,EAAE,EACtD,CAAC+S,EAAQ/S,EAAE,EACXqD,MACJ,EACMpC,EAAkB8jB,EAA+BzlB,KAAM2D,OAAOhC,eAAe,EACnF,cACKwzJ,GAAiB,CAAC19D,KAAM,EAAGn+B,QAAS,EAAGnwD,UAAW0pB,GAAM8J,UAAUvyB,SAAA,CAC/DooB,MAACqsC,GAAiB,CACd22F,sBAAiBp7H,EAAA,CAAA15B,GAAA,oEAA+E,EAChGyZ,YAAOigB,EAAA,CAAA15B,GAAA,qBAAgC,EACvCy/D,QAAS,EACTh6C,QAAS,CAACxkB,EAAgByI,SACzBA,eACGowB,cAAA,OAAKrxB,UAAW0pB,GAAM4jK,gBAAgBrsL,UAClCooB,MAAA,OAAApoB,gBACK6uB,GAAmB,CAACrhB,GAAI,2BAA4BzO,UAAW0pB,GAAM6jK,UAAUtsL,WAC3EzI,IAAgBX,QAAhBW,cAAuB04K,uBACxB,SAAAjwK,eACIgwB,EAAA,CAAA15B,GAAA,oBAA+B,EAC5B,CAAC,EACS,EACpB,EACL8xB,MAAA,OAAApoB,gBACK6uB,GAAmB,CAACrhB,GAAI,mBAAoBzO,UAAW0pB,GAAM6jK,UAAUtsL,WACnEzI,IAAgBX,QAAhBW,cAAuBwkE,gBACxB,SAAA/7D,eACIgwB,EAAA,CAAA15B,GAAA,yCAAmE,EAChE,CAAC,EACS,EACpB,EACL8xB,MAAA,OAAApoB,gBACK6uB,GAAmB,CAACrhB,GAAI,iBAAkBzO,UAAW0pB,GAAM6jK,UAAUtsL,WACjEzI,IAAgBX,QAAhBW,cAAuBsgI,mBACxB,SAAA73H,eACIgwB,EAAA,CAAA15B,GAAA,UAAqB,EAClB,CAAC,EACS,EACpB,CAAC,EACL,GAEM,EAEnB8xB,MAACqsC,GAAiB,CACdqB,iBAAiB,MACjB/2D,UAAW0pB,GAAM8jK,cACjBx8K,YAAOigB,EAAA,CAAA15B,GAAA,sCAAiD,EACxDylB,QAAS,CAAC7R,EAAUlK,SACnBA,IACGkK,EAAWha,OAAS,QAChB,OAAK6O,UAAW0pB,GAAM+jK,eAAexsL,SAChCkK,EACIvR,OAAc7F,KAAE25L,qBAAqB,EACrC55L,IACGu9B,UAACa,WAAQ,CAAAjxB,UACLooB,MAAA,OAAKrpB,UAAW0pB,GAAMkpC,aAAa3xD,SAAEmhC,EAAEurJ,oBAAyB,EAChEtkK,MAAA,OAAKrpB,UAAW0pB,GAAMshI,UAAU/pJ,SAC3BmhC,EAAEsrJ,wBAA0B,QACzB,SAAAzsL,eACI,KAAAA,eACIgwB,EAAA,CAAA15B,GAAA,MAAiB,EAClB,EACA,EAEP8xB,MAAAF,WAAA,CAAAloB,gBACK6uB,GAAmB,CAChBrhB,GAAI,+BAA+Bzb,GAC/B,CACI2hH,iBAAkB,MAClBD,YAAa,CAACtyE,EAAEn7B,iBAAiB,CAEzC,KAAIhG,SACHmhC,GAAEwrJ,4BACH,SAAA3sL,SAAA,CAAO,IACDmhC,EAAEsrJ,sBAAsB,UAACz8J,EAAA,CAAA15B,GAAA,QAAmB,CAAC,EAC5C,CAAC,EACS,EACvB,EAEL,CAAC,GAzBK6qC,EAAEn7B,iBA0BP,CACb,EACJ,EAELoiB,MAAA,OAAKrpB,UAAW0pB,GAAMmkK,mBAAmB5sL,eACrCgwB,EAAA,CAAA15B,GAAA,eAA0B,EACzB,CAGE,GAElB41L,IAAc,eACVz3H,GAAiB,CACd22F,sBAAiBp7H,EAAA,CAAA15B,GAAA,gEAA4E,EAC7FyZ,YAAOigB,EAAA,CAAA15B,GAAA,wCAAmF,EAC1F+5F,QAAS,EACTt6B,QAAS,EACTh6C,QAAS,CAAC6uI,EACVjwI,QAAgBwxK,KAAa,SAAS,EAAEnsL,SACvCA,IACGooB,MAAC6tC,GAAc,CACXngE,KAAM80J,EAAUlzF,QAAQ7kE,IAAYsuC,IAAA,CAChC,GAAGA,EACH8zB,cAAe,CAAC9zB,EAAE8zB,cAAco2F,QAAQ,CAAC,GAC3C,EACFh1F,QAAkBy0F,KAAgBn4G,EAAI24G,kBAAkB,SAAKt7H,EAAA,CAAA15B,GAAA,gBAA2B,EACxFggE,SAAU,gBACb,CAEU,GAGtB41H,IAAc,iBACVz3H,GAAiB,CACd22F,sBAAiBp7H,EAAA,CAAA15B,GAAA,kEAA6E,EAC9FyZ,YAAOigB,EAAA,CAAA15B,GAAA,+BAA0C,EACjD+5F,QAAS,EACTt6B,QAAS,EACTh6C,QAAS,CAAC6uI,EACVjwI,QAAgBwxK,KAAa,OAAO,EAAEnsL,SACrCA,IACGooB,MAAC6tC,GAAc,CACXngE,KAAM80J,EAAUlzF,QAAQ7kE,IAAYsuC,IAAA,CAChC,GAAGA,EACH0rJ,gBAAiB,CAAC1rJ,EAAE0rJ,gBAAgBxhC,QAAQ,CAAC,GAC/C,EACFh1F,QAAkBy0F,KAAgBn4G,EAAI24G,kBAAkB,SAAKt7H,EAAA,CAAA15B,GAAA,gBAA2B,EACxFggE,SAAU,kBACb,EAEU,EAEvBluC,MAACqsC,GAAiB,CACd22F,sBACIp7H,EAAA,CAAA15B,GAAA,gGAEO,EAEXyZ,YAAOigB,EAAA,CAAA15B,GAAA,6BAAwC,EAC/CylB,QAASkwK,IAAgBtyL,OAAUqG,SAClCA,IAAOisL,IAAgB,WAAOj8J,EAAA,CAAA15B,GAAA,MAAiB,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,qBAAAE,OAAA,CAAAy1L,aAAmB,EAAa,EACrE,EAEnB7jK,MAACqsC,GAAiB,CACd22F,sBAAiBp7H,EAAA,CAAA15B,GAAA,gDAA2D,EAC5EyZ,YAAOigB,EAAA,CAAA15B,GAAA,QAAmB,EAC1BylB,QAAS,CAACiwK,EAAahsL,SACtBA,IACGowB,OAAA,OAAKrxB,UAAW0pB,GAAM4jK,gBAAgBrsL,UAClCooB,MAAA,OAAApoB,gBACK6uB,GAAmB,CAChBrhB,GAAI,iCAAiCzb,GAAmD,CACpF+6L,WAAY,MACf,KACD/tL,UAAW0pB,GAAM6jK,UAAUtsL,SAC1BgsL,GAAce,gBACf,SAAA/sL,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EACf,CAAC,EACS,EACpB,EACL8xB,MAAA,OAAApoB,gBACK6uB,GAAmB,CAChBrhB,GAAI,iCAAiCzb,GAAmD,CACpF+6L,WAAY,QACf,KACD/tL,UAAW0pB,GAAM6jK,UAAUtsL,SAAA,CAC1BgsL,EAAcgB,WAAahB,EAAce,gBAC1C,SAAA/sL,eACIgwB,EAAA,CAAA15B,GAAA,mBAA6C,EAC1C,CAAC,EACS,EACpB,CAAC,EACL,EAEM,EACnB8xB,MAACqsC,GAAiB,CACd22F,sBAAiBp7H,EAAA,CAAA15B,GAAA,4DAAuE,EACxFyZ,YAAOigB,EAAA,CAAA15B,GAAA,oCAA2E,EAClFylB,QAAS,CAAC6uI,EAAS5qJ,SAClBA,IACGowB,OAAA,OAAApwB,SAAA,CACIooB,MAAC09B,GAAsB,CAACv2D,MAAOq7J,EAAU31F,cAAgB,EACzD7sC,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gCAAA28C,WAAA,CAAA7N,QACK0gB,GAAsB,CAACv2D,MAAOq7J,EAAUiiC,gBAAkB,CAAC,EACzD,EACJ,CAAC,EACP,EAEM,EAEnBzkK,MAACqsC,GAAiB,CACdsB,QAAS,EACTq1F,sBACIp7H,EAAA,CAAA15B,GAAA,gFAA2F,EAE/FyZ,YAAOigB,EAAA,CAAA15B,GAAA,kBAA6B,EACpCylB,QAAS,CAACqwK,EACVt2H,iBAAiB,MAAK91D,SACrBA,IACGooB,MAAAF,WAAA,CAAAloB,eACI,OAAKjB,UAAW0pB,GAAM+jK,eAAexsL,SAChCosL,iBAA6B3zL,MAAM5F,IAAKC,UACpCm+B,WAAQ,CAAAjxB,UACLooB,MAAA,OAAKrpB,UAAW0pB,GAAMwkK,oBAAoBjtL,eACrC0uF,GAA4B,CAACn/F,MAAOyS,GAA0BlP,EAAEyjC,MAAM,EAAI,EAC1E,EACLnO,MAAA,OAAKrpB,UAAW0pB,GAAMshI,UAAU/pJ,gBAC3B6uB,GAAmB,CAChBrhB,GAAI,YAAYzb,GAA+C,CAC3DkG,SAAU,CAACnF,EAAEyjC,MAAM,CACtB,KAAIv2B,UACJlN,EAAE45K,MAAO,UACV,SAAA1sK,eACIgwB,EAAA,CAAA15B,GAAA,WAAsB,EACnB,CAAC,EACS,EACpB,CAAC,GAdKxD,EAAEyjC,MAeP,EACb,CACA,EACP,EAES,CAAC,EACL,CAE3B,EAEA22J,IAAex+J,GAAQD,GAAe,EAAEs9J,GAAgB,gNCtRlDoB,IAAoBA,CAAC,CAAEx2L,WAAkC,IAAM,CACjE,KAAM,CAACo5J,EAAmBC,CAAoB,EAAIx4I,WAAS,EAAK,EAC1Dy4I,EAAmBh5I,cAAY,KAC1B,CACHtgB,YACAqkH,WAAY,YAEjB,CAACrkH,CAAS,CAAC,EAER,CAACgC,EAAQq7G,CAAS,EAAIx8F,WAA+By4I,EAAkB,GACvE/X,EAAiB5mC,GAAoB34G,EAAQs3J,CAAgB,EAEnE,cACI/nI,WAAA,CAAAloB,SAAA,CACIooB,MAAC4N,GAAS,CAACj3B,UAAW0pB,GAAMwN,UAAUj2B,SACjCg2B,SAAUL,MAAK,CAAA31B,eACX0xG,GAAa,CAACC,cAAeA,IAAMq+C,EAAqB,EAAI,EAAGt7H,SAAUwjH,EAAiB,EAC9E,EACV,EACX9vH,MAAA,OAAKrpB,UAAW0pB,GAAM6U,QAAQt9B,eACzBm7G,GAAe,CAACxiH,SAAiB,EACjC,EACLyvB,MAACsnI,GAAsB,CACnB3vJ,SAAUi0G,EACVr7G,SACAyrB,OAAQA,IAAM,CACV4rI,EAAqB,EAAK,CAC9B,EACAvgI,KAAMsgI,EACT,CAAC,EACJ,CAEV,6OCtBMq9B,IAA6BA,CAAC,CAAEz2L,YAAW02L,iBAAgBC,sBAAgD,IAAM,CACnH,KAAM,CAACC,EAAUC,CAAW,EAAIh2K,WAAS,EAAE,EACrC,CAACnI,EAAUsvB,CAAW,EAAInnB,WAAS,EAAE,EACrC,CAACi2K,EAAQC,CAAS,EAAIl2K,WAAS,EAAE,EACjC,CAACm2K,EAAWC,CAAY,EAAIp2K,WAAS,EAAE,EACvC,CAAC46D,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EACxC,CAACysB,EAAOmtC,CAAQ,EAAI55D,WAAS,EAAK,EAElC2iE,EAAO,SAAY,CACrB9H,EAAY,EAAI,EACZ,IACA,MAAM2J,GAAWrlF,EAAW,CAAEA,YAAW0tF,SAAUkpG,EAAUl+K,WAAUw+K,OAAQJ,EAAQE,YAAW,QAElGv8G,EAAS,EAAI,CACjB,CACA,MAAMk8G,EAAqB,EAC3Bj7G,EAAY,EAAK,GAEfy7G,EAAa,SAAY,CAC3Bz7G,EAAY,EAAI,EAChB,MAAM6J,GAAavlF,CAAS,EAC5B,MAAM22L,EAAqB,EAC3Bj7G,EAAY,EAAK,GAErB,aACI,OAAAryE,SACKqtL,IAAmB,GAChBjlK,MAAAF,WAAA,CAAAloB,gBACKosC,GAAU,CAACrtC,UAAW0pB,GAAM8N,OAAOv2B,UAChCowB,OAAA,QAAMrxB,UAAW0pB,GAAM1sB,WAAWiE,SAAA,CAC9BooB,MAAA4H,EAAA,CAAA15B,GAAA,QAAoB,GAAC,IAAE,UACvB,QAAMyI,UAAW0pB,GAAMslK,aAAa/tL,eAChCgwB,EAAA,CAAA15B,GAAA,SAAoB,EAClB,CAAC,EACL,EAEN8xB,MAAA,OAAKrpB,UAAW0pB,GAAMulK,iBAAiBhuL,eAClCqwB,GAAa,CACVrG,MAAM,SACN1oB,KAAK,SACLya,QAASq2D,EACT9hD,UAAWw9J,EACXv9J,kBAAaP,EAAA,CAAA15B,GAAA,gBAA2B,EACxCk6B,iBAAYR,EAAA,CAAA15B,GAAA,mDAA8D,EAAE0J,eAC5EgwB,EAAA,CAAA15B,GAAA,yBAAoC,EACzB,EACd,CAAC,EACE,EACd,EAEF85B,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAAC8nD,GAAK,CAACzgF,KAAK,OAAMuQ,eACdgwB,EAAA,CAAA15B,GAAA,gLAGO,EACJ,EACP85B,OAAC8O,GAAc,CAACC,SAAUg7C,EAAMp7E,UAAU,iBAAgBiB,UACtDowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,UAAqB,EAAC,KACtB8xB,MAAC5pB,GAAe,CACZM,SAAQ,GACRrP,KAAK,OACLsP,UAAU,eACVF,YAAa4kB,EAAAwW,WAAS,EACtB1qC,MAAOk+L,EACP1tL,SAAWnE,GAAM8xL,EAAU9xL,EAAEgf,OAAOrrB,KAAK,EAC5C,CAAC,EACC,EACP6gC,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,aAAwB,EAAC,KACzB8xB,MAAC5pB,GAAe,CACZM,SAAQ,GACRrP,KAAK,OACLsP,UAAU,eACVF,YAAa4kB,EAAAwW,cAAY,EACzB1qC,MAAOo+L,EACP5tL,SAAWnE,GAAMgyL,EAAahyL,EAAEgf,OAAOrrB,KAAK,EAC/C,CAAC,EACC,EACP6gC,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,YAAuB,EAAC,KACxB8xB,MAAC5pB,GAAe,CACZM,SAAQ,GACRrP,KAAK,OACLsP,UAAU,eACVF,YAAa4kB,EAAAwW,aAAW,EACxB1qC,MAAOg+L,EACPxtL,SAAWnE,GAAM4xL,EAAY5xL,EAAEgf,OAAOrrB,KAAK,EAC9C,CAAC,EACC,EACP6gC,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,WAAsB,EAAC,KACvB8xB,MAAC5pB,GAAe,CACZM,SAAQ,GACRrP,KAAK,WACLsP,UAAU,eACVF,YAAa4kB,EAAAwW,YAAU,EACvB1qC,MAAO8f,EACPtP,SAAWnE,GAAM+iC,EAAY/iC,EAAEgf,OAAOrrB,KAAK,EAC9C,CAAC,EACC,EACNqwC,SAAiB,EAAE,EACnBqE,GACG7b,MAAC6lK,GAAW,CAACx+L,KAAM,SAAU85B,aAAQyG,EAAA,CAAA15B,GAAA,QAAmB,EAAE0J,eACtDgwB,EAAA,CAAA15B,GAAA,kDAA6D,EACpD,EAEjB8xB,MAAC4N,GAAS,CAAAh2B,SACLg2B,SAAUL,MAAK,CAAA31B,eACXguB,GAAM,CAACv+B,KAAK,SAASssB,QAASq2D,EAAUpoD,MAAM,UAAUjrB,UAAW0pB,GAAMgF,OAAOztB,eAC7EgwB,EAAA,CAAA15B,GAAA,WAAsB,EAClB,EACK,EACV,CAAC,EACA,CAAC,EACnB,EAEL,CAEb,EC3HM43L,IAAiCA,CAAC,CAAEv3L,WAA+C,IAAM,CAC3F,KAAM,CAACw3L,EAAiBC,CAAkB,EAAI52K,WAAS,EAAK,EACtD,CAACqpE,GAAYwtG,CAAiB,EAAI9zK,EAAc,IAAM8gE,GAAe1kF,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAClG,CAAC23L,EAAcC,CAAe,EAAI/2K,WAAkE,IAAI,EAC9GL,YAAU,IAAM,CACR0pE,GAEIA,mBAAUhuF,IAAWC,IACV,CACHwD,GAAIxD,EAAEwD,GACNoS,KAAM5V,EAAE4V,KACRwkC,QAASp6C,EAAEo6C,UAGvB,CACJ,EACD,CAAC2zC,CAAQ,CAAC,EAEb,MAAM2tG,EAA4Bl4L,GAAA,CAC9B,IAAIm4L,EAAUH,iBAAc1pL,KAAY9R,KAAEwD,KAAOA,GAC7Cm4L,IAAiBvhJ,UAAU,EAACuhJ,WAASvhJ,UACrCohJ,GAA8BC,EAAA,CAAC,GAAGD,CAAY,CAAC,GAEjDI,EAAe,SAAY,CACzB7tG,GAAYytG,IACZF,EAAmB,EAAI,EAEvB,MAAMnyG,GACFtlF,EACAkqF,iBAAUhuF,IAAWC,GAAA,CACjB,MAAM67L,EAAoBL,EAAa1pL,QAAYhH,EAAEtH,KAAOxD,EAAEwD,EAAE,EAC5Dq4L,SAA0B,CAAE,GAAG77L,EAAGo6C,QAASyhJ,EAAkBzhJ,SACrD,CAAE,GAAGp6C,EACpB,EACL,EACkBu7L,IAClBD,EAAmB,EAAK,EAC5B,EAEJ,cACI,OAAKrvL,UAAW0pB,GAAMmmK,kBAAkB5uL,UACpCooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,qBAAgC,EAChC,EACJ8xB,MAAC8nD,GAAK,CAACzgF,KAAK,OAAMuQ,eACdgwB,EAAA,CAAA15B,GAAA,kNAIO,CACJ,GACNuqF,IAAa,YAAS19C,EAAkB,KACxC09C,iBAAU3wF,SAAU,GAAKk4B,MAACyoB,GAAe,IACzCgwC,iBACKga,KAAK,CAAC/nG,EAAG8K,IAAM9K,EAAE4V,KAAKmmL,cAAcjxL,EAAE8K,IAAI,GAC3C7V,IAAKC,uBACDs5C,GAAU,CAAApsC,eACNs/B,GAAQ,CACL/hC,SAAS+wL,mBAAc1pL,KAAMkqL,GAAMA,EAAEx4L,KAAOxD,EAAEwD,MAArCg4L,cAA0CphJ,QACnDntC,SAAUA,IAAMyuL,EAAU17L,EAAEwD,EAAE,EAAE0J,SAC/BlN,EAAE4V,KACG,GALG5V,EAAEwD,EAMP,UAEnB0/B,GAAS,CAAAh2B,SACLg2B,SAAUL,MAAK,CAAA31B,eACXguB,GAAM,CAAChE,MAAM,UAAUrP,QAAS+zK,EAAc3yK,QAASoyK,EAAgBnuL,eACpEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACK,EACV,CAAC,EACX,CAEb,ECjFMy4L,IAAuBA,CAAC,CAAEp4L,WAAqC,IAAM,CACvE,KAAM,CAAC02L,GAAkB1qK,CAAM,EAAIpI,EAAc,SAAY,MAAMwhE,GAAUplF,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC1G,cACI,OAAAqJ,UACKqtL,IAAmB,MAASlqJ,QAAkB,IAC9CkqJ,IAAmB,MAChBjlK,MAACglK,IAA0B,CACvBz2L,YACA02L,iBACAC,qBAAsB3qK,CACzB,GAEJ0qK,IAAmB,UAASa,IAA8B,CAACv3L,YAAuB,CAAC,EACnF,CAEb,EClBMq4L,IAAsBA,CAAC,CAAEr4L,WAA+B,WAEtD,OAAAqJ,SAAA,CACIooB,MAAC2M,GAAa,CAAA/0B,SACT+0B,SAAc/G,OAAM,CAAS0G,SAAQ,GAAA10B,SAAC,YAAZ,CAEL,EACX,EACfooB,MAAC2mK,IAAoB,CAACp4L,YAAuB,CAAC,EAC7C,yCCNPs4L,IAA4DA,CAAC,CAAEt4L,WAAU,IAAM,CAC3E,MAACu4L,CAAa,EAAI30K,EAAc,IAAMhG,GAAwB5d,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAEjG,aACI,OAAKoI,UAAW0pB,IAAM03D,OAAOngF,SACxBkvL,EAAgB9mK,MAAC2qE,GAAoB,CAACz7F,SAAU43L,EAAc53L,SAAW,EAAK6rC,QAAkB,IAChG,CAEb,8kBCVagsJ,GAAgB/hL,GACzB,IACWnR,EAAQ,cAAc,EAAEY,KAAY/J,KAAE0J,MAAM,CAE3D,ECuBM4yL,GAAgEA,CAAC,CAAEz4L,YAAWk1D,QAAO,IAAM,CAC7F,MAAM52D,EAAgBomB,EAA+BzlB,KAAMD,OAAOV,aAAc,EAC1EF,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAI,EACvDgZ,EAAWmO,KAEXnhB,EAAS4mB,UAAQ,IAAM,CACzB,OAAQ5sB,iBAAMgG,OAAM,CAChB,IAAK,QACM,WACX,IAAK,QACM,WACX,IAAK,QACM,WACX,QACW,UACf,GACD,CAAChG,CAAI,CAAC,EAEH,CAACq9E,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EAExC,CAAC63K,CAAU,EAAI90K,EAAc,IAAM40K,KAAiB,GAAI,EAAE,EAC1D,CAAC3wK,EAAQukG,CAAS,EAAIvrG,WAA6B,CAAE,GACrD,CAAC4zD,EAAakkH,CAAc,EAAI93K,WAA0B,IAAI,EAC9D,CAAC1hB,EAAMsgK,EAAWp8I,CAAO,EAAIV,GAA0D,IAAI,EA+BjG,GA7BAnC,YAAU,IAAM,EACK,SAAY,CACrBxgB,KAAW,OAAOqjB,EAAQ,MAAM9Q,GAAWvS,CAAS,CAAC,EACjDqjB,EAAA,CACJtR,KAAM,GACNurB,YAAa,GACb4xB,aAAc,KACdu6C,gBAAiBnrG,EAAcqB,GAC/Bi5L,oBAAqB,GACrBC,gBAAiB,GACjBn0F,yBAA0B,KAC1B1nG,UAAW,GACXylD,QAAS,KACT21D,YAAah0G,EACbuwI,kCAAmC,GACnCmkD,+BAAgC,GAChCC,iBAAkB,KAClBC,sBAAuB,EACvBpjF,QAAS,CAAC9oG,GAAWmR,gBAAgB,EACrC0N,yBAA0B3e,GAAkB+jD,WAC5CqxC,8BAA+B,GAC/Bv2E,yBAA0B,GAC1BwjC,cAAetjD,GAAqB69F,KACvC,KAGI,EACV,CAAC5pG,EAAWqjB,CAAO,CAAC,EAEnB,CAAClkB,EAAasyB,aAAC+a,IAAkB,EAErC,MAAMysJ,EAAiBA,IACfxkH,IAIAt1E,GAAQA,EAAKQ,GACN8T,GAAyBtU,EAAKQ,EAAE,EAGpC,MAGLgoD,EAAe,MAAO1iD,GAAM,CAC9BmnH,EAAU,CAAE,GACZ1wC,EAAY,EAAI,EAEhB,MAAMp2E,EAAgC,CAClC,GAAGnG,EACH4qD,MAAO0qB,GAGP,IACMn3E,QAAS,MAAMwV,GAAsBxN,CAAO,EAClD,MAAM6Z,GAAmB/H,EAAU9Z,EAAOqC,GAAI,EAAI,EAElD4G,EAAe2uD,EAAQ53D,CAAM,EACnBovC,gBAAQrT,EAAA,CAAA15B,GAAA,OAAmB,EAAC,QACjCsF,GAEDA,KAAE26B,SAAW,IAAK,CACZ02E,cAAej9E,EAAA,CAAA15B,GAAA,uBAAkC,EACvDotC,EAAUO,MAAMgpE,CAAY,EAC5B8V,EAAUvkG,EAAO81C,OAAO,CAAC24C,CAAY,CAAC,CAAC,EAC3C,QACM,CACN56B,EAAY,EAAK,CACrB,GAGJ,aACI,OAAKtzE,UAAW0pB,GAAMi8C,QAAQ1kE,gBACzBk/B,GAAc,CAACngC,UAAU,2BAA2BogC,SAAUmf,EAAat+C,UACxEowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAClB8xB,MAAA,QAAMrpB,UAAW0pB,GAAM3pB,SAASkB,SAAC,IAAO,EACxCooB,MAAC5pB,GAAe,CACZ/O,KAAK,OACLqP,SAAQ,GACRC,UAAU,eACVF,YAAa4kB,EAAAwW,gBAAc,EAC3B1qC,MAAOuG,EAAK4S,KACZ3I,YAAiBq2J,EAAU,CAAE1tJ,KAAM9M,EAAEgf,OAAOrrB,MAAO,EACtD,CAAC,EACC,EAeP6gC,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,mBAA8B,EAC9B8xB,MAAA,QAAMrpB,UAAW0pB,GAAM3pB,SAASkB,SAAC,IAAO,EACxCowB,OAACtwB,GAAgB,CACbf,UAAU,eACVD,SAAQ,GACRF,gBAAWoxB,EAAA,CAAA15B,GAAA,WAAsB,EACjC/G,MAAOuG,EAAKy5L,oBACZxvL,YAAiBq2J,EAAU,CAAEm5B,oBAAqB3zL,EAAEgf,OAAOrrB,MAAO,EAAEyQ,UACpEooB,MAAA,UAAQ74B,MAAM,GAAEyQ,SAAEyjB,EAAAwW,EAAe,iBAAU,EAC1Cj2B,GAAkBnR,IAAKgR,SACpB,UAA6BtU,MAAOsU,EAAQ9I,OAAOiF,SAC9C6D,EAAQM,WADAN,EAAQ9I,MAEb,CACX,CAAC,EACY,CAAC,EAChB,EAEPq1B,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,UAAqB,EACrB8xB,MAAA,QAAMrpB,UAAW0pB,GAAM3pB,SAASkB,SAAC,IAAO,EACxCowB,OAACtwB,GAAgB,CACbf,UAAU,eACVD,SAAQ,GACRF,gBAAWoxB,EAAA,CAAA15B,GAAA,UAAqB,EAChC/G,MAAOuG,EAAKi5G,YACZhvG,YAAiBq2J,EAAU,CAAErnD,YAAanzG,EAAEgf,OAAOrrB,MAA8C,EAAEyQ,UACnGooB,MAAA,UAAQ74B,MAAM,GAAEyQ,SAAEyjB,EAAAwW,EAAe,gBAAU,GAC1C5nC,OAAO+qE,QAAQyyH,EAAa,EAAEh9L,IAAI,CAAC,CAACk8G,EAAa+gF,CAAW,UACzD,UAA0BvgM,MAAOw/G,EAAY/uG,SAAAyjB,EAAAwW,EACtC,CAAE3jC,GAAIw5L,CAAY,CAAC,GADb/gF,CAEL,CACX,CAAC,EACY,CAAC,EAChB,EAEP3+E,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,UAAqB,EACrB8xB,MAAC2nK,GAAmB,CAChB32I,QAAStjD,EAAKsjD,QACd42I,cAAyC55B,EAAU,CAAEh9G,UAAS,EAC9D21D,YAAaj5G,EAAKi5G,YACrB,CAAC,EACC,EAEP3+E,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,WAAsB,EACtB8xB,MAAA,QAAMrpB,UAAW0pB,GAAM3pB,SAASkB,SAAC,IAAO,EACxCowB,OAACtwB,GAAgB,CACbf,UAAU,eACVD,SAAQ,GACRF,gBAAWoxB,EAAA,CAAA15B,GAAA,WAAsB,EACjC/G,MAAOuG,EAAK+vD,cAAgB,KAAO,GAAK/vD,EAAK+vD,aAC7C9lD,YAAiBq2J,EAAU,CAAEvwG,aAAcjqD,EAAEgf,OAAOrrB,MAAO,EAAEyQ,UAC7DooB,MAAA,UAAQ74B,MAAM,GAAEyQ,SAAEyjB,EAAAwW,EAAe,iBAAU,EAC1Co1J,EAAWx8L,IAAK0yD,UACb,UAA0Bh2D,MAAOg2D,EAAS+qB,KAAKtwE,SAAA,CAC1CulD,EAAS+qB,KAAK,MAAI/qB,EAAS78C,IAAI,GADvB68C,EAASjvD,EAEd,CACX,CAAC,EACY,CAAC,EAChB,EACP85B,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,2BAAsC,EACtC8xB,MAAA,QAAMrpB,UAAW0pB,GAAM3pB,SAASkB,SAAC,IAAO,EAExCooB,MAAC6oC,GAAmB,CAChBhpC,eACIC,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,iDAA4D,EAC5D8xB,MAAK,SACH,KAAC,IACHA,MAACi9B,GAAe,CACZE,SAAUzvD,EAAK+vD,cAAgB,MAC/Bt2D,MAAO,OACP+1D,sBAAuB,EACvBS,sBAAuB,EAC1B,EACD39B,MAAK,SACH,KAAC,IACHA,MAACi9B,GAAe,CACZE,SAAUzvD,EAAK+vD,cAAgB,MAC/Bt2D,MAAO,OACP+1D,sBAAuB,EACvBS,sBAAuB,EAC1B,CAAC,EACJ,EAET,EACD31B,OAACtwB,GAAgB,CACbf,UAAU,eACVD,SAAQ,GACRF,gBAAWoxB,EAAA,CAAA15B,GAAA,2BAAsC,EACjD/G,MAAOuG,EAAKkwD,cACZjmD,YAAiBq2J,EAAU,CAAEpwG,cAAepqD,EAAEgf,OAAOrrB,MAA+B,EAAEyQ,UACtFooB,MAAA,UAAgB74B,MAAOmT,GAAqB69F,KAAKvgG,SAAC,KAArC,CAEL,EACRooB,MAAA,UAAgB74B,MAAOmT,GAAqByiD,IAAInlD,SAAC,GAEjD,EAFa,CAEL,CAAC,EACK,CAAC,EAChB,EAEPowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,8BAAyC,EACzC8xB,MAAA,QAAMrpB,UAAW0pB,GAAM3pB,SAASkB,SAAC,IAAO,EACxCowB,OAACtwB,GAAgB,CACbf,UAAU,eACVD,SAAQ,GACRF,gBAAWoxB,EAAA,CAAA15B,GAAA,sBAAiC,EAC5C/G,MAAOuG,EAAKwsB,yBACZviB,YAAiBq2J,EAAU,CAAE9zI,yBAA0B1mB,EAAEgf,OAAOrrB,MAA4B,EAAEyQ,UAC9FooB,MAAA,UAAmB74B,MAAOoU,GAAkB+jD,WAAW1nD,SAClDyjB,EAAAwW,EAAkB,qBADV,IAEL,EACR7R,MAAA,UAAmB74B,MAAOoU,GAAkBgkD,WAAW3nD,SAClDyjB,EAAAwW,EAAkB,mBAAC,EADX,IAEL,CAAC,EACK,CAAC,EAChB,EAEP7J,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,YAAuB,EACvB8xB,MAACi+F,GAAY,CACTx2B,cAAev6F,OAAOiF,WAAW01L,WAAa,IAAI36L,OAAOiF,WAAW01L,aAAet2L,OAAUqG,eAC5FxB,GAAe,CACZT,MAAO,CAAEo+B,MAAO,OAAQ,EACxB1sC,KAAK,OACLsP,UAAU,eACVF,YAAa4kB,EAAAwW,aAAW,EACxB1qC,MAAOuG,EAAKnC,WAAa,GACzBoM,YAAiBq2J,EAAU,CAAEziK,UAAWiI,EAAEgf,OAAOrrB,MAAO,EACxDyP,YAAa,CACT,CACIinC,QAAoBvyC,MAAkBnE,CAAK,EAC3C42C,eAAgBA,IACZ/d,MAAA4H,EAAA,CAAA15B,GAAA,gEAA2E,EAElF,EAER,EACS,CAAC,EACZ,EAEP85B,OAAA,OAAKrxB,UAAWY,EAAW,aAAc8oB,GAAMynK,gBAAgB,EAAElwL,SAAA,CAC7DooB,MAAA4H,EAAA,CAAA15B,GAAA,eAA0B,EAC1B8xB,MAAA,OAAKrpB,UAAU,wBAAuBiB,eAClC,OAAKjB,UAAWY,EAAW8oB,GAAMk1I,oBAAoB,EAAE39J,eAClD+3E,GAAW,CACRh4E,SAAqBuvL,KAAe5uI,CAAK,EACzCu3B,YAAa,GAAK,GAClBD,aAAc43G,EAAe,EAChC,EACA,EACJ,CAAC,EACL,EAaLx/J,OAAA,OAAKrxB,UAAU,aAAYiB,UACvBooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,oDAA+D,EAC5D,EACP8xB,MAAA,OAAKrpB,UAAU,wBAAuBiB,eACjCmhE,GAAW,CACRphE,YAAiBq2J,EAAU,CAAEr9D,8BAA+Bn9F,EAAEgf,OAAOrd,QAAS,EAC9EA,QAASzH,EAAKijG,8BACjB,EACA,CAAC,EACL,EAkBL3oE,OAAA,OAAKrxB,UAAU,aAAYiB,UACvBowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,yBAAoC,EAEpC8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,gFAA2F,EAElG,CAAC,EACC,EACP85B,OAAA,OAAKrxB,UAAU,wBAAuBiB,SAAA,CAClCooB,MAAC+4C,GAAW,CACRpiE,UAAW0pB,GAAM0nK,kBACjBpwL,SAAUA,IACNq2J,EAAU,CACN/6D,yBAA0BvlG,EAAKulG,2BAA6B,KAAO,GAAK,KAC3E,EAEL99F,QAASzH,EAAKulG,2BAA6B,IAC9C,GACAvlG,EAAKulG,2BAA6B,YAC9B78F,GAAe,CACZO,UAAWY,EAAW,eAAgB8oB,GAAM2nK,gBAAgB,EAC5D7gM,MAAOuG,EAAKulG,yBACZx8F,YAAa4kB,EAAAwW,6BAA2B,EACxCl6B,YACIq2J,EAAU,CACN/6D,yBAA0Bz/F,EAAEgf,OAAOrrB,MACtC,EAER,CACJ,EACA,CAAC,EACL,EAEL6gC,OAAA,OAAKrxB,UAAU,aAAYiB,UACvBowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,2BAAsC,EAEtC8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,kHAGO,EAEd,CAAC,EACC,EACP8xB,MAAA,OAAKrpB,UAAU,wBAAuBiB,eACjCmhE,GAAW,CACRphE,YAAiBq2J,EAAU,CAAE9qB,kCAAmC1vI,EAAEgf,OAAOrd,QAAS,EAClFA,QAASzH,EAAKw1I,kCACjB,EACA,CAAC,EACL,EAELl7G,OAAA,OAAKrxB,UAAU,aAAYiB,UACvBowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,2CAAsD,EAEtD8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,kOAIO,EAEd,CAAC,EACC,EACP85B,OAAA,OAAKrxB,UAAU,wBAAuBiB,SAAA,CAClCooB,MAAC+4C,GAAW,CACRpiE,UAAW0pB,GAAM0nK,kBACjBpwL,SAAUA,IACNq2J,EAAU,CACNs5B,iBAAkB55L,EAAK45L,mBAAqB,KAAO,GAAK,KAC3D,EAELnyL,QAASzH,EAAK45L,mBAAqB,IACtC,GACA55L,EAAK45L,mBAAqB,YACtBlxL,GAAe,CACZO,UAAWY,EAAW,eAAgB8oB,GAAM2nK,gBAAgB,EAC5D7gM,MAAOuG,EAAK45L,iBACZ7wL,YAAa4kB,EAAAwW,mCAAiC,EAC9Cl6B,YACIq2J,EAAU,CACNs5B,iBAAkB9zL,EAAEgf,OAAOrrB,MAC9B,EAER,CACJ,EACA,CAAC,EACL,EAEL6gC,OAAA,OAAKrxB,UAAU,aAAYiB,UACvBowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,qCAAgD,EAEhD8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,mJAGO,EAEd,CAAC,EACC,EACP8xB,MAAA,OAAKrpB,UAAU,wBAAuBiB,eACjCxB,GAAe,CACZT,MAAO,CAAEo+B,MAAO,OAAQ,EACxB1sC,KAAK,SACLqP,SAAQ,GACRC,UAAU,eACVF,YAAa4kB,EAAAwW,UAAQ,EACrB1qC,MAAOuG,EAAK65L,uBAAyB,GACrC5vL,YAAiBq2J,EAAU,CAAEu5B,sBAAuBnyL,GAAiB5B,EAAEgf,OAAOrrB,KAAK,EAAG,EACzF,EACA,CAAC,EACL,EAEL6gC,OAAA,OAAKrxB,UAAU,aAAYiB,UACvBowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,wCAAmD,EAEnD8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,kFAEO,EAEd,CAAC,EACC,EACP8xB,MAAA,OAAKrpB,UAAU,wBAAuBiB,eACjCmhE,GAAW,CACRphE,YAAiBq2J,EAAU,CAAE5zI,yBAA0B5mB,EAAEgf,OAAOrd,QAAS,EACzEA,QAASzH,EAAK0sB,yBACjB,EACA,CAAC,EACL,EAEL4F,MAACwX,GAAiB,CAACC,eAAgBrhB,EAAS,EAE5C4J,MAAA,OAAKrpB,UAAU,gBAAeiB,eACzBguB,EAAM,CAACjvB,UAAW0pB,GAAMyhK,WAAYz6L,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,SAChFrJ,EAAYyxB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,qBAAgC,EAC/D,EACP,CAAC,EACM,EACf,CAEb,mGCteM+5L,IAAgDA,CAAC,CAAE15L,WAAU,IAAM,CAC/D25L,QAASv4K,SAA0B,IAAI,EACvC,CAACxM,EAAe8tJ,CAAgB,EAAI9+I,EACtC,IAAMlP,GAAiB1U,CAAS,EAChC,GACA,EACJ,EACM,CAACy7E,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EACxC,CAACorI,EAAYC,CAAa,EAAIrrI,WAAS,EAAK,EAC5C,CAAC+4K,EAAiBC,CAAkB,EAAIh5K,WAAS,EAAK,EAC5D,GAAIjM,IAAkB,KACX,YAGX,MAAM4zB,EAAWA,IAAM,CACfyjH,EACA4tC,EAAmB,EAAI,EAEhB3kI,GACX,EAGEA,EAAS,SAAY,CACnB,IACAwmB,EAAY,EAAI,EAChB,MAAMo+G,EAAQ,MAAMnlL,GAAkB3U,EAAW4U,CAAa,EAC9D8tJ,EAAiBo3B,CAAK,EACZptJ,gBAAQrT,EAAA,CAAA15B,GAAA,sBAAkC,EAAC,SAC/C,CACNusJ,EAAc,EAAK,EACnBxwE,EAAY,EAAK,CACrB,GAEJ,cACInqD,WAAA,CAAAloB,SAAA,CACIowB,OAAC8O,GAAc,CAACC,WAAoBpgC,UAAWgrL,GAAUrlH,QAAQ1kE,UAC7DowB,OAAA,OAAKrxB,UAAW0pB,GAAM8rC,cAAcv0D,UAChCowB,OAAA,MAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,gBAA2B,EAC3B8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,8IAGO,EAEd,CAAC,EACF,EACJ85B,OAAA,MAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,uBAAkC,EAClC8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,yGAGO,EAEd,CAAC,EACF,EACJ85B,OAAA,MAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,kBAA6B,EAC7B8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,wNAIO,EAEd,CAAC,CACF,GACG8xB,EAAA,eACN7c,EAAc1Y,IAAI,CAACusJ,EAAI75H,WACnB0L,WAAQ,CAAAjxB,SAAA,CACLooB,MAAC5pB,GAAe,CACZG,UAAW,GACXlP,KAAK,OACLqP,SAAQ,GACRC,UAAW,eACXF,YAAa4kB,EAAAwW,iBAAe,EAC5B1qC,MAAO6vJ,EAAG12I,MAAQ,GAClB3I,YACIs5J,EACI9tJ,EAAc1Y,IAAI,CAAC69L,EAAKrgM,IAAOA,IAAMk1B,EAAQ,CAAE,GAAGmrK,EAAKhoL,KAAM9M,EAAEgf,OAAOrrB,KAAM,EAAImhM,CAAI,CACxF,EAEP,EACDtoK,MAAC5pB,GAAe,CACZG,UAAW,IACXlP,KAAK,OACLsP,UAAW,eACXF,YAAa4kB,EAAAwW,eAAa,EAC1B1qC,MAAO6vJ,EAAGnrH,aAAe,GACzBl0B,YACIs5J,EACI9tJ,EAAc1Y,IAAI,CAAC69L,EAAKrgM,IACpBA,IAAMk1B,EAAQ,CAAE,GAAGmrK,EAAKz8J,YAAar4B,EAAEgf,OAAOrrB,KAAM,EAAImhM,CAC5D,CACJ,EAEP,EACDtoK,MAAC5pB,GAAe,CACZG,UAAW,GACXlP,KAAK,OACLsP,UAAW,eACXF,YAAW4kB,EAAAwW,EAAI,CAAE3jC,GAAI,sBAAuB,CAAC,EAC7C/G,MAAO6vJ,EAAG33F,MAAQ,GAClB1nD,YACIs5J,EACI9tJ,EAAc1Y,IAAI,CAAC69L,EAAKrgM,IAAOA,IAAMk1B,EAAQ,CAAE,GAAGmrK,EAAKjpI,KAAM7rD,EAAEgf,OAAOrrB,KAAM,EAAImhM,CAAI,CACxF,EAEP,EACDtoK,MAAC0B,GAAO,CACJ7B,QACIm3H,EAAGuxC,YAAc,WAAO3gK,EAAA,CAAA15B,GAAA,oDAA+D,EAC1F0J,eACD,QAAMjB,UAAWY,EAAWoqL,GAAUjsH,cAAer1C,GAAM6/G,YAAY,EAAEtoI,eACpEguB,EAAM,CACHhE,MAAM,SACNiD,SAAU,CAACmyH,EAAGuxC,YACd5xL,UAAWgrL,GAAUP,YACrB7uK,QAASA,IAAM,CACX0+I,EAAiB9tJ,EAAc5S,OAAO,CAACiD,EAAGvL,IAAMA,IAAMk1B,CAAK,CAAC,EAC5Ds9H,EAAc,EAAI,CACtB,EAAE7iJ,eACDkpB,EAAe,CAAC5nB,KAAK,KAAK6nB,KAAMwiE,GAAa,EAC1C,EACN,EACD,CAAC,GAxDCpmE,CAyDL,CACb,CAAC,EACD,EAEL6C,MAAA,OAAApoB,eACKguB,EAAM,CACH7E,KAAMk6E,GACNr5E,MAAM,OACNrP,QAASA,IACL0+I,EACI9tJ,EAAc+oD,OAAO,CAAC,CAAE5rD,KAAM,GAAIurB,YAAa,GAAI08J,YAAa,GAAMlpI,KAAM,EAAI,EAAC,CACrF,EACHznD,eACDgwB,EAAA,CAAA15B,GAAA,eAA0B,EACtB,EACP,EACJspC,UAAmB,SACnB5R,EAAM,CAACzvB,IAAK+xL,EAAQvxL,UAAWgrL,GAAUG,WAAYz6L,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,eAClGgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACG,EAChB8xB,MAACoH,GAAW,CACRC,KAAM8gK,EACN/rK,QAASA,IAAMgsK,EAAmB,EAAK,EACvCx0L,WAAMg0B,EAAA,CAAA15B,GAAA,wDAAmE,EACzEyZ,YAAOigB,EAAA,CAAA15B,GAAA,gBAA2B,EAClCo5B,SAAUm8B,EACb,CAAC,EACJ,CAEV,kbCjLM+kI,IAAkDA,CAAC,CAAE5wL,UAAS,UACzD,OAAKjB,UAAW0pB,GAAMi8C,QAAQ1kE,WAAgB,ECDnD6wL,IAAgEA,CAAC,CAAE7wL,UAAS,UACvE,OAAKjB,UAAW0pB,GAAMR,QAAQjoB,WAAgB,ECDnD8wL,IAA0DA,CAAC,CAAE9wL,UAAS,UACjE,MAAIjB,UAAW0pB,GAAMkd,KAAK3lC,WAAe,ECG9C+wL,IAAkEA,CAAC,CAAEp2K,UAASia,SAAQ50B,UAAS,UAE7F,MAAIjB,UAAWY,EAAW,CAAE,CAAC8oB,GAAMmM,MAAM,EAAGA,EAAQ,EAAGja,UAAiB3a,WAEpE,ECFNgxL,IAA4EA,CAAC,CAAEr2K,UAAS3a,WAAU40B,QAAO,WAEvG,MAAI71B,UAAWY,EAAW8oB,GAAM69I,UAAW,CAAE,CAAC79I,GAAMmM,MAAM,EAAGA,EAAQ,EAAGja,UAAiB3a,SAAA,CACrFooB,MAACc,EAAe,CAACC,KAAMmyE,EAAe,GACrCt7F,CAAQ,EACT,ECTGo0B,MAAkBw8J,IAAiB,CAC9CzsG,QAAS0sG,IACTI,KAAMH,IACNI,SAAUH,IACVI,kBAAmBH,GACvB,CAAC,ECmBKjlL,GAAWszF,GAAkBxsG,IAAKC,GAAMA,EAAEwsG,WAAW,EAE3D,SAAS8xF,IACLC,EACA98E,EACAr7D,EACF,CACE,MAAMjlD,EAAyB8X,GAASgW,OAAO,CAACC,EAAKhlB,KAC7CA,GAAG,EAAI4F,GAAmBoxD,QACvBhyC,GACR,CAAE,GAEL,SAASsvK,EAAM74L,EAAsC,CACjDA,EAAMjI,QAAkBC,GAAA,CAChBA,EAAKsjE,OAASnxD,GAAmBghJ,QAC1BnzJ,IAAKojE,OAAO,EAAIpjE,EAAKsjE,KAChC,CACH,CACL,CAEMs9H,WAAe14L,OAAc7F,KAAEyhH,yBAA2B,MAAQ,CAACzhH,EAAEomD,KAAK,CAAC,EAE7Eq7D,IAA2B,MACrB88E,IAAe14L,OAAc7F,KAAEyhH,yBAA2BA,GAA0B,CAACzhH,EAAEomD,KAAK,CAAC,EAGnGq7D,GAA0Br7D,GACpBm4I,IAAe14L,OAAc7F,KAAEyhH,yBAA2BA,GAA0BzhH,EAAEomD,QAAUA,CAAK,CAAC,EAGzGjlD,CACX,CAEA,MAAMs9L,IAAkEA,CAAC,CAAE56L,WAAU,IAAM,CACvF,KAAM,CAAC06L,EAAgBG,CAAiB,EAAIj3K,EAAc,IAAM1O,GAAmBlV,CAAS,EAAG,CAACA,CAAS,EAAG,CAAE,GAExG,CAACmgJ,CAAqB,EAAIv8H,EAAc,IAAMyjH,GAAoCrnI,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC/G,CAACkgJ,CAAgB,EAAIt8H,EAAc,IAAMi7E,GAA+B7+F,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAErG,CAAC86L,EAAqBC,CAAsB,EAAIl6K,WAAwB,IAAI,EAC5E,CAACm6K,EAAeC,CAAgB,EAAIp6K,WAAwB,IAAI,EAEhE87F,EAAS3xF,UAAQ,IACdk1H,EAIErI,GACHqI,EAAiBl+I,OAAc7F,KAAEyhH,yBAA2Bk9E,GAAuB,CAAC,CAAC3+L,EAAEomD,KAAK,EAAErmD,IAAWC,KAAEomD,KAAK,CACpH,EALW,GAMZ,CAAC29F,EAAkB46C,CAAmB,CAAC,EAE1Ct6K,YAAU,IAAM,CACZy6K,EAA4BriM,GACpB,CAACkiM,GAIDliM,GAAS,CAAC+jH,EAAOxvG,SAASvU,CAAK,EACxB,KAGJA,CACV,GACF,CAACkiM,EAAqBn+E,CAAM,CAAC,EAEhC,MAAMtS,EAAetC,GAAoBX,GAAmBkD,aAActqG,CAAS,EAC7E,CAACuqG,CAAW,EAAI3mF,EAAc,SAAY,MAAMwhE,GAAUplF,CAAS,EAAG,CAACA,CAAS,EAAG,EAAK,EAExFb,EAAO6rB,UAAQ,IAAM,CACjBkwK,QAAkBR,EAAe14L,OAClC7F,GAAMA,EAAEyhH,yBAA2Bk9E,GAAuB3+L,EAAEomD,QAAUy4I,CAC3E,EAEA,IAAIG,EAAclvL,GAAmBoxD,QAErC,OAAIy9H,GAAuBE,KACvBG,EAAclvL,GAAmBghJ,OAG9BvkD,GAAkB1mG,OACrBuoG,MAAeF,EAAe,GAAOgB,EAAK1C,cAAgB38F,GAAeq9F,QAC7E,EAAEntG,IAAYC,GAAA,cACV+gE,QAAS/gE,EAAEwsG,YACXvrC,OAAM89H,IAAgBjtL,KAAMmtL,GAASA,EAAKl+H,UAAY/gE,EAAEwsG,WAAW,IAA7DuyF,cAAgE99H,OAAQ+9H,CAChF,KACH,CAACT,EAAgBI,EAAqBE,EAAezwF,EAAaF,CAAY,CAAC,EAE5EH,EAAkBl/E,UAAQ,IAAM,CAClC,MAAMqwK,EAAiBZ,IAAwBC,EAAgBI,EAAqBE,CAAa,EAE1F5lL,UAASlZ,IAAiDC,IACtD,CACH+gE,QAAS/gE,EACTihE,KAAMi+H,EAAel/L,CAAC,GAE7B,CACF,GAACu+L,EAAgBI,EAAqBE,CAAa,CAAC,EAEjD,CAACv/G,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EACxCw6C,EAAW52C,KACX,CAAEoQ,UAAWq5E,GAAcT,EAAU,EACrCv4C,EAAS,SAAY,CACvBwmB,EAAY,EAAI,EAEZ,IACMvmE,SAAoBnV,EAAW06L,CAAc,EACzChuJ,gBAAQrT,EAAA,CAAA15B,GAAA,gBAA4B,EAAC,SACzC,CACN+7E,EAAY,EAAK,CACrB,GAGE4/G,EAAmBA,CAACp+H,EAAyBq+H,IAAgC,CAC/EV,EAAgC/3K,GAAA,CAC5B,MAAMhpB,EAAOgpB,EAAS7U,KACjB9R,GAAMA,EAAEyhH,yBAA2Bk9E,GAAuB3+L,EAAEomD,QAAUy4I,GAAiB7+L,EAAE+gE,UAAYA,CAC1G,EAEA,OAAIpjE,EACOi2C,GAAajtB,EAAUhpB,EAAM,CAAE,GAAGA,EAAMsjE,KAAMm+H,EAAS,EAEvD,CACH,GAAGz4K,EACH,CACIo6C,UACA0gD,uBAAwBk9E,EACxBv4I,MAAOy4I,EACP59H,KAAMm+H,EACT,CAET,CACH,GAGC9/L,EAAUuvB,UAAQ,IAAM,CACtBqqJ,MAAQ35K,OAAOmE,OAAOoM,EAAkB,EAC5C,OAAI6uL,IAAwB,OACxBzlB,EAAQA,EAAMrzK,OAAc7F,OAAM8P,GAAmBghJ,KAAK,GAGvDooB,EAAMn5K,IAAYC,IAAA,CACrB4+B,YAAQ1B,EAAK,CAAC15B,GAAI07D,EAAW,2BAA2Bl/D,IAAM,sBAAsBA,IAAM,EAC1FvD,MAAOuD,CACT,KACH,CAAC2+L,EAAqBz/H,CAAQ,CAAC,EAElC,aACK4+H,GAAe,CAAA5wL,SACX4wL,SAAgBzsG,QAAO,CAAAnkF,gBACnBk/B,GAAc,CAACC,SAAU0sB,EAAO7rD,UAC7BowB,OAAA,OAAKrxB,UAAW0pB,GAAM8J,UAAUvyB,UAC5BowB,OAAA,OAAApwB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAM64C,SAASthE,UAC3BowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,SAAqB,GACzB,KAAO,EACP85B,OAAA,OAAApwB,SAAA,CACIowB,OAAC2E,GAAa,CAACh2B,UAAW0pB,GAAM0pK,UAAUnyL,SACtCooB,CAAC2M,SAAc/G,OAAM,CACjB0G,SAAU+8J,IAAwB,KAClC92K,QAASA,IAAM+2K,EAAuB,IAAI,EAAE1xL,eAC5CgwB,EAAA,CAAA15B,GAAA,iBAA4B,EACV,GACpBwgJ,GAAyB,IAAIjkJ,IAAKC,GAC/BiiC,SAAc/G,OAAM,CAEjB0G,SAAU+8J,IAAwB3+L,EAAEwD,GACpCqkB,QAASA,IAAM+2K,EAAuB5+L,EAAEwD,EAAE,EAAE0J,SAC3ClN,EAAE4V,MAHE5V,EAAEwD,EAIW,CACzB,CAAC,CACS,GAEdm7L,GAAuB56C,UACnB9hH,GAAa,CAACh2B,UAAW0pB,GAAM0pK,UAAUnyL,SACtCooB,CAAC2M,SAAc/G,OAAM,CACjB0G,SAAUi9J,IAAkB,KAC5Bh3K,QAASA,IAAMi3K,EAAiB,IAAI,EAAE5xL,eACtCgwB,EAAA,CAAA15B,GAAA,aAAwB,EACN,EACrBg9G,EAAOzgH,IACJu1B,SAAC2M,GAAc/G,OAAM,CAEjB0G,SAAUi9J,IAAkB7+L,EAC5B6nB,QAASA,IAAMi3K,EAAiB9+L,CAAC,EAAEkN,SAClClN,GAHIA,CAIa,CACzB,CAAC,EACS,CAClB,EACA,CAAC,EACL,EACAs1B,EAAA,oBAEL,OAAKrpB,UAAU,2BAA0BiB,UACrCowB,OAAA,OAAKrxB,UAAW0pB,GAAM/sB,QAAQsE,UAC1BooB,MAAA,SAAApoB,eACI,MAAAA,eACIgwB,EAAA,CAAA15B,GAAA,UAAqB,EACrB,CACD,GACN,CAAC07D,SACE,MAAIjzD,UAAW0pB,GAAM2pK,YAAYpyL,eAC7BgwB,EAAA,CAAA15B,GAAA,SAAoB,EACpB,CACP,EACA,EAEJR,EAAKjD,IAAKC,SACP,OAAAkN,gBACI,SAAAA,SAAA,CACIooB,MAAC4H,EAAK,CAAC15B,GAAI,kBAAkBxD,EAAE+gE,UAAY,EAC3CzrC,MAACwsB,GAAM,CACH71C,UAAU,wBACVgB,SAAuBkyL,KAAiBn/L,EAAE+gE,QAASoN,EAAG1xE,KAAK,EAC3DA,MAAO6C,EAAQwS,QAAY8zF,EAAEnpG,QAAUuD,EAAEihE,IAAI,EAC7C3hE,UACH,CAAC,EACC,GATDU,EAAE+gE,OAUP,CACR,CAAC,EACD,EAELzrC,MAACogB,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,iOAIO,EACH,CAAC,EACR,EAEL85B,OAAA,OAAKrxB,UAAW0pB,GAAM4pK,eAAgBt0L,MAAOytB,EAAOxrB,UAChDooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,UAAqB,EACrB,EACJ8xB,MAACw4E,GAAY,CAACC,kBAAkCC,iBAAkBnqG,EAAY,CAAC,EAE9E,CAAC,EACL,EAELyxB,MAAC4N,GAAS,CAAAh2B,SACLg2B,SAAUL,MAAK,CAAA31B,eACXguB,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,eACpDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACK,EACV,CAAC,EACA,EACK,EACZ,CAEzB,EC5QMg8L,IAAoFA,CAAC,CAAE9tK,UAASkL,WAAUD,MAAK,IAAM,CACvH,KAAM,CAACsP,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAACnL,EAAkBkmL,EAAuBC,CAAmB,EAAIl5K,GAA0C,EAAE,EAE7GuyB,EAAa,SAAY,CAC3B7M,EAAU,EAAK,EACfwzJ,EAAoB,CAAE,IAGpBriK,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,GAGpB4lE,EAAe,SAAY,CAC7BprD,EAAU,EAAI,EAEV,IACM9hC,QAAewyB,EAAUrjB,CAAgB,EAC/CnP,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,GAGEyzJ,EAAcpmL,EAAiBja,SAAWia,EAAiB2/G,QAAU3/G,EAAiBqmL,cAE5F,cACKvuK,EAAK,CAACzb,KAAK,gCAAgCjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,OAAQsnB,EAAW7rC,SAAA,CACpGooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,oBAA+B,EACtB,EACb85B,OAAC5G,EAAS,CAAAxpB,UACNooB,MAAA,KAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,4LAAA28C,WAAA,CAAA7N,EAGIhd,MAAA,OAAK,EAACwpC,EACNxpC,MAAA,OAAK,EAAC4pD,EACN5pD,MAAkC,YAAC,EAChC,EACR,EACHgI,OAAA,OAAKrxB,UAAU,aAAYiB,SAAA,CACvBooB,MAACkX,GAAQ,CACL/hC,QAAS8O,EAAiBja,SAAW,GACrC2N,YAAiBwyL,EAAsB,CAAEngM,QAASwJ,EAAEgf,OAAOrd,QAAS,EAAEyC,eACtEgwB,EAAA,CAAA15B,GAAA,iBAA4B,EACtB,EAEV8xB,MAACkX,GAAQ,CACL/hC,QAAS8O,EAAiB2/G,QAAU,GACpCjsH,YAAiBwyL,EAAsB,CAAEvmE,OAAQpwH,EAAEgf,OAAOrd,QAAS,EAAEyC,eACrEgwB,EAAA,CAAA15B,GAAA,SAAoB,EACd,EAEV8xB,MAACkX,GAAQ,CACL/hC,QAAS8O,EAAiB6tF,QAAU,GACpCn6F,YAAiBwyL,EAAsB,CAAEr4F,OAAQt+F,EAAEgf,OAAOrd,QAAS,EAAEyC,eACrEgwB,EAAA,CAAA15B,GAAA,SAAoB,EACd,EAEV8xB,MAACkX,GAAQ,CACL/hC,QAAS8O,EAAiBxV,gBAAkB,GAC5CkJ,YAAiBwyL,EAAsB,CAAE17L,eAAgB+E,EAAEgf,OAAOrd,QAAS,EAAEyC,eAC7EgwB,EAAA,CAAA15B,GAAA,kBAA6B,EACvB,EAEV8xB,MAACkX,GAAQ,CACL/hC,QAAS8O,EAAiBq7I,oBAAsB,GAChD3nJ,YAAiBwyL,EAAsB,CAAE7qC,mBAAoB9rJ,EAAEgf,OAAOrd,QAAS,EAAEyC,eACjFgwB,EAAA,CAAA15B,GAAA,sBAAiC,EAC3B,EAEV8xB,MAACkX,GAAQ,CACL/hC,QAAS8O,EAAiBqmL,eAAiB,GAC3C3yL,YAAiBwyL,EAAsB,CAAEG,cAAe92L,EAAEgf,OAAOrd,QAAS,EAAEyC,eAC5EgwB,EAAA,CAAA15B,GAAA,SAAoB,EACd,CAAC,EACV,EACJm8L,GACGrqK,MAACogB,GAAM,CAAC/4C,KAAK,UAASuQ,eAClBgwB,EAAA,CAAA15B,GAAA,qOAIO,EACH,CACX,EACM,EACX85B,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACPm8L,EACGrqK,MAACiI,GAAa,CACVI,yBAAyB,WACzBC,wBAAwB,YACxBH,kBAAaP,EAAA,CAAA15B,GAAA,gBAA2B,EACxCk6B,iBAAYR,EAAA,CAAA15B,GAAA,2CAAsD,EAClEg6B,UAAW85D,EACXpgE,MAAM,UACNjO,QAASgjB,EAAO/+B,eAChBgwB,EAAA,CAAA15B,GAAA,OAAkB,EACP,EAEf8xB,MAAC4F,EAAM,CAAChE,MAAM,UAAUrP,QAASyvE,EAAcruE,QAASgjB,EAAO/+B,eAC3DgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CACX,EACQ,CAAC,EACX,CAEf,8TC7GA,SAASq8L,IAA0C,CACxC,OAAEjqL,KAAM,GAAI0gD,UAAW,GAAO85B,KAAM,GAC/C,CAEA,MAAM0vG,IAAgEA,CAAC,CAAEnjK,OAAMjL,UAASkL,UAAS,IAAM,CACnG,KAAM,CAACqP,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAACq7K,EAAeC,EAAoBC,CAAgB,EAAIz5K,GAAcq5K,IAAc,EACpF,CAAC9yJ,EAAgBiG,CAAiB,EAAItuB,WAA6B,CAAE,GAErEq0B,EAAa,SAAY,CAC3B7M,EAAU,EAAK,EACf+zJ,EAAiBJ,IAAc,GAG7BxiK,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,GAGpB4lE,EAAe,MAAOxuF,GAAM,CAC9BojC,EAAU,EAAI,EACd8G,EAAkB,CAAE,GAChB,IACM5oC,QAAewyB,EAAUmjK,CAAc,EAC7C31L,EAAesnB,CAAO,QACjB5oB,GACDA,KAAE26B,SAAWJ,GAAek7C,SAAU,CAChC47B,cAAej9E,EAAA,CAAA15B,GAAA,0CAAqD,EAC1EotC,EAAUO,MAAMgpE,CAAY,EAC5BnnE,EAAkB,CAAC,GAAGjG,EAAgBotE,CAAY,CAAC,EACvD,QACM,CACNjuE,EAAU,EAAK,CACnB,GAGJ,aACK7a,EAAK,CAACzb,KAAK,qBAAqBjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,OAAQsnB,EAAYvqC,KAAK,KAAItB,gBAClGk/B,GAAc,CAACC,SAAUirD,EAAapqF,SAAA,CACnCooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,kBAA6B,EACpB,EACb85B,OAAC5G,EAAS,CAAAxpB,UACNooB,MAAA,OAAKrpB,UAAU,aAAYiB,eACtBxB,GAAe,CACZO,UAAU,eACVF,YAAa4kB,EAAAwW,QAAM,EACnB1qC,MAAOsjM,EAAcnqL,KACrB3I,YAAiB+yL,EAAmB,CAAEpqL,KAAM9M,EAAEgf,OAAOrrB,MAAO,EAC5DuP,SAAQ,GACX,EACA,EAELspB,MAAA,OAAKrpB,UAAU,aAAYiB,eACtB4nH,GAAS,CACNr4H,MAAOsjM,EAAc3vG,KACrBnjF,YAAoB+yL,EAAmB,CAAE5vG,KAAMptF,EAAM,EACrDgyH,gBAAiB,EACjBD,iBAAkB,IACrB,EACA,EACLz/F,MAAA,OAAKrpB,UAAU,aAAYiB,eACtB4/B,GAAiB,CAACC,iBAAiC,EACnD,CAAC,EACC,EACXzP,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,UAAUjO,QAASgjB,EAAQtvC,KAAK,SAAQuQ,eAClDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACA,CAAC,EACF,EACb,CAEf,EC5DM08L,IAA0DA,CAAC,CAAEr8L,WAAU,IAAM,CAC/E,KAAM,CAACy7E,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EACxC,CAACy7K,EAAgBC,CAAiB,EAAI17K,WAAS,EAAK,EACpD,CAAC4wH,EAAgB+qD,CAAiB,EAAI37K,WAA+B,IAAI,EACzE,CAACmhI,EAAkBC,CAAmB,EAAIphI,WAAS,EAAK,EAExD,CAACqoB,EAAgBiG,CAAiB,EAAItuB,WAA6B,CAAE,GAErE,CAACq7K,EAAeC,EAAoBC,CAAgB,EAAIz5K,GAAgD,IAAI,EAE5G,CAAC85K,EAASC,CAAU,EAAI94K,EAAc,IAAMrO,GAAoCvV,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAE7G,CAAC28L,EAAgBC,CAAiB,EAAI/7K,WAA+B,IAAI,EAEzEw7D,EAAQ/7D,cAAY,IAAM,CAC5B87K,EACI3qD,GAAkB,CACd1/H,KAAM,GACN0gD,UAAW,GACX85B,KAAM,GAEd,GACD,CAACklD,EAAgB2qD,CAAgB,CAAC,EAErC57K,YAAU,IAAM,CACRi8K,GAAW,CAAChrD,EACMgrD,IAAQ,CAAC,CAAC,EACrBA,GAAWhrD,GACAgrD,IAAQxuL,KAAY9R,KAAEwD,KAAO8xI,EAAe9xI,EAAE,GAAK,IAAI,CAC7E,EACD,CAAC88L,EAAShrD,CAAc,CAAC,EAE5BjxH,YAAU,IAAM,CACN67D,GAAA,EACP,CAACA,CAAK,CAAC,EAEV,MAAMwgH,EAAiBprD,GAAkBA,EAAellD,OAAS2vG,EAAe3vG,KAE1EuwG,EAAS,MAAOhjM,EAAiC4b,IAAwD,CAC3GgmE,EAAY,EAAI,EAEZ,IACA5hF,EAAKyyF,KAAOzyF,EAAKyyF,KAAKrwF,IAAYC,IAAA,CAC9B,GAAGA,EACHyzH,cAAezzH,EAAEyzH,eAAiB,EAClCD,cAAexzH,EAAEwzH,eAAiB,CACpC,IAEF,IAAIryH,EAAS,MAAMkY,GAAkBxV,EAAWlG,EAAM4b,CAAgB,EAItE,GAFA8mL,EAAkBl/L,CAAM,EAEpBxD,EAAK6F,GAAI,CACT,MAAMo9L,EAAgBN,EAASxuL,QAAY9R,EAAEwD,KAAO7F,EAAK6F,EAAE,EACrD6tH,EAAc,CAAE,GAAGlwH,EAAQ0/L,gBAAgBD,iBAAeC,iBAAkB,GAClFN,EAAW3sJ,GAAa0sJ,EAAUM,EAAevvE,CAAW,CAAC,OAElDkvE,EAAA,CAAC,GAAGD,EAAU,CAAE,GAAGn/L,EAAQ0/L,eAAgB,CAAG,EAAC,EAGpDtwJ,gBAAQrT,EAAA,CAAA15B,GAAA,iCAA6C,EAAC,QAC3DsF,GACDA,KAAE26B,SAAWJ,GAAek7C,SAAU,CAChC47B,cAAej9E,EAAA,CAAA15B,GAAA,0CAAqD,EAC1EotC,EAAUO,MAAMgpE,CAAY,EAC5BnnE,EAAkB,CAAC,GAAGjG,EAAgBotE,CAAY,CAAC,EAGvD,QACM,CACN56B,EAAY,EAAK,CACrB,GAGE/zB,EAAeA,IAAM,CACnBk1I,EACAN,EAAkB,EAAI,EAEfL,IAAgB,EAAE,CAC7B,EAGEe,EAAqB,MAAOt9L,GAAe,CACvCgW,SAAoB3V,EAAWL,CAAE,EACvC+8L,EAAWD,EAASz6L,OAAQk7L,GAAOA,EAAGv9L,KAAOA,CAAE,CAAC,EACtC+sC,gBAAQrT,EAAA,CAAA15B,GAAA,aAAyB,EAAC,GAG1Cw9L,EAAkEC,GAAA,CAC/DtiF,GAAQ22B,EAAgByqD,CAAa,EAGtCM,EAAkBY,CAAM,EAFxBR,EAAkBQ,CAAM,CAG5B,EAGJ,GAAI,CAACX,EACM,YAGX,MAAMY,EAA6DH,GAC3DA,EAAGzqI,gBACIp5B,EAAA,CAAA15B,GAAA,oCAA+C,EAEtDu9L,EAAGF,eAAiB,QACb3jK,EAAA,CAAA15B,GAAA,2CAAsD,EAE1D,KAEX,cACI4xB,WAAA,CAAAloB,SAAA,CACIowB,OAAC8O,GAAc,CAACC,SAAUmf,EAAcv/C,UAAWgrL,GAAUrlH,QAAQ1kE,UACjEowB,OAAA,OAAKrxB,UAAW0pB,GAAM8J,UAAUvyB,UAC5BowB,OAAA,MAAIrxB,UAAW0pB,GAAMkd,KAAK3lC,UACrBozL,EAAQvgM,IAAKghM,UACV,MAAA7zL,UACIowB,OAAA,QACIzV,QAASA,IAAMm5K,EAAmBD,CAAE,EACpC90L,UAAWY,EAAW,gBAAiB,CAAE,CAAC8oB,GAAMmM,MAAM,EAAGi/J,IAAOzrD,EAAgB,EAAEpoI,SACjF6zL,GAAGnrL,KAAK,IACRmrL,EAAGzqI,kBACAlhC,WAAA,CAAAloB,SAAE,KACGooB,MAAA4H,EAAA,CAAA15B,GAAA,SAAqB,GAC1B,KAAE,CACL,EACC,EACN8xB,MAAC0B,GAAO,CAACM,YAAa,GAAOnC,QAAS+rK,EAAkBH,CAAE,EAAE7zL,eACxD,QAAAA,eACKqwB,GAAa,CACVC,UAAWA,IAAMsjK,EAAmBC,EAAGv9L,EAAE,EACzCi6B,kBAAaP,EAAA,CAAA15B,GAAA,gBAA2B,EACxCk6B,iBAAYR,EAAA,CAAA15B,GAAA,iDAA4D,EACxE22B,SAAU4mK,EAAGF,eAAiB,EAC9B3pK,MAAM,SACN1oB,KAAK,SACL6nB,KAAMwiE,GACT,EACC,EACD,CAAC,GAvBLkoG,EAAGv9L,EAwBR,CACP,SACD,MAAIyI,UAAW0pB,GAAMwrK,IAAKt5K,QAAgBi+H,KAAoB,EAAI,EAAE54I,UAChEooB,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,sBAAiC,EAC/B,EACN8xB,MAACc,EAAe,CAACnqB,UAAW0pB,GAAMyrK,QAAS/qK,KAAMk6E,GAAS,CAAC,EAC3D,CAAC,EACL,EACHwvF,GACGziK,OAAA,OAAApwB,SAAA,CACIooB,MAACijE,GAAW,CACRC,SAAS,QACT/7F,MAAOsjM,EAAcnqL,KACrB6iF,iBAAkB9iE,GAAM0rK,WACxBC,eAAgB3rK,GAAM4rK,gBACtB3kK,YAAiBojK,EAAmB,CAAEpqL,KAAM9M,EAAEgf,OAAOrrB,MAAO,EAC/D,EACD64B,MAACw/F,GAAS,CAENr4H,MAAOsjM,EAAc3vG,MAAQ,CAAG,EAChCnjF,YAAoB+yL,EAAmB,CAAE5vG,KAAMptF,EAAM,GAFhD+8L,EAAcv8L,EAGtB,CAAC,EACD,CACR,EACA,EACL8xB,MAACwX,GAAiB,CAACC,iBAAiC,EACpDzP,OAAA,OAAKrxB,UAAU,WAAUiB,SAAA,CACrBooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWiD,SAAUmlD,EAAUz3D,QAASq4D,EAAMhzE,eACxDgwB,EAAA,CAAA15B,GAAA,QAAmB,EACf,EACR8xB,MAAC4F,EAAM,CAACjvB,UAAWgrL,GAAUG,WAAYz6L,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,eACrFgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACR,CAAC,EACM,EAEhB8xB,MAACkqK,IAAgC,CAC7B7iK,KAAMwjK,EACNvjK,SAAW55B,GAAS29L,EAAOZ,EAAgB/8L,CAAI,EAC/C0uB,QAASA,IAAM0uK,EAAkB,EAAK,EACzC,EAED9qK,MAACwqK,IAAsB,CACnBnjK,KAAMkpH,EACNn0H,QAASA,IAAMo0H,EAAoB,EAAK,EACxClpH,SAAW55B,GAAS29L,EAAO39L,EAAM,IAAI,EACxC,EAEDsyB,MAACoH,GAAW,CACRzf,YAAOigB,EAAA,CAAA15B,GAAA,+BAA0C,EACjD0F,YACIksB,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,oDAA+D,EAC/D8xB,MAACogB,GAAM,CAACzpC,UAAW0pB,GAAM2jH,aAAc38I,KAAK,OAAMuQ,eAC9CgwB,EAAA,CAAA15B,GAAA,qJAAA28C,WAAA,CAAA7N,EACIhd,MAA2B,YAAC,EAEzB,EACH,CAAC,EACX,EAENsH,SAAUA,IAAMyjK,EAAkBG,CAAc,EAChD7jK,KAAM6jK,IAAmB,KACzB9uK,QAASA,IAAM+uK,EAAkB,IAAI,EACrC1jK,mBAAmB,WACnBC,kBAAkB,YACrB,CAAC,EACJ,CAEV,kdC7NMwkK,GAA+BA,CAAC,CAAE5+L,QAAO6H,UAASuzH,gBAAer5H,SAAQkzC,cAAaynC,WAAUmiH,eAAc,IAAM,CAChHh6G,QAAY52D,GAAqB,cAAc,EAC/C62D,EAAc72D,GAAqB,gBAAgB,EAEnDnG,EAAU5B,KAChB,aACKuI,EAAK,CAACzb,KAAK,QAAQic,kBAAmB,GAAOrjB,KAAK,KAAK7J,SAAgB2sB,OAAQA,IAAM,CAAC,EAAEpkB,gBACpFwpB,EAAS,CAACzqB,UAAW0pB,GAAM8J,UAAUvyB,UAClCooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,mDAA8D,EAC9D,EACJ8xB,MAAA,KAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,mGAEO,CACR,GACFZ,GAASA,EAAM8+L,wBACZtsK,WAAA,CAAAloB,UACIooB,MAAA,QAAMrpB,UAAW0pB,GAAMgsK,UAAUz0L,eAC7BgwB,EAAA,CAAA15B,GAAA,kDAA6D,EAC3D,EACN8xB,MAAC0pD,GAAe,CAAC/yE,UAAW0pB,GAAMspD,SAAUA,SAAUr8E,EAAM8+L,gBAAkB,CAAC,EACjF,EAENpkK,OAAA,SAAOrxB,UAAW0pB,GAAMm5F,kBAAkB5hH,SAAA,CACtCooB,MAACkX,GAAQ,CAAC/hC,UAAkBwC,SAAUA,IAAM+wH,EAAc,CAACvzH,CAAO,EAAI,EAAE,IACxE6qB,MAAA4H,EAAA,CAAA15B,GAAA,yEAAA28C,WAAA,CAAA7N,QAEKhL,GAAY,CAAChL,KAAMmrD,EAAW3/D,OAAO,SAExB,CAAC,EAEZ,CAAC,EACL,EACPwV,OAAA,OAAKrxB,UAAW0pB,GAAMisK,WAAW10L,SAAA,CAC7BooB,MAAA4H,EAAA,CAAA15B,GAAA,iKAAA28C,WAAA,CAAA7N,QAGKhL,GAAY,CAACxf,OAAO,SAASwU,KAAMorD,EAEtB,CAAC,EACZ,EAAE,IACR9kF,GAASA,EAAMi/L,wBAA0BhqJ,SACtCziB,WAAA,CAAAloB,eACIgwB,EAAA,CAAA15B,GAAA,iDAAAE,OAAA,CAAAm0C,aAGsC,EAAAsI,WAAA,CAAA7N,QADjChL,GAAY,CAAChL,KAAM15B,EAAMi/L,uBAAwB/5K,OAAO,SAE3C,CAAC,EACZ,EACT,CACL,EACA,EACLwN,MAAA,OAAKrpB,UAAW0pB,GAAMy3B,QAAQlgD,SACzB,CAACtK,GAAS8nB,EACP4K,MAAC+a,EAAkB,IAEnB/a,MAAC4F,EAAM,CAACf,SAAU,CAAC1vB,EAASod,QAAS45K,EAAevqK,MAAM,UAAUjO,QAASq2D,EAASpyE,eAClFgwB,EAAA,CAAA15B,GAAA,WAAsB,EAClB,EAEX,CAAC,EACC,EACR,CAEf,6FCnEMs+L,IAAoEA,CAAC,CAAEj+L,WAAU,IAAM,CACzF,KAAM,CAACk+L,EAAaC,CAAc,EAAIt9K,WAAS,EAAK,EAC9C,CAACnO,CAAO,EAAIkR,EAAc,IAAMrR,GAAWvS,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAExE,CAACjB,EAAOgoB,CAAQ,EAAInD,EAAc,IAAM7N,GAAgB/V,CAAS,EAAG,GAAI,IAAI,EAC5E,CAACy7E,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EAExCq0C,EAAS,MAAOjwD,GAAM,CACnBlG,IAILkG,EAAEirB,eAAe,EACjBwrD,EAAY,EAAI,EAEV5lE,SAAgB9V,EAAWjB,CAAK,EAC5B2tC,gBAAQrT,EAAA,CAAA15B,GAAA,6CAA6D,EAAC,EAChF+7E,EAAY,EAAK,IAGftmC,EAAmD3rC,GAAA,CACrDsd,EAAyBgmF,IAAA,CAAE,GAAGA,EAAY,GAAGtjG,CAAU,KAGrD20L,EAAYpzK,UACd,KAAO,CACHqzK,wBAAyB,GACzBC,0BAA2B,GAC3BN,wBAAwBj/L,iBAAO+kF,4BAA6B,GAC5D+5G,iBAAiB9+L,iBAAOw/L,qBAAsB,KAElD,CAACx/L,CAAK,CACV,EAEA,OAAKA,SAKDwyB,WAAA,CAAAloB,UACIowB,OAAA,QAAM+O,SAAU0sB,EAAQ9sD,UAAWY,GAAWoqL,GAAUrlH,QAAS,MAAM,EAAE1kE,UACrEowB,OAAA,SAAApwB,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,uBAAkC,EAClC,EACJ8xB,MAACvoB,GAAQ,CACLwxF,WAAU,GACVF,QAAS,EACTpyF,UAAU,eACVF,YAAa4kB,EAAAwW,gCAA8B,EAC3C1qC,MAAOmG,EAAMw/L,mBACbn1L,YAAiBgsC,EAAa,CAAEmpJ,mBAAoBt5L,EAAEgf,OAAOrrB,MAAO,EACvE,CAAC,EACC,EAEP6gC,OAAA,SAAApwB,UACIowB,OAAA,MAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,8BAAyC,EACzC8xB,MAAC6oC,GAAmB,CAAChpC,cAAS+H,EAAA,CAAA15B,GAAA,mCAA8C,EAAI,CAAC,EACjF,EACJ8xB,MAACjqB,GAAK,CACFU,YAAa4kB,EAAAwW,uBAAqB,EAClCl7B,UAAU,eACVxP,MAAOmG,EAAM+kF,0BACb16E,YAAiBgsC,EAAa,CAAE0uC,0BAA2B7+E,EAAEgf,OAAOrrB,MAAO,EAC9E,CAAC,EACC,EAEP64B,MAAA,OAAKrpB,UAAW0pB,GAAMy3B,QAAQlgD,eACzBguB,EAAM,CAAChE,MAAM,WAAWrP,QAASA,IAAMm6K,EAAe,EAAI,EAAE90L,eACzDgwB,EAAA,CAAA15B,GAAA,uBAAkC,EAC9B,EACP,EAEA8xB,EAAA,oBAEL,OAAKrpB,UAAU,aAAYiB,UACvBooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,+BAA0C,EAC1C,EAEJ8xB,MAAC+4C,GAAW,CACRpiE,UAAW0pB,GAAM0nK,kBACjBpwL,YACIgsC,EAAa,CACTopJ,oBAAqBv5L,EAAEgf,OAAOrd,QACjC,EAELA,QAAS7H,EAAMy/L,oBAAoBn1L,eACnCgwB,EAAA,CAAA15B,GAAA,UAAqB,CACZ,GACZZ,EAAMy/L,2BACFC,GAAc,CACXt2L,SAAQ,GACRC,UAAU,eACVH,UAAW6kB,EAAAwW,gCAA8B,EACzC83C,SAAUr8E,EAAM2/L,iBAEhBl9G,iBAAkB1vD,GAAM6sK,gBACxBv1L,YAAqBgsC,EAAa,CAAEspJ,iBAAkB9lM,EAAO,EAChE,CACJ,EACA,EAEL64B,MAAA,OAAKrpB,UAAW0pB,GAAMy3B,QAAQlgD,eACzBguB,EAAM,CAACjvB,UAAWgrL,GAAUG,WAAYz6L,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,eACrFgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACP,CAAC,EACJ,EAEN8xB,MAACksK,GAAU,CACP/2L,QAAS,GACT9F,OAAQo9L,EACRziH,SAAU,GACVmiH,cAAeA,IAAMO,EAAe,EAAK,EACzChkE,cAAeA,IAAM,KACrBnmF,aAAathC,iBAASwU,oBAAqB,GAC3CnoB,MAAOq/L,EACV,CAAC,EACJ,EArFK3sK,MAAC+a,EAAgB,EAAE,CAuFlC,gTCnHMotB,GAAgCA,CAAC,CAAExgD,QAAOuc,UAAS/uB,UAASwC,WAAUw1L,YAAW,WAE/E,OAAKx2L,UAAW0pB,GAAMixH,OAAO15I,SAAA,CACxBu1L,GACGnlK,OAAA,QAAApwB,UACK+P,EACAuc,SAAY2kC,GAAmB,CAAChpC,QAASqE,EAAU,CAAC,EACnD,EAEVlE,MAAC+4C,GAAW,CAACphE,WAAoBxC,UAAmB,CAAC,EACpD,EAOPi4L,IAA8EA,CAAC,CAAE7+L,WAAU,IAAM,CACnG,KAAM,CAAC8+L,EAAgBC,CAAiB,EAAIn7K,EAAc,IAAM5N,GAAyBhW,CAAS,EAAG,GAAI,EAAE,EACrG,CAACy7E,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EAExCu0B,EAAeA,CAAC4pJ,EAAqCv1L,IAA2C,CAC/EqZ,KAAaitB,GAAajtB,EAAUk8K,EAAe,CAAE,GAAGA,EAAe,GAAGv1L,CAAS,EAAC,GAGrGyqF,EAAwD8qG,GAAA,CAC1DD,KAAgCj8K,EAAS9gB,OAAc7F,OAAM6iM,CAAa,CAAC,GAGzEp7C,EAAYA,IAAM,CACD9gI,KAAa,CAC5B,GAAGA,EACH,CACIm8K,UAAWvyL,GAAkBwyL,eAC7BC,mBAAoB,EACpBx/E,UAAW,GACXy/E,UAAW,GACX9lF,QAAS,GACT35G,GAAI,EAAEqzL,EAAerqL,OACxB,EACJ,GAGCqqL,EAAiB5xK,SAAO,CAAC,EAEzB8zC,EAAS,MAAOjwD,GAAM,CACxBA,EAAEirB,eAAe,EACjBwrD,EAAY,EAAI,EACZ,IACM2jH,QAAiBP,EAAe5iM,IAAYi3D,IACvC,CACH,GAAGA,EAEHisI,UAAW,GACXz/L,GAAIwzD,EAAGxzD,IAAM,EAAIqD,OAAYmwD,EAAGxzD,IAEvC,EACK2/L,EAAwB,MAAMrpL,GAA0BjW,EAAWq/L,CAAc,EACvFN,EAAkBO,CAAqB,EAC7B5yJ,gBAAQrT,EAAA,CAAA15B,GAAA,uBAAmC,EAAC,SAChD,CACN+7E,EAAY,EAAK,CACrB,GAGJ,cACI,OAAKtzE,UAAWgrL,GAAUrlH,QAAQ1kE,SAAA,CAC9BooB,MAACogB,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,yWAAA28C,WAAA,CAAA7N,QACI,KAAGrmC,UAAW0pB,GAAMytK,gBAGjB,EAACtkI,EACJxpC,MAAA,WAA4B,EAAC4pD,EACK5pD,MAAK,QAAC,EAErC,EACH,EACRgI,OAAA,QAAM+O,SAAU0sB,EAAO7rD,UACnBooB,MAAA,OAAApoB,SACKy1L,EAAe5iM,IAAI,CAACsjM,EAAK5wK,WACtB,OAAKxmB,UAAW0pB,GAAMkqB,IAAI3yC,SAAA,CACtBooB,MAACmoC,GAAM,CACHglI,WAAYhwK,IAAU,EACtBxV,YAAOigB,EAAA,CAAA15B,GAAA,QAAmB,EAC1BiH,QAAS44L,EAAI7/E,UACbv2G,SAAiBgsC,KAAaoqJ,EAAK,CAAE7/E,UAAW16G,EAAEgf,OAAOrd,QAAS,EACrE,EACD6qB,MAACmoC,GAAM,CACHglI,WAAYhwK,IAAU,EACtBxV,YAAOigB,EAAA,CAAA15B,GAAA,MAAiB,EACxBiH,QAAS44L,EAAIlmF,QACblwG,SAAiBgsC,KAAaoqJ,EAAK,CAAElmF,QAASr0G,EAAEgf,OAAOrd,QAAS,EACnE,EAOD6yB,OAAA,OAAKrxB,UAAW0pB,GAAM2tK,YAAYp2L,SAC7BulB,KAAU,UACP,QAAAvlB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,aAAwB,EACxB8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,iEAA4E,EAEnF,CAAC,EACA,EAEV85B,OAAA,OAAApwB,SAAA,CACIooB,MAAC5pB,GAAe,CACZO,UAAU,eACVgB,SACIgsC,KAAaoqJ,EAAK,CAAEL,mBAAoBt4L,GAAiB5B,EAAEgf,OAAOrrB,KAAK,EAAI,EAE/EE,KAAK,SACLF,MAAO4mM,EAAIL,mBACXr3L,IAAK,EACR,EACD2xB,OAAA,UACIrxB,UAAU,eACVxP,MAAO4mM,EAAIP,UACX71L,SACIgsC,KAAaoqJ,EAAK,CAAEP,UAAWvyL,GAAkBzH,EAAEgf,OAAOrrB,KAAK,EAAG,EACrEyQ,UACDooB,MAAA,UAAQ74B,MAAO8T,GAAkBwyL,eAAe71L,SAAEyjB,EAAAwW,EAAsB,wBAAU,EAClF7R,MAAA,UAAQ74B,MAAO8T,GAAkBgzL,cAAcr2L,SAAEyjB,EAAAwW,EAAqB,uBAAU,CAAC,EAC7E,EAEPk8J,EAAIP,YAAcvyL,GAAkBgzL,qBACjC,QAAAr2L,eACIgwB,EAAA,CAAA15B,GAAA,kEAA6E,EAC3E,EAKV8xB,MAAC4F,EAAM,CAAChE,MAAM,SAASjrB,UAAW0pB,GAAM+gK,YAAa7uK,QAASA,IAAMkwE,EAAasrG,CAAG,EAAEn2L,eACjFkpB,EAAe,CAAC5nB,KAAK,KAAK6nB,KAAMwiE,GAAa,EAC1C,CAAC,EACR,CAAC,EACL,CAAC,GA9DsBwqG,EAAI7/L,EA+D/B,CACR,EACA,EACL8xB,MAAA,OAAApoB,eACKguB,EAAM,CAAC7E,KAAMk6E,GAAQr5E,MAAM,OAAOrP,QAAS4/H,EAAUv6I,eAClDgwB,EAAA,CAAA15B,GAAA,qBAAgC,EAC5B,EACP,EACL8xB,MAAA,OAAKrpB,UAAU,WAAUiB,eACpBguB,EAAM,CAACjvB,UAAWgrL,GAAUG,WAAYz6L,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,eACrFgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACP,CAAC,EACJ,CAAC,EACN,CAEb,+ECpKMggM,IAAoCA,CAAC,CAAEl+L,OAAM2H,UAAS,IAAM,CAC9D,MAAMw+J,EAAYA,CAAC,CAAEC,WAAUC,cAAe,CAC1C,MAAM73H,EAAW83H,GAAUtmK,EAAMomK,EAAUC,CAAQ,EACnDvhK,EAAe6C,EAAU6mC,CAAQ,GAG/B2vJ,EAAkBA,CAAClpK,EAAyBjtB,IAAyC,CAEvF,MAAMo2L,EAAWp2L,EAAQsxB,MAEzB,GAAI,CAAC8kK,EAAU,CACDvyJ,cAAMjU,EAAA,CAAA15B,GAAA,4BAAwC,EAAC,EACzD,OAGJ,GAAI8B,EAAMR,KAAYs8C,KAAE59C,KAAO+2B,EAAI/2B,IAAM49C,EAAExiB,MAAM+E,YAAY,IAAM+/J,EAAS//J,YAAa,GAAG,CAC9EwN,cAAMjU,EAAA,CAAA15B,GAAA,qCAAiD,EAAC,EAClE,OAGKowC,KAAatuC,EAAMi1B,EAAK,CAAE,GAAGA,EAAK,GAAGjtB,CAAS,EAAC,GAGtDq2L,EAAkCngM,GAAA,CACpCyJ,EAAS3H,EAAMO,OAAQu7C,GAAMA,EAAE59C,KAAOA,CAAE,CAAC,GAG7C,aACK2nK,GAAY,CAACM,YAAsBO,KAAK,KAAKH,YAAal2I,GAAMm2I,OAAQ6E,qBAAoB,GAACwmB,cAAa,GAAAjqL,eACvG,MAAIjB,UAAWY,EAAW8oB,GAAMitB,SAAUjtB,GAAMiuK,IAAI,EAAE12L,UAChD5H,GAAQ,IAAIvF,IAAI,CAACqhD,EAAG7jD,IAClB+3B,MAACg7I,GAAY,CAAuB79I,MAAOl1B,EAAE2P,eACxC8pB,GAAO,CACJ7B,eACIC,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EAAC,KAAG49C,EAAEyiJ,wBACpBvuK,MAAA,SACLA,MAAA4H,EAAA,CAAA15B,GAAA,UAAqB,EAAC,KAAG49C,EAAE0iJ,kBACtBxuK,MAAA,SACLA,MAAA4H,EAAA,CAAA15B,GAAA,SAAoB,EAAC,KAAG49C,EAAE2iJ,cACrBzuK,MAAA,SACLA,MAAA4H,EAAA,CAAA15B,GAAA,kBAA6B,EAAC,KAAG49C,EAAE4iJ,sBAC9B1uK,MAAA,SACLA,MAAA4H,EAAA,CAAA15B,GAAA,sBAAiC,EAAC,KAAG49C,EAAE6iJ,uBAClC3uK,MAAA,SACLA,MAAA4H,EAAA,CAAA15B,GAAA,cAAyB,EAAC,KAAG49C,EAAE8iJ,iBAC9B,CAAC9iJ,EAAE+iJ,cACA7mK,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAAA,OAAK,EACLA,MAAA,MAAK,SAEL4H,EAAA,CAAA15B,GAAA,8CAAyD,CAAC,EAC5D,CACL,EACH,EACL0J,gBACD,MAAIjB,UAAW0pB,GAAMssB,aAAa/0C,SAAA,CAC9BooB,MAACi7I,GAAU,CAAArjK,eACP,OAAKjB,UAAWY,EAAW8oB,GAAMyuK,UAAWzuK,GAAM0gK,UAAU,EAAEnpL,eACzDkpB,EAAe,CAACC,KAAMguK,GAAa71L,KAAK,KAAM,EAC9C,EACG,EACZ8mB,MAACc,EAAe,CAACnqB,UAAW0pB,GAAMU,KAAMA,KAAM6pB,GAAQ,EACtD5qB,MAAA,OAAKrpB,UAAW0pB,GAAM8gB,KAAKvpC,eACtBqrF,GAAW,CACRp+D,SAAU,CAACinB,EAAEkjJ,aACb9rG,SAAS,OACT57D,SAAiB9zB,GAAA,CACb,MAAMy7L,EAAez7L,EAAEgf,OAAOrrB,MAAMukD,KAAK,EACrCujJ,OAAiBnjJ,EAAExiB,MAGvB,OAAO6kK,EAAgBriJ,EAAG,CAAExiB,MAAO2lK,EAAc,CACrD,EACA9nM,MAAO2kD,EAAExiB,MACZ,EACA,EACLtJ,MAAC4F,EAAM,CACHf,SAAU,CAACinB,EAAE+iJ,aACbt8K,QAASA,IAAM87K,EAAgBviJ,EAAE59C,EAAE,EACnC6yB,KAAMC,GACNrqB,UAAWY,EAAW8oB,GAAMyuK,UAAWzuK,GAAM6/G,YAAY,EAC5D,CAAC,EACF,EACC,CArDMp0F,IAAE59C,IAAM49C,EAAExiB,KAsDf,CACjB,EACD,EACM,CAEtB,EC9FM4lK,IAA0DA,CAAC,CAAE3gM,WAAU,IAAM,CAC/E,KAAM,CAAC4gM,EAAWC,CAAY,EAAIhgL,WAAS,EAAE,EACvC,CAAC46D,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EAExC,CAACpf,EAAMm7C,EAASkkJ,CAAU,EAAIl9K,EAAc,IAAMu4B,GAAuBn8C,CAAS,EAAG,CAAE,EAAE,IAAI,EAC7FgzL,EAAiB5xK,SAAO,CAAC,EAEzB2/K,EAAwD97L,GAAA,CAE1D,GADAA,EAAEirB,eAAe,EACb,EAACzuB,GAGAm/L,EAIL,IAAIn/L,EAAMR,KAAYs8C,KAAExiB,MAAM+E,gBAAkB8gK,EAAUzjJ,OAAOrd,YAAa,GAAG,CACnEwN,cAAMjU,EAAA,CAAA15B,GAAA,qCAAiD,EAAC,EAClE,OAGIi9C,EAAA,CACJ,GAAGn7C,EACH,CACIs5B,MAAO6lK,EACPZ,wBAAyB,EACzBC,kBAAmB,EACnBE,sBAAuB,EACvBD,cAAe,EACfE,uBAAwB,EACxBY,aAAc,EACdC,iBAAkB,EAClB7hM,WAAY,EACZihM,iBAAkB,EAClB1gM,GAAI,EAAEqzL,EAAerqL,QACrB23L,aAAc,GACdG,aAAc,GACd9/I,UAAW54C,GAAItG,EAAMvF,OAAWqhD,EAAEoD,SAAS,CAAC,EAAK,CACpD,EACJ,EACDkgJ,EAAa,EAAE,IAGb9qI,EAAa,SAAY,CAC3B,GAAIt0D,IAAS,KAGbi6E,GAAY,EAAI,EAEZ,IACA,MAAMx/B,GACFl8C,EACAyB,EAAKvF,IAAI,CAACqhD,EAAG7jD,KAAO,CAAEiG,GAAI49C,EAAE59C,GAAK,EAAIqD,OAAYu6C,EAAE59C,GAAIo7B,MAAOwiB,EAAExiB,MAAOjiC,KAAMykD,EAAEzkD,KAAM6nD,UAAWjnD,GAAI,CACxG,EACA,MAAMonM,EAAW,EACPp0J,gBAAQrT,EAAA,CAAA15B,GAAA,YAAwB,EAAC,SACrC,CACN+7E,EAAY,EAAK,CACrB,IAGJ,cACI,OAAKtzE,UAAWgrL,GAAUrlH,QAAQ1kE,SAC7B,CAAC5H,EAGEg4B,OAAAlI,WAAA,CAAAloB,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,mBAA+B,EAC/B,EACJ85B,OAAA,QAAM+O,SAAUu4J,EAAc34L,UAAU,OAAMiB,SAAA,CAC1CooB,MAACjqB,GAAK,CACFU,YAAa4kB,EAAAwW,mBAAiB,EAC9Bl7B,UAAU,eACVxP,MAAOgoM,EACPx3L,SAAWnE,GAAM47L,EAAa57L,EAAEgf,OAAOrrB,KAAK,EAC/C,EACD64B,MAAC4F,EAAM,CAACjvB,UAAW0pB,GAAM69I,UAAW72K,KAAK,SAASu6B,MAAM,WAAUhqB,eAC9DgwB,EAAA,CAAA15B,GAAA,UAAqB,EACjB,CAAC,EACP,EACN8xB,MAAA,MAAIrpB,UAAW0pB,GAAMc,OAAOvpB,eACxBgwB,EAAA,CAAA15B,GAAA,cAAyB,EACzB,EACJ8xB,MAACkuK,IAAQ,CAACv2L,SAAUwzC,EAASn7C,OAAa,CAAC,EAC7C,EArBFgwB,MAAC+a,EAAgB,EAAE,EAuBvB/a,MAAC4F,EAAM,CAACjvB,UAAWgrL,GAAUG,WAAYvvK,QAAS+xC,EAAY1iC,MAAM,UAAUjO,QAASq2D,EAASpyE,eAC5FgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACR,CAEb,EC1GO,SAASuhM,IAAoB/hM,EAA2D,CAC3F,OAAOmG,EAAQ,eAAgB,CAC3ByK,OAAQ,OACRlK,KAAM,GACNR,KAAMlG,EACT,EAAE+G,KAAY/J,KAAE0J,KAAM,EAC3B,CAEO,SAASs7L,IAAsBnwL,EAAkC,CAC7D1L,SAAQ,gBAAgB0L,IAAc,CACzCjB,OAAQ,SACRlK,KAAM,GACT,CACL,uNCQMu7L,IAA4FA,CAAC,CAC/FjiM,OACAkiM,aACAC,YACAl4L,WACAm4L,oBACAC,cACJ,IAAM,CACIC,QAAgBz2K,UAAQ,IACnBprB,GAAQT,EAAKuiM,8BAA+B,CAAC,2BAA4B,OAAO,CAAC,EACzF,CAACviM,EAAKuiM,6BAA6B,CAAC,EACjCC,EAAe32K,UAAQ,IAClBprB,GAAQT,EAAKyiM,wBAAyB,CAAC,2BAA4B,QAAS,MAAM,CAAC,EAC3F,CAACziM,EAAKyiM,uBAAuB,CAAC,EAE3BC,EAAkB72K,UACpB,IAAOq2K,EAAaI,EAAgBA,EAAcz/L,OAAQ7F,GAAMA,EAAEomD,QAAU,IAAMpmD,EAAE2lM,MAAM,EAC1F,CAAC3iM,EAAMkiM,CAAU,CACrB,EACM,CAACj5J,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAACkhL,EAAWC,CAAY,EAAInhL,EAAkC,WAC9D,CAACohL,EAAqBC,CAAsB,EAAIrhL,WAAS,EAAK,EAE9DshL,EAAkBA,CAACC,EAAsCC,IAAsD,CACjH,MAAMC,EAASvyJ,GAAa5wC,EAAKuiM,8BAAgCU,EAAQ,CAAE,GAAGA,EAAQ,GAAGC,EAAY,EAC/F7hM,EAAgD,CAClD,GAAGrB,EACHuiM,8BAA+BY,GAEnC/7L,EAAe6C,EAAU5I,CAAO,GAG9B+hM,EAAiBA,CAACC,EAAgCC,IAAgD,CACpG,MAAMC,EAAQ3yJ,GAAa5wC,EAAKyiM,wBAA0BY,EAAO,CAAE,GAAGA,EAAO,GAAGC,EAAW,EACrFjiM,EAAgD,CAClD,GAAGrB,EACHyiM,wBAAyBc,GAE7Bn8L,EAAe6C,EAAU5I,CAAO,GAG9BmiM,EAA8D3mJ,GAAA,CAChEz1C,EAAeg7L,EAAmBvlJ,CAAG,GAGnC4mJ,EAAoBA,IAAM,QACvBhB,sCAAyB/nM,QAAiBmiD,GAAA,CAC3Cz1C,EAAei7L,EAAcxlJ,CAAG,GACnC,EAGC6mJ,EAA0BA,IAAM,CAClCb,EAAah/L,MAAS,GAGpB8/L,EAA2D9mJ,GAAA,CAC7DgmJ,EAAahmJ,CAAG,GAGd+mJ,EAA6BA,IAAM,CACrCb,EAAuB,EAAK,GAG1Bc,EAA4BA,IAAM,CACpCd,EAAuB,EAAI,GAGzBe,EAAwDjnJ,GAAA,CAC1Dz1C,EAAei7L,EAAcxlJ,CAAG,GAG9BknJ,EAAmDlnJ,GAAA,CACjD8lJ,SAAS,CAAC9lJ,EAAI8lJ,OAClBK,EAAgBnmJ,EAAK,CAAEz6C,SAAUy6C,EAAIz6C,SAAW,GAG9C4hM,EAAgBA,CAACnnJ,EAAmCqyD,IAAuB,CAC7E8zF,EAAgBnmJ,EAAK,CAAEqyD,YAAsB9sG,SAAUy6C,EAAIz6C,SAAWugM,OAAQ,GAAM,GAGxF,cACIvwK,WAAA,CAAAloB,SACKi4L,IACG7nK,OAAAlI,WAAA,CAAAloB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAM22G,WAAWp/H,eAC5BguB,GAAM,CACHhE,MAAM,SACNrP,QAASA,IAAM,CACeg/K,GAC9B,EACA59K,QAASgjB,EAAO/+B,eAChBgwB,EAAA,CAAA15B,GAAA,4BAAuC,EACnC,EACP,EACL85B,OAAA,SAAOrxB,UAAW0pB,GAAM0xJ,WAAWn6K,UAC/BooB,MAAA,SAAApoB,gBACI,MAAAA,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EAClB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,aAAwB,EACxB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,QAAmB,EACnB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gBAA2B,EAC3B,EAEJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,SAAoB,EACpB,CAAC,EACL,EACD,EACP85B,OAAA,SAAApwB,SAAA,CACIooB,MAACoH,GAAW,CACRC,KAAMipK,GAAc,KACpB3oL,MAAO0T,EAAAwW,EAAA,QAAQ,EAAI,MAAOy+J,iBAAWhwL,MACrC1M,KAAMynB,EAAAwW,4DAA0D,EAChEvK,SAAUA,IAAMkqK,EAAoBlB,CAAU,EAC9Cl0K,QAASg1K,EACT3pK,mBAAoB,UACpBC,kBAAmB,UACnBC,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvC25B,uBAAkBD,EAAA,CAAA15B,GAAA,SAAoB,EACzC,EACD8xB,MAACoH,GAAW,CACRzf,YAAOigB,EAAA,CAAA15B,GAAA,4BAAuC,EAC9C0F,WACIg0B,EAAA,CAAA15B,GAAA,kGAGO,EAEXm5B,KAAMmpK,EACNlpK,SAAUA,IAAM6pK,EAAkB,EAClC/0K,QAASk1K,EACT7pK,mBAAoB,UACpBC,kBAAmB,UACnBC,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvC25B,uBAAkBD,EAAA,CAAA15B,GAAA,SAAoB,EACzC,EACAgiM,EAAazlM,IAAI,CAAC8/C,EAAKptB,yBACpB,MAAAvlB,UACIooB,MAAA,MAAApoB,SAAK2yC,EAAIjqC,KAAS,EAClB0f,MAAA,MAAApoB,WACKo4L,IAAcxzL,KAAY9R,KAAEyhH,yBAA2B5hE,EAAI4hE,sBAAsB,IAAjF6jF,cACK5jF,2BAA4BpsF,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EACpD,EACJ8xB,MAAA,MAAApoB,SAAK2yC,EAAIuG,MAAU,EACnB9wB,MAAA,MAAApoB,eACKq/H,GAAU,CACPt/H,SAAoBm5L,KAAevmJ,EAAK,CAAEz6C,SAAUkrD,EAAO,EAC3D7zD,MAAO8yD,GAAa1P,EAAIz6C,QAAQ,EAChC6G,UAAU,eACb,EACD,EACJqpB,MAAA,MAAApoB,eACKguB,GAAM,CACHhE,MAAM,UACNrP,QAASA,IAAM,CACX8+K,EAAuB9mJ,CAAG,CAC9B,EACAxpB,KAAM2uC,GAAU93D,eAChBgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR,CAAC,GAvBAivB,CAwBL,EACP,CAAC,EACC,CAAC,EACL,CAAC,EACV,EAEN6K,OAAA,SAAOrxB,UAAW0pB,GAAM0xJ,WAAWn6K,UAC/BooB,MAAA,SAAApoB,gBACI,MAAAA,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,UAAqB,EACrB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,aAAwB,EACxB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,QAAmB,EACnB,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gBAA2B,EAC3B,EACJ8xB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,SAAoB,EACpB,EACH8hM,EAAcxgM,QAAY9E,EAAE2lM,MAAM,GAC/BrwK,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,OAAkB,EAClB,CACP,EACD,EACD,EACP8xB,MAAA,SAAApoB,SACKw4L,EAAgB3lM,IAAI,CAAC8/C,EAAKptB,WACvB,MAAAvlB,UACIooB,MAAA,MAAApoB,eACKs/B,GAAQ,CAAC/hC,QAASo1C,EAAIqyD,UAAWjlG,SAAiB+5L,KAAcnnJ,EAAK/2C,EAAEgf,OAAOrd,OAAO,EAAI,EAC1F,EACJ6qB,MAAA,MAAApoB,eACI,UAAAA,SACK2yC,EAAIuG,MACDvG,EAAIjqC,MAAQuvL,EACRtlJ,EAAIjqC,KAEJ0f,MAACc,EAAe,CAACnqB,UAAW0pB,GAAMsxK,YAAa5wK,KAAM4gH,GAAWn8G,SAAU,GAAK,EAGnF+kB,EAAI6hE,yBAEJ,EACR,EACJpsF,MAAA,MAAApoB,SAAK2yC,EAAIuG,MAAU,EACnB9wB,MAAA,MAAApoB,eACI,QAAAA,eACKq/H,GAAU,CACPpyG,SAAU,CAAC0lB,EAAI8lJ,QAAU,CAAC9lJ,EAAIqyD,UAC9BjlG,SAAoB+4L,KAAgBnmJ,EAAK,CAAEz6C,SAAUkrD,EAAO,EAC5D7zD,MAAO8yD,GAAa1P,EAAIz6C,QAAQ,EAChC6G,UAAU,eACb,EACC,EACN,EACJqpB,MAAA,MAAApoB,eACKs/B,GAAQ,CAAC/hC,QAASo1C,EAAI8lJ,OAAQ14L,SAAUA,IAAM85L,EAAUlnJ,CAAG,EAAE3yC,SACzD2yC,EAAI8lJ,OAASrwK,MAAA4H,EAAA,CAAA15B,GAAA,MAAiB,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,KAAgB,EAC7C,EACV,EACH8hM,EAAcxgM,QAAY9E,EAAE2lM,MAAM,GAC/BrwK,MAAA,MAAApoB,SACK2yC,EAAI8lJ,QACDrwK,MAAC6pB,GAAgB,CAAAjyC,eACZ2yB,GAAkB,CACfhY,QAASA,IAAM,CACX2+K,EAAqB3mJ,CAAG,CAC5B,EACAxpB,KAAM2uC,GAAU93D,SACf2yC,EAAIuG,MACD9wB,MAAA4H,EAAA,CAAA15B,GAAA,2BAAAE,OAAA,CAAA4uC,EAAmBuN,EAAI6hE,wBAAwB,EAAkB,EAEjEpsF,MAAA4H,EAAA,CAAA15B,GAAA,0BAAqC,EAEzB,EACN,EAEtB,CACP,GAnDIivB,EAAQotB,EAAI6hE,wBAoDjB,CACP,EACE,CAAC,EACL,CAAC,EACV,CAEV,yFChQMwlF,IAAkFA,CAAC,CACrFvqK,OACAjL,UACAkL,WACA/4B,YACAqP,mBACJ,IAAM,CACF,KAAM,CAAC+4B,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EAEpC,CAACwgL,EAAYiC,CAAa,EAAIziL,WAAS,EAAK,EAC5C,CAACygL,EAAWiC,CAAY,EAAI1iL,WAAS,EAAK,EAC1C,CAAC2iL,EAAmBC,CAAoB,EAAI5iL,WAAsD,IAAI,EAEtG2Y,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,EACtBy1K,EAAc,EAAK,EACnBC,EAAa,EAAK,GAGhBZ,EAAuB,MAAOphM,GAA2C,CACrEiS,SAA6BjS,EAASvB,UAAWuB,CAAQ,EAErDmrC,gBAAQrT,EAAA,CAAA15B,GAAA,uBAAmC,EAAC,EACtD,MAAMu1C,EAAW,GAEf+tJ,EAAsB,MAAO1hM,GAAsC,CACrE,GAAIiiM,IAAsB,OAAQA,iBAAmB5B,2BAA4B,KAC7E,OAEJ,MAAM9wI,EAAO0yI,EAAkB5B,wBAAwB3zL,KAC5C9R,KAAE4V,OAASxQ,EAASwQ,MAAQ5V,EAAEyhH,yBAA2Br8G,EAASq8G,sBAC7E,EACM9uG,EAAoBgiD,iBAAMhiD,kBAE5BA,IAAsB,MAAQO,IAAsB,OAGlD8D,SAAoBrE,EAAmBO,CAAiB,EAEpDq9B,gBAAQrT,EAAA,CAAA15B,GAAA,uBAAmC,EAAC,EACtD,MAAMu1C,EAAW,IAGfu+C,EAAe,MAAOxuF,GAAM,CACzBu+L,WAAmB9B,gCAIxBr5J,EAAU,EAAI,EACR/0B,SAA2BtT,EAAWwjM,EAAkB9B,6BAA6B,EAC3Fr5J,EAAU,EAAK,EACLqE,gBAAQrT,EAAA,CAAA15B,GAAA,iBAA6B,EAAC,EAChD4G,EAAewyB,CAAQ,EACvBuqK,EAAc,EAAK,EACnBC,EAAa,EAAK,IAGhBG,EAAgEvkM,GAAA,CAClEskM,EAAqBtkM,CAAI,GAGvB+1C,EAAa,SAAY,CAC3B7M,EAAU,EAAK,EACTu5J,QAA0B,MAAM3uL,GAA+C5D,CAAiB,EAEhGs0L,GADmC,MAAMtwL,GAA2BrT,CAAS,GACZgC,OAC5D7F,KAAEkT,oBAAsBA,CACnC,EACqBo0L,EAAA,CACjB7B,0BACAF,8BAA+BiC,EAClC,EACE/B,EAAwBroM,SAAW,GAClCgqM,EAAa,EAAK,CACtB,EAGJ,cACK/1K,EAAK,CACFzb,KAAK,mBACLjR,OAAQg4B,EACRrL,OAAQ+L,EACR5L,OAAQsnB,EACRvqC,KAAK,KACLojB,UAAW,GAAM1kB,SAAA,CACjBooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,wCAAmD,EAC1C,EACb85B,OAAC5G,EAAS,CAAAxpB,SAAA,CACNooB,MAACogB,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,kNAAA28C,WAAA,CAAA7N,EACIhd,MAAsD,YAAC,EAGpD,EACH,EACRgI,OAAA,OAAKrxB,UAAW0pB,GAAM8W,SAASv/B,SAAA,CAC3BooB,MAACkX,GAAQ,CAAC/hC,QAASy6L,EAAYj4L,SAAUA,IAAMk6L,EAAc,CAACjC,CAAU,EAAEh4L,eACrEgwB,EAAA,CAAA15B,GAAA,cAAyB,EACpB,EAEV8xB,MAACkX,GAAQ,CACLrS,UAAUktK,iBAAmB5B,2BAA4B5+L,SAAawgM,iBAAmB5B,2BAA4B,OAAQ4B,iBAAmB5B,wBAAwBroM,QAAS,EACjLqN,QAAS06L,EACTl4L,SAAUA,IAAMm6L,EAAa,CAACjC,CAAS,EAAEj4L,gBACzCkoB,WAAA,CAAAloB,SAAA,CACKooB,MAAA4H,EAAA,CAAA15B,GAAA,2BAAuC,IACvC6jM,iBAAmB5B,gCAA4BhkK,GAAiB,CAACx1B,UAAW0pB,GAAMhyB,aAAclH,MAAO4qM,iBAAmB5B,wBAAwBroM,OAAS,CAAC,EAC/J,EACI,CAAC,EACV,EACJiqM,EACG/xK,MAAC2vK,IAAoC,CACjCjiM,KAAMqkM,EACNnC,aACAC,YACAl4L,SAAUs6L,EACVnC,kBAA0BoB,KAAqBxmM,CAAC,EAChDqlM,aAAqByB,KAAoB9mM,CAAC,CAC7C,GAEDs1B,MAAC+a,IAAkB,CACtB,EACM,EACX/S,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,UAAUrP,QAASyvE,EAAcruE,QAASgjB,EAAO/+B,eAC3DgwB,EAAA,CAAA15B,GAAA,eAA0B,EACtB,CAAC,EACA,CAAC,EACX,CAEf,gVC3IMikM,IAA4CA,CAAC,CAC/ChrM,QACAwQ,WACAy6L,cACAC,gBACAroH,WACAsoH,gBACAC,cACJ,IAAM,CACF,MAAM7wJ,EAAuD1pC,GAAA,CACzD,MAAMugB,EAAW,CAAE,GAAGpxB,EAAO,GAAG6Q,GAChClD,EAAe6C,EAAU4gB,CAAQ,GAG/BkgG,EAAkBA,IAAM,CAC1B3jH,EAAes9L,EAAajrM,CAAK,GAG/B2wI,EAAkBA,IAAM,CAC1BhjI,EAAeu9L,CAAa,GAGhC,cACKv7J,GAAc,CAACC,SAAU0hF,EAAiB9hH,UAAU,OAAMiB,UACvDowB,OAAA,OAAKrxB,UAAW0pB,GAAMkqB,IAAI3yC,UACtBowB,OAAA,SAAOrxB,UAAW0pB,GAAM/f,KAAK1I,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,gBAA2B,EAC1B8nJ,UAAoB,SACpB5/I,GAAe,CACZuB,YAAiB+pC,EAAc,CAAEphC,KAAM9M,EAAEgf,OAAOrrB,MAAO,EACvDA,MAAOA,EAAMmZ,KACb5J,SAAQ,GACRC,UAAU,eACVF,YAAa4kB,EAAAwW,EAAe,iBAC/B,CAAC,EACC,EAEP7J,OAAA,SAAOrxB,UAAW0pB,GAAM26B,KAAKpjD,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,gBAA2B,EAC1B8nJ,SAAoB,UACrB,OAAKr/I,UAAU,wBAAuBiB,eACjCq/H,GAAU,CACPt/H,YAAoB+pC,EAAc,CAAE5xC,SAAUkrD,EAAO,EACrD7zD,MAAO8yD,GAAa9yD,EAAM2I,QAAQ,EAClC6G,UAAU,eACb,EACA,CAAC,EACH,CAAC,EACP,EACLqpB,MAAA,OAAApoB,UACM06L,GAAiBC,IACfvqK,OAACoY,GAAM,CAAC/4C,KAAK,UAASuQ,SAAA,CAClBooB,MAAA4H,EAAA,CAAA15B,GAAA,8CAA0D,GAAC,KAC1DokM,SACG,UAAA16L,eACIgwB,EAAA,CAAA15B,GAAA,cAAyB,EACrB,EAEXqkM,GACGvqK,OAAAlI,WAAA,CAAAloB,SACK06L,IAAiBtqK,OAAAlI,WAAA,CAAAloB,SAAE,KAAMooB,MAAA4H,EAAA,CAAA15B,GAAA,KAAiB,GAAO,KAAE,EACpD8xB,MAAA,UAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,QAAmB,EACf,CAAC,EACX,CACL,EACG,EAEX,EACL85B,OAAA,OAAApwB,UACIowB,OAAA,SAAOrxB,UAAW0pB,GAAMwL,YAAYj0B,SAAA,CAChCooB,MAAA4H,EAAA,CAAA15B,GAAA,cAAyB,EACzB8xB,MAACxoB,GAAkB,CACfb,UAAU,eACVxP,MAAOA,EAAM0kC,YACbl0B,YAAiB+pC,EAAc,CAAE7V,YAAar4B,EAAEgf,OAAOrrB,MAAO,EACjE,CAAC,EACC,EAEP64B,MAACogB,GAAM,CAAC/4C,KAAK,OAAOsP,UAAW0pB,GAAMmgB,OAAO5oC,eACxCgwB,EAAA,CAAA15B,GAAA,kIAAA28C,WAAA,CAAA7N,EACIhd,MAA2B,YAAC,EAEzB,EACH,CAAC,EACR,EACAA,EAAA,mBAEL,OAAKrpB,UAAW0pB,GAAM8W,SAASv/B,eAC1Bs/B,GAAQ,CACL/hC,QAAShO,EAAMqrM,wBACf76L,YAAiB+pC,EAAc,CAAE8wJ,wBAAyBh/L,EAAEgf,OAAOrd,QAAS,EAAEyC,eAC9EgwB,EAAA,CAAA15B,GAAA,iCAA4C,EACtC,EACT,EACL8xB,MAAK,UACHsyK,GAAiBC,IACfvyK,MAAA,OAAKrpB,UAAW0pB,GAAMoyK,IAAI76L,eACtBgwB,EAAA,CAAA15B,GAAA,iEAAAE,OAAA,CAAA4uC,EAAoE71C,EAAMmZ,IAAI,EAAAuqC,WAAA,CAAA7N,EAAnBhd,MAA4B,YAAC,EAAO,EAC9F,EAETgI,OAAA,OAAKrxB,UAAW0pB,GAAMqyK,gBAAgB96L,UAClCooB,MAAA,OAAApoB,eACKguB,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,eACpDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CACP,IACHokM,GAAiBC,UACf,OAAA36L,eACKqwB,GAAa,CACVrG,MAAM,SACNsG,UAAW4vG,EACX3vG,kBAAaP,EAAA,CAAA15B,GAAA,mBAA8B,EAC3Ck6B,iBACIR,EAAA,CAAA15B,GAAA,6EAAwF,EAC3F0J,eACDgwB,EAAA,CAAA15B,GAAA,6BAAwC,EAC7B,EACd,CACR,EACA,CAAC,EACM,CAExB,qDCtHMykM,IAAoEA,CAAC,CAAEpkM,WAAU,IAAM,CACzF,KAAM,CAACuT,GAAa8wL,CAAe,EAAIzgL,EACnC,IAAM5Q,GAAsChT,CAAS,EACrD,CAACA,CAAS,EACV,CACJ,GACM,CAACskM,GAAgBC,CAAkB,EAAI3gL,EAAc,IAAMvQ,GAA2BrT,CAAS,EAAG,CAACA,CAAS,EAAG,CAAE,GACjH,CAACwkM,EAAgBC,CAAiB,EAAI5jL,EAAiCtN,WAAU,CAAC,CAAC,EACnF,CAACmxL,EAAyBC,CAA0B,EAAI9jL,WAAiC,IAAI,EAE7F,CAAC+jL,EAAyBC,CAA0B,EAAIhkL,WAAiC,IAAI,EAC7F,CAAC46D,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EACxC,CAACikL,EAAuBC,CAAwB,EAAIlkL,WAAS,EAAK,EAClE,CAACmkL,EAAsBC,CAAuB,EAAIpkL,WAAS,EAAK,EAChEmyK,EAAiB5xK,SAAO,CAAC,EAE/BZ,YAAU,IAAM,CACRgkL,GAAkB,MACAjxL,IAAU,CAAC,CAAC,CAClC,EACD,CAACA,CAAS,CAAC,EAEdiN,YAAU,IAAM,CACO0kL,IACfV,GACkBW,GACtB,EACD,CAACb,EAAcE,CAAc,CAAC,EAEjC,MAAMU,EAAqBA,IAAM,CAChBZ,EAAatiM,UAAc7F,EAAEkT,qBAAsBm1L,iBAAgB7kM,GAAE,EACzEsB,KAAY9E,KAAE2lM,MAAM,EACzBiD,EAAyB,EAAI,EAE7BA,EAAyB,EAAK,CAClC,EAGEI,EAAoB,SAAY,CAC9BX,GAAkBA,EAAe7kM,GAAK,IAClB,MAAMsT,GAA+CuxL,iBAAgB7kM,EAAE,GAE3EsB,KAAM9E,GAAMA,EAAEwD,MAAO6kM,iBAAgB7kM,GAAE,EACnDslM,EAAwB,EAAI,EAKhCA,EAAwB,EAAK,CACjC,EAGEG,EAAsBA,IAAM,CAC9BP,EAA2B,IAAI,EACZN,GAAA,EAEjBc,EAA+D9jM,GAAA,CACjEsjM,EAA2BtjM,CAAQ,EACnCkjM,EAAkBljM,CAAQ,GAGxB+jM,EAAiBA,IAAM,CACzBb,EAAkB,CACd9kM,GAAI,EAAEqzL,EAAerqL,QACrB3I,YACA+R,KAAM,GACNurB,YAAa,GACb/7B,aAAcjF,KACd2nM,wBAAyB,EAC5B,EAAC,EAGA7yE,EAAoB,MAAO7vH,GAAgD,CACzEgkM,EAAgBhkM,CAAQ,IAGtB4/L,UAAsB5/L,EAAS5B,EAAE,EACvC,MAAM0kM,EAAgB,EAElBG,GAAkBA,EAAe7kM,KAAO4B,EAAS5B,IACjD8kM,EAAkB,IAAI,EAEPF,IAAA,EAGjBgB,EAAmEhkM,GAC9DA,EAASy7L,eAAiB,GAAKz7L,EAAS0iM,wBAG7ChzG,EAAaA,IAAM,CACrB,MAAMu0G,EAAajyL,EAAUtF,QAAY9R,EAAEwD,MAAO6kM,iBAAgB7kM,GAAE,EAEhE,OAAC6kM,GAAkB,CAACgB,EACb,GAGJ,CAAC1qF,GAAQ,CAAE,GAAG0qF,EAAY,GAAGhB,GAAkBgB,CAAU,GAG9DC,EAAc,SAAY,CAE5B,GAAI,CADajB,EACF,CACDl3J,cAAMjU,EAAA,CAAA15B,GAAA,sBAAkC,EAAC,EACnD,OAEJ+7E,EAAY,EAAI,EAEZ,IACMxoE,SAAmBsxL,EAAe7kM,EAAE,EAC1C,MAAM0kM,EAAgB,EACtBI,EAAkBD,CAAc,SAC1B,CACN9oH,EAAY,EAAK,EACPhvC,gBAAQrT,EAAA,CAAA15B,GAAA,iDAA6D,EAAC,EAC7D4kM,GACvB,GAGEzH,EAAS,SAAY,CACvB,MAAMv7L,EAAWijM,EAEjB,GAAI,CAACjjM,EACD,OAEJm6E,EAAY,EAAI,EAEhB,MAAMv8E,EAAkC,CACpCQ,GAAI4B,EAAS5B,GAAK,EAAI4B,EAAS5B,GAAK,KACpCK,YACA+R,KAAMxQ,EAASwQ,KACfurB,YAAa/7B,EAAS+7B,YACtB/7B,SAAUA,EAASA,SACnB0iM,wBAAyB1iM,EAAS0iM,yBAGlC,IACMyB,QAAgB,MAAMxE,IAAoB/hM,CAAI,EACpD,MAAMklM,EAAgB,EACtBI,EAAkBiB,CAAa,SACzB,CACNhqH,EAAY,EAAK,EACPhvC,gBAAQrT,EAAA,CAAA15B,GAAA,iBAA6B,EAAC,EAC7B4kM,GACvB,GAGEoB,EAAgDpkM,GAAA,CAC9C0vF,IAC2B0zG,EAAA,CAAE,GAAGpjM,EAAU,EAExBkjM,EAAA,CAAE,GAAGljM,EAAU,CACrC,EAGJ,cACK04L,GAAe,CAAA5wL,SACZowB,CAACwgK,UAAgBK,KAAI,CAAAjxL,UAChBzJ,GAAQ2T,EAAW,CAAC,MAAM,CAAC,EAAErX,IAAKi3D,GAC9B8mI,UAAgBM,SAAQ,CAErBt8J,QAAQumK,iBAAgB7kM,MAAOwzD,EAAGxzD,GAClCqkB,QAAgB2hL,KAAexyI,CAAE,EAAE9pD,UACnCooB,MAAA,QAAApoB,SAAO8pD,EAAGphD,KAAW,EACrB0f,MAAA,SAAApoB,eACKyjD,GAAW,CAACl0D,MAAOu6D,EAAG5xD,SAAW,CAC/B,GACN4xD,EAAG8wI,+BACA,SAAA56L,eACIgwB,EAAA,CAAA15B,GAAA,0BAAqC,EAClC,EAGX8xB,MAAA,OAAKrpB,UAAW0pB,IAAM8zK,aAAav8L,gBAC9BiyC,GAAgB,CAAAjyC,SAAA,CACbooB,MAACuK,GAAkB,CAAChY,QAASA,IAAMqhL,EAA8BlyI,CAAE,EAAG3gC,KAAMg5G,GAAcniI,eACtFgwB,EAAA,CAAA15B,GAAA,wCAAmD,CACnC,GACpB8xB,MAAC6K,GACG,CACA1C,kBAAaP,EAAA,CAAA15B,GAAA,iBAA4B,EACzCk6B,iBAAYR,EAAA,CAAA15B,GAAA,yCAAAE,OAAA,CAAA4uC,EAAyC0kB,EAAGphD,IAAI,EAAU,EACtEukB,SAAUivK,EAAgBpyI,CAAE,EAC5Bx5B,UAAWA,IAAM,CACby3F,EAAkBj+D,CAAE,CACxB,EACA3gC,KAAMwiE,GAAW3rF,eACjBgwB,EAAA,CAAA15B,GAAA,SAAoB,CAAC,EACG,EACd,EACjB,CAAC,GA9BDwzD,EAAGxzD,EA+Bc,CAC7B,EAED8xB,MAACwoK,GAAgBO,kBAAiB,CAC9Bx2K,QAASshL,EACTrnK,OAAQ,CAAC,CAACumK,GAAkBA,EAAe7kM,GAAK,EAAE0J,eAClDgwB,EAAA,CAAA15B,GAAA,mBAA8B,EACC,CAAC,EAClB,EACrBs6L,UAAgBzsG,QAAO,CAAAnkF,SACnBm7L,IACG/yK,MAACmyK,IAAY,CACThrM,MAAO4rM,EACPT,cAAee,EACfd,aAAcgB,EACd57L,SAAUq7L,EACVZ,YAAa/G,EACbgH,cAAe2B,EACfhqH,WACH,EAGLhqD,MAAC4xK,IAA+B,CAC5Bx1K,QAASu3K,EACTrsK,SAAUqsK,EACVtsK,KAAM,CAAC,CAAC8rK,EACR5kM,YACAqP,mBAAmBu1L,iBAAyBjlM,KAAM,KACrD,CAAC,EACmB,EAEzB8xB,MAACoH,GAAW,CACRC,KAAM,CAAC,CAAC4rK,EACRtrL,YAAOigB,EAAA,CAAA15B,GAAA,kBAA6B,EACpC0F,WAAMg0B,EAAA,CAAA15B,GAAA,oDAA+D,EACrEo5B,SAAUA,IAAM0rK,EAAkBC,CAAuB,EACzD72K,QAASA,IAAM82K,EAA2B,IAAI,EACjD,CAAC,EACW,CAEzB,mGC1OMkB,IAAoCA,CAAC,CAAE7lM,WAAkD,IAAM,CAC3F,MAACmgJ,CAAqB,EAAIv8H,EAAc,IAAMyjH,GAAoCrnI,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC/G,CAACs0L,EAAoBwR,CAAqB,EAAIliL,EAChD,IAAMwwK,GAAsBp0L,CAAS,EACrC,CAACA,CAAS,EACV,IACJ,EACM,CAACy7E,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EAE1C,IAACyzK,GAAsB,CAACn0C,EACjB1uH,aAAC+a,EAAgB,EAAE,EAE9B,MAAMhE,EAAW,SAAY,CACzBkzC,EAAY,EAAI,EACV24G,UAAyBr0L,EAAWs0L,CAAkB,EAC5D54G,EAAY,EAAK,EACPhvC,gBAAQrT,EAAA,CAAA15B,GAAA,2BAAuC,EAAC,GAE9D,aACKs6L,GAAe,CAAA5wL,SACX4wL,SAAgBzsG,QAAO,CAAAnkF,gBACnBk/B,GAAc,CAACC,WAAmBn/B,UAC/BowB,OAAA,OAAKrxB,UAAW0pB,GAAM8rC,cAAcv0D,UAChCowB,OAAA,MAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,sBAAiC,EACjC8xB,MAAC6oC,GAAmB,CAChBhpC,cACI+H,EAAA,CAAA15B,GAAA,qVAKO,EAEd,CAAC,EACF,EAEJ8xB,EAAA,YAAO,SAENogB,GAAM,CAAC/4C,KAAK,UAASuQ,eAClBgwB,EAAA,CAAA15B,GAAA,kJAGO,EACH,EAER8xB,MAAA,QAAO,GACN6iK,EAAmBp4L,IAAI,CAAC6pM,EAAIn3K,IAAU,CACnC,MAAMo3K,EAAkB7lD,EAAsBl/I,QAAY9E,EAAEykD,sBAAwBmlJ,EAAGpmM,EAAE,EACzF,cACK26B,WAAQ,CAAAjxB,SAAA,CACLooB,MAAC5pB,GAAe,CACZG,UAAW,IACXlP,KAAK,OACLqP,SAAQ,GACRC,UAAU,eACVF,YAAa4kB,EAAAwW,2BAAyB,EACtC1qC,MAAOmtM,EAAGh0L,MAAQ,GAClB3I,YACI08L,EACIxR,EAAmBp4L,IAAI,CAAC69L,EAAKrgM,IACzBA,IAAMk1B,EAAQ,CAAE,GAAGmrK,EAAKhoL,KAAM9M,EAAEgf,OAAOrrB,KAAM,EAAImhM,CACrD,CACJ,EAEP,EACDtoK,MAAC0B,GAAO,CACJ7B,QACI00K,GACIv0K,MAAA4H,EAAA,CAAA15B,GAAA,wFAGO,EAEd0J,eACD,QAAMjB,UAAWY,EAAWoqL,GAAUjsH,cAAer1C,GAAM6/G,YAAY,EAAEtoI,eACpEguB,EAAM,CACHf,SAAU0vK,EACV3yK,MAAM,SACNjrB,UAAWgrL,GAAUP,YACrB7uK,QAASA,IACL8hL,EAAsBxR,EAAmBtyL,OAAO,CAACiD,EAAGvL,IAAMA,IAAMk1B,CAAK,CAAC,EACzEvlB,eACAkpB,EAAe,CAAC5nB,KAAK,KAAK6nB,KAAMwiE,GAAa,EAC1C,EACN,EACD,CAAC,GApCCpmE,CAqCL,EAEjB,CAAC,EACD,EAEL6C,MAAA,OAAApoB,eACKguB,EAAM,CACH7E,KAAMk6E,GACNr5E,MAAM,OACNrP,QAASA,IAAM8hL,EAAsBxR,EAAmB32H,OAAO,CAAC,CAAE5rD,KAAM,GAAI/R,WAAW,EAAC,CAAC,EAAEqJ,eAC3FgwB,EAAA,CAAA15B,GAAA,yBAAoC,EAChC,EACP,EACJspC,UAAmB,SACnB5R,EAAM,CAACjvB,UAAWgrL,GAAUG,WAAYz6L,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,eACrFgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACG,EACK,EACZ,CAEzB,ECrHiH,IAE5GsmM,cAAK,CAALA,SAAK,kBAALA,EAAK,oBAALA,EAAK,YAALA,EAAK,qCAALA,EAAK,sBAALA,EAAK,iCAALA,EAAK,cAALA,EAAK,YAALA,EAAK,gBAALA,EAAK,yCAALA,CAAK,EAALA,IAAK,IAmBV,MAAMC,GAAkC,CACpC,CACIvmM,GAAIsmM,GAAME,QACVtrJ,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,UAAqB,EACpC0gC,OAAQA,CAAC,CAAErgC,qBAAiBy4L,GAAsB,CAACz4L,YAAuB,CAC9E,EACA,CACIL,GAAIsmM,GAAMG,SACVvrJ,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,WAAsB,EACrC0gC,OAAQA,CAAC,CAAErgC,qBAAiB46L,IAAuB,CAAC56L,YAAuB,CAC/E,EACA,CACIL,GAAIsmM,GAAMI,mBACVxrJ,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,sBAAiC,EAChD0gC,OAAQA,CAAC,CAAErgC,qBAAiB6lM,IAAiC,CAAC7lM,YAAuB,CACzF,EACA,CACIL,GAAIsmM,GAAMK,KACVzrJ,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EACjC0gC,OAAQA,CAAC,CAAErgC,qBAAiBq8L,IAAmB,CAACr8L,YAAuB,CAC3E,EACA,CACIL,GAAIsmM,GAAMM,iBACV1rJ,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,oBAA+B,EAC9C0gC,OAAQA,CAAC,CAAErgC,qBAAiB05L,IAA4B,CAAC15L,YAAuB,CACpF,EACA,CACIL,GAAIsmM,GAAMO,UACV3rJ,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,YAAuB,EACtC0gC,OAAQA,CAAC,CAAErgC,qBAAiBokM,IAAwB,CAACpkM,YAAuB,CAChF,EACA,CACIL,GAAIsmM,GAAMQ,eACV5rJ,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,kBAA6B,EAC5C0gC,OAAQA,CAAC,CAAErgC,qBAAiB6+L,IAA6B,CAAC7+L,YAAuB,CACrF,EACA,CACIL,GAAIsmM,GAAMS,MACV7rJ,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,wCAAuD,EACtE0gC,OAAQA,CAAC,CAAErgC,qBAAiBi+L,IAAoB,CAACj+L,YAAuB,CAC5E,EACA,CACIL,GAAIsmM,GAAM5nJ,KACVxD,QAASA,IAAMppB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EACjC0gC,OAAQA,CAAC,CAAErgC,qBAAiB2gM,IAAmB,CAAC3gM,YAAuB,CAC3E,CAAC,EAWC2mM,IAAkDA,CAAC,CAAE3mM,WAAU,IAAM,CACjE,MAAE4mM,YAAarrD,GAAkB90H,GAAqB,EACtDkwI,EAAgBtsI,KAChBw8K,EAAwBX,GAAej4L,KAAY9R,KAAEwD,KAAO47I,CAAa,EAC/E,OAAKsrD,SAKDt1K,WAAA,CAAAloB,SAAA,CACIooB,MAAC2M,GAAa,CAACh2B,UAAW0pB,GAAMshD,KAAK/pE,SAChC68L,GAAehqM,IACZu1B,SAAC2M,GAAcG,aAAY,CAEvB1nB,GAAI8/I,EAAc,CAAEiwC,YAAazqM,EAAEwD,GAAI,EACvCo+B,SAAUw9G,IAAkBp/I,EAAEwD,GAAG0J,SAChClN,EAAE0+C,QAAQ,GAHN1+C,EAAEwD,EAIiB,CAC/B,EACU,EAEdknM,EAAsBxmK,OAAO,CAAErgC,YAAW,CAAC,EAC9C,QAjBM43B,GAAc,CAAC/gB,GAAI8/I,EAAc,CAAEiwC,YAAaX,GAAME,QAAS,EAAI,CAmBnF,EC3GaW,IAA8CA,CAAC,CAAE9mM,WAAU,IAAM,CAC1E,MAAMkf,EAAUsM,KACVptB,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAI,EACzD,OAAC8gB,GAAW,CAAC9gB,EACN,WAEH2oM,GAAqB,CAACn4L,UAAWsQ,iBAASvf,GAAIK,YAAsB49F,kBAAmBx/F,iBAAMsY,OAAS,CAClH,uICuBMswL,IAAuDA,CAAC,CAAEhnM,WAAU,IAAM,CAC5E,KAAM,CAACuuG,EAAYC,EAAexiF,CAAM,EAAI7I,GACxC,IAAMolF,GAAqBvoG,CAAS,EACpC,CAACA,CAAS,EACV,IACJ,EAEMinM,EAAmB,SAAY,CAC7B14F,GACA,MAAMjG,GAAqBtoG,CAAS,CACxC,EAGJ,OAAKuuG,QAED,OAAKnmG,UAAW0pB,IAAM8J,UAAUvyB,eAC3B69L,GAAyB,CACtB99L,SAAUolG,EACV24F,SAAUn7K,EACVkpC,OAAQ,MAAOkyI,EAAkBziK,IAAS,CAChC6jE,SAAsBxoG,EAAWonM,EAAkBziK,CAAI,EACnD+H,gBAAQrT,EAAA,CAAA15B,GAAA,OAAmB,EAAC,CAC1C,EACA4uG,aACA84F,kBAAmBh/F,GAAqBroG,CAAS,EACjDsnM,aAAcL,EACjB,EACA,EAdex1K,MAAC+a,IAAkB,CAgB/C,uQCrDM+6J,GAAsDA,CAAC,CACzDl+L,WACAmpB,OAAOyc,GACPu4J,gBACAC,oBACA7xK,eACAC,eACA,GAAGluB,CACP,UAEQ,MAAIS,UAAWY,EAAW8oB,GAAM41K,KAAMF,CAAa,EAAS5xK,eAAcC,eAAYxsB,gBAClF,SAAOjB,UAAW0pB,GAAMiJ,MAAM1xB,UAC1BooB,MAAA,SAAO34B,KAAK,WAAU,GAAK6O,EAAO,EAClC8pB,MAAA,OAAKrpB,UAAWq/L,EAAkBp+L,eAC9B,OAAKjB,UAAW0pB,GAAMU,KAAKnpB,eACtBkpB,EAAe,CAACC,OAAa,EAC7B,EACJ,CAAC,EACH,EACP,ECzBNm1K,IAAwBA,CAAC,CAAEpoJ,SAAQ78C,cAAa,GAAGiF,CAAK,IAAM,CAChE,MAAMnG,EAAakjB,EAA+BzlB,KAAMD,OAAOR,cAAc,EAEvE8yC,EAAYA,CAACgU,EAAwBlU,IAChC,CAAC,GAAEmO,iBAAQyzF,sBAAuB,CAAI/kI,QAClC9R,KAAEo/D,aAAejW,EAAS3lD,IAAMxD,EAAEi1C,aAAeA,EAAWx4C,KACvE,EAEEgvM,EAAyDx2J,GAEvDilC,GACI92B,iBAAQyzF,oBAAoBhxI,UAAc7F,EAAEi1C,aAAeA,EAAWx4C,OAAOsD,OAAWC,EAAEo/D,YAC1F/5D,EAAWtF,IAAKC,GAAMA,EAAEwD,EAAE,CAC9B,EAAEpG,SAAWiI,EAAWjI,OAG1BsuM,EAAuDviJ,GAErD+wB,GACI92B,iBAAQyzF,oBAAoBhxI,UAAc7F,EAAEo/D,aAAejW,EAAS3lD,IAAIzD,OAAWC,EAAEi1C,YACrF1uC,EAAaxG,IAAKC,GAAMA,EAAEvD,KAAK,CACnC,EAAEW,SAAWmJ,EAAanJ,OAIlC,aACI,OAAK6O,UAAW0pB,GAAMkqB,IAAI3yC,gBACtB,OAAKjB,UAAW0pB,GAAMg2K,KAAKz+L,UACvBooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,yBAAoC,EACpC,EACJ85B,OAAA,SAAOrxB,UAAW0pB,GAAMi2K,OAAO1+L,UAC3BooB,MAAA,SAAApoB,gBACI,MAAAA,SAAA,CACIooB,MAAA,OAAK,EACJjwB,EAAWtF,IACRu1B,SAAA,MAAApoB,eACI,OAAAA,eACI,QAAAA,SAAOi8C,EAASvzC,KAAW,EAC1B,GAHAuzC,EAAS3lD,EAId,CACP,QACD,MAAA0J,eACI,OAAAA,eACI,QAAAA,eACIgwB,EAAA,CAAA15B,GAAA,MAAiB,EACf,EACL,EACL,CAAC,EACL,EACD,EAEP85B,OAAA,SAAApwB,UACK3G,EAAYxG,IAAKk1C,UACd,MAAA/nC,UACIooB,MAAA,MAAApoB,eACKgwB,EAAK,CAAC15B,GAAIyxC,EAAWK,QAAU,EAChC,EACHjwC,EAAWtF,IAAKopD,SACZiiJ,GAAiB,CAEd3gM,QAAS0qC,EAAUgU,EAAUlU,CAAU,EACvC0/B,SAAQ,GACR22H,kBAAmB31K,GAAMk2K,cAHpB1iJ,EAAS3lD,EAIjB,CACJ,QAEA4nM,GAAiB,CACd3gM,QAASghM,EAAwBx2J,CAAU,EAC3C0/B,SAAQ,GACR22H,kBAAmB31K,GAAMk2K,aAC5B,CAAC,GAjBG52J,EAAWx4C,KAkBhB,CACP,SACD,MAAAyQ,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,MAAiB,EACjB,EACH6B,EAAWtF,IAAKopD,SACZiiJ,GAAiB,CAEd3gM,QAASihM,EAAyBviJ,CAAQ,EAC1CwrB,SAAQ,GACR22H,kBAAmB31K,GAAMk2K,cAHpB1iJ,EAAS3lD,EAIjB,CACJ,CAAC,EACF,CAAC,EACF,CAAC,EACL,CAAC,EACP,EACJ,CAEb,ECxFMsoM,IAA6DA,CAAC,CAAE1oJ,SAAQ78C,cAAa6uI,gBAAe,WAElG,OAAAloI,UACIooB,MAAA,OAAApoB,gBACI,MAAAA,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,WAAuB,SACtB4/C,EAAOrO,sBAAkB7X,EAAA,CAAA15B,GAAA,gBAA2B,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,SAAoB,CAAC,EAC9E,CACH,GACJ,CAAC4/C,EAAOrO,wBACL3f,WAAA,CAAAloB,SACIooB,CAAKA,MAAA,gBACL,OAAKrpB,UAAW0pB,GAAMkqB,IAAI3yC,UACtBowB,OAAA,OAAKrxB,UAAW0pB,GAAMo2K,KAAK7+L,UACvBooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,sBAAiC,EACjC,EACJ85B,OAAA,MAAIrxB,UAAU,gBAAeiB,SAAA,CACxBk2C,EAAO+2G,mBAAmBp6J,IAAKk1C,UAC5B,MAAA/nC,SAAA,CACIooB,MAAC8jB,GAAkB,CAAC38C,MAAM,QAAS,EAAC,IAEpC64B,MAAC4H,EAAK,CAAC15B,GAAI,yBAAyByxC,IAAe,CAAC,GAH/CA,CAIL,CACP,EACAmO,EAAO+2G,mBAAmB/8J,SAAW,GAClCk4B,MAAA,MAAIrpB,UAAU,eAAciB,eACxBgwB,EAAA,CAAA15B,GAAA,OAAkB,EAClB,CACP,EACD,CAAC,EACJ,EACL85B,OAAA,OAAKrxB,UAAW0pB,GAAMo2K,KAAK7+L,UACvBooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,eAA0B,EAC1B,EACJ85B,OAAA,MAAIrxB,UAAU,gBAAeiB,SAAA,CACxBkoI,EACIvvI,UAAgBu9C,EAAO4oJ,wBAAwBh7L,SAASi7L,EAAIzoM,EAAE,CAAC,EAC/DzD,IAAKksM,UACF,MAAA/+L,SAAA,CACIooB,MAAC8jB,GAAkB,CAAC38C,MAAM,QAAS,EAAC,IAEnCwvM,EAAIr2L,IAAI,GAHJq2L,EAAIzoM,EAIT,CACP,EACJ4xI,EAAevvI,OAAgBu9C,KAAO4oJ,wBAAwBh7L,SAASi7L,EAAIzoM,EAAE,CAAC,EAAEpG,SAC7E,SACA,MAAI6O,UAAU,eAAciB,eACxBgwB,EAAA,CAAA15B,GAAA,OAAkB,EAClB,CACP,EACD,CAAC,EACJ,CAAC,EACL,EACL8xB,EAAA,UAAK,SACJk2K,IAAqB,CAACpoJ,SAAgB78C,cAA2B,CAAC,EACrE,CACL,EACA,y2BC1CkC,IAa1C6oH,cAAK,CAALA,WAAK,eAALA,IAAK,mBAALA,IAAK,uBAALA,IAAK,qBAALA,IAAK,uBAALA,CAAK,EAALA,IAAK,IAYV,MAAM7S,IAAgB,EAChB2vF,GAAyEA,CAAC,CAC5EvnM,SACA2sB,SACA66K,YACAC,eACJ,IAAM,CACF,MAAMvoM,EAAYmnB,KACZq/B,EAAQ,CAAC+kE,GAAMi9E,KAAMj9E,GAAMk9E,OAAQl9E,GAAMm9E,SAAUn9E,GAAMgM,QAAShM,GAAMo9E,QAAQ,EAChF,CAAClzI,EAAMq2D,CAAO,EAAIjrG,WAAS0qG,GAAMi9E,IAAI,EACrC,CAACI,EAAUC,CAAW,EAAIhoL,WAAsB,CAAE,GAClD,CAACioL,EAAaC,CAAc,EAAIloL,WAAqD,aAAa,EAElG,CAACmoL,CAA2B,EAAIplL,EAClC,IAAMonE,GAAqB,CAAEI,aAAc,CAACm9G,EAAc7xL,MAAM,EAAI1W,WAAW,GAC/E,CAACuoM,EAAevoM,CAAS,EACzB,IACJ,EAEM+jG,EAAuBm9C,GAAuB8nD,CAA2B,EACzEr8D,EAAcnhH,KAEd,CAACy9K,EAAuBC,CAAwB,EAAIroL,WACtD,IACJ,EAEM,CAAC2rH,CAAqB,EAAI5oH,EAAc,IAAMqnE,GAAsCjrF,CAAU,EAAG,CAACA,CAAS,EAAG,EAAE,EAIhH23I,EAAoBnL,EACrBxqI,OAAQ7F,GAAMA,EAAEua,SAAW6xL,EAAc7xL,MAAM,EAC/Cxa,IAAI,CAACC,EAAGzC,KAAO,CAAE,GAAGyC,EAAGwD,GAAIjG,CAAI,IAE9Bk+I,EAAmBC,GACrB0wD,EAAcv1D,oBACThxI,UAAc7F,EAAEi1C,WAAWjkC,SAAS,qBAAqB,CAAC,EAC1DjR,IAAWC,KAAEo/D,UAAU,CAChC,EAEMu8E,EAAuBH,EAAkBz7I,IAAYC,IAAA,CACvD,GAAGA,EACH0hD,WAAY,EACR1hD,EAAE+0C,iBAAmBmlC,GAAal6E,EAAE47I,oBAAqBH,CAAgB,EAAEr+I,SAAWq+I,EAAiBr+I,OAE7G,IAGF,SAASg8D,EAAe4zI,EAAK,CACzBr9E,EAAQq9E,CAAG,CACf,CACAjoL,GAAY,IAAM,CACV4nL,IAAgB,eACHjwF,KAElB,EAAE,EAEL,MAAMA,EAAe,SAAY,CAG7B,GAFI,CAACowF,GAAyBH,IAAgB,eAC3BF,EAAS5mM,OAAQ7F,GAAMA,EAAEyjC,SAAW+zG,GAAa3c,UAAU,EAAEz9H,QAC9Dm/G,IAAe,OAEjC,MAAM0wF,EAAUR,EAAS36L,QAAY9R,EAAEyjC,SAAW+zG,GAAaC,UAAU,EACzE,GAAI,CAACw1D,EAAS,CACVL,EAAe,UAAU,EACzBT,EAAUC,CAAa,EACvB,OAGSlsI,KACTA,EAAKngE,IAAKC,GACNA,EAAEmU,cAAc3Q,KAAOypM,EAAQ94L,cAAc3Q,GAAK,CAAE,GAAGxD,EAAGyjC,OAAQ+zG,GAAa3c,YAAe76H,CAClG,CACJ,EACI,IAEA,MAAMktM,GADe,MAAMn+G,GAA6Bk+G,EAAQ94L,cAAc3Q,EAAE,GACvCsO,QAAY9R,EAAEua,SAAW6xL,EAAc7xL,MAAM,EAEtF,GAAI,CAAC2yL,EAAqB,OAG1B,MAAMp8G,GACFo8G,EAAoB1pM,GACpBspM,EAAsBr6L,UACtBq6L,EAAsBvyL,MAC1B,EACa2lD,KACTA,EAAKngE,IAAKC,GACNA,EAAEmU,cAAc3Q,KAAOypM,EAAQ94L,cAAc3Q,GAAK,CAAE,GAAGxD,EAAGyjC,OAAQ+zG,GAAa/jG,SAAYzzC,CAC/F,CACJ,QAEakgE,KACTA,EAAKngE,IAAKC,GACNA,EAAEmU,cAAc3Q,KAAOypM,EAAQ94L,cAAc3Q,GAAK,CAAE,GAAGxD,EAAGyjC,OAAQ+zG,GAAat8B,QAAWl7G,CAC9F,CACJ,CACJ,GAGEgnJ,EAAe,SAAY,EACzB6lD,iBAA6BzvM,UAAW,IAChCyvM,IAA6B9sM,IAAYC,IAAA,CAAEmU,cAAenU,EAAGyjC,OAAQ+zG,GAAaC,YAAa,CAAC,EAC5Gm1D,EAAe,aAAa,IAG1BO,EAAmBA,IAAM,CAC3BhB,EAAUC,CAAa,EAChB96K,GAAA,EAGL4nB,EAAaA,IACVs3F,GAGDA,iBAAahtI,MAAO4oM,EAAc7xL,cAE9B6a,WAAA,CAAAloB,SAAA,CACIooB,MAACoB,GAAS,CAAAxpB,eACNgwB,EAAA,CAAA15B,GAAA,8FAEO,EACA,EACX8xB,MAACqB,GAAW,CAAAzpB,eACPg2B,GAAS,CAACj3B,UAAW0pB,GAAMwN,UAAUj2B,SACjCg2B,SAAUL,MAAK,CAAA31B,eACXguB,EAAM,CAACrT,QAASyJ,EAAQ4F,MAAM,UAAShqB,eACpCgwB,EAAA,CAAA15B,GAAA,KAAgB,EACZ,EACK,EACV,EACF,CAAC,EAChB,EAGNqpM,GAA+BA,EAA4BzvM,OAAS,GAAKgvM,EAAc7xL,aAElFmc,GAAS,CAAAxpB,gBACLu9C,GAAY,CACT5tB,SAAUvL,EACV+a,SAAU26G,EACV38F,QACAH,YAAaoP,EACb3O,aAAcyO,EAAelsD,SAAA,CAC7BooB,MAACi1B,GAAgB,CACbuB,WAAYsjE,GAAMi9E,KAClB51K,aAAQyG,EAAA,CAAA15B,GAAA,sBAAiC,EACzCgpD,WAAYA,IACRl3B,MAAC4F,EAAM,CAAChE,MAAM,UAAUrP,QAASA,IAAM8nG,EAAQr2D,EAAO,CAAC,EAAEpsD,eACrDgwB,EAAA,CAAA15B,GAAA,sBAAiC,EAC7B,EACV0J,gBACF,OAAKjB,UAAW0pB,GAAMy3K,WAAWlgM,UAC7BooB,MAAA,OAAApoB,SACK2/L,EAA4BzvM,SAAW,QACpC8/B,EAAA,CAAA15B,GAAA,yIAAAE,OAAA,CAAA4uC,EACW85J,EAAcjzJ,YAAW2lB,EAC3B+tI,EAA4BzvM,MAAM,EAAA+iD,WAAA,CAAA7N,EADvChd,MAAA,MAAuC,EAACwpC,EACxCxpC,MAA4C,OAAC,EAE1C,EAEPA,MAAA4H,EAAA,CAAA15B,GAAA,2IAAAE,OAAA,CAAA4uC,EACW85J,EAAcjzJ,YAAW2lB,EAC3B+tI,EAA4BzvM,MAAM,EAAA+iD,WAAA,CAAA7N,EADvChd,MAAA,MAAuC,EAACwpC,EACxCxpC,MAA4C,OAAC,EAE1C,EAEV,EACLA,MAAA,OAAKrpB,UAAW0pB,GAAMi0E,OAAa,CAAC,EAOnC,EACS,EAElBtsE,OAACitB,GAAgB,CACbuB,WAAYsjE,GAAMk9E,OAClB71K,aAAQyG,EAAA,CAAA15B,GAAA,wBAAmC,EAC3CgpD,WAAYA,IACRl3B,MAAC4F,EAAM,CACHhE,MAAM,UACNrP,QAASA,IAAM,CAEPglL,IAA6B9sM,IAAYC,IAAA,CACrCmU,cAAenU,EACfyjC,OAAQ+zG,GAAaC,YACvB,CACN,EACA9nB,EAAQr2D,EAAO,CAAC,CACpB,EAAEpsD,eACFgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACV0J,UACFooB,MAAA,OAAKrpB,UAAW0pB,GAAMy3K,WAAWlgM,gBAC7B,OAAKjB,UAAW0pB,GAAM03K,kBAAkBngM,UACpCooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,kBAA6B,EAC7B,EACJ8xB,MAAA,OAAKrpB,UAAW0pB,GAAM23K,SAASpgM,SAC1B06F,EAAsB7nG,IAAKgF,SACvBu8I,GAAqB,CAElBntI,cAAepP,EACfkI,SAAUA,IAAM,CAAC,EACjBs0I,qBAAsBA,IAAM,CAAC,GAHxBx8I,EAAGvB,EAIX,CACJ,EACA,CAAC,EACL,EACJ,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMi0E,OAAa,CAAC,EACtB,EAElBt0E,MAACi1B,GAAgB,CACbiC,WAAYA,IACRl3B,MAAC4F,EAAM,CACHf,SAAU2yK,IAA0B,KACpC51K,MAAM,UACNrP,QAASA,IAAM8nG,EAAQr2D,EAAO,CAAC,EAAEpsD,eACjCgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EAEZsoD,WAAYsjE,GAAMm9E,SAClB91K,aAAQyG,EAAA,CAAA15B,GAAA,yBAAoC,EAAE0J,gBAC9C,OAAKjB,UAAW0pB,GAAMy3K,WAAWlgM,SAAA,CAC7BooB,MAACqjG,GAAS,CAAAzrH,SACLyuI,EACI91I,OAAQ7F,GAAMA,EAAEua,SAAW6xL,EAAc7xL,MAAM,EAC/Cxa,IACGu1B,SAACujG,GAAa,CACV1+F,SAAUw2G,EAAGjvF,WAEbj3C,SAASqiM,iBAAuBtpM,MAAOmtI,EAAGntI,GAC1CyJ,SAAiB8/L,KAAyBp8D,CAAE,EAAEzjI,gBAC9C,OAAKjB,UAAW0pB,GAAMqjG,YAAY9rH,SAAA,CAC9BooB,MAACuV,GAAQ,CAACtwB,OAAQo2H,EAAGp2H,OAAQmvB,SAAU,GAAK,EAC5CpU,MAAA,QAAMrpB,UAAW0pB,GAAM/f,KAAK1I,SAAEyjI,EAAGx3F,YAAkB,EACnD7jB,MAAA,SAAApoB,SAAQyjI,EAAG94F,YAAmB,CAAC,EAC9B,GAPA84F,EAAGp2H,MAQG,CAClB,EACE,EACX+a,MAACogB,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,yHAAA28C,WAAA,CAAA7N,EACIhd,MAA2B,YAAC,EAEzB,EACH,CAAC,EACR,EACS,EAElBA,MAACi1B,GAAgB,CACbuB,WAAYsjE,GAAMgM,QAClB3kG,aAAQyG,EAAA,CAAA15B,GAAA,mBAA8B,EACtCgpD,WAAYA,IACRl3B,MAAC4F,EAAM,CACHhE,MAAM,SACNrP,QAASA,IAAM,CACEm/H,IACbr3B,EAAQr2D,EAAO,CAAC,CACpB,EAAEpsD,eACFgwB,EAAA,CAAA15B,GAAA,gCAA2C,EACvC,EACV0J,eACF,OAAKjB,UAAW0pB,GAAMy3K,WAAWlgM,gBAC7B,OAAKjB,UAAW0pB,GAAMvU,SAASlU,SAAA,CAC3BooB,MAAA4H,EAAA,CAAA15B,GAAA,sBAAiC,EACjC85B,OAAA,OAAKrxB,UAAW0pB,GAAM43K,SAASrgM,SAAA,CAC3BooB,MAACuV,GAAQ,CAACtwB,OAAQ6xL,EAAc7xL,OAAQmvB,SAAU,GAAIz9B,UAAW0pB,GAAM4oB,UAAY,EACnFjpB,MAAA,OAAApoB,eACI,MAAAA,SAAKk/L,EAAcjzJ,YAAgB,EAClC,CAAC,EACL,EAEL7jB,MAACc,EAAe,CAACC,KAAMmxJ,GAAav7K,UAAW0pB,GAAM63K,QAAU,EAE/DlwK,OAAA,OAAKrxB,UAAW0pB,GAAM43K,SAASrgM,SAAA,CAC3BooB,MAACuV,GAAQ,CACLtwB,OAAQuyL,iBAAuBtpM,GAC/BkmC,SAAU,GACVz9B,UAAW0pB,GAAM4oB,UACpB,EACDjhB,OAAA,OAAApwB,UACIooB,MAAA,MAAApoB,SAAK4/L,iBAAuB3zJ,YAAgB,EAC3C2zJ,iBAAuBj1J,WAAW,EAClC,CAAC,EACL,CAAC,EACL,EACJ,EACS,EAElBva,OAACitB,GAAgB,CAACuB,WAAYsjE,GAAMo9E,SAAUzgJ,YAAa,GAAK7+C,UAC5DooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,kBAA6B,EAC7B,EACJ8xB,MAAC+hH,GAAgB,CAAAnqI,SACZu/L,EAAS1sM,IAAKC,SACVs3I,GAAoB,CAEjBC,SAAUv3I,EAAEyjC,OACZgT,KAAMz2C,EAAEmU,cAAckoB,SAFjBr8B,EAAEmU,cAAc3Q,EAGxB,CACJ,CACa,GAEjBmpM,IAAgB,mBACbv3K,WAAA,CAAAloB,SAAA,CACIooB,MAACc,EAAe,CAACC,KAAM0mD,GAAe9wE,UAAW0pB,GAAM83K,UAAY,EACnEn4K,MAAA,OAAKrpB,UAAW0pB,GAAM+3K,gBAAgBxgM,eAClCgwB,EAAA,CAAA15B,GAAA,0EAAAE,OAAA,CAAA4uC,EACwCw6J,iBAAuB3zJ,YAAW2lB,EACrEstI,EAAcjzJ,WAAW,EACvB,EACN,EACL7jB,MAAA,OAAKrpB,UAAW0pB,GAAMiB,OAAO1pB,eACxBguB,EAAM,CAAChE,MAAM,UAAUrP,QAASyJ,EAAOpkB,eACpCgwB,EAAA,CAAA15B,GAAA,QAAmB,EACf,EACP,CAAC,EACR,CACL,EACa,CAAC,EACT,EACP,SAIf4xB,WAAA,CAAAloB,SAAA,CACIooB,MAACoB,GAAS,CAAAxpB,eACNgwB,EAAA,CAAA15B,GAAA,6CAAAE,OAAA,CAAA4uC,EAAiD85J,EAAcjzJ,WAAW,EAAW,EAC9E,EACX7jB,MAACqB,GAAW,CAAAzpB,gBACPg2B,GAAS,CAACj3B,UAAW0pB,GAAMwN,UAAUj2B,SAClCooB,CAAC4N,SAAUH,KAAI,CAAA71B,eACVguB,EAAM,CAACrT,QAASyJ,EAAQ4F,MAAM,WAAUhqB,eACrCgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACI,EAEf0/B,SAAUL,MAAK,CAAA31B,eACXguB,EAAM,CAACrT,QAASslL,EAAkBj2K,MAAM,SAAQhqB,eAC7CgwB,EAAA,CAAA15B,GAAA,cAAyB,EACrB,EACK,CAAC,EACX,EACF,CAAC,EAChB,EA5OK8xB,MAAC+a,EAAgB,EAAE,EAgPlC,cACKhf,GAAK,CAAC7iB,KAAK,OAAO7J,SAAgBsH,UAAW0pB,GAAMO,MAAOy3K,eAAe,cAAazgM,SAAA,CACnFooB,MAACkB,GAAW,CAAAtpB,eACRgwB,EAAA,CAAA15B,GAAA,cAAyB,EAChB,EACZ01C,GAAY,EACV,CAEf,ECxYM00J,IAA4EA,CAAC,CAAE3qJ,UAASp/C,YAAW,GAAG2H,CAAK,IAAM,CAC7G,MAACjF,CAAW,EAAIkhB,EAAc,IAAM/H,KAAqC,GAAI,IAAI,EACjF,CAAC01H,CAAc,EAAI3tH,EAAc,IAAMtO,GAAkBtV,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC5F,OAAKuxI,QAID,OAAAloI,SACK+1C,EACI8kD,KAAK,CAAC/zD,EAAGC,IAAMD,qBAAE6D,cAAF7D,cAAe+nJ,cAAc9nJ,EAAE4D,iBAAgB7D,IAAEmF,cAAFnF,cAAe+nJ,cAAc9nJ,EAAEkF,cAAY,EACzGp5C,IACGu1B,SAACu4K,IAAgC,CAE7BzqJ,SACA78C,cACA6uI,iBAA+B,GAC3B5pI,GAJC43C,EAAOzrC,gBAAkB,EAKjC,CACJ,EACJ,EAfE,IAiBf,EAQMk2L,IAAoFA,CAAC,CACvFzqJ,SACA78C,cACA6uI,iBACAjyF,yBACA06E,gBACAiwE,eACJ,IAAM,CACF,KAAM,CAACC,EAAqBC,CAAsB,EAAItpL,WAAS,EAAK,EAC9DsiI,EAAe,MAAOnuG,GAAwC,CAChEm1J,EAAuB,EAAI,GAE/B,cACI54K,WAAA,CAAAloB,SAAA,CACIooB,MAAC24K,GAAQ,CACLjrM,KAAM,CACFuuF,SAAUnuC,EAAOjK,YACjB+0J,cAAe9qJ,EAAO7oC,OAASoD,GAA0BylC,EAAO7oC,MAAM,EAAI,GAC1E4zL,iBAAkB9uL,GAAmB+jC,EAAO3wC,SAAU,EACtDolC,YAAauL,EAAOvL,YACpB1/B,MAAOirC,EAAOjrC,MACd6E,YAAaomC,EAAOpmC,aAAesY,MAAA4H,EAAA,CAAA15B,GAAA,iBAA4B,EAC/Do+B,SAAUwhB,EAAO3f,QAAU,SAC3B60J,QAASl1I,EAAOrO,gBAChBxuC,kBACKulM,IAAmB,CAAC1oJ,SAAgB78C,cAA0B6uI,iBAAiC,CAExG,EACAg5D,OAAQ,CACJC,kBAAmBA,IAAMjkM,EAAe+4C,EAAwBC,CAAM,EACtEkrJ,aAAcA,IAAMlkM,EAAe48I,EAAc5jG,CAAM,EACvDmrJ,aAAcA,IAAMnkM,EAAe0jM,EAAe1qJ,CAAM,CAC5D,EACH,EACA2qJ,GACGz4K,MAAC42K,GAAwB,CACrB56K,OAAQA,IAAM08K,EAAuB,EAAK,EAC1C5B,cAAehpJ,EACfz+C,OAAQopM,EACR5B,UAAWA,IAAMtuE,EAAcz6E,CAAM,EACxC,CACJ,EACH,CAEV,gFCxEMorJ,IAAkFA,CAAC,CAAE/xM,QAAOwQ,UAAS,IAAM,CACvG,MAAC1G,CAAW,EAAIkhB,EAAc,IAAM/H,KAAqC,GAAI,IAAI,EACjFra,EAAakjB,EAA+BzlB,KAAMD,OAAOR,cAAc,EACvE,CAACosM,EAAYC,CAAa,EAAIhqL,WAAqB,CAAE,GAErDu0B,EAAeA,CAACkQ,EAAwBlU,EAA2BxqC,IAAqB,CACtFojB,MACApjB,EACAojB,EAAW,CAAC,GAAIpxB,GAAS,GAAK,CAAE2iE,WAAYjW,EAAS3lD,GAAIyxC,WAAYA,EAAWx4C,MAAO,EAE5EA,IAAMoJ,OAAQ7F,GAAM,EAAEA,EAAEo/D,aAAejW,EAAS3lD,IAAMxD,EAAEi1C,aAAeA,EAAWx4C,MAAM,EAGvG2N,EAAe6C,EAAU4gB,CAAQ,GAG/BsnB,EAAYA,CAACgU,EAAwBlU,IAChC,CAAC,EAAEx4C,GAAS,IAAIqV,KAAM9R,GAAMA,EAAEo/D,aAAejW,EAAS3lD,IAAMxD,EAAEi1C,aAAeA,EAAWx4C,KAAK,EAGlGgvM,EAAyDx2J,GAEvDilC,GACIz9E,EAAMoJ,OAAQ7F,GAAMA,EAAEi1C,aAAeA,EAAWx4C,KAAK,EAAEsD,IAAKC,GAAMA,EAAEo/D,UAAU,EAC9E/5D,EAAWtF,IAAKC,GAAMA,EAAEwD,EAAE,CAC9B,EAAEpG,SAAWiI,EAAWjI,OAI1BuxM,EAA6BA,CAAC15J,EAA2BxqC,IAAqB,CAChF,IAAIojB,EAAWpxB,EAAMoJ,UAAc7F,EAAEi1C,aAAeA,EAAWx4C,KAAK,EAEhEgO,IACAojB,EAAW,CAAC,GAAGA,EAAU,GAAGxoB,EAAWtF,IAAYC,IAAA,CAAEo/D,WAAYp/D,EAAEwD,GAAIyxC,WAAYA,EAAWx4C,OAAQ,CAAC,GAG3G2N,EAAe6C,EAAU4gB,CAAQ,GAG/B69K,EAAuDviJ,GAErD+wB,GACIz9E,EAAMoJ,OAAQ7F,GAAMA,EAAEo/D,aAAejW,EAAS3lD,EAAE,EAAEzD,IAAKC,GAAMA,EAAEi1C,UAAU,EACzE1uC,EAAaxG,IAAKC,GAAMA,EAAEvD,KAAK,CACnC,EAAEW,SAAWmJ,EAAanJ,OAI5BwxM,EAA8BA,CAACzlJ,EAAwB1+C,IAAqB,CAC9E,IAAIojB,EAAWpxB,EAAMoJ,UAAc7F,EAAEo/D,aAAejW,EAAS3lD,EAAE,EAE3DiH,IACAojB,EAAW,CAAC,GAAGA,EAAU,GAAGtnB,EAAaxG,IAAYC,IAAA,CAAEo/D,WAAYjW,EAAS3lD,GAAIyxC,WAAYj1C,EAAEvD,OAAQ,CAAC,GAG3G2N,EAAe6C,EAAU4gB,CAAQ,GAGjC,OAACxoB,GAAc,CAACkB,EACT,YAIP,SAAO0F,UAAW0pB,GAAMi2K,OAAO1+L,UAC3BooB,MAAA,SAAApoB,gBACI,MAAAA,SAAA,CACIooB,MAAA,OAAK,EACJjwB,EAAWtF,IACRu1B,SAAA,MAEIrpB,UAAWY,EAAW,CAAE,CAAC8oB,GAAM4jB,SAAS,EAAG4P,IAAaslJ,EAAWtlJ,SAAU,EAAEj8C,eAC/E,OAAAA,eACI,QAAAA,SAAOi8C,EAASvzC,KAAW,EAC1B,GAJAuzC,EAAS3lD,EAKd,CACP,QACD,MAAIyI,UAAWY,EAAW,CAAE,CAAC8oB,GAAM4jB,SAAS,EAAGk1J,EAAWI,aAAc,EAAE3hM,eACtE,OAAAA,eACI,QAAAA,eACIgwB,EAAA,CAAA15B,GAAA,MAAiB,EACf,EACL,EACL,CAAC,EACL,EACD,EAEP85B,OAAA,SAAApwB,UACK3G,EAAYxG,IAAKk1C,UACd,MAAA/nC,UACIooB,MAAA,MAAIrpB,UAAWY,EAAW,CAAE,CAAC8oB,GAAM4jB,SAAS,EAAGtE,IAAew5J,EAAWx5J,WAAY,EAAE/nC,eAClFgwB,EAAK,CAAC15B,GAAIyxC,EAAWK,QAAU,EAChC,EACHjwC,EAAWtF,IAAKopD,SACZiiJ,GAAiB,CAEd3gM,QAAS0qC,EAAUgU,EAAUlU,CAAU,EACvCo2J,cAAex+L,EAAW,CACtB,CAAC8oB,GAAM4jB,SAAS,EACXk1J,EAAWI,cAAgB55J,IAAew5J,EAAWx5J,YACrDw5J,EAAWK,iBAAmB3lJ,IAAaslJ,EAAWtlJ,SAC9D,EACDl8C,SAAiBgsC,KAAakQ,EAAUlU,EAAYnsC,EAAEgf,OAAOrd,OAAO,EACpEgvB,gBAAqBi1K,EAAc,CAAEvlJ,WAAUlU,aAAY,EAC3Dvb,aAAe5wB,GAAM4lM,EAAc,EAAE,EACrCpD,kBAAmB31K,GAAMk2K,cAVpB1iJ,EAAS3lD,EAWjB,CACJ,QAEA4nM,GAAiB,CACd3gM,QAASghM,EAAwBx2J,CAAU,EAC3Co2J,cAAex+L,EAAW,CACtB,CAAC8oB,GAAM4jB,SAAS,EAAGtE,IAAew5J,EAAWx5J,YAAcw5J,EAAWI,aACzE,EACD5hM,SAAiB0hM,KAA2B15J,EAAYnsC,EAAEgf,OAAOrd,OAAO,EACxEgvB,gBAAqBi1K,EAAc,CAAEz5J,aAAY45J,aAAc,GAAM,EACrEn1K,aAAe5wB,GAAM4lM,EAAc,EAAE,EACrCpD,kBAAmB31K,GAAMk2K,aAC5B,CAAC,GA7BG52J,EAAWx4C,KA8BhB,CACP,SAED,MAAAyQ,UACIooB,MAAA,MAAIrpB,UAAWY,EAAW,CAAE,CAAC8oB,GAAM4jB,SAAS,EAAGk1J,EAAWK,gBAAiB,EAAE5hM,eACzEgwB,EAAA,CAAA15B,GAAA,MAAiB,EACjB,EACH6B,EAAWtF,IAAKopD,SACZiiJ,GAAiB,CAEd3gM,QAASihM,EAAyBviJ,CAAQ,EAC1CkiJ,cAAex+L,EAAW,CACtB,CAAC8oB,GAAM4jB,SAAS,EAAG4P,IAAaslJ,EAAWtlJ,UAAYslJ,EAAWK,gBACrE,EACD7hM,SAAiB2hM,KAA4BzlJ,EAAUrgD,EAAEgf,OAAOrd,OAAO,EACvEgvB,gBAAqBi1K,EAAc,CAAEvlJ,WAAU2lJ,gBAAiB,GAAM,EACtEp1K,aAAe5wB,GAAM4lM,EAAc,EAAE,EACrCpD,kBAAmB31K,GAAMk2K,cARpB1iJ,EAAS3lD,EASjB,CACJ,CAAC,EACF,CAAC,EACF,CAAC,EACL,CAEf,EC5JMurM,IAAgFA,CAAC,CACnF35D,iBACA34I,QACAwQ,UACJ,IAAM,CACIgsC,QAAeA,CAACnwC,EAAGmjM,IAAuB,CAC5C,MAAMp+K,EAAWwmB,GAAY53C,EAAOwvM,EAAIzoM,GAAIsF,EAAEgf,OAAOrd,OAAO,EAC5DwC,EAAS4gB,CAAQ,GAGrB,aACI,MAAI5hB,UAAU,gBAAeiB,SACxBkoI,EAAer1I,IAAKksM,SACjB,MAAA/+L,eACKs/B,GAAQ,CAAC/hC,QAAShO,EAAMuU,SAASi7L,EAAIzoM,EAAE,EAAGyJ,SAAWnE,GAAMmwC,EAAanwC,EAAGmjM,CAAG,EAAE/+L,SAC5E++L,EAAIr2L,KACC,GAHLq2L,EAAIzoM,EAIT,CACP,EACD,CAEZ,ECpB4C,IAQvCsmM,cAAK,CAALA,SAAK,oBAALA,EAAK,sCAALA,EAAK,0CAALA,EAAK,gCAALA,EAAK,sBAALA,CAAK,EAALA,IAAK,IAQV,MAAMkF,GAA2B,CAAC,kCAAkC,EAE9DC,GAAoEA,CAAC,CAAExyM,QAAOwQ,WAAUpJ,WAAU,IAAM,CACpG,MAAC0C,CAAW,EAAIkhB,EAAc,IAAMjQ,KAAyB,GAAI,IAAI,EACrE,CAAC49H,CAAc,EAAI3tH,EAAc,IAAMtO,GAAkBtV,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EACtF,CAACqrM,EAAYC,CAAa,EAAIzqL,WAASolL,GAAMsF,QAAQ,EAErDC,EAAoBxgL,UAAQ,IACzBtoB,EAIEA,EAAYV,OAAc7F,GAAA,CAACgvM,GAAyBh+L,SAAShR,EAAEvD,KAAK,CAAC,EAHjE,KAIZ,CAAC8J,CAAW,CAAC,EAEV+oM,EAAuBzgL,UAAQ,IAC5BtoB,EAIEA,EAAYV,OAAQ7F,GAAMgvM,GAAyBh+L,SAAShR,EAAEvD,KAAK,CAAC,EAHhE,KAIZ,CAAC8J,CAAW,CAAC,EAEVgpM,EAAuDhxM,GAAA,CACzD,MAAMsvB,EAAW,CACb,GAAGpxB,EACH,GAAG8B,GAGP6L,EAAe6C,EAAU4gB,CAAQ,GAG/BopB,EAAkEkjH,GAAA,CAC3Do1C,EAAA,CAAEp1C,qBAAoB,GAG7Bq1C,EAAwF34D,GAAA,CACjF04D,EAAA,CAAE14D,sBAAqB,GAG9B44D,EAAmEzD,GAAA,CAC5DuD,EAAA,CAAEvD,0BAAyB,GAGxC,MAAI,CAACqD,GAAqB,CAACC,GAAwB,CAACl6D,EACzC,WAIP,OAAAloI,eACI,OAAAA,gBACKqpE,GAAI,CAACE,WAA8B04H,KAAczoG,CAAK,EAAGjqD,WAAW,QAAQ+5B,YAAa04H,EAAWhiM,SAAA,CACjGowB,OAAC44C,GAAG,CAAC1yE,GAAIsmM,GAAMsF,SAAUx5L,WAAMsnB,EAAA,CAAA15B,GAAA,YAAuB,EAAE0J,UACpDooB,MAAA,OAAKrpB,UAAU,OAAMiB,eAChBgpC,GAAK,CAACjpC,YAAiBsiM,EAAS,CAAEx6J,gBAAiB,GAAM,EAAGtqC,QAAShO,EAAMs4C,gBAAgB7nC,eACxFgwB,EAAA,CAAA15B,GAAA,QAAmB,EAChB,EACN,EACL8xB,MAAA,OAAKrpB,UAAU,OAAMiB,eAChBgpC,GAAK,CAACjpC,YAAiBsiM,EAAS,CAAEx6J,gBAAiB,GAAO,EAAGtqC,QAAS,CAAChO,EAAMs4C,gBAAgB7nC,eAC1FgwB,EAAA,CAAA15B,GAAA,SAAoB,EACjB,CACN,GAEJ/G,EAAMs4C,uBACFW,GAAM,CAAC/4C,KAAK,UAASuQ,eAClBgwB,EAAA,CAAA15B,GAAA,yEAAoF,EAChF,CACX,CACA,GACJ,CAAC/G,EAAMs4C,wBACHmhC,GAAG,CAAC1yE,GAAIsmM,GAAM4F,kBAAmB95L,WAAMsnB,EAAA,CAAA15B,GAAA,sBAAiC,EAAE0J,UACvEooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,sBAAiC,EACjC,EACJ8xB,MAACwf,GAAiB,CACdvuC,YAAa8oM,EACb5yM,MAAOA,EAAM09J,oBAAsB,CAAG,EACtCplH,gBAAiB,GACjB9nC,SAAUgqC,EACb,CAAC,CACD,GAGR,CAACx6C,EAAMs4C,wBACHmhC,GAAG,CAAC1yE,GAAIsmM,GAAM6F,eAAgB/5L,WAAMsnB,EAAA,CAAA15B,GAAA,eAA0B,EAAE0J,UAC7DooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,eAA0B,EAC1B,EACJ8xB,MAACy5K,IAA8B,CAC3B35D,iBACA34I,MAAOA,EAAMuvM,wBACb/+L,SAAUwiM,EACb,CAAC,CACD,GAGR,CAAChzM,EAAMs4C,wBACHmhC,GAAG,CAAC1yE,GAAIsmM,GAAM8F,oBAAqBh6L,WAAMsnB,EAAA,CAAA15B,GAAA,yBAAoC,EAAE0J,UAC5EooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,yBAAoC,EACpC,EACJ8xB,EAAA,UAAK,SACJk5K,IAA+B,CAC5B/xM,MAAOA,EAAMo6I,qBAAuB,CAAG,EACvC5pI,SAAUuiM,EACb,CAAC,EACD,EAGTlyK,OAAC44C,GAAG,CAAC1yE,GAAIsmM,GAAM+F,UAAWj6L,WAAMsnB,EAAA,CAAA15B,GAAA,YAAuB,EAAE0J,UACrDooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,wBAAmC,EACnC,EACJ8xB,MAACwf,GAAiB,CACdvuC,YAAa+oM,EACb7yM,MAAOA,EAAM09J,oBAAsB,CAAG,EACtCplH,gBAAiB,GACjB9nC,SAAUgqC,EACb,CAAC,EACD,CAAC,EACJ,EACL,EA2CJ,CAEb,EClLM64J,IAA4EA,CAAC,CAC/Ej3J,gBACAlc,OACAC,WACAlL,UACA7tB,WACJ,IAAM,CACF,KAAM,CAACooC,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC0wB,EAAgB0D,CAAiB,EAAIp0B,WAA0C,IAAI,EAEpFq0B,EAAaA,IAAM,CACrBD,EACID,EACM,CACIshH,mBAAoBthH,EAAcshH,mBAClCtjB,oBAAqBh+F,EAAcg+F,oBACnCm1D,wBAAyBnzJ,EAAcmzJ,wBACvCj3J,gBAAiB8D,EAAc9D,iBAEnC,CACIolH,mBAAoB,CAAE,EACtBtjB,oBAAqB,CAAE,EACvBm1D,wBAAyB,CAAE,EAC3Bj3J,gBAAiB,GAE/B,EACA7I,EAAU,EAAK,GAGb8M,EAAeA,IAAM,CACvBF,EAAkB,IAAI,GAGpB1b,EAAoB,SAAY,CAC9B,MAACyb,GAAiB,CAACzD,GAIvBlJ,GAAU,EAAI,EAEV,IACMx0B,SAAoBmhC,EAAclhC,gBAAiBy9B,CAAc,EACvEhrC,EAAewyB,EAAUwY,CAAc,EACvChrC,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,IAGE7O,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,GAE1B,cACKL,EAAK,CACFzb,KAAK,2BACLjR,OAAQg4B,EACRrL,OAAQ+L,EACR5L,OAAQsnB,EACRvnB,SAAUwnB,EACVxqC,KAAK,KAAItB,SAAA,CACTooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,uBAAAE,OAAA,CAAA4uC,EAAauG,EAAgBA,EAAcM,YAAc,EAAE,EAAoB,EACtE,EACb7jB,MAACoB,EAAS,CAAAxpB,SACLkoC,GACG9f,MAAC25K,GAAwB,CACrBprM,YACApH,MAAO24C,EACPnoC,SAAwB6rC,KAAkBjrB,CAAQ,EACrD,EAEE,EACXyP,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,UAAUrP,QAASuV,EAAmBnU,QAASgjB,EAAO/+B,eAChEgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACA,CAAC,EACX,CAEf,oCCjFMusM,IAAsCA,CAAC,CAAElzK,WAAUl4B,QAAO,IAAM,CAClE,MAAMwhD,EAAc59B,EAAazlB,GAAkBA,EAAMD,OAAOT,cAAewT,IAAI,EAC7E/R,EAAY0kB,EAAazlB,GAAkBA,EAAMD,OAAOT,cAAeoB,EAAE,EAE/E,cACK6tB,EAAK,CAACzb,KAAK,uBAAuBjR,SAAeuI,SAAA,CAC9CooB,MAACkB,GAAW,CAAAtpB,eACRgwB,EAAA,CAAA15B,GAAA,8BAAAE,OAAA,CAAAyiD,aAAiC,EAAQ,EAChC,EACb7oB,OAAC5G,EAAS,CAAAxpB,SAAA,CACNooB,MAAA4H,EAAA,CAAA15B,GAAA,uCAAkD,EAClD8xB,MAAC8F,GAAU,CAACnvB,UAAU,gBAAgByO,GAAI,aAAa7W,cAAsBqJ,gBACxEosC,GAAU,CAACrtC,UAAW0pB,GAAM0hB,KAAKnqC,SAAA,CAC9BooB,MAACc,EAAe,CAACC,KAAM25K,GAAgB,EACvC1yK,OAAA,OAAApwB,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,cAAyB,EACzB,EACJ8xB,MAAA,KAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gIAGO,EACR,CAAC,EACH,CAAC,EACE,EACJ,EACZ8xB,MAAC8F,GAAU,CAACnvB,UAAU,gBAAgByO,GAAI,aAAa7W,iBAAyBqJ,gBAC3EosC,GAAU,CAACrtC,UAAW0pB,GAAM0hB,KAAKnqC,SAAA,CAC9BooB,MAACc,EAAe,CAACC,KAAM45K,GAAgB,EACvC3yK,OAAA,OAAApwB,UACIooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,2BAAsC,EACtC,EACJ8xB,MAAA,KAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,0KAGO,EACR,CAAC,EACH,CAAC,EACE,EACJ,CAAC,EACN,EACX8xB,MAACqB,GAAW,CAAAzpB,eACR,OAAAA,eACKguB,EAAM,CAAChE,MAAM,WAAWrP,QAASgV,EAAS3vB,eACvCgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACP,EACI,CAAC,EACX,CAEf,2oBCxDM0sM,IAAqC,IACrCC,IAAqB,IAEdC,IAAsDA,CAAC,CAAEC,cAAan5H,YAAWgB,cAAa,IAAM,OAC7G,KAAM,CAAC94B,EAAcC,CAAe,EAAI36B,WAAS,EAAK,EAChD,CAAC4rL,EAAaC,CAAc,EAAI7rL,WAAS,EAAK,EAC9C8rL,EAAYvrL,SAAuB,IAAI,EAEvCwrL,EAAmBA,IAAM,CAC3B,MAAMv3K,EAAKs3K,EAAUhkM,QAChB0sB,GAAO12B,OAAOC,WAAaytM,IAAsCh3K,EAAGw3K,aAAgBluM,OAAOC,WAAa0tM,IACzGI,EAAe,EAAK,EAEpBA,EAAe,EAAI,CACvB,EAGJlsL,mBAAU,IAAM,CACR,CAACmsL,EAAUhkM,SAAW6jM,EAAYjzM,SAAW,GAGhCqzM,GAAA,EAClB,CAACD,EAAWH,CAAW,CAAC,EAE3BnoL,GAAkBuoL,EAAkB,GAAG,QAGnC,OAAKxkM,UAAW0pB,GAAMg7K,YAAYzjM,gBAC9B,OAAKjB,UAAW0pB,GAAMi7K,kBAAkB1jM,UACpCooB,MAAA,OAAKrqB,MAAO,CAAE+wC,WAAYs0J,EAAc,UAAY,QAAS,EAAEpjM,eAC1Dg2B,GAAS,CAACj3B,UAAW0pB,GAAMwN,UAAUj2B,eAClC,OAAKzB,IAAK+kM,EAAWvkM,UAAW0pB,GAAMk7K,aAAa3jM,gBAC9C+0B,GAAa,CAACh2B,UAAW0pB,GAAMuM,cAAch1B,SAC1CooB,CAAC2M,SAAc/G,OAAM,CAACrT,QAASA,IAAMqwD,EAAa,IAAI,EAAGt2C,SAAUs1C,IAAc,KAAKhqE,eAClFgwB,EAAA,CAAA15B,GAAA,MAAiB,EACC,EACrBy+B,SAAc/G,OAAM,CAACrT,QAASA,IAAMqwD,EAAa,EAAE,EAAGt2C,SAAUs1C,IAAc,GAAGhqE,eAC9EgwB,EAAA,CAAA15B,GAAA,iBAA4B,EACV,EACrB6sM,EAAYtwM,IACTu1B,SAAC2M,GAAc/G,OAAM,CAEjBrT,QAASA,IAAMqwD,EAAal4E,EAAEwD,EAAE,EAChCo+B,SAAUs1C,IAAcl3E,EAAEwD,GAAG0J,SAC5BlN,EAAE8wM,aAHE9wM,EAAEwD,EAIW,CACzB,CAAC,EACS,EACd,EACE,EACV,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMo7K,gBAAiB9lM,MAAO,CAAE+wC,WAAYs0J,EAAc,SAAW,SAAU,EAAEpjM,gBAC5FyxB,GAAQ,CACL1yB,UAAW0pB,GAAMoK,aACjB7I,MAAO,WACP0H,aACI,OAAK3yB,UAAW0pB,GAAM+2F,OAAOx/G,SAAA,CACxBgqE,IAAc,KACXm5H,KAAeA,IAAYv+L,KAAYhJ,KAAEtF,KAAO0zE,CAAS,IAA1Cm5H,cAA6CS,mBAE5D5zK,EAAA,CAAA15B,GAAA,MAAiB,EAClB,IACH8xB,MAAA,QAAMrpB,UAAW0pB,GAAMo0E,YAAY78F,eAC9BkpB,EAAe,CAACC,KAAMupC,GAAgB,EACrC,CAAC,EACN,EAET/3C,QAASA,IAAMw3B,EAAiBr/C,GAAM,CAACA,CAAC,EACxCu+B,KAAM6gB,EACN9tB,OAAQA,IAAM+tB,EAAgB,EAAK,EAAEnyC,SAAA,CACrCooB,MAACuK,GAAkB,CAAChY,QAASA,IAAMqwD,EAAa,IAAI,EAAEhrE,eAClDgwB,EAAA,CAAA15B,GAAA,MAAiB,EACD,EACnB6sM,EAAYtwM,IAAKC,SACb6/B,GAAkB,CAAYhY,QAASA,IAAMqwD,EAAal4E,EAAEwD,EAAE,EAAE0J,SAC5DlN,EAAE8wM,aADkB9wM,EAAEwD,EAEP,CACvB,CAAC,EACI,EACT,CAAC,EACL,EACJ,CAEb,ECrEMwtM,IAA8DA,CAAC,CAAEntM,WAAU,IAAM,CACnF,KAAM,CAACggD,EAAUC,CAAW,EAAIp/B,WAA0B,IAAI,EACxD,CAACusL,EAAkBC,CAAmB,EAAIxsL,WAAS,EAAK,EACxD,CAACysL,EAAYC,CAAa,EAAI1sL,WAAsC,IAAI,EACxE,CAACu+B,GAAWW,CAAa,EAAIn8B,EAAc,IAAMhQ,GAAc5T,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC5F,CAACwtM,EAAgBC,CAAiB,EAAI5sL,WAAwB,IAAI,EAClE6sL,EAAev5H,GACjB/0B,iBAASljD,IAAWC,IACT,CACHwD,GAAIxD,EAAEyS,UACNq+L,YAAa9wM,EAAE63C,eAGvB,IACJ,EACM25J,EAA0B,MAAO34J,GAAwC,CACrEhhC,SAAoBghC,EAAclhC,eAAe,EACzCisC,IACJrT,gBAAQrT,EAAA,CAAA15B,GAAA,iBAA6B,EAAC,GAE9CiuM,EAA0B,MAAO54J,GAAwC,CACvEA,EAAc0K,UACRtkC,SAAoB45B,EAAc0K,QAAQ,EACtChT,gBAAQrT,EAAA,CAAA15B,GAAA,mBAA+B,EAAC,GAExC2tC,cAAMjU,EAAA,CAAA15B,GAAA,kEAA8E,EAAC,CACnG,EAGE2gD,EAAwBA,IAAM,CAChCL,EAAY,IAAI,GAGdM,EAAyBA,IAAM,CACnBR,GAAA,EAGZ8tJ,EAAoB,SAAY,CAClC,IAAIC,EAAgB,GAChBC,EAAmB,GACjB3uJ,uBACAp9C,OAAQiF,GAAMA,EAAE24B,OAAOs4J,cAAc,QAAQ,GAC9Cr+L,QAAoB0lD,GAAA,CACbA,EAAOG,UACPtkC,GAAoBmkC,EAAOG,QAAQ,EAChBquJ,EAAA,KAEHD,EAAA,GACNxgK,QACN,KACIiS,EAAOjK,YACP,KACAxoB,EAAAwW,oEAAkE,EACtE,KACA,CAAEiK,UAAW,GACjB,EACJ,IAEJugK,EACIC,EACU3oK,aACN/L,EAAA,CAAA15B,GAAA,yGAGO,EACX,EAEU2tC,cAAMjU,EAAA,CAAA15B,GAAA,2EAAuF,EAAC,EAGlG+sC,gBAAQrT,EAAA,CAAA15B,GAAA,2BAAuC,EAAC,EAEhDogD,GAAA,EAGlB,GAAI,CAACX,EACM3tB,aAAC+a,EAAgB,EAAE,EAGxBwhK,QACFR,IAAmB,KACbA,IAAmB,GACfpuJ,EAAQp9C,UAAciF,EAAE24B,OAAOs4J,cAAc,QAAQ,CAAC,EACtD94I,EAAQp9C,UAAcwrM,IAAmBvmM,EAAE2H,SAAS,EACxDwwC,EAEV,cACI,OAAA/1C,SAAA,CACIooB,MAAC4N,GAAS,CAAAh2B,SACLg2B,SAAUL,MAAK,CAAA31B,eACXsvB,GAAkB,CAAC9hB,GAAI,aAAa7W,iBAA0BqzB,MAAM,WAAWb,KAAMguB,GAAWn3C,eAC7FgwB,EAAA,CAAA15B,GAAA,aAAwB,EACR,EACP,EACV,EACX85B,OAAA,OAAApwB,SAAA,CACIooB,MAACw6K,IAA4B,CACzBjsM,YACA84B,KAAOknB,GAAYA,EAASK,WAAa,eAAkB,GAC3DrL,cAAegL,EAAWA,EAAShL,cAAgB,KACnDnnB,QAASyyB,EACTvnB,SAAUwnB,EACb,EACA+sJ,GACG77K,MAACw8K,GAAyB,CACtB3F,UAAWqF,EACXpF,cAAe+E,EACfxsM,OAAQ,CAAC,CAACwsM,EACV7/K,OAAQA,IAAM8/K,EAAc,IAAI,EACnC,EAGL97K,MAAC86K,IAAiB,CACdC,YAAakB,EAAaxpG,KAAK,CAAC/zD,EAAGC,IAAOD,EAAE88J,YAAc78J,EAAE68J,YAAc,EAAI,EAAG,EACjF55H,UAAWm6H,EACXn5H,aAAco5H,EACjB,EACAD,IAAmB,IAAMpuJ,EAAQp9C,OAAciF,KAAE24B,OAAOs4J,cAAc,QAAQ,CAAC,EAAE3+L,OAAS,SACvF,OAAK6O,UAAW0pB,GAAMo8K,oBAAoB7kM,eACrCqwB,GAAa,CACVrG,MAAM,WACN2G,WAAY,GACZH,kBACItI,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,gEAA2E,EACtE8xB,EAAA,mBACL,SAAOrpB,UAAW0pB,GAAMq8K,eAAe9kM,eACnC,SAAAA,SACK+1C,EACIp9C,OAAciF,KAAE24B,OAAOs4J,cAAc,QAAQ,CAAC,EAC9Ch8L,IAAgBqjD,UAET,MAAAl2C,UACIooB,MAAA,MAAApoB,SAAKk2C,EAAOjK,YAAgB,EAC5B7jB,MAAA,MAAIrpB,UAAW0pB,GAAMs8K,UAAU/kM,SAAEk2C,EAAOvL,YAAgB,CAAC,GAFpDuL,EAAOzrC,eAGZ,CAEX,EACF,EACJ,CAAC,EACV,EAEN8lB,kBAAaP,EAAA,CAAA15B,GAAA,oBAA+B,EAC5Cy5B,wBAAmBC,EAAA,CAAA15B,GAAA,OAAkB,EACrC25B,uBAAkBD,EAAA,CAAA15B,GAAA,SAAoB,EACtC6yB,KAAM4nH,GACNhkH,aAAa,OACbuD,UAAWk0K,EAAkBxkM,eAC7BgwB,EAAA,CAAA15B,GAAA,qBAAgC,EACrB,EACd,EAGT8xB,MAACs4K,IAA4B,CACzB/pM,YACAo/C,QAAS4uJ,EACT1uJ,0BAAoCW,EAAY,CAAEjL,cAAeuK,EAAQc,SAAU,cAAe,EAClG25E,cAAe2zE,EACf1D,cAAe2D,EAClB,CAAC,EACD,EACLn8K,MAACy6K,IAAkB,CAAClzK,SAAUA,IAAMq0K,EAAoB,EAAK,EAAGvsM,OAAQssM,EAAmB,CAAC,EAC3F,CAEb,ECxJMh6H,IAAmB,CACrB,CACIzzE,GAAI,YACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,YAAuB,EAC7B0gC,OAAqB5O,SAAC2jK,IAAgB,IAAK35L,EAAU,EACrDiH,YAAa,kBACjB,EACA,CACI/C,GAAI,eACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,eAA0B,EAChC0gC,OAAqB5O,SAACsjK,GAAgB,IAAKt5L,EAAU,EACrDiH,YAAa,oBACjB,EACA,CACI/C,GAAI,WACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,WAAsB,EAC5B0gC,OAAqB5O,SAACk1K,IAAe,IAAKlrM,EAAU,EACpDiH,YAAa,kBACjB,EACA,CACI/C,GAAI,cACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,iBAA4B,EAClC0gC,OAAqB5O,SAAC48K,IAAiB,IAAK5yM,EAAU,EACtDiH,YAAa,iBACjB,EACA,CACI/C,GAAI,QACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,QAAmB,EACzB0gC,OAAqB5O,SAAC07K,IAAqB,IAAK1xM,EAAU,EAC1DiH,YAAa,iBACjB,EACA,CACI/C,GAAI,iBACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,WAAsB,EAC5B0gC,OAAqB5O,SAAC6mK,IAAoB,IAAK78L,EAAU,EACzDiH,YAAa,mBACb8vE,WAAY,EAChB,EACA,CACI7yE,GAAI,cACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,cAAyB,EAC/B+C,YAAa,kBACb29B,OAAqB5O,SAAC+kK,IAAiB,IAAK/6L,EAAU,CAC1D,EACA,CACIkE,GAAI,eACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,eAA0B,EAChC+C,YAAa,kBACb29B,OAAqB5O,SAAC4mK,IAAmB,IAAK58L,EAAU,CAC5D,EACA,CACIkE,GAAI,SACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,SAAoB,EAC1B+C,YAAa,kBACb29B,OAAqB5O,SAACq1K,IAAa,IAAKrrM,EAAU,CACtD,CAAC,EAQC6yM,GAAgDA,CAAC,CAAEp5H,MAAKl1E,WAAU,IAAM,CAC1E,MAAMuuM,EAAiB7pL,EAA+BzlB,KAAMD,OAAOV,aAAa,EAC1EkwM,EAAkBzmG,GAAoBX,GAAmBqnG,kBAAmBF,iBAAgB5uM,EAAE,EAC9FpB,EAAgBmmB,EAA+BzlB,KAAMD,OAAOT,aAAc,EAC1EmwM,EAA0B3mG,GAAoBX,GAAmBunG,wBAAyBpwM,EAAcoB,EAAE,EAC1GivM,EAAyCzyM,GACvCA,EAAEwD,KAAO,SACF6uM,EAEJ,GAGX,IAAIphB,EAAch6G,IAAKpxE,OAClB7F,GAAM2lC,GAAevjC,EAAcmE,YAAavG,EAAEuG,WAAW,GAAKksM,EAAsBzyM,CAAC,CAC9F,EACKuyM,IACDthB,EAAcA,EAAYprL,OAAc7F,KAAEwD,KAAO,cAAc,GAEnE,IAAIkvM,EAAmBzhB,EAAYn/K,QAAY9R,EAAEwD,KAAO,gBAAgB,GAAK,CAAEq+B,wBAAyB,GAGxG,OAFA6wK,EAAiB7wK,wBAA0B9S,GAAuB5e,KAAkB4Q,OAAO,EAEtFkwK,EAAYn/K,QAAY9R,EAAEwD,KAAOu1E,CAAG,SASrC3jD,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAS,WAAI,EAErC7R,MAACihD,GAAI,CACDC,YAAauC,EACb9sE,UAAW8sE,IAAQ,YAAcpjD,GAAMg9K,sBAAwB9rM,OAC/D8uC,iBAAkBojC,IAAQ,YAAcpjD,GAAMi9K,oBAAsB/rM,OAAUqG,SAC7E+jL,EAAYlxL,IAAKg5E,SACb3C,GAAO,CAEJ5yE,GAAIu1E,EAAIv1E,GACRkX,GAAI,aAAa7W,KAAak1E,EAAIv1E,KAClCoS,KAAMmjE,EAAInjE,KACVygE,WAAY0C,EAAI1C,WAChBx0C,wBAAyBk3C,EAAIl3C,wBAAwB30B,SACpD6rE,EAAI70C,OAAO,CAAErgC,UAAW,CAACA,EAAW,GANhCk1E,EAAIv1E,EAOJ,CACZ,EACC,CAAC,EACT,EA3BEytL,EAAY7zL,SAAW,QACf0+B,GAAuB,CAACphB,GAAG,qBAAsB,QAGrDohB,GAAuB,CAACphB,GAAI,IAAIu2K,EAAY,CAAC,EAAEztL,KAAO,CAyBtE,gJC5IM+vH,IAA4CA,CAAC,CAC/Cs/E,gBACA3lM,WACAjB,WACJ,WAEQ,OAAKA,UAAWY,EAAWZ,EAAW0pB,GAAMm9K,cAAc,EAAE5lM,SAAA,CACvDA,EACDowB,OAAA,OAAKrxB,UAAW0pB,GAAMo9K,kBAAkB7lM,WAClC2lM,IAAkBviM,GAAc0iM,UAAYH,IAAkBviM,GAAc2iM,gBAC1E39K,MAACc,EAAe,CAACnqB,UAAW0pB,GAAMwb,MAAO9a,KAAMC,EAAU,GAE5Du8K,IAAkBviM,GAAc4iM,gBAAa98K,EAAe,CAAC6E,KAAI,GAAC5E,KAAM2E,EAAY,GACpF63K,IAAkBviM,GAAc6iM,aAC7B/9K,WAAA,CAAAloB,eACK8pB,GAAO,CAAC7B,cAAS+H,EAAA,CAAA15B,GAAA,kBAA6B,EAAE0J,eAC7C,QAAAA,eACKkpB,EAAe,CAACnqB,UAAW0pB,GAAM4a,QAASla,KAAMyc,GAAU,EACzD,EACD,EACX,CACL,EACA,CAAC,EACL,EAQPsgK,IAAkFA,CAAC,CAAEP,gBAAe,GAAGrnM,CAAK,IAAM,CAC9G6nM,QAAqCxkL,EACvC,YAAM,CACF,CACIskB,QAAoB0/J,OAAkBviM,GAAc2iM,cACpD5/J,eAAgBA,IAAM/d,MAAA4H,EAAA,CAAA15B,GAAA,wCAAmD,GAE7E,CACI2vC,QAAoB0/J,OAAkBviM,GAAc0iM,SACpD3/J,eAAgBA,IAAM/d,MAAA4H,EAAA,CAAA15B,GAAA,iEAA4E,EACrG,EAEL,CAACqvM,CAAa,CAClB,EAEA,aACKt/E,IAAY,CAACs/E,gBAA6B3lM,eACtCxB,GAAe,CACZ/O,KAAK,QACLg8C,aAAa,MACb1sC,UAAU,eACVF,YAAa4kB,EAAAwW,SAAO,EACpBj7B,YAAamnM,EAAiB,GAC1B7nM,EACP,EACS,CAEtB,EChEM8nM,GAA4DA,CAAC,CAAEntJ,cAAaj5C,UAAS,WAEnFkoB,WAAA,CAAAloB,SAAA,CACIowB,OAACga,GAAW,CAAApqC,SACRooB,CAACgiB,SAAYK,YAAW,CAACj9B,GAAG,IAAGxN,SAAEi5C,EAAqC,EAErE7O,SAAYK,YAAW,CAACj9B,GAAG,SAAQxN,eAChCgwB,EAAA,CAAA15B,GAAA,QAAmB,EACE,EAExB8zC,SAAYI,KAAI,CAAAxqC,eACbgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACb,CAAC,EACV,EACb8xB,MAAC6hB,GAAc,CAAC1gB,OAAQ9F,EAAAwW,iBAAe,EAAEj6B,WAA2B,CAAC,EACvE,iDCNAyuB,IAAsC74B,IAAA,CACxCe,UAAWf,EAAMD,OAAOT,cAAeoB,GACvCiP,UAAW3P,EAAMD,OAAOV,cAAeqB,EAC3C,GAIM+vM,IAA4CA,CAAC,CAAE1vM,YAAW4O,WAAU,IAAM,CAC5E,KAAM,CAAC0F,EAAOyzB,CAAQ,EAAIlnB,WAAiB,EAAE,EACvC,CAAC8uL,EAAiBC,CAAkB,EAAI/uL,WAAyB,IAAI,EACrE,CAACne,EAAa0xC,CAAc,EAAIvzB,WAAmC,CACrEmyH,oBAAqB,CAAE,EACvBsjB,mBAAoB,CAAE,EACtB6xC,wBAAyB,CAAE,EAC3Bj3J,gBAAiB,GACpB,EACK,CAAC9I,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC6rB,EAASC,CAAU,EAAI9rB,WAAS,EAAK,EACtC,CAACnO,CAAO,EAAIkR,EAAc,IAAMrR,GAAWvS,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EACxE,CAACgvM,EAAea,CAAgB,EAAIhvL,WAAwBpU,GAAcqjM,UAAU,EAEpFC,EAAiBrvL,GAAYpM,EAAO,GAAG,EAE7CkM,YAAU,IAAM,CACRmvL,GACAE,EAAiBpjM,GAAc4iM,QAAQ,CAC3C,EACD,CAAC/6L,EAAOq7L,CAAe,CAAC,EAE3BnvL,YAAU,IAAM,CACZ,eAAewvL,GAAa,CACxB,GAAI,CAACL,EAAiB,CAClBE,EAAiBpjM,GAAcqjM,UAAU,EACzC,OAGAC,KAAex2M,SAAW,EAAG,CAC7Bs2M,EAAiBpjM,GAAcqjM,UAAU,EACzC,OAGA,IACAD,EAAiBpjM,GAAc4iM,QAAQ,EACvC,MAAMY,EAAW,MAAM57L,GAAyBrU,EAAW+vM,EAAgBJ,EAAgBhwM,EAAE,EAC7FkwM,EAAiBI,CAAQ,QACpBhrM,GACL81E,QAAQztC,MAAMroC,CAAC,CACnB,CACJ,CAEW+qM,GACZ,GAACD,EAAgBJ,EAAiB3vM,CAAS,CAAC,EAEzCkiB,QAAoBD,GAAqB,CAC3C,CACIqtB,QAAoB12C,GAAA,CAAC,CAAC+2M,EACtBngK,eAAgBA,CAAC,CAAE3mC,iBAAYwwB,EAAA,CAAA15B,GAAA,sBAAAE,OAAA,CAAAgJ,OAAa,EAAoB,EAChED,kBAAmB,CAAEC,YAAOwwB,EAAA,CAAA15B,GAAA,UAAqB,CAAE,CACtD,EACJ,EACK2oC,EAAmB,MAAOrjC,GAAM,CAC9B+pM,OAAkBviM,GAAcqjM,WAIpCznK,GAAU,EAAI,EAEV,IACA,MAAMl0B,GAAiB,CACnB,GAAGzR,EACHiyC,aAAcrgC,EACdC,iBAAkBo7L,EAAiBhwM,GACnCi1C,iBAAkBhmC,EAClB5O,YACH,EAED2sC,EAAW,EAAI,SACT,CACNtE,EAAU,EAAK,CACnB,IAGE6nK,EAAcA,IAAM,CACtBnoK,EAAS,EAAE,EACX6nK,EAAmB,IAAI,EACRx7J,EAAA,CACX4+F,oBAAqB,CAAE,EACvBsjB,mBAAoB,CAAE,EACtB6xC,wBAAyB,CAAE,EAC3Bj3J,gBAAiB,GACpB,EACD2+J,EAAiBpjM,GAAcqjM,UAAU,EACzCznK,EAAU,EAAK,EACfsE,EAAW,EAAK,GAGpB,OAAKj6B,EAIDg6B,SAEK+iK,GAAoB,CAACntJ,YAAa5vC,EAAQX,KAAK1I,UAC5CooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,4CAAAE,OAAA,CAAAyU,OAA8C,EAAS,EACvD,EACJmlB,OAAA,MAAApwB,SAAA,CACIooB,MAACyG,GAAmB,CAAC9vB,UAAU,gBAAgByO,GAAI,SAASxN,eACvDguB,EAAM,CAAChE,MAAM,UAAShqB,eACnBgwB,EAAA,CAAA15B,GAAA,8BAAyC,EACrC,EACS,EACrB8xB,MAAC4F,EAAM,CACHrT,QAASksL,EACT9nM,UAAW0pB,IAAMq+K,WACjB98K,MAAM,WACNb,KAAMguB,GAAWn3C,eACjBgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACvB,CAAC,EACT,CAAC,EACa,QAKzB8vM,GAAoB,CAACntJ,YAAa5vC,EAAQX,KAAK1I,gBAC3Ck/B,GAAc,CAACC,SAAUF,EAAkBpmB,oBAAqC7Y,UAC7EowB,OAAA,OAAKrxB,UAAU,aAAYiB,UACvBooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,UAAqB,EAClB,EACP8xB,MAAA,OAAApoB,eACKqzJ,GAAmB,CAChBt0J,UAAU,eACVgB,SAAsBwmM,KAAmBrwJ,CAAM,EAClD,EACA,CAAC,EACL,EAEL9lB,OAAA,OAAKrxB,UAAU,aAAYiB,UACvBooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,QAAmB,EAChB,EACP8xB,MAAC89K,IAA+B,CAC5BpnM,SAAQ,GACRC,UAAU,eACVF,YAAa4kB,EAAAwW,SAAO,EACpB1qC,MAAO0b,EACPlL,SAAWnE,GAAM8iC,EAAS9iC,EAAEgf,OAAOrrB,KAAK,EACxCo2M,gBACH,CAAC,EACD,EAELv9K,MAAA,OAAKrpB,UAAU,aAAYiB,SACvBooB,MAACwX,GAAmB,IACnB,EAEAxX,EAAA,mBAEL,OAAKrpB,UAAU,aAAYiB,eACtB+hM,GAAwB,CACrBprM,YACApH,MAAO8J,EACP0G,SAAqBgrC,KAAex7C,CAAK,EAC5C,EACA,EAEL6gC,OAAA,OAAKrxB,UAAU,aAAYiB,SAAA,CACtB4/B,WAAmB,QAEnB5R,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASgjB,EAAQhgC,UAAU,cAAaiB,eAC1EgwB,EAAA,CAAA15B,GAAA,WAAsB,EAClB,CAAC,EACR,CAAC,EACM,EACE,EA9Ef8xB,MAAC+a,EAAgB,EAAE,CAgFlC,EAEA4jK,IAAer4K,GAAQD,GAAe,EAAE43K,GAAqB,ECtL3D53K,IAAsC74B,IAAA,CACxCe,UAAWf,EAAMD,OAAOT,cAAeoB,GACvCiP,UAAW3P,EAAMD,OAAOV,cAAeqB,EAC3C,GAIM+vM,IAA4CA,CAAC,CAAE1vM,YAAW4O,WAAU,IAAM,CAC5E,KAAM,CAACyhM,EAAgBC,CAAiB,EAAIzvL,WAA+B,IAAI,EACzE,CAACne,EAAa0xC,CAAc,EAAIvzB,WAAmC,CACrEmyH,oBAAqB,CAAE,EACvBsjB,mBAAoB,CAAE,EACtB6xC,wBAAyB,CAAE,EAC3Bj3J,gBAAiB,GACpB,EACK,CAAC9I,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC6rB,EAASC,CAAU,EAAI9rB,WAAS,EAAK,EACtC,CAACnO,CAAO,EAAIkR,EAAc,IAAMrR,GAAWvS,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAExEsoC,EAAmB,MAAOrjC,GAAM,CAGlC,GAFAA,EAAEirB,eAAe,EAEb,EAACmgL,EAILhoK,GAAU,EAAI,EAEV,IACA,MAAM5zB,GAAyBzU,EAAWqwM,EAAe/7L,MAAO5R,CAAW,EAC3EiqC,EAAW,EAAI,SACT,CACNtE,EAAU,EAAK,CACnB,IAGJ,OAAK31B,EAIDg6B,SAEK+iK,GAAoB,CAACntJ,YAAa5vC,EAAQX,KAAK1I,UAC5CooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,oCAAAE,OAAA,CAAA4uC,EAAQ4hK,EAAgB/6J,WAAW,EAAsC,EACzE,EACJ7jB,MAACyG,GAAmB,CAAC9vB,UAAU,gBAAgByO,GAAI,SAASxN,eACvDguB,EAAM,CAAChE,MAAM,UAAShqB,eACnBgwB,EAAA,CAAA15B,GAAA,8BAAyC,EACrC,EACS,CAAC,EACJ,QAKzB8vM,GAAoB,CAACntJ,YAAa5vC,EAAQX,KAAK1I,gBAC3Ck/B,GAAc,CAACC,SAAUF,EAAkBlgC,UAAU,iBAAgBiB,UAClEooB,MAAA,OAAKrpB,UAAU,aAAYiB,eACtB40J,GAAwB,CACrB71J,UAAU,eACVwG,YACAxF,SAAsBknM,KAAkB/wJ,CAAM,EACjD,EACA,EAEL9tB,MAAA,OAAKrpB,UAAU,aAAYiB,eACtB+hM,GAAwB,CACrBprM,YACApH,MAAO8J,EACP0G,SAAqBgrC,KAAex7C,CAAK,EAC5C,EACA,EAEL64B,MAAA,OAAKrpB,UAAU,eAAciB,SACzBooB,MAACwX,GAAmB,IACnB,EAELxX,MAAA,OAAKrpB,UAAU,gBAAeiB,eACzBguB,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASgjB,EAAO/+B,eAClDgwB,EAAA,CAAA15B,GAAA,WAAsB,EAClB,EACP,CAAC,EACM,EACE,EA/Cf8xB,MAAC+a,EAAgB,EAAE,CAiDlC,EAEA+jK,IAAex4K,GAAQD,GAAe,EAAE43K,GAAqB,wZC1FvDc,GAAkFA,CAAC,CACrFnvG,YACAh4F,WACAonM,UACJ,IAAM,CACF,MAAMtyG,EAASkD,EAAUp4E,MACrBlX,YAAyBsnB,EAAA,CAAA15B,GAAA,mBAA6C,EACtEw+F,EAAO5kG,OAAS,EAChBwY,EAAOosF,EAAOjiG,IAAKk0C,GAAMA,EAAEn3B,SAAS,EAAEjd,KAAK,IAAI,EACxCmiG,EAAO5kG,SAAW,IAErBwY,EAAA,GAAGosF,EAAO,CAAC,EAAE9kF,YAAc,KAAK8kF,EAAO,CAAC,EAAE/kF,OAAS,KAAK+kF,EAAO,CAAC,EAAEllF,WAAa,KAAKklF,EAAO,CAAC,EAAEjlF,UAAY,KAAKikC,KAAK,GAE5H,MAAMuzJ,EAAkBA,IAChBvyG,EAAO5kG,SAAW,EACX,KAEP8nG,EAAUqiB,oBAENrqF,EAAA,CAAA15B,GAAA,eAAA28C,WAAA,CAAA7N,QACagf,GAAmB,CAAC70D,MAAOyoG,EAAUqiB,cAAgB,CAAC,EAC5D,QAIRrqF,EAAA,CAAA15B,GAAA,UAAqB,EAEhC,cACI,OAAKyI,UAAU,OAAMiB,SAAA,CAChB80F,EAAO5kG,OAAS,QACZ4tC,GAAY,CAACv/B,IAAK6oM,EAASpnM,SACvB80F,EAAOjiG,IAAKk0C,SACRpJ,GAAQ,CAELjB,UAAWqK,EAAEyyG,aAAe,CAACzyG,EAAEy0G,aAAelC,GAAc3/I,OAC5DoF,UAAW0pB,GAAM6rE,SACjB93D,SAAU,GACVnvB,OAAQ05B,EAAE15B,QAJL05B,EAAE15B,OAAS,IAAM05B,EAAE97B,KAK3B,CACJ,EACS,EAEdmd,MAACuV,GAAQ,CAAC5+B,UAAW0pB,GAAM6rE,SAAU93D,SAAU,GAAIE,UAAW48G,GAAa/6I,IAAK6oM,EAAW,EAE/Fh3K,OAAA,OAAKrxB,UAAW0pB,GAAM+rE,YAAYx0F,SAAA,CAC7B0I,EACD0f,MAAA,QAAMrpB,UAAW0pB,GAAM2W,SAASp/B,SAAEqnM,EAAgB,CAAQ,GACzDrnM,CAAQ,EACR,CAAC,EACL,CAEb,ECvDMsnM,IAAkEA,CAAC,CACrEpuG,gBACAlD,kBACAtL,WACA88B,WACA+/E,0BAA0BA,IAAM,CACpC,UAEQr/K,WAAA,CAAAloB,gBACKosC,GAAU,CACPrtC,UAAW0pB,GAAM++K,cACjB7yK,wBAAyB4yK,EAAwBvxG,EAAgB1/F,EAAE,EAAE0J,UACrEowB,OAAA,OAAKrxB,UAAW0pB,GAAMg/K,iBAAiBznM,SAAA,CACnCooB,MAACmpB,EAAW,CACRxyC,UAAW0pB,GAAMi/K,SACjBj/J,iBAAkBhgB,GAAMopB,YACxBL,cACK3iB,GAAmB,CAChB9vB,UAAU,gCACVyO,GAAI0rF,EAAclD,CAAe,EAAEh2F,SAClCg2F,EAAgBttF,KACA,EACxB1I,eACA6uB,GAAmB,CAAC9vB,UAAU,gCAAgCyO,GAAI0rF,EAAclD,CAAe,EAAEh2F,eAC7FmnM,GAA+B,CAACnvG,UAAWhC,EAAgBgC,UAAY,EACvD,EACZ,EACb5vE,MAACmpB,EAAW,CACRxyC,UAAW0pB,GAAM0hB,KACjB1B,iBAAkBhgB,GAAMopB,YACxBL,cAASxhB,EAAA,CAAA15B,GAAA,YAAuB,EAAE0J,eACjCgwB,EAAK,CAAC15B,GAAI,uBAAuB0/F,EAAgBvmG,OAAS,EAClD,EACb24B,MAACmpB,EAAW,CACRxyC,UAAW0pB,GAAM0hB,KACjB1B,iBAAkBhgB,GAAMopB,YACxBL,cAASxhB,EAAA,CAAA15B,GAAA,cAAyB,EAAE0J,SACnCg2F,EAAgBye,WACR,EACbrsF,MAACmpB,EAAW,CAACxyC,UAAW0pB,GAAM0hB,KAAM1B,iBAAkBhgB,GAAMopB,YAAaL,cAASxhB,EAAA,CAAA15B,GAAA,QAAmB,EAAE0J,SAClGg2F,EAAgB98C,MACR,EAEb9wB,MAAC65H,GAA0B,CAACv3D,WAAoB88B,WAAoBxxB,kBAAmC,CAAC,EACvG,EACL5tE,MAACytB,GAAQ,CAACz9C,KAAM49F,EAAgBE,YAAc,CAAC,EACvC,EACd,EAIVyxG,IAAevpM,EAAMs0B,KAAK40K,GAAuB,kSC1C3CM,IAAgDA,CAAC,CAAE9yG,QAAO,IAAM,CAClE,KAAM,CAACr9F,EAAQqxE,CAAS,EAAItxD,WAAS,EAAK,EAEpCqwL,EAAoB/yG,EAAOn8F,UAAcouC,EAAE+gK,eAAiBtlM,GAAiB0rG,IAAI,EAEvF,cACIhmF,WAAA,CAAAloB,SAAA,CACK80F,EAAOjiG,IACJu1B,SAAChqB,EAAM6yB,SAAQ,CAAAjxB,SACVlH,EAAMgvM,eAAiBtlM,GAAiB0rG,aACrChmF,WAAA,CAAAloB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAMuyJ,OAAOh7K,eACzB,KAAGovB,KAAM,WAAWt2B,EAAMmS,QAAQjL,SAAElH,EAAMmS,MAAS,EAClD,EACLmd,MAAA,OAAKrpB,UAAW0pB,GAAMuyJ,OAAOh7K,eACzB,KAAGovB,KAAM,QAAQt2B,EAAMgX,cAAc9P,SAAElH,EAAMgX,YAAe,EAC3D,CAAC,EACR,CATW,KAAGhX,EAAMuU,UAAUvU,EAAMu9C,UAW9B,CACnB,EAEAwxJ,EAAkB33M,OAAS,GACxBkgC,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAAC4F,EAAM,CAACjvB,UAAW0pB,GAAMs/K,aAAcptL,QAASA,IAAMmuD,EAAU,EAAI,EAAG9+C,MAAM,OAAMhqB,eAC/EgwB,EAAA,CAAA15B,GAAA,oBAA+B,EAC3B,EACR8xB,MAAC8wH,GAAuB,CACpBxpH,SAAUA,IAAM,KAChBolE,OAAQ+yG,EACRrjL,QAASA,IAAMskD,EAAU,EAAK,EAC9Br5C,KAAMh4B,EACT,CAAC,EACJ,CACL,EACH,CAEV,EAEMuwM,IAAsEA,CAAC,CACzE9uG,gBACAlD,kBACAtL,WACA88B,WACA+/E,0BAA0BA,IAAM,CACpC,IAAM,CACF,KAAM,CAACU,EAAQC,CAAS,EAAI1wL,WAAS,CAAC,EAEtC,aACI0Q,WAAA,CAAAloB,gBACKosC,GAAU,CAACrtC,UAAW0pB,GAAM0hB,KAAMxV,wBAAyB4yK,EAAwBvxG,EAAgB1/F,EAAE,EAAE0J,UACpGowB,OAAA,OAAKrxB,UAAW0pB,GAAMg/K,iBAAiBznM,SAAA,CACnCooB,MAACmpB,EAAW,CACRpV,MAAM,MACNqV,cACK3iB,GAAmB,CAChB9vB,UAAWY,EAAW8oB,GAAMc,OAAQ,+BAA+B,EACnE/b,GAAI0rF,EAAclD,CAAe,EAAEh2F,SAClCg2F,EAAgBttF,KACA,EACxB1I,gBACD,OAAAA,SAAA,CACIooB,MAACyG,GAAmB,CAChB9vB,UAAU,gCACVyO,GAAI0rF,EAAclD,CAAe,EAAEh2F,eAClCmnM,GAA+B,CAC5BnvG,UAAWhC,EAAgBgC,UAC3BovG,SAAWxrM,GAAMssM,GAAUtsM,iBAAGusM,cAAe,CAAC,EACjD,EACgB,EACrB//K,MAAA,OAAKrqB,MAAO,CAAE,WAAYkqM,EAAS,IAAK,EAAUlpM,UAAW0pB,GAAM2/K,cAAcpoM,eAC5E4nM,IAAc,CAAC9yG,OAAQkB,EAAgBgC,UAAUp4E,MAAQ,EACzD,CAAC,EACL,EACI,EACbwI,MAACmpB,EAAW,CAACpV,MAAM,MAAMqV,cAASxhB,EAAA,CAAA15B,GAAA,YAAuB,EAAE0J,eACtDgwB,EAAK,CAAC15B,GAAI,uBAAuB0/F,EAAgBvmG,OAAS,EAClD,EACb24B,MAACmpB,EAAW,CAACpV,MAAM,MAAMqV,cAASxhB,EAAA,CAAA15B,GAAA,cAAyB,EAAE0J,SACxDg2F,EAAgBye,WACR,EACbrsF,MAACmpB,EAAW,CAACpV,MAAM,MAAMqV,cAASxhB,EAAA,CAAA15B,GAAA,QAAmB,EAAE0J,SAClDg2F,EAAgB98C,MACR,EACb9wB,MAACmpB,EAAW,CAACpV,MAAM,MAAMqV,cAASxhB,EAAA,CAAA15B,GAAA,YAAuB,EAAE0J,eACtD2pJ,GAA2B,CAACz/I,UAAW8rF,EAAgB9rF,UAAY,EAC3D,EACbke,MAACmpB,EAAW,CAAC3b,MAAK,GAAA51B,eACbiiJ,GAA0B,CACvBjsD,kBACAtL,WACA88B,WACH,EACQ,CAAC,EACb,EACLp/F,MAACsqB,GAAO,CAAA1yC,eACH61C,GAAQ,CAACz9C,KAAM49F,EAAgBE,YAAc,EACzC,CAAC,EACF,EACd,CAEV,EAEAmyG,IAAejqM,EAAMs0B,KAAKs1K,GAA2B,ECpH/CM,GAA0DA,CAAC,CAC7DzxD,mBACA0xD,WAAWC,GAAwBC,WACnC,GAAGnqM,CACP,IAAM,CACF,MAAM+3B,EAAYkyK,IAAaC,GAAwBE,SAAWV,IAA8BV,IAEhG,aACIp/K,WAAA,CAAAloB,SACK62I,EAAiBhkJ,IAAKmjG,SAClB3/D,EAAS,CAA0B2/D,kBAAiC,GAAK13F,GAA1D03F,EAAgB1/F,EAAiD,CACpF,EACH,CAEV,ECjBYkyM,kBAAuB,CAAvBA,SAAuB,wBAAvBA,EAAuB,oBAAvBA,CAAuB,0MCqB7BG,GAAgFA,CAAC,CACnFhyM,YACA49G,yBAEA/vF,UACAqnC,SACAp8B,MACJ,IAAM,CACF,KAAM,CAACsP,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAACyzK,CAAkB,EAAI1wK,EAAc,IAAMwwK,GAAsBp0L,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAC9F,CAACunI,EAAsB0qE,EAA2BC,CAAuB,EAAIvvL,GAEzE,IAAI,EAERuyB,EAAa,SAAY,CAC3Bg9J,EAAwB,IAAI,EAGAA,EADxBt0F,EACwB,MAAMwpB,GAAwBxpB,CAAsB,EAEpD,CAAE7rG,KAAM,GAAI/R,YAAW4gD,oBAAqB,KAFS,CAGjF,EAGEpnB,EAAoBA,IAAM,CAC5BjzB,EAAesnB,CAAO,GAGpB0L,EAAoB,MAAOt0B,GAAM,CACnCA,EAAEirB,eAAe,EACjBmY,EAAU,EAAI,EACV,IACM/qC,QAAS,MAAMmqI,GAAmCF,CAAqB,EAC7EhhI,EAAe2uD,EAAQ53D,CAAM,EAC7BiJ,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,GAGE8pK,EAAwD7d,iBAAoBp4L,IAAa6pM,IAAA,CAC3FhrK,MAAOgrK,EAAGh0L,KACVnZ,MAAOmtM,EAAGpmM,EACZ,IACEwyM,GACAA,EAA0BloI,QAAQ,CAC9BlvC,YAAO1B,EAAA,CAAA15B,GAAA,OAAkB,EACzB/G,MAAO,KACV,EAGL,MAAMsvE,EAAgBA,IACd,CAACq/D,GAAwB,CAAC+sD,EACnB7iK,MAAC+a,EAAgB,EAAE,SAI1B,OAAKpkC,UAAU,iBAAgBiB,UAC3BooB,MAAA,OAAKrpB,UAAU,iBAAgBiB,gBAC3B,SAAAA,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAClB8xB,MAAC5pB,GAAe,CACZM,SAAU,GACVrP,KAAK,OACLsP,UAAU,eACVF,YAAa4kB,EAAAwW,QAAM,EACnB1qC,MAAO2uI,EAAqBx1H,KAC5B3I,YAAiB6oM,EAA0B,CAAElgM,KAAM9M,EAAEgf,OAAOrrB,MAAO,EACtE,CAAC,EACC,EACN,EACL64B,MAAA,OAAKrpB,UAAU,iBAAgBiB,SAC1B8oM,GACG14K,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,qBAAgC,EAChC8xB,MAACwsB,GAAM,CACH71C,UAAU,wBACV3M,QAAS02M,EACTz1J,aAAcy1J,EAA0B,CAAC,EACzC/oM,YAAsB6oM,EAA0B,CAAErxJ,oBAAqBrI,EAAE3/C,MAAO,EAChFA,MAAOu5M,EAA0BlkM,QACrB83L,EAAGntM,QAAU2uI,EAAqB3mF,mBAC9C,EACH,CAAC,EACC,EAEV,EACLnvB,MAAA,OAAKrpB,UAAU,eAAciB,SACzBooB,MAACwX,GAAmB,IACnB,CAAC,EACL,EAIb,aACKzb,EAAK,CAACzb,KAAK,kBAAkBjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,OAAQsnB,EAAW7rC,gBACrFk/B,GAAc,CAACC,SAAUjP,EAAkBlwB,SAAA,CACxCooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,SAClCu0G,EACGnsF,MAAA4H,EAAA,CAAA15B,GAAA,8BAAyC,EAEzC8xB,MAAA4H,EAAA,CAAA15B,GAAA,wBAAmC,EAE9B,EACb8xB,MAACoB,EAAS,CAAAxpB,SAAE6+D,EAAc,EAAa,EACvCzuC,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASgjB,EAAQ9R,SAAU,CAACixG,EAAqBl+H,SAClFu0G,EAAyBnsF,MAAA4H,EAAA,CAAA15B,GAAA,SAAoB,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,SAAoB,EAClE,CAAC,EACA,CAAC,EACF,EACb,CAEf,EChIO,MAAMyyM,EAA6B,CACtC,OAAO32J,OAAsC,CAClC,OACHkhE,OAAQ,CAAE,EACV92C,OAAQ,CAAE,EACV+2C,YAAa,CAAE,EACfn7G,KAAM,CAAE,EACRw5G,WAAY,GACZk7E,WAAY,MACZr5E,YAAa,CAAE,EACfC,iBAAkB,MAE1B,CACJ,CCNA,MAAMs1F,IAAwC,CAC1C,CAAE1yM,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,OAAQoS,WAAMsnB,EAAA,CAAA15B,GAAA,OAAkB,CAAE,EACxC,CAAEA,GAAI,SAAUoS,WAAMsnB,EAAA,CAAA15B,GAAA,SAAoB,CAAE,CAAC,EAQ3C2yM,IAAqD,CACvD,CAAE3yM,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,MAAOoS,WAAMsnB,EAAA,CAAA15B,GAAA,MAAiB,CAAE,EACtC,CAAEA,GAAI,KAAMoS,WAAMsnB,EAAA,CAAA15B,GAAA,KAAgB,CAAE,CAAC,EAWnC4yM,GAA4EA,CAAC,CAC/EvwM,SACAy6G,iBACAl5F,WACJ,IAAM,CACF,MAAMvjB,EAAY0kB,EAAazlB,GAAkBA,EAAMD,OAAOT,cAAeoB,EAAE,EACzE,CAACmB,EAAQqxE,CAAS,EAAItxD,WAAS,EAAK,EACpC,CAACipD,CAAU,EAAIlmD,EAAc,IAAM/N,GAAsC7V,CAAS,EAAG,GAAI,IAAI,EAC7F,CAACuT,CAAS,EAAIqQ,EAAc,IAAM7Q,GAAoB/S,CAAS,EAAG,GAAI,IAAI,EAC1EuhJ,EAAiB5mC,GAAoB34G,EAAQowM,GAA6B32J,KAAK,EAErF,cACIlqB,WAAA,CAAAloB,SAAA,CACIooB,MAACspF,GAAa,CACVE,WAAYj5G,EAAOi5G,WACnBC,sBAA2BuB,EAAe,CAAE,GAAGz6G,EAAQi5G,WAAY1iE,EAAG,EACtEh1B,YACAy3F,cAAeA,IAAM7oC,EAAW55B,GAAM,CAACA,CAAC,EACxCxa,SAAUwjH,EACb,EACD9vH,MAACsqF,GAAY,CACTluF,QAASA,IAAMskD,EAAU,EAAK,EAC9BlqD,QAASA,IAAMw0F,EAAe21F,GAA6B32J,OAAO,EAClEyJ,UAAWpkD,EAAOuI,SACjBygE,GACGrwC,OAAAlI,WAAA,CAAAloB,SAAA,CACIooB,MAAC2qF,GAAc,CACXrhF,YAAO1B,EAAA,CAAA15B,GAAA,QAAmB,EAC1BuI,YAAa4kB,EAAAwW,aAAW,EACxBnkC,KAAM2qE,EAAW6yC,OAAOzgH,IAAYqoE,IAAA,CAAE5kE,GAAI4kE,EAAGxyD,KAAMwyD,GAAI,EACvD3rE,MAAOoJ,EAAO26G,OACdvzG,YAAiBqzG,EAAe,CAAE,GAAGz6G,EAAQ26G,OAAQpkE,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EAC5E,EAED8xB,MAAC2qF,GAAc,CACXrhF,YAAO1B,EAAA,CAAA15B,GAAA,eAA0B,EACjCuI,YAAa4kB,EAAAwW,mBAAiB,EAC9BnkC,KAAM2qE,EAAW8yC,YAAY1gH,IAAYqoE,IAAA,CAAE5kE,GAAI4kE,EAAGxyD,KAAMwyD,GAAI,EAC5D3rE,MAAOoJ,EAAO46G,YACdxzG,YAAiBqzG,EAAe,CAAE,GAAGz6G,EAAQ46G,YAAarkE,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EACjF,EAED8xB,MAAC2qF,GAAc,CACXrhF,YAAO1B,EAAA,CAAA15B,GAAA,cAAyB,EAChCuI,YAAa4kB,EAAAwW,mBAAiB,EAC9BnkC,KAAM2qE,EAAWjE,OAAO3pE,IAAYqoE,IAAA,CAAE5kE,GAAI4kE,EAAE5kE,GAAIoS,KAAMwyD,EAAExyD,MAAO,EAC/DnZ,MAAOoJ,EAAO6jE,OACdz8D,YAAiBqzG,EAAe,CAAE,GAAGz6G,EAAQ6jE,OAAQttB,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EAC5E,EACD8xB,MAAA,SAAOrpB,UAAU,eAAciB,eAC3BgwB,EAAA,CAAA15B,GAAA,OAAkB,EACf,EACP8xB,MAAC8qB,GAAQ,CACL3jD,MAAOoJ,EAAOP,KACdyG,YAAa4kB,EAAAwW,QAAM,EACnBkZ,gBAAwBigE,EAAe,CAAE,GAAGz6G,EAAQP,KAAMA,EAAKvF,IAAKqhD,GAAMA,EAAE59C,EAAE,EAAG,EACjFg9C,UAAW,GACX38C,YACH,EACDyxB,MAACumI,GAAoB,CACjBj9H,YAAO1B,EAAA,CAAA15B,GAAA,cAAyB,EAChCuI,YAAa4kB,EAAAwW,eAAa,EAC1BnkC,KAAMkzM,IACNz5M,MAAOoJ,EAAOm0L,WACd/sL,YAAkBqzG,EAAe,CAAE,GAAGz6G,EAAQm0L,WAAY7rH,EAAG3qE,GAAI,EACpE,EACD8xB,MAAC2qF,GAAc,CACXrhF,YAAO1B,EAAA,CAAA15B,GAAA,YAAuB,EAC9BuI,kBAAamxB,EAAA,CAAA15B,GAAA,eAA0B,EACvCR,MAAMoU,iBAAWrX,IAAYC,IAAA,CAAEwD,GAAIxD,EAAEwD,GAAIoS,KAAM5V,EAAE4V,IAAK,MAAO,CAAG,EAChEnZ,MAAOoJ,EAAO86G,YACd1zG,YAAiBqzG,EAAe,CAAE,GAAGz6G,EAAQ86G,YAAavkE,EAAEr8C,IAAKC,GAAMA,EAAEwD,EAAE,EAAG,EACjF,EACD8xB,MAACumI,GAAoB,CACjBj9H,YAAO1B,EAAA,CAAA15B,GAAA,qBAAgC,EACvCuI,kBAAamxB,EAAA,CAAA15B,GAAA,qBAAgC,EAC7CR,KAAMmzM,IACN15M,MAAOoJ,EAAO+6G,iBACd3zG,YAAkBqzG,EAAe,CAAE,GAAGz6G,EAAQ+6G,iBAAkBzyC,EAAG3qE,GAAI,EAC1E,EAEAqC,EAAO+6G,kBAAoB/6G,EAAO86G,mBAC9BjrE,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,6JAAA28C,WAAA,CAAA7N,EACIhd,MAA2B,YAAC,EAEzB,EACH,CACX,EACH,EAEI,CAAC,EACjB,CAEV,EC1HO,SAAS+gL,IAA0F,CACtG,MAAMpxM,EAAiBsjB,EAAazlB,GAAkBA,EAAM2D,OAAOhC,gBAAgBR,QAAQ,EAErFqyM,EAAsBznL,UAAQ,KACV5pB,GAAkB,IACnBgqB,OAAO,CAACC,EAAK1iB,IAAY,CACtC,IAACA,EAAQmG,kBACFuc,SAGX,MAAMzyB,EAAwByyB,EAAI1iB,EAAQmG,iBAAiB,GAAK,CAC5Dqc,cAAe,EACfF,eAAgB,EAChB+2E,gBAAiB,MAGf0wG,EAAc/pM,EAAQq5F,gBAAkBt2C,GAAa/iD,EAAQq5F,eAAe,EAAI,KAChFh4E,EAA2B,CAC7BmB,cAAevyB,EAAMuyB,eAAiBxiB,EAAQsiB,eAAiB,EAAI,EAAI,GACvEA,eAAgBryB,EAAMqyB,eAAiBtiB,EAAQsiB,gBAAkB,EACjE+2E,gBAAiB0wG,GAAeA,EAAc95M,EAAMopG,gBAAkB0wG,EAAc95M,EAAMopG,iBAI1Fr5F,WAAQmG,iBAAiB,EAAIkb,EAC1BqB,CACX,EAAG,CAAE,GACN,CAACjqB,CAAc,CAAC,EAEbsH,EAAS4X,cAA2CmyL,KAAoB3jM,CAAiB,EAAG,CAAC2jM,CAAmB,CAAC,EAEhH,OAACA,EAAqB/pM,CAAM,CACvC,CCXA,MAAMiqM,IAA8E/yK,GAAA,CAChF,OAAQA,EAAM,CACV,IAAK,OACM,SACX,IAAK,SACM,SACX,QACW,WACf,CACJ,EAQMgzK,IAA0CA,CAAC,CAAErrE,uBAAsBxzC,WAAU88B,UAAS,IAAM,CAC9F,KAAM,CAAC+uC,EAAgBC,CAAiB,EAAIh/I,WAAS,EAAK,EAEpDqzE,EAAe,SAAY,CACzB,IACMwzC,SAAYH,EAAqB5nI,EAAE,EACzC4G,EAAewtF,EAAUwzC,CAAoB,QACxCtiI,GACDA,KAAE26B,SAAW,IACH0N,cAAMjU,EAAA,CAAA15B,GAAA,wEAAoF,EAAC,MAE/FsF,QAEd,GAGEg7J,EAAoD4yC,GAAA,CACtDtsM,EAAesqH,EAAU,IAAIvnH,GAAYi+H,EAAsBsrE,CAAO,CAAC,GAG3E,cACK18J,GAAM,CAAC/tC,UAAW0pB,GAAMq2C,YAAa/xB,gBAAiBtkB,GAAMqnB,OAAO9vC,UAC/Dk+H,EAAqBx1H,YACrBy2G,GAAuB,CAACxmF,UAAU,4BAA2B34B,SAAA,CAC1DowB,OAACpC,EAAM,CAAChE,MAAM,WAAW1oB,KAAK,QAAQqZ,QAASA,IAAM67I,EAAkB,EAAI,EAAEx2J,UACzEooB,MAAA,QAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,kBAA6B,EAC3B,EACN8xB,MAACc,EAAe,CAACC,KAAMilC,GAAQzgC,WAAU,GAAE,CAAC,EACxC,EAERvF,MAACugL,GAA8B,CAC3Bl5K,KAAM8mI,EACN5/J,UAAWunI,EAAqBvnI,UAChC49G,uBAAwB2pB,EAAqB5nI,GAC7CkuB,QAASA,IAAMgyI,EAAkB,EAAK,EACtC3qG,OAAQ+qG,EACX,EAEDxuI,MAAC8I,GAAmB,CAChBZ,UAAWu6D,EACXt6D,kBAAaP,EAAA,CAAA15B,GAAA,oBAA+B,EAC5Ck6B,iBACIR,EAAA,CAAA15B,GAAA,4LAAA28C,WAAA,CAAA7N,EAEIhd,MAAA,OAAK,EAACwpC,EACNxpC,MAAA,MAIG,EAAC4pD,EAFA5pD,MAAyD,YAAC,EAG3D,EAEX2H,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvC0zB,MAAM,WACN1oB,KAAK,QACL6nB,KAAMwiE,GAAW3rF,eACjBgwB,EAAA,CAAA15B,GAAA,SAAoB,EACH,CAAC,EACD,CAAC,EACtB,CAEhB,EAIMmzM,IAAkEA,IAAM,CAC1E,MAAMpgM,EAAUgS,EAA+BzlB,KAAMD,OAAOT,aAAc,EACpEyB,EAAY0S,EAAQ/S,GACpB,CAACqC,EAAQq7G,CAAS,EAAI7zF,GAA4C4oL,GAA6B32J,OAAO,EACtG8lG,EAAiB5mC,GAAoB34G,EAAQowM,GAA6B32J,KAAK,EAE/E,CAACykG,GAAoB6yD,CAAsB,EAAInvL,EACjD,IACI+6E,GAA4C3+F,EAAW,CACnD28G,OAAQ36G,EAAO26G,OACfC,YAAa56G,EAAO46G,YACpBsuC,OAAQlpJ,EAAOP,KACf8/K,SAAUv/K,EAAO6jE,OACjBo1C,WAAYj5G,EAAOi5G,WACnB+3F,KAAML,IAAoB3wM,EAAOm0L,UAAU,EAC3Cr5E,YAAa96G,EAAO86G,YACpBC,iBAAkB/6G,EAAO+6G,mBAAqB,MAAQ/6G,EAAO+6G,mBAAqB,MAAQ,IAC7F,GACL,CAAC/6G,EAAQhC,CAAS,EAClB,IACJ,EAEM,CAACmgJ,GAAyB8yD,CAA2B,EAAIrvL,EAC3D,IAAMyjH,GAAoCrnI,CAAS,EACnD,CAACA,CAAS,EACV,IACJ,EAEMkzM,EAA8BloL,UAAQ,IACnCm1H,EAIEvgJ,GAAQugJ,EAA8BhkJ,KAAE4V,KAAM,KAAK,EAH/C,KAIZ,CAACouI,CAAqB,CAAC,EAGpB,CAAC58H,EAAWC,CAAY,EAAI3C,WAAS,EAAK,EAC1C,CAACsyL,EAAuBC,CAAwB,EAAIvyL,WAAS,EAAK,EAClE,CAACwyL,EAAsBC,CAAuB,EAAIzyL,WAAS,EAAK,EAEtEL,YAAU,IAAM,CACZgD,EAAa,EAAI,GAClB,CAACxhB,CAAM,CAAC,EAEXwe,YAAU,IAAM,CACZgD,EAAa,EAAK,GACnB,CAAC08H,CAAgB,CAAC,EAErB,MAAMqzD,EAAyBA,IACvB,CAACrzD,GAAoB,CAACgzD,EACfzhL,MAAC+a,EAAgB,EAAE,EAG1B0zG,EAAiB3mJ,SAAW,GAAK25M,EAA4B35M,SAAW,QAEnE2gD,GAAa,CAAA7wC,eACVgwB,EAAA,CAAA15B,GAAA,WAAsB,EACX,SAKnB,OAAA0J,SACKmqM,GAEAN,IAA4Bh3M,IAAeu3M,KAA2B75G,CAAK,CAAC,CAAC,EAC7E,EAGP85G,EAAoBA,IAAM,CACAT,IACLF,GAAA,EAGrBY,EAAoBA,IAAM,CACAV,GAAA,EAG1BW,EAAmBtzL,cAAY,IAAM,CAChByyL,GAAA,EACxB,CAACA,CAAsB,CAAC,EAErB7+G,EAAe5zE,cAAY,IAAM,CACZyyL,GAAA,EACxB,CAACA,CAAsB,CAAC,EAErB,CAAEnB,YAAanrL,GAAiD,EAChEkwI,EAAgBtsI,KAEhB,CAAGwpL,EAAiB,EAAIrB,KACxBsB,EAAwBhlM,GAA8B+kM,mBAAkB/kM,CAAiB,IAAnC+kM,cAAsC1oL,gBAAiB,GAE7Go3E,EAAgBjiF,cAAa8jG,GAAO,sBAAsBA,EAAGzkH,KAAM,EAAE,EACrEo0M,EAAwDvpG,SAErDmnG,GAAmB,CAChB59G,SAAUG,EACV28B,SAAU+iF,EACV1zD,iBAAkB11C,EAClBjI,gBACAqvG,WACAhB,wBAAyBkD,EAC5B,EAIHL,EAA6ElsE,GAAA,CAC/E,MAAMysE,EAA2B9zD,EAAkBl+I,UAC1Bq9F,EAAgBue,yBAA2B2pB,EAAqB5nI,EACzF,EACIq0M,SAAyBz6M,SAAW,GAAKgoJ,EAClC,WAGNlpG,GAAe,CAAAhvC,gBACZ,OAAKjB,UAAW0pB,GAAMy1G,qBAAqBl+H,SAAA,CACvCooB,MAACmhL,IAAW,CACRrrE,uBACAxzC,SAAU2/G,EACV7iF,SAAU8iF,EACb,EAEAI,EAAeC,CAAwB,CAAC,EACxC,GATazsE,EAAqB5nI,EAU1B,GAInB6zM,EAAmCA,IAAM,CAC3C,MAAMQ,EAA2B9zD,EAAkBl+I,OAC1Bq9F,GAAA,CAACA,EAAgBue,sBAC1C,EAEIo2F,SAAyBz6M,SAAW,EAC7B,WAIN8+C,GAAe,CAAAhvC,gBACZ,OAAKjB,UAAW0pB,GAAMy1G,qBAAqBl+H,SAAA,CACvCooB,MAAC0kB,GAAM,CAACC,gBAAiBtkB,GAAMqnB,OAAQ/wC,UAAW0pB,GAAMq2C,YAAY9+D,eAChEgwB,EAAA,CAAA15B,GAAA,aAAwB,EACpB,EAEPo0M,EAAeC,CAAwB,CAAC,EACxC,EACQ,GAIzB,cACIziL,WAAA,CAAAloB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SAAA,CACNowB,OAAC2E,GAAa,CAAA/0B,SACVooB,CAAC2M,SAAcG,aAAY,CACvB1nB,GAAI8/I,EAAc,CAAEi7C,SAAUC,GAAwBC,WAAY,EAClE/zK,SAAU6zK,IAAaC,GAAwBC,WAAWzoM,eAC1DgwB,EAAA,CAAA15B,GAAA,kBAA6B,EACL,EAE3By+B,SAAcG,aAAY,CACvB1nB,GAAI8/I,EAAc,CAAEi7C,SAAUC,GAAwBE,SAAU,EAChEh0K,SAAU6zK,IAAaC,GAAwBE,SAAS1oM,eACxDgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACH,CAAC,EAClB,EAEd0/B,UAAUL,MAAK,CAAA31B,SAAA,CACZowB,OAAC+uF,GAAuB,CAACxmF,UAAU,4BAA2B34B,SAAA,CAC1DooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWb,KAAMk6E,GAAQ1oF,QAASA,IAAMsvL,EAAwB,EAAI,EAAEjqM,eAChFgwB,EAAA,CAAA15B,GAAA,kBAA6B,EACzB,EAER8xB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASA,IAAMovL,EAAyB,EAAI,EAAG5gL,KAAMk6E,GAAOrjG,eACjFgwB,EAAA,CAAA15B,GAAA,mBAA8B,EAC1B,EAER8xB,MAACkH,GAAkB,CACftF,MAAM,WACNxc,GAAI,aAAa7W,6BACjBwyB,KAAMyhL,GAAY5qM,eAClBgwB,EAAA,CAAA15B,GAAA,eAA0B,EACV,EAEpB8xB,MAACugL,GAA8B,CAC3Bl5K,KAAMq6K,EACNnzM,YACA6tB,QAASA,IAAMulL,EAAyB,EAAK,EAC7Cl+I,OAAQy+I,EACX,EACDliL,MAAC43H,GAAmB,CAChBvwH,KAAMu6K,EACNxrD,WAAYA,IAAMyrD,EAAwB,EAAK,EAC/CxkM,kBAAmB,KACnBomD,OAAQ0+I,EACX,CAAC,EAOmB,EAEzBniL,MAAC+2F,GAAuB,CAACxmF,UAAU,kBAAiB34B,eAC/CsvB,GAAkB,CAACtF,MAAM,WAAWxc,GAAI,aAAanE,EAAQ/S,mBAAoB6yB,KAAMwT,GAAO38B,eAC3FgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACX,EACC,EAEzB8xB,MAACmH,GAAkB,CAACvF,MAAM,WAAWoF,KAAMxjB,GAAajV,CAAS,EAAGwyB,KAAMiuJ,GAAap3K,eACnFgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACX,EAEpB8xB,MAAC8gL,GAA4B,CAAChvL,YAAsBvhB,SAAgBy6G,eAAgBY,EAAY,CAAC,EACpF,CAAC,EACX,EAEVk2F,GAAwB,EAC3B,CAEV,ECpUMZ,IAA8E/yK,GAAA,CAChF,OAAQA,EAAM,CACV,IAAK,OACM,SACX,IAAK,SACM,SACX,QACW,WACf,CACJ,EAIMs0K,IAAiEA,IAAM,CAEzE,MAAMl0M,EADU0kB,EAA+BzlB,KAAMD,OAAOT,aAAc,EAChDoB,GACpB,CAACqC,EAAQq7G,CAAS,EAAI7zF,GAA4C4oL,GAA6B32J,OAAO,EACtG,CAACykG,GAAoB6yD,CAAsB,EAAInvL,EACjD,IACI+6E,GAA4C3+F,EAAW,CACnD28G,OAAQ36G,EAAO26G,OACfC,YAAa56G,EAAO46G,YACpBsuC,OAAQlpJ,EAAOP,KACf8/K,SAAUv/K,EAAO6jE,OACjBo1C,WAAYj5G,EAAOi5G,WACnB+3F,KAAML,IAAoB3wM,EAAOm0L,UAAU,CAC9C,GACL,CAACn0L,EAAQhC,CAAS,EAClB,IACJ,EAEM,CAACujB,EAAWC,CAAY,EAAI3C,WAAS,EAAK,EAEhDL,YAAU,IAAM,CACZgD,EAAa,EAAI,GAClB,CAACxhB,CAAM,CAAC,EAEXwe,YAAU,IAAM,CACZgD,EAAa,EAAK,GACnB,CAAC08H,CAAgB,CAAC,EAEf0zD,QAAmBtzL,cAAY,IAAM,CAChByyL,GAAA,EACxB,CAACA,CAAsB,CAAC,EAErB7+G,EAAe5zE,cAAY,IAAM,CACZyyL,GAAA,EACxB,CAACA,CAAsB,CAAC,EAErB,CAAEnB,YAAanrL,GAAiD,EAChEkwI,EAAgBtsI,KAEhB,CAAGwpL,EAAiB,EAAIrB,KACxBsB,EAAwBhlM,GAA8B+kM,mBAAkB/kM,CAAiB,IAAnC+kM,cAAsC1oL,gBAAiB,GAE7Go3E,EAAgBjiF,cAAa8jG,GAAO,sBAAsBA,EAAGzkH,KAAM,EAAE,EAE3E,GAAI,CAACugJ,EACMzuH,aAAC+a,EAAgB,EAAE,EAG9B,MAAM8xE,EAAcA,IAAM,CACtB,MAAMm0C,EAAc7yJ,GAChBsgJ,EACA,CACe2zD,uBAAkB/iJ,EAAKnxD,EAAE,IAAzBk0M,cAA4B1oL,gBAAiB,GAAK,MACnD0oL,mBAAkB/iJ,EAAKnxD,EAAE,IAAzBk0M,cAA4B7xG,kBAAmB,IAAI1lG,KAAK,KAAM,EAAG,CAAC,GAC5E,MAAM,EAEV,CAAC,OAAQ,OAAQ,KAAK,CAC1B,EAEIm2J,SAAYl5J,SAAW,QAElB2gD,GAAa,CAAA7wC,eACVgwB,EAAA,CAAA15B,GAAA,WAAsB,EACX,QAKlBgyM,GAAmB,CAChB59G,SAAUG,EACV28B,SAAU+iF,EACV1zD,iBAAkBuS,EAClBlwD,gBACAqvG,WACAhB,wBAAyBkD,EAC5B,GAIT,cACIviL,WAAA,CAAAloB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SAAA,CACNowB,OAAC2E,GAAa,CAAA/0B,SACVooB,CAAC2M,SAAcG,aAAY,CACvB1nB,GAAI8/I,EAAc,CAAEi7C,SAAUC,GAAwBC,WAAY,EAClE/zK,SAAU6zK,IAAaC,GAAwBC,WAAWzoM,eAC1DgwB,EAAA,CAAA15B,GAAA,kBAA6B,EACL,EAE3By+B,SAAcG,aAAY,CACvB1nB,GAAI8/I,EAAc,CAAEi7C,SAAUC,GAAwBE,SAAU,EAChEh0K,SAAU6zK,IAAaC,GAAwBE,SAAS1oM,eACxDgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACH,CAAC,EAClB,EAEd0/B,SAAUL,MAAK,CAAA31B,eACXkpM,GAA4B,CAAChvL,YAAsBvhB,SAAgBy6G,eAAgBY,EAAY,EACnF,CAAC,EACX,EAEViB,GAAa,EAChB,CAEV,EC7HY61F,kBAAmB,CAAnBA,SAAmB,UAAnBA,EAAmB,gCAAnBA,EAAmB,oBAAnBA,CAAmB,MAU/B,MAAMC,GAAkEA,CAAC,CAAEl/H,MAAMi/H,GAAoBt7C,GAAI,IAAM,CACrGw7C,QAAchqL,GAChB,+FACJ,EAEMY,EAAiBC,KAEvB,cACIqG,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAO,SAAI,EAEnC7J,OAACi5C,GAAI,CAACC,YAAauC,EAAI7rE,SAAA,CACnBooB,MAAC8gD,GAAO,CAAC5yE,GAAIw0M,GAAoBt7C,IAAKhiJ,GAAIw9L,EAAY,CAAEn/H,IAAKlyE,OAAW,EAAG+O,WAAMsnB,EAAA,CAAA15B,GAAA,YAAuB,EAAE0J,SACtGooB,MAACqhL,IAAyB,IACrB,EAETrhL,MAAC8gD,GAAO,CACJ5yE,GAAIw0M,GAAoBG,cACxBz9L,GAAIw9L,EAAY,CAAEn/H,IAAKi/H,GAAoBG,cAAe,EAC1DviM,WAAMsnB,EAAA,CAAA15B,GAAA,kBAA6B,EACnCq+B,wBAAyB/S,EAAe9qB,MAAQ8qB,EAAe3e,GAAkB4Q,OAAO,EAAE7T,SAC1FooB,MAACyiL,IAAwB,IACpB,CAAC,EACR,CAAC,EACT,CAEV,ECXMK,GAAuC,CAAE7hM,QAAS,2BAA4B,EAC9E8hM,IAAwC,CAAE9hM,QAAS,iBAAkB,EAErE+hM,IAA2C,CAAE/hM,QAAS,oBAAqB,EAC3EoiK,GAAiC,CAAEpiK,QAAS,iBAAkB,EAI9DgiM,IAAqCA,CAAC,CAAEpqL,OAAM,IAAM,CAChD,MAAEtqB,aAAcymB,GAAiC,EACjDloB,EAAgBmmB,EAA+BzlB,KAAMD,OAAOT,aAAa,EACzE22K,EAAsBntE,GAAoBX,GAAmB+tE,yBAA0B,CAACn1K,CAAS,EACjGoX,EAAWmO,KAEX81C,EAAW52C,KAEXkwL,EAAgBltL,aAAW8hB,EAAa,EAC9C/oB,YAAU,KACNm0L,EAAcjrK,YAAc,GAErB,IAAM,CACTirK,EAAcjrK,YAAc,KAEjC,CAAE,GAELlpB,YAAU,IAAM,EACRjiB,iBAAeoB,MAAO,CAACK,GACJoX,KAAU,CAACpX,CAAS,CAE5C,GAACzB,EAAeyB,EAAWoX,CAAQ,CAAC,EAEvC,MAAM49J,EAAU1qJ,EAAM/sB,KAItB,MAAI,CAACgB,IAAiBA,iBAAeoB,MAAO,CAACK,EAClCyxB,MAAC+a,EAAgB,EAAE,SAIzBsmE,GAAM,CAAAzpG,SAAA,CACF9K,EAAcmE,YAAYkyM,wBACtB/8K,GAAQ,CAAC6uE,MAAK,GAACnpG,KAAM,GAAGy3K,IAAWn+J,GAAI,GAAGm+J,cAAsB,EAGpE,CAACz2K,EAAcmE,YAAYkyM,wBACvB/8K,GAAQ,CAAC6uE,MAAK,GAACnpG,KAAM,GAAGy3K,IAAWn+J,GAAI,GAAGm+J,sBAA8B,EAG7EvjJ,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,oBAA2BltJ,UAAWwmL,GAAiB,EACjF78K,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,uBACTltJ,UAAWwmL,GACXlsK,WAAYqyK,IACf,EACDhjL,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,iCAAwCltJ,UAAWwmL,GAAiB,EAC9F78K,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,sBAA6BltJ,UAAWwmL,GAAgBlsK,WAAY0yI,GAAY,EAC1GrjJ,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,gBAAuBltJ,UAAWwmL,GAAgBlsK,WAAY0yI,GAAY,EACpGrjJ,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,yBAAgCltJ,UAAWwmL,GAAiB,EACtF78K,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,sBAA6BltJ,UAAWwmL,GAAgBlsK,WAAY0yI,GAAY,EAC1GrjJ,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,uBAA8BltJ,UAAWwmL,GAAgBlsK,WAAY0yI,GAAY,EAC3GrjJ,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,iBAAwBltJ,UAAWwmL,GAAgBlsK,WAAY0yI,GAAY,EACrGrjJ,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,iBAAwBltJ,UAAWsoL,IAAwB,EACrF3+K,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,cAAqBltJ,UAAW4nL,IAAwB,EAElFj+K,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,iBAAwBltJ,UAAWitK,GAAmB,EAKhFtjK,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,6BACTltJ,UAAW0yI,GACXp4H,WAAYmyK,GACf,EAED9iL,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,kBAAyBltJ,UAAW6wF,GAAiBv2E,WAAYoyK,IAAmB,EAG9G/iL,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,gCAAuCltJ,UAAWgqK,IAAiB,EAC7FrgK,MAACoG,GAAQ,CAAC6uE,MAAK,GAACnpG,KAAM,GAAGy3K,YAAmBn+J,GAAI,GAAGm+J,qBAA6B,EAGhFvjJ,MAACoG,GAAQ,CAAC6uE,MAAK,GAACnpG,KAAM,GAAGy3K,sBAA6Bn+J,GAAI,GAAGm+J,iCAAyC,EACtGvjJ,MAACoG,GAAQ,CACL6uE,MAAK,GACLnpG,KAAM,GAAGy3K,sCACTn+J,GAAI,GAAGm+J,iDACV,EACDvjJ,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,sDACTltJ,UAAWssL,GACX/xK,WAAY,CAAE6yC,IAAKi/H,GAAoBt7C,GAAI,EAC9C,EAEDpnI,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,sEACTltJ,UAAWssL,GACX/xK,WAAY,CAAE6yC,IAAKi/H,GAAoBG,aAAc,EACxD,EAED7iL,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,oCACTltJ,UAAWssL,GACX/xK,WAAY,CAAE6yC,IAAKi/H,GAAoB77B,QAAS,EACnD,EAQD7mJ,MAACwQ,EAAS,CACN1kC,KAAM,GAAGy3K,iDACTltJ,UAAWyqF,GACXnwE,WAAYmyK,GACf,EAED9iL,MAACoG,GAAQ,CACL6uE,MAAK,GACLnpG,KAAM,GAAGy3K,yCACTn+J,GAAI,GAAGm+J,mDACV,EAEA35G,GACG5pC,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,4DACTltJ,UAAW4wJ,GACd,EAGLjnJ,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,wIACTltJ,UAAWyxI,GACd,EAGAl+F,GAAY5pC,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,iBAAwBltJ,UAAW0wJ,GAA6B,EACvG/mJ,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,kBAAyBltJ,UAAWywJ,GAAe,EAU7E9mJ,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,gDAAuDltJ,UAAW+pK,IAAa,EACzGpgK,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,oBAA2BltJ,UAAW6lK,IAAmB,EAEnFl8J,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,aAAoBltJ,UAAWuhF,GAAW,EACpE53E,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,yEACTltJ,UAAWuhF,GACd,EACD53E,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,wBAA+BltJ,UAAWyzJ,GAAU,EAG9E9pJ,MAACoG,GAAQ,CACL6uE,MAAK,GACLnpG,KAAM,GAAGy3K,8BACTn+J,GAAI,GAAGm+J,sCACV,EACDvjJ,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,8DACTltJ,UAAWmyJ,GACX53I,WAAY,CAAEwgE,MAAO,OAAQ,EAChC,EACDpxE,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,mFACTltJ,UAAWmyJ,GACX53I,WAAY,CAAEwgE,MAAO,UAAW,EACnC,EACDpxE,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,0EACTltJ,UAAWmyJ,GACX53I,WAAY,CAAEwgE,MAAO,MAAO,EAC/B,EAGDpxE,MAACoG,GAAQ,CAAC6uE,MAAK,GAACnpG,KAAM,GAAGy3K,kBAAyBn+J,GAAI,GAAGm+J,0BAAkC,EAC3FvjJ,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,kDACTltJ,UAAWmtJ,GACX5yI,WAAY,CAAEwgE,MAAO,OAAQ,EAChC,EACDpxE,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,+CACTltJ,UAAWmtJ,GACX5yI,WAAY,CAAEwgE,MAAO,QAAS,EACjC,EACDpxE,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,0BACTltJ,UAAWmtJ,GACX5yI,WAAY,CAAEwgE,MAAO,UAAW,EACnC,EACAqyE,GACGzjJ,MAACwQ,EACG,CACA1kC,KAAM,GAAGy3K,yBACTltJ,UAAWmtJ,GACX5yI,WAAY,CAAEwgE,MAAO,cAAe,CAAE,SAG7C5gE,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,qDACTltJ,UAAWmtJ,GACX5yI,WAAY,CAAEwgE,MAAO,MAAO,EAC/B,EAGDpxE,MAACoG,GAAQ,CACL6uE,MAAK,GACLnpG,KAAM,GAAGy3K,4CACTn+J,GAAI,GAAGm+J,uBACV,EACDvjJ,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,2EACTltJ,UAAWqxJ,GACX92I,WAAY,CAAE+2I,QAAS,EAAK,EAC/B,EACD3nJ,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,+EACTltJ,UAAWqxJ,GACX92I,WAAY,CAAE+2I,QAAS,EAAM,EAChC,EAGD3nJ,MAACoG,GAAQ,CAAC6uE,MAAK,GAACnpG,KAAM,GAAGy3K,qBAA4Bn+J,GAAI,GAAGm+J,0BAAkC,EAC9FvjJ,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,2BACTltJ,UAAWswJ,GACX/1I,WAAY,CAAE6yC,IAAKijG,GAAsBjwC,QAAS,EACrD,EAEDz2G,MAACoG,GAAQ,CAAC6uE,MAAK,GAACnpG,KAAM,GAAGy3K,kBAAyBn+J,GAAI,GAAGm+J,6BAAqC,EAC9FvjJ,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,wBACTltJ,UAAWswJ,GACX/1I,WAAY,CAAE6yC,IAAKijG,GAAsBE,KAAM,EAClD,EAED5mJ,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,kBAAwBt5K,OAAOmE,OAAOs4K,EAAqB,EAAEn8K,KAAK,GAAG,WAC9E8rB,UAAWswJ,GACd,EAKD3mJ,MAACiR,GAAK,CAAC5a,UAAW4Z,GAAW,CAAC,EAC1B,CAEhB,EAEepB,OAAWo0K,GAAc,EC9SjC,MAAMG,YAAsB1sH,EAAW,CAI1Cz+E,YAAYkF,EAAmB5O,EAAmB,CAC9C,MAAM6X,IAAwB,EAC9B,KAAK+wE,WAAah6E,EAClB,KAAKkmM,WAAa90M,EAElB,KAAKhE,KAAK,CACd,CAEAusF,aAAc,CACV,KAAKvsF,KAAK,CACd,CAEAA,MAAO,CACH,OAAO,KAAKosF,WAAWnwE,OAAO,aAAc,KAAK2wE,WAAY,KAAKksH,UAAU,CAChF,CAOU9sL,WAAWjY,EAAgBrL,EAA6B,CACxDsjB,iBAAWjY,EAAQrL,CAAO,CACpC,CAEAqwM,qCAAqCrwM,EAA4C,CACxEsjB,gBAAW,6BAAmDpnB,GAAA,CAC/D8D,EAAQ9D,CAAe,EAC1B,CACL,CAEAo0M,8CAA8CtwM,EAAqD,CAC1FsjB,gBAAW,sCAA4DpnB,GAAA,CACxE8D,EAAQ9D,CAAe,EAC1B,CACL,CACJ,CCnCA,MAAMq0M,IAAgDA,IAAM,CACxD,MAAM79L,EAAWmO,KACX,CAAEjnB,gBAAeC,iBAAkBmmB,EAAgCzlB,IAAA,CACrEX,cAAeW,EAAMD,OAAOV,cAC5BC,cAAeU,EAAMD,OAAOT,aAC9B,IAEFiiB,mBAAU,IAAM,CACZ,GAAIliB,GAAiBC,EAAe,CAChC,MAAM4qF,EAAU,IAAI0rH,IAAcv2M,EAAcqB,GAAIpB,EAAcoB,EAAE,EAEpEwpF,SAAQ4rH,qCAA+C51M,GAAA,CACnDse,GAAuBrG,EAAUjY,CAAI,EACxC,EAEDgqF,EAAQ6rH,8CAAwD71M,GAAA,CAC5Due,GAAgCtG,EAAUjY,CAAI,EACjD,EAEM,UAAmB,CACtBgqF,EAAQzxE,QAAQ,GAGzB,GAACpZ,EAAeC,EAAe6Y,CAAQ,CAAC,EAE3CoJ,YAAU,IAAM,CACZ,GAAIliB,GAAiBC,EAAe,CAC1B4qF,QAAU,IAAI+rH,GAAkBp9L,KAA4BxZ,EAAcqB,GAAIpB,EAAcoB,EAAE,EAEpGwpF,SAAQgsH,uBAAiCh2M,GAAA,CACrCwe,GAA2BvG,EAAUjY,CAAI,EAC5C,EAEM,UAAmB,CACtBgqF,EAAQzxE,QAAQ,GAGzB,GAACpZ,EAAeC,EAAe6Y,CAAQ,CAAC,EAEpC,IACX,yYCtCMg+L,IAAU,CACZ,CACIC,KAAM,KACNC,eAAgBA,IAAM1nM,GAAA,WAAO,yBAAqC,KACtE,EACA,CACIynM,KAAM,KACNC,eAAgBA,IAAM1nM,GAAA,WAAO,yBAAqC,KACtE,EACA,CACIynM,KAAM,KACNC,eAAgBA,IAAM1nM,GAAA,WAAO,yBAAqC,KACtE,EACA,CACIynM,KAAM,KACNC,eAAgBA,IAAM1nM,GAAA,WAAO,yBAAqC,KACtE,CAAC,EAGQ2nM,IAA8BF,GAAA,OACjCG,SAAMJ,MAAQnnM,KAAM9R,GAAMA,EAAEk5M,OAASA,CAAI,IAAnCD,cAAsCE,iBAClD,GAAI,CAACE,EAAK,MAAMtnM,MAAM,wBAAwB,EACvCsnM,QACX,EAMaC,IAAgFA,CAAC,CAAE30M,SAAQ2sB,QAAO,IAAM,CAC3G,MAACf,CAAW,EAAIpH,KAEhB,CAACy9B,EAAI2yJ,CAAK,EAAI70L,WAAwB,IAAI,EAChDL,mBAAU,IAAM,CACZ,GAAIkM,WAAapf,aAAc,CAC3B,eAAeqoM,GAAS,CACpB,MAAMC,GAAY,MAAML,IAAU7oL,EAAapf,YAAY,GAAGwtH,QAC9D46E,EAAME,CAAQ,CAClB,CACOD,IACX,EACD,CAACjpL,iBAAapf,YAAY,CAAC,SAEzBkgB,GAAK,CAAC7iB,KAAK,KAAK8iB,SAAgB3sB,SAAeuI,SAAA,CAC5CooB,MAACoB,GAAS,CAAAxpB,SAAG05C,EAA4BtxB,MAAC0pD,GAAe,CAACC,SAAUr4B,EAAI36C,UAAW0pB,GAAM+jL,aAAe,EAAtFpkL,MAAC+a,EAAgB,EAAE,CAAmE,CAAa,EACrH/S,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,GAAM,CAACrT,QAASyJ,EAAQ4F,MAAM,WAAUhqB,eACrCgwB,EAAA,CAAA15B,GAAA,QAAmB,EACf,EACR8xB,MAACmH,GAAkB,CAACH,KAAK,4BAA4BpF,MAAM,UAAShqB,eAChEgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACX,CAAC,EACZ,CAAC,EACX,CAEf,ECnEA,eAAsBm2M,KAAwD,CASnEthM,OARG,MAAMlP,GACZ,wBACA,CACIyK,OAAQ,MACRlK,KAAM,IAEVlC,GACJ,GAAEuC,KAAmBtB,KAASiB,MAAM,CAExC,CCEA,MAAMkwM,IAAY,CACd,CACIV,KAAM,KACNC,eAAgBA,WAAM,OAAO,kCAAuD,KACxF,EACA,CACID,KAAM,KACNC,eAAgBA,WAAM,OAAO,kCAAuD,KACxF,EACA,CACID,KAAM,KACNC,eAAgBA,WAAM,OAAO,kCAAuD,KACxF,EACA,CACID,KAAM,KACNC,eAAgBA,WAAM,OAAO,kCAAuD,KACxF,CAAC,EAGQU,IAAgCX,GAAA,OACnCG,SAAMO,MAAU9nM,KAAM9R,GAAMA,EAAEk5M,OAASA,CAAI,IAArCU,cAAwCT,iBACpD,GAAI,CAACE,EAAK,MAAMtnM,MAAM,wBAAwB,EACvCsnM,QACX,EAMaS,IAA8FA,CAAC,CACxGn1M,SACA2sB,QACJ,IAAM,CACI,MAACf,CAAW,EAAIpH,KAEhB,CAACy9B,EAAI2yJ,CAAK,EAAI70L,WAAwB,IAAI,EAChDL,mBAAU,IAAM,CACZ,GAAIkM,WAAapf,aAAc,CAC3B,eAAeqoM,GAAS,CACpB,MAAMC,GAAY,MAAMI,IAAYtpL,EAAapf,YAAY,GAAGwtH,QAChE46E,EAAME,CAAQ,CAClB,CACOD,IACX,EACD,CAACjpL,iBAAapf,YAAY,CAAC,SAEzBkgB,GAAK,CAAC7iB,KAAK,KAAK8iB,SAAgB3sB,SAAeuI,SAAA,CAC5CooB,MAACoB,GAAS,CAAAxpB,SACJ05C,EAA4BtxB,MAAC0pD,GAAe,CAACC,SAAUr4B,EAAI36C,UAAW0pB,GAAM+jL,aAAe,EAAtFpkL,MAAC+a,EAAgB,EAAE,CAAmE,CACtF,EACX/S,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,GAAM,CAACrT,QAASyJ,EAAQ4F,MAAM,WAAUhqB,eACrCgwB,EAAA,CAAA15B,GAAA,QAAmB,EACf,EACR8xB,MAACmH,GAAkB,CAACH,KAAK,2BAA2BpF,MAAM,UAAShqB,eAC/DgwB,EAAA,CAAA15B,GAAA,mBAA8B,EACd,CAAC,EACZ,CAAC,EACX,CAEf,EClEau2M,GAAsCA,CAAC,CAAClyL,SAAO,UAEnDmyL,GAAa,CAACnyL,UAAkB5b,UAAW0pB,GAAMskL,cAAe5jL,KAAM6jL,GAAQhtM,eAC3EgwB,EAAA,CAAA15B,GAAA,MAAiB,EACN,ECyBjB22M,IAAyBA,CAACn3M,EAA8Bo3M,KACnD,CACH,CAACzpM,GAAWmR,gBAAgB,EAAG,CAC3Bu4L,UAAWr3M,EAAK8B,KAAM9E,GAAMA,EAAEs6M,YAAYtpM,SAASL,GAAWmR,gBAAgB,CAAC,EAC/Ey4L,WAAYv3M,EAAK8B,KACZ9E,GAAMA,EAAE6D,YAAcu2M,GAAoBp6M,EAAEs6M,YAAYtpM,SAASL,GAAWmR,gBAAgB,CACjG,CACJ,EACA,CAACnR,GAAW+9B,WAAW,EAAG,CACtB2rK,UAAWr3M,EAAK8B,KAAM9E,GAAMA,EAAEs6M,YAAYtpM,SAASL,GAAW+9B,WAAW,CAAC,EAC1E6rK,WAAYv3M,EAAK8B,KAAM9E,GAAMA,EAAE6D,YAAcu2M,GAAoBp6M,EAAEs6M,YAAYtpM,SAASL,GAAW+9B,WAAW,CAAC,CACnH,EACA,CAAC/9B,GAAWi+B,iBAAiB,EAAG,CAC5ByrK,UAAWr3M,EAAK8B,KAAM9E,GAAMA,EAAEs6M,YAAYtpM,SAASL,GAAWi+B,iBAAiB,CAAC,EAChF2rK,WAAYv3M,EAAK8B,KACZ9E,GAAMA,EAAE6D,YAAcu2M,GAAoBp6M,EAAEs6M,YAAYtpM,SAASL,GAAWi+B,iBAAiB,CAClG,CACJ,IAcF4rK,GAAwEA,CAAC,CAC3EttM,WACAmpB,OACAs3E,cACA1hG,YACAyO,KACA+/L,aACAtgL,WAAW,EACf,IAAM,CACF,MAAM/3B,EAAgBmmB,EAA+BzlB,KAAMD,OAAOT,aAAa,EACzEyB,EAAYzB,iBAAeoB,GAE3Bk3M,EAA8CC,GACzC,aAAa92M,IAAY82M,IAE9BxsL,EAAQC,IAAcqsL,iBAAY16M,IAAKC,GAAM06M,EAAkB16M,CAAC,KAAM06M,EAAkBhgM,CAAE,CAAC,EAG7F4a,aAACs4E,GAAKl2D,KAAI,CACNzrC,YACA+pB,SAAU,EACV63E,GAAIzyE,GACJ1gB,GAAIggM,EAAkBhgM,CAAE,EACxB2b,OACAyL,OAAQ,CAAC,CAAC3T,EACVgM,WACAwzE,cAAyBzgG,WAElB,CAEnB,EAIM0tM,IAAyDvlL,GAAA,eAC3D,MAAMlzB,EAAgBomB,EAA+BzlB,KAAMD,OAAOV,aAAa,EACzEC,EAAgBmmB,EAA+BzlB,KAAMD,OAAOT,aAAa,EACzEqC,EAAkB8jB,EAA+BzlB,KAAM2D,OAAOhC,eAAe,EAC7EZ,EAAYzB,iBAAeoB,GAE3Bq3M,EAAcjvG,GAAoBX,GAAmB6vG,YAAa34M,iBAAeqB,EAAE,EACnFsrB,EAAiBC,KACjBgsL,EAA4BnvG,GAAoBX,GAAmBkD,aAActqG,CAAS,EAC1F,CAACm3M,CAAyB,EAAIvzL,EAChC,SAAa5jB,EAAY,MAAMolF,GAAUplF,CAAS,EAAI,GACtD,CAACA,CAAS,EACV,EACJ,EACM,CAACo3M,EAAyBC,CAA0B,EAAIx2L,WAAS,EAAK,EACtE,CAACy2L,EAAkBC,CAAmB,EAAI12L,WAAS,EAAK,EAExD,CAAC22L,CAAc,EAAI5zL,EAAc,IAAMkyL,MAAwB,GAAI,IAAI,EACvE2B,EAAsBD,EAAiBlB,IAAuBkB,EAAgBx3M,CAAS,EAAI,KAE3FqqG,GACF9rG,iBAAemE,YAAYwuC,mBAAoBgmK,GAA6BC,GAE1EO,GAAiBp5M,iBAAeoE,YAAYi1M,mBAAoBX,EAEhEY,EACFr5M,IACCA,EAAcmE,YAAYwuC,iBACvB3yC,EAAcmE,YAAYkyM,kBAC1Br2M,EAAcmE,YAAYm1M,oBAC1Bt5M,EAAcmE,YAAYo1M,kBAElC,cACIvmL,WAAA,CAAAloB,SAAA,CACIowB,OAACswE,GAAI,CAAA1gG,SACDowB,CAACswE,UAAK3pC,QAAO,CAACtnE,KAAK,UAASuQ,SACxBooB,CAACs4E,SAAKl2D,KAAI,CAACkkK,WAAU,GAACvlL,KAAMC,GAAQppB,gBAChC,OACIjC,MAAO,CACH6wC,QAAS,OACT+/J,eAAgB,gBAChBxyK,MAAO,OACPs9C,WAAY,QAChB,EAAEz5E,SAAA,CACFooB,MAAA4H,EAAA,CAAA15B,GAAA,QAAmB,EACnB8xB,MAACqT,GAAI,CAAC18B,UAAW0pB,GAAMmmL,UAAWhzK,UAAW,GAAOD,KAAK,UAAUjzB,KAAK,WAAY,CAAC,EACpF,EACE,EACVg4F,UAAKl2D,KAAI,CAACm2D,GAAIzyE,GAAY1gB,GAAG,YAAYlM,KAAK,QAAOtB,SACjDrJ,GACGyxB,MAACsV,GAAW,CACR/mC,YACAkmC,MAAM,SACNL,SAAU,GACVz9B,UAAWY,EAAW8oB,GAAMomL,WAAW,EACvCjyK,qBAAiBnB,GAAI,CAAC/yB,KAAK,OAAO3J,UAAW0pB,GAAMqmL,aAAe,EACrE,EAED1mL,MAACqT,GAAI,CAAC/yB,KAAK,OAAO3J,UAAWY,EAAW8oB,GAAM6S,IAAI,EAAI,EAGzDpmC,iBAAewT,IAAI,EACb,EACVg4F,UAAKquG,UAAS,CAACn6K,OAAM,GAAA50B,SAClBooB,CAACs4E,SAAKl2D,KAAI,CACNrhB,KAAMumG,GAEN1vH,eAEAgwB,EAAA,CAAA15B,GAAA,oBAA+B,EACxB,EACVoqG,SAAKl2D,KAAI,CAACh9B,GAAG,YAAYmzF,GAAIzyE,GAAY5sB,KAAK,QAAQ0rB,aAAc,IAAK7D,KAAM6lL,GAAShvM,eACrFgwB,EAAA,CAAA15B,GAAA,eAA0B,EACnB,CAAC,EACA,EACf83M,GACGh+K,OAAAlI,WAAA,CAAAloB,SACKouM,GAAoB3qM,GAAW+9B,WAAW,EAAE2rK,WACxCzsG,SAAKl2D,KAAI,CACNm2D,GAAG,IACHvxE,KAAM,KAAK95B,OAAOiF,WAAWknC,mBACzB2sK,EAAoB3qM,GAAW+9B,WAAW,EAAE6rK,WAAa12M,EAAY,aAEzEwyB,KAAM8lL,GAASjvM,eACfgwB,EAAA,CAAA15B,GAAA,cAAyB,EAClB,EAEd83M,EAAoB3qM,GAAWi+B,iBAAiB,EAAEyrK,WAC9CzsG,SAAKl2D,KAAI,CACNm2D,GAAG,IACHvxE,KAAM,KAAK95B,OAAOiF,WAAWonC,0BACzBysK,EAAoB3qM,GAAWi+B,iBAAiB,EAAE2rK,WAAa12M,EAAY,aAE/EwyB,KAAM+lL,GAAWlvM,eACjBgwB,EAAA,CAAA15B,GAAA,qBAAgC,EACzB,CACd,EACH,CACL,EACS,EACboqG,SAAK3pC,QAAO,CAACtnE,KAAK,UAASuQ,SACvB9K,GACGk7B,OAAAlI,WAAA,CAAAloB,SACKuuM,IACGnmL,MAACklL,GAA0B,CACvB9/L,GAAI,aACJ2b,KAAMgmL,GACN1uG,YAAa7+E,EAAe3e,GAAkB4Q,OAAO,EACrD05L,WAAY,CACR,aACA,gBACA,YACA,SACA,eACA,kBACA,eACA,eAAe,EACjBvtM,eACFgwB,EAAA,CAAA15B,GAAA,UAAqB,EACG,EAGhC8xB,MAACklL,GAA0B,CACvB9/L,GAAI,qBACJ2b,KAAMo2E,GACNkB,YAAa7+E,EAAe9qB,MAAQ8qB,EAAe3e,GAAkB4Q,OAAO,EAAE7T,eAC9EgwB,EAAA,CAAA15B,GAAA,QAAmB,EACK,EAC5B8xB,MAACklL,GAA0B,CACvB9/L,GAAI,YACJ2b,KAAM42E,GACNU,YAAa7+E,EAAe9qB,MAAMkJ,eAClCgwB,EAAA,CAAA15B,GAAA,WAAsB,EACE,EAC5B8xB,MAACklL,GAA0B,CACvB9/L,GAAI,aACJ+/L,WAAY,CAAC,aAAc,oBAAoB,EAC/CpkL,KAAM02E,GACNY,eACKlpG,IAAgBX,QAAhBW,cAAuBwkE,YAAa,MAAMxkE,IAAgBX,QAAhBW,cAAuB04K,mBAAoB,GACzFjwK,eACDgwB,EAAA,CAAA15B,GAAA,YAAuB,EACC,EAC5B8xB,MAACklL,GAA0B,CACvB9/L,GAAI,WACJ2b,KAAMspG,GACNhyB,aAAalpG,IAAgBX,QAAhBW,cAAuBsgI,aAAa73H,eACjDgwB,EAAA,CAAA15B,GAAA,UAAqB,EACG,EAC5B8xB,MAACklL,GAA0B,CACvB9/L,GAAI,WACJ2b,KAAMy2E,GACNa,aACKlpG,EAAgBV,eAAeC,MAAQS,EAAgBV,eAAeC,MAAQ,GAC/E8qB,EAAe3e,GAAkByQ,aAAa,EACjD1T,eACDgwB,EAAA,CAAA15B,GAAA,UAAqB,EACG,EAC5B8xB,MAACklL,GAA0B,CACvBvuM,UAAW0pB,GAAM2mL,uBACjB5hM,GAAI,uBACJ2b,KAAMikC,GACNqzC,eACKlpG,IAAgBX,QAAhBW,cAAuBmwJ,qBAAsB,GAC9C9lI,EAAe3e,GAAkB2Q,iBAAiB,EACrD5T,eACDgwB,EAAA,CAAA15B,GAAA,aAAwB,EACA,EAC5B8xB,MAACklL,GAA0B,CACvB9/L,GAAI,UACJ2b,KAAMkzC,GACNokC,aAAalpG,IAAgBX,QAAhBW,cAAuBy0H,OAAOhsH,eAC3CgwB,EAAA,CAAA15B,GAAA,SAAoB,EACI,EAC3B0qG,GACG54E,MAACklL,GAA0B,CAAC9/L,GAAI,qBAAsB2b,KAAM82E,GAAYjgG,eACpEgwB,EAAA,CAAA15B,GAAA,WAAsB,EACE,CAC/B,EACH,EAEI,EACd8xB,MAACs4E,GAAKuC,OAAQ,IACbvC,UAAK3pC,QAAO,CAACtnE,KAAK,YAAWuQ,SAC1BowB,CAACswE,UAAKl2D,KAAI,CAACvd,SAAQ,GAAC0zE,GAAG,OAAOx3E,KAAMkmL,GAAkBtwM,UAAW0pB,GAAM6mL,cAActvM,SAAA,CACjFooB,MAAA4H,EAAA,CAAA15B,GAAA,mBAA8B,EAC9B8xB,MAACykL,GAAS,CAAClyL,QAASA,IAAMqzL,EAA2B,EAAI,EAAI,CAAC,EACvD,EAEX5lL,MAAC+2F,GAAuB,CAACxmF,UAAW,kBAAkB34B,SACjDquM,EACI3tG,SAAKl2D,KAAI,CAACm2D,GAAIzyE,GAAY1gB,GAAI,WAAY2b,KAAMs2E,GAAWz/F,eACxDgwB,EAAA,CAAA15B,GAAA,WAAsB,EACf,EAEVoqG,UAAKl2D,KAAI,CAACvd,SAAQ,GAAC0zE,GAAG,OAAOx3E,KAAMs2E,GAAY1gG,UAAW0pB,GAAM6mL,cAActvM,SAAA,CAC3EooB,MAAA4H,EAAA,CAAA15B,GAAA,WAAsB,EACtB8xB,MAACykL,GAAS,CAAClyL,QAASA,IAAMuzL,EAAoB,EAAI,EAAI,CAAC,EAChD,EAEM,EACxBxtG,SAAKl2D,KAAI,CAACm2D,GAAIzyE,GAAY1gB,GAAI,WAAY2b,KAAMomL,GAAYvvM,eACzDgwB,EAAA,CAAA15B,GAAA,WAAsB,EACf,CAAC,EACF,CAAC,EACb,EACN8xB,MAACgkL,IAA2B,CAAC30M,OAAQw2M,EAAkB7pL,OAAQA,IAAM8pL,EAAoB,EAAK,EAAI,EAClG9lL,MAACwkL,IAAkC,CAC/Bn1M,OAAQs2M,EACR3pL,OAAQA,IAAM4pL,EAA2B,EAAK,EACjD,CAAC,EACJ,CAEV,EC1TgBwB,YAAiBj/G,EAAiCk/G,EAAoD,CAClH,OAAOxzM,EAAQ,oBAAqB,CAChCyK,OAAQ,OACRlK,KAAM,GACNR,KAAM,CACFu0F,QACAk/G,YACJ,EACH,EAAE5yM,KAAY/J,KAAE0J,KAAM,EAC3B,CAsBO,SAASkzM,IAAiB55M,EAA+B,CACrDmG,SAAQ,qBAAqBnG,EAAK44H,eAAgB,CACrDhoH,OAAQ,OACRlK,KAAM,GACNR,KAAMlG,EACT,CACL,CASO,SAAS65M,IAAoBv9M,EAA8D,CAC9F,OAAO6J,EAAQ,oBAAqB,CAChCf,MAAO9I,EACV,EAAEyK,KAAY/J,KAAE0J,KAAM,EAC3B,CAUO,SAASozM,IAAgBlhF,EAAwC,CAC7DzyH,SAAQ,qBAAqByyH,GAAS,EAAE7xH,KAAY/J,KAAE0J,KAAM,EACvE,CAUO,SAASqzM,IAAmBnhF,EAAiB,CACzCzyH,SAAQ,qBAAqByyH,IAAW,CAC3ChoH,OAAQ,SACX,CACL,CACO,SAASopM,IAAiBv/G,EAAqB,CAClD,OAAOt0F,EAAQ,qBAAsB,CACjCyK,OAAQ,MACRlK,KAAM,GACNR,KAAM,CACFu0F,OACJ,EACH,CACL,CAEO,SAASw/G,IAAoBrhF,EAAqC,CAC9DzyH,SAAQ,qBAAqByyH,qBAA2B,EAAE7xH,KAAY/J,KAAE0J,KAAM,EACzF,CCjFA,MAAMwzM,IAAiCA,CAAC,CAAEC,iBAAgB1gN,QAAOwQ,UAAS,IAAM,CACtE,MAAC0rG,CAAQ,EAAIlxF,EAAc,IAAMw1L,IAAoBE,CAAc,EAAG,CAACA,CAAc,EAAG,IAAI,EAG5FC,GADOzkG,GAAsB,IACL54G,IAAYs1C,IAAA,CACtCzW,MAAOyW,EAAEz/B,KACTnZ,MAAO44C,EAAE7xC,EACX,IACF,aACKs+C,GAAM,CACHh2C,gBAAWoxB,EAAA,CAAA15B,GAAA,UAAqB,EAChCwI,SAAQ,GACR1M,QAAS89M,EACTnwM,SAAWo1F,GAAYp1F,EAASo1F,EAAG5lG,KAAK,EACxCA,MAAO2gN,EAAetrM,QAAaurM,EAAG5gN,QAAUA,CAAK,GAAK,KAC1DsP,YAAa4kB,EAAAwW,EAAgB,kBAChC,CAET,ECrBMqE,QAA8C,IAC9C7P,QAAsC,IAgBtC2hL,IAA4BA,CAAC,CAC/Bl8C,WACAiB,WACAk7C,mBACAC,sBACA/jM,kBACA5V,WACJ,IAAM,CACF,KAAM,CAACyV,EAAemkM,CAAgB,EAAI/4L,WAA+B,IAAI,EAE7EL,mBAAU,IAAM,EACc,SAAY,CAC9BxgB,OAAc,MAAQ4V,IAAoB,KAAM,CAC1CwnL,SAAU,MAAM9nL,GAAkBtV,CAAS,GAAGiO,KAAM9R,GAAMA,EAAEwD,KAAOiW,CAAe,EACvEwnL,KAAkB,IAAI,EAC3C,IAGc,EACnB,CAACp9L,EAAW4V,CAAe,CAAC,QAG3B,OAAAvM,SACKk0J,EAASrhK,IAAI,CAACs1C,EAAG5iB,IACd6C,MAAChqB,EAAM6yB,SAAQ,CAAAjxB,eACVgzH,GAA6B,CAC1BviI,KAAM03C,EACNmhB,MAAOnhB,EAAEmhB,MACT2pE,cAAgB1jI,GAAU4lK,EAAShtH,EAAE7xC,GAAI/G,CAAK,EAC9C65D,UAAWinJ,IAAqBloK,EAAE7xC,GAClC48H,gBAA+B31H,KAAU+yM,EAAoBnoK,EAAE7xC,EAAE,EAAI,KACrE06H,aAAc,GACd5kH,gBACH,GATgB+7B,EAAE7xC,EAUP,CACnB,EACA,CAEb,EAEeo4B,OAAQD,IAAiB6P,GAAkB,EAAE8xK,GAAQ,ECpD9DI,IAAyCA,UAItCrsL,EAAK,CAACzb,KAAK,wBAAwBjR,OAAQ,GAAKuI,gBAC5CwpB,EAAS,CAACzqB,UAAW0pB,GAAMgoL,YAAYzwM,SAAA,CACpCooB,MAACc,EAAe,CAACnrB,MAAO,CAAEo+B,MAAO,QAAiBD,OAAQ,OAAgB,EAAG/S,KAAM0mD,GAAgB,EACnGznD,MAAA,KAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,iFAA4F,EAC7F,EACH8xB,MAAC+F,GAAI,CAAC3gB,GAAG,kBAAiBxN,eACrBguB,EAAM,CAAChE,MAAM,UAAShqB,eACnBgwB,EAAA,CAAA15B,GAAA,yBAAoC,EAChC,EACN,CAAC,EACA,EACR,ECfTo6M,IAAkCA,CAAC,CAAEhoM,OAAMioM,eAAc18K,cAAa28K,qBAAoB,WASxF,OAAA5wM,SAAA,CACIooB,MAACogB,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,kFAAA28C,WAAA,CAAA7N,EACIhd,MAA2B,YAAC,EACzB,EACH,EAERgI,OAAA,OAAKrxB,UAAU,iBAAgBiB,UAC3BowB,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,cAA0B,GAC1B8xB,MAAC5pB,GACG,CACAI,gBAAWoxB,EAAA,CAAA15B,GAAA,QAAmB,EAC9BwI,SAAQ,GACRC,UAAU,eACVxP,MAAOmZ,EACP3I,SAAWnE,GAAM+0M,EAAa/0M,EAAEgf,OAAOrrB,KAAK,CAAE,EAChD,EACC,EACP6gC,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,cAAyB,EACzB8xB,MAACvoB,GAAQ,CACLE,SAAWnE,GAAMg1M,EAAoBh1M,EAAEgf,OAAOrrB,KAAK,EACnDA,MAAO0kC,EACPk9D,QAAS,EACTE,WAAU,GACVxyF,YAAa4kB,EAAAwW,8BAA4B,EACzCl7B,UAAU,eACb,CAAC,EACC,CAAC,CACP,GAELqpB,MAACwX,KAAmB,CAAC,EACpB,EC5CPixK,IAA8DA,CAAC,CAAEr3C,oBAAmBz5J,WAAUxQ,OAAM,IAAM,CAC5G,KAAM,CAAC24I,CAAc,EAAI3tH,EACrB,IAAOi/I,EAAoBvtJ,GAAkButJ,CAAiB,EAAIn9J,QAAQ4Y,QAAQ,EAAE,EACpF,CAACukJ,CAAiB,EAClB,IACJ,EAQA,GANAriJ,YAAU,IAAM,CACR+wH,GAAkBA,EAAeh4I,QAAU,GAAKX,IAAU,MACjD24I,IAAe,CAAC,EAAE5xI,EAAE,CAElC,GAAC4xI,EAAgB34I,EAAOwQ,CAAQ,CAAC,EAEhC,CAACmoI,EACD,aACKtzF,GAAM,CAAC70C,SAAWkhE,GAAYlhE,EAASkhE,EAAG1xE,KAAK,EAAG6C,QAAS,CAAC,CAAEs/B,YAAO1B,EAAA,CAAA15B,GAAA,UAAqB,EAAG/G,MAAO,GAAI,EAAI,EAI/G6C,QAAwE81I,EAAer1I,IAAausJ,IAAA,CACtG1tH,MAAO0tH,EAAG12I,KACVnZ,MAAO6vJ,EAAG9oJ,GACV8yD,UAAWg2F,EAAGh2F,SAChB,IAEE8+E,SAAeh4I,SAAW,EACnBk4B,MAACmgG,GAAoB,EAAE,QAI7B3zE,GAAM,CACHh2C,gBAAWoxB,EAAA,CAAA15B,GAAA,aAAwB,EACnCwI,SAAQ,GAERiB,SAAWkhE,GAAYlhE,EAASkhE,EAAG1xE,KAAK,EACxCA,MAAO6C,EAAQwS,KAAYs2D,KAAE3rE,QAAUA,CAAK,EAC5C6C,UACH,CAET,ECxBMq8B,IAAsC74B,IAAA,CACxCk7M,iBAAkBl7M,EAAMD,OAAOT,cAAgBU,EAAMD,OAAOT,cAAcoB,GAAK,KAC/Ey6M,iBAAkBn7M,EAAMD,OAAOV,cAAgBW,EAAMD,OAAOV,cAAcqB,GAAK,IACnF,GAOM06M,IAAkCA,CAAC,CAAEC,iBAAgBH,mBAAkBC,kBAAiB,IAAM,CAC1F,MAAC78C,CAAQ,EAAI35I,EAAc,IAAMk0G,GAA0BwiF,CAAc,EAAG,CAACA,CAAc,EAAG,IAAI,EAClG,CAACC,CAAY,EAAI32L,EAAc,IAAMq1L,IAAgBqB,CAAc,EAAG,CAACA,CAAc,EAAG,IAAI,EAE5F,CAACvoM,EAAM6/J,CAAO,EAAI/wJ,WAAS,EAAE,EAC7B,CAACyc,EAAak5D,CAAc,EAAI31E,WAAS,EAAE,EAE3C,CAACgiJ,EAAmB23C,CAAoB,EAAI35L,WAAwBs5L,GAAoB,IAAI,EAC5F,CAACM,EAAcC,CAAe,EAAI75L,WAAwB,IAAI,EAC9D,CAACshJ,EAAsBw4C,CAAuB,EAAI95L,WAAS,EAAK,EAGhE,CAAC+5L,EAAQC,CAAS,EAAIh6L,WAAiD,CAAE,GACzE,CAAC64L,EAAkBC,CAAmB,EAAI94L,WAAwB,IAAI,EACtE,CAAC7P,EAAY8pM,CAAa,EAAIj6L,WAAwB,IAAI,EAC1D,CAACk6L,EAAiBC,CAAkB,EAAIn6L,WAAS,EAAK,EACtD,CAACwhD,EAAoBghG,CAAqB,EAAIxiJ,WAAmB,CAAE,GACnE,CAACq8F,EAAc0qC,CAAe,EAAI/mI,WAAmC,CAAE,GACvE,CAACuzC,EAAqB6mJ,CAAsB,EAAIp6L,WAAwBu5L,CAAgB,EACxF,CAACxkM,EAAiBslM,CAAkB,EAAIr6L,WAAwB,IAAI,EACpE,CAACs6L,EAAqBC,CAAsB,EAAIv6L,WAAkC,CAAE,GAE1FL,YAAU,IAAM,CACZ,eAAe66L,IAAwB,CAC/B,IAAC99C,GAAY,CAACsF,EAAmB,CACjCu4C,EAAuB,CAAE,GACzB,OAIAA,EAAA,MAAM5iF,GACFqqC,EACAtF,EAASrhK,IAAWC,OAAEwD,EAAE,CAC5B,CACJ,CACJ,CAEsB07M,IAAA,EACvB,CAACx4C,EAAmBtF,CAAQ,CAAC,EAEhC,KAAM,CAAC9hF,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EAE9CL,YAAU,IAAM,CACR+5L,GACA3oC,EAAQ2oC,EAAaxoM,IAAI,CAC7B,EACD,CAACwoM,CAAY,CAAC,EAEjB/5L,YAAU,IAAM,CACPi6L,GACDE,EAAwB,EAAK,CACjC,EACD,CAACF,CAAY,CAAC,EAEjBj6L,YAAU,IAAM,CACZ,GAAI+8I,EAAU,CACN+9C,OAAqB/9C,EAAS,CAAC,GAAIA,EAAS,CAAC,EAAE7hC,cAAgB,EACzD6hC,IAASrhK,IAAYs1C,KAAA,CAAE7xC,GAAI6xC,GAAE7xC,GAAIgzD,OAAQnhB,GAAEkqF,cAAgB,GAAK4/E,IAAqB,CAAC,EAEhG3B,EAAoBp8C,EAAShkK,OAAS,EAAIgkK,EAAS,CAAC,EAAE59J,GAAK,IAAI,EACnE,EACD,CAAC49J,CAAQ,CAAC,EAEPg+C,QAAsBj7L,cAA0CtgB,IAAA,CAClE86M,EAAc,IAAI,EAClBz3C,EAAsB,CAAE,GACxBzb,EAAgB,CAAE,GAClB4yD,EAAqBx6M,EAAS,CAClC,EAAG,CAAE,GAELwgB,YAAU,IAAM,CACZ+6L,EAAoBpB,CAAgB,GACrC,CAACoB,EAAqBpB,CAAgB,CAAC,EAE1C35L,YAAU,IAAM,CACZy6L,EAAuBb,CAAgB,GACxC,CAACA,CAAgB,CAAC,EAErB,MAAMoB,IAAkBj+C,GAAY,IAAIrhK,IAAWs1C,IAAA,CAC/C,MAAMmhB,GAAQioJ,EAAO3sM,SAAiBwtM,GAAO97M,KAAO6xC,GAAE7xC,EAAE,EACjD,OAAEgzD,MAAOA,GAAQA,GAAMA,MAAQ,EAAG,GAAGnhB,GAAE,CACjD,EAEKgtH,GAAWA,CAAC7+J,GAAYgzD,KAAyB,CACnDkoJ,EAAUD,EAAO1+M,IAAYyD,SAAO6xC,GAAE7xC,GAAK,CAAEA,MAAIgzD,UAAUnhB,EAAE,CAAC,GAG5DtvB,GAAoBD,KACpBy5L,GAAwBz5L,KACxB05L,GAA4B15L,GAAqB,CACnD,CACIqtB,QAASA,IACE,CAAC,CAACt+B,EAEbu+B,QAASA,IAAM9d,MAAA4H,EAAA,CAAA15B,GAAA,uBAAkC,EACjD6vC,eAAgBA,IAAM/d,MAAA4H,EAAA,CAAA15B,GAAA,uBAAkC,CAC3D,EACJ,EACKi8M,GAAgB,SAAY,CAC9BlgI,EAAY,EAAI,EAEZ,IACM69H,SAAiBqB,EAAO1+M,IAAYC,KAAA,CAAEuzD,iBAAkBvzD,GAAEwD,GAAIgzD,MAAOx2D,GAAEw2D,OAAS,CAAI,IAC1F,MAAMomJ,IAAiB,CACnBhhF,QAASuiF,EACTj4I,qBACAk3I,kBACAvoM,aACAw2I,eAAgBizD,EAChB1oM,OACAwtF,YAAa2d,EACb5/E,cACA82B,oBAAqBA,IAAwB,EAAI,KAAOA,EACxDx+C,kBACA8jM,kBAAmBA,GAAoB,IAAM,EAAI,KAAOA,EACxDv3C,uBACH,EACD64C,EAAmB,EAAI,SACjB,CACNt/H,EAAY,EAAK,CACrB,GAGEqS,GAAoBztE,cAA2BozC,IAAA,CACjD2vG,EAAsB3vG,EAAS,CACnC,EAAG,CAAE,GAEL,GAAI,CAAC6mJ,EACM9oL,aAAC+a,EAAgB,EAAE,EAGxBkqK,SAAa,CAAC,CAAC7zC,EAEfg5C,GAA0BV,EAAoBj/M,IAAKC,IAAMA,GAAE4V,IAAI,EAAE/V,KAAK,IAAI,EAEhF,cACIu1B,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAA,uBAAAmL,EAAU8rK,EAAaxoM,KAAe,EAAI,EAElE0nB,OAACw+C,GAAU,CAAA5uE,SACPooB,CAACwmD,SAAWzzB,KAAI,CAACtiC,qBAAsC9I,YAAOigB,EAAA,CAAA15B,GAAA,iBAA4B,EAAE0J,gBACvFosC,GAAU,CAACrtC,UAAW0pB,GAAMgqL,SAASzyM,UAClCooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,2DAAsE,EACnE,EAEP8xB,MAAC4nL,IAAa,CACVzgN,MAAOiqK,EACPz5J,SAAUmyM,EACVjC,eAAgBiB,EAAa56M,EAChC,GAEAw7M,EAAoB5hN,OAAS,SACzBs4C,GAAM,CAAC/4C,KAAK,UAASuQ,eAClBgwB,EAAA,CAAA15B,GAAA,oiBAAAE,OAAA,CAAAg8M,0BACmD,EAAAv/J,WAAA,CAAA7N,EAE/Chd,MAAA,OAAK,EAACwpC,QAGN,MAAI7zD,MAAO,CAAEkqM,OAAQ,EAAG7V,YAAa,MAAO,EASxC,EAACpgH,EARD5pD,MAAA,OAGI,EAACijF,EACLjjF,MAGI,QAAC,EAEN,CACH,GAGZA,MAACwX,KAAmB,CAAC,EACb,EACC,EAEhBgvC,SAAWzzB,KAAI,CAACtiC,kBAAmBw5L,GAAuBtiM,YAAOigB,EAAA,CAAA15B,GAAA,qBAAgC,EAAE0J,eAC/FosC,GAAU,CAAApsC,eACN0wM,IAAc,CACXhoM,OACAurB,cACA08K,aAAcpoC,EACdqoC,oBAAqBzjH,EACxB,EACO,EACC,EAEhBve,SAAWzzB,KAAI,CAACprC,YAAOigB,EAAA,CAAA15B,GAAA,kBAA6B,EAAE0J,gBAClDosC,GAAU,CAACrtC,UAAW0pB,GAAMgqL,SAASzyM,UAClCooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,sOAIO,EACJ,EACP8xB,MAAC+vI,GAAwB,CACrBC,4BAA6Bw5C,EAC7B7mJ,sBACAp0D,UAAW6iK,EACd,CAAC,EACM,EACC,EAEhB5qF,SAAWzzB,KAAI,CAACprC,YAAOigB,EAAA,CAAA15B,GAAA,iBAA4B,EAAE0J,gBACjDosC,GAAU,CAACrtC,UAAW0pB,GAAMgqL,SAASzyM,UAClCooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,iIAGO,CACJ,GACNu9G,EAAa3jH,OAAS,SAClBs4C,GAAM,CAAC/4C,KAAK,OAAMuQ,eACfgwB,EAAA,CAAA15B,GAAA,uPAAA28C,WAAA,CAAA7N,EACIhd,MAA2B,YAAC,EAGzB,EACH,EAEZA,MAAC8qB,GAAQ,CACL3jD,MAAOskH,EACPpkH,KAAM0T,GAAeiwC,KACrBD,aAAcorG,EACd5nJ,UAAW6iK,EACd,CAAC,EACM,EACC,EAEhB5qF,SAAWzzB,KAAI,CAACprC,YAAOigB,EAAA,CAAA15B,GAAA,wBAAmC,EAAE0J,gBACxDosC,GAAU,CAACrtC,UAAW0pB,GAAMgqL,SAASzyM,SAAA,CAClCooB,MAACmxI,GAAuB,CACpBE,qBAAsB23C,EACtB53C,oBACAz5J,SAAUsxM,EACb,EAEDjpL,MAAA,OAAKrpB,UAAU,aAAYiB,eACvB,QAAAA,eACKs/B,GAAQ,CACLrS,SAAU,CAACmkL,EACX7zM,QAASu7J,EACT/4J,SAAWnE,IAAM01M,EAAwB11M,GAAEgf,OAAOrd,OAAO,EAAEyC,eAC3DgwB,EAAA,CAAA15B,GAAA,0BAAqC,EAC/B,EACR,EACL,CAAC,EACE,EACC,EAEhBs4E,SAAWzzB,KAAI,CAACuzB,YAAaniE,IAAoB,KAAMwD,YAAOigB,EAAA,CAAA15B,GAAA,oBAA+B,EAAE0J,gBAC3FosC,GAAU,CAACrtC,UAAW0pB,GAAMgqL,SAASzyM,UAClCooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,oBAA+B,EAC5B,EAEP8xB,MAACyoL,IAAqB,CAClBr3C,oBACAz5J,SAAU8xM,EACVtiN,MAAOgd,EACV,CAAC,EACM,EACC,EAEhBqiE,SAAWzzB,KAAI,CAACprC,YAAOigB,EAAA,CAAA15B,GAAA,oCAA+C,EAAE0J,eACpEowM,IAAQ,CACLE,sBACAD,mBACAl7C,YACAjB,SAAUi+C,GACV5lM,kBACA5V,UAAW6iK,EACd,EACY,EAEhB5qF,SAAWzzB,KAAI,CAACtiC,kBAAmBy5L,GAA2BviM,YAAOigB,EAAA,CAAA15B,GAAA,kBAA6B,EAAE0J,gBAChGosC,GAAU,CAACrtC,UAAW0pB,GAAMgqL,SAASzyM,UAClCooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,mFAA8F,EAC3F,EACN+2M,IACGjlL,MAACmwI,GAAqB,CAClB5hK,UAAW6iK,EACXjqK,MAAOoY,EACP5H,SAAW4H,IAAe8pM,EAAc9pM,EAAU,CACrD,GAELygB,MAACwX,KAAmB,CAAC,EACb,EACC,EAChBgvC,SAAWzzB,KAAI,CACZuzB,YAAa1V,EAAmB9oE,SAAW,GAAKkiF,EAChDxE,eAAgB2kI,GAChB5jI,eAAU3+C,EAAA,CAAA15B,GAAA,gBAA2B,EACrCyZ,YAAOigB,EAAA,CAAA15B,GAAA,eAA0B,EAAE0J,gBAClCosC,GAAU,CAACrtC,UAAW0pB,GAAMgqL,SAASzyM,UAClCooB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,yDAAoE,CACjE,GACN+2M,IAAc7zC,SACV7lD,GAA+B,CAC5BE,eACAl9G,UAAW6iK,EACXjqK,MAAOypE,EACP0rB,qBACAu1E,sBAAuBi3C,EAAaj3C,sBACvC,CACJ,EACO,EACC,CAAC,CACV,GACXy3C,SAAoBlB,KAAuB,EAAC,EAC/C,CAEV,EAEe9hL,OAAQD,GAAe,EAAEwI,GAAW+5K,GAAc,CAAC,ECnV5D0B,IAAwDA,CAAC,CAC3Dx+C,WACAzjC,cACArK,gBACA0K,gBACA6hF,oBACAj2C,oBACA7rC,kBACJ,IAAM,CAEIp7H,QAAYinB,GAAaggJ,CAAiB,EAC1Ck2C,EAAuBA,CAACzsJ,EAAgC5oD,IAAqB,CAC/E,GAAIuzH,GAAiB6hF,EAAmB,CAC9BE,QAAkB3+C,EAASv7J,OAAQ7F,GAAM6/M,EAAkB7uM,SAAShR,EAAEwD,EAAE,CAAC,EAC/Ew6H,EAAc3pF,GAAY0rK,EAAiB1sJ,EAAS5oD,CAAO,CAAC,EAChE,EAEJ,cACI,OAAAyC,SAAA,CACKk0J,EAASrhK,IAAKs1C,SACViqF,GAAqB,CAElB3hI,KAAM03C,EACN87B,aAAcxuE,GAAainK,IAAsBv0H,EAAE7xC,GACnDm6H,cACArK,gBACAyK,mBACAC,cAAeA,EAAgB8hF,EAAuBj5M,OACtD4D,QAASo1M,EAAoBA,EAAkB7uM,SAASqkC,EAAE7xC,EAAE,EAAI,IAP3D6xC,EAAE7xC,EAQV,GAIJ49J,EAAShkK,SAAW,SAAM2gD,GAAa,EAAE,CAAC,EAC1C,CAEb,EChCMiiK,IAAoEA,CAAC,CACvEzsJ,mBACA52B,OACAjL,UACAqnC,SACAl8B,WACAojL,uBAAuB,GACvBC,aACJ,IAAM,CACF,MAAMn9L,EAAUsM,KACV,CAACgkC,EAAS6uG,CAAU,EAAIx9I,WAAuC,IAAI,EACnE,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC+wC,EAAcu3G,CAAe,EAAItoJ,WAAS6wC,EAAgB,EAEjE,GAAI,CAACxyC,EACMuS,aAAC+a,EAAgB,EAAE,EAG9B,MAAM/oB,EAAW,SAAY,CACrB44L,MAAe,CAAC3sJ,EACV,UAAIxhD,MAAM,uCAAuC,EAE3D,GAAIwhD,EAAkB,CACZle,QAAI,MAAMwmF,GAAkBtoE,CAAgB,EAClD2uG,EAAW7sH,CAAC,EACZ23H,EAAgB/3G,GAA2B5f,EAAGtyB,EAAQyM,wBAAwB,CAAC,OAE/E0yI,EAAW+K,GAA0C,CACzD,EAGJ,SAASA,GAAkD,CAChD,OACHr3J,KAAM,GACN2pH,aAAc,KACdhI,IAAK,GACLp2F,YAAa,GACb01B,YAAa,GACbm8B,eAAgBjwE,iBAASvf,GACzB8jD,OAAQ,CAAE,EACV7yC,YAAa,CAAE,EAEfs1D,eAAgBk2I,EAAuB,IAAMp5M,OAC7ClK,KAAMsjN,EAAuBjwM,GAAY8mD,YAAc9mD,GAAYogB,OAE3E,CAEA,SAAS8vD,GAAQ,CACbgiF,EAAW,IAAI,EACf8K,EAAgBz3G,EAAgB,EAChCrpB,EAAU,EAAK,CACnB,CAEA,MAAM7O,EAAoBA,IAAM,CAC5BjzB,EAAeyyB,CAAQ,EACvBzyB,EAAesnB,CAAO,GAGpBq8F,EAAkB,SAAY,CAChC7hF,EAAU,EAAI,EAEd,MAAMghI,EAAoB13G,GAA8BnC,EAAUoC,EAAc1yC,EAAQyM,wBAAwB,EAC1G,CAAE83B,SAAQ7yC,cAAa,GAAG04J,CAAiBD,IAC7CgzC,IACC/yC,EAAgD3pK,GAAKqD,QAG1D,MAAMs+C,EAAQ,CACV,GAAGmC,EAAQvnD,IAAYi0C,IAAA,CAAE,GAAGA,EAAGr3C,KAAM,OAA+B,IACpE,GAAG8X,EAAa1U,IAAYi0C,IAAA,CAAE,GAAGA,EAAGr3C,KAAM,cAAoC,CAAC,EAG/E,IACM8+H,SAAmB0xC,EAAchoH,CAAK,EAC5C/6C,EAAe2uD,CAAM,EACrB3uD,EAAesnB,CAAO,EAChBwuD,GAAA,QACA,CACNh0C,EAAU,EAAK,CACnB,GAGEi0K,EAAYA,IACV5sJ,GAAoB2sJ,QACbhjL,EAAA,CAAA15B,GAAA,oBAA+B,EAGtC+vD,QACOr2B,EAAA,CAAA15B,GAAA,eAA0B,QAG9B05B,EAAA,CAAA15B,GAAA,qBAAgC,EAG3C,cACK6tB,EAAK,CAACzb,KAAK,uBAAuBjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB5L,OAAQnK,EAAU9Y,KAAK,KAAItB,SAAA,CACnGooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,SAAEizM,EAAU,EAAe,EAClE7qL,MAACoB,EAAS,CAAAxpB,SACLmmD,EACG/9B,MAACq3I,GAA+B,CAC5BC,eAAgBv5G,EAChBi3G,oBAAqB70G,EACrB80G,4BAA6ByC,EAC7B//J,SAA0Bi1J,KAAWkL,CAAmC,EACxE1iH,SAAUqjE,EACVlxF,SAAUQ,EACV4O,SACAo+H,eAAgB,GACnB,EAEAh6H,QAAkB,IAEhB,CAAC,EACT,CAEf,EC3HM1U,IAAsC74B,IAAA,CACxC2P,UAAW3P,EAAMD,OAAOV,cAAeqB,EAC3C,GAWM48M,IAAgEA,CAAC,CACnEzjL,OACA8gE,QACA/rE,UACAqnC,SACAl8B,WACA8/K,YACJ,IAAM,CACIpgI,QAAWt3D,SAAyB,IAAI,EACxC,CAACgnB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC27L,EAAcC,EAAmBC,CAAe,EAAI/5L,GAAci3E,CAAK,EAExEpgE,EAAoBA,IAAM,CAC5BkjL,EAAgB9iH,CAAK,EAErBrzF,EAAeyyB,CAAQ,EACvBzyB,EAAesnB,CAAO,GAGpByxD,EAAeA,IAAM,CACnB5G,EAAS/vE,SACT+vE,EAAS/vE,QAAQ2mB,OACrB,EAGE4lB,EAAa,SAAY,CAC3BwnK,EAAgB9iH,CAAK,EAERta,GAAA,EAGX/lD,EAAoB,SAAY,CAC9B,IACA8O,EAAU,EAAI,EACVm0K,EAAc78M,GACd,MAAMw5M,IAAiBqD,CAA4B,EAE7C3D,SAAiB2D,EAAe1D,GAAc,IAAI,EAG5DvyM,EAAe2uD,CAAM,EACrB3uD,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,GAGE6/B,EAAgBA,IACbs0I,EAKD/iL,OAAChyB,EAAM6yB,SAAQ,CAAAjxB,UACXooB,MAAA,OAAKrpB,UAAU,aAAYiB,eACtBxB,GAAe,CACZO,UAAU,eACVR,IAAK8wE,EACL9/E,MAAO4jN,EAAczqM,KACrB3I,YAAiBqzM,EAAkB,CAAE1qM,KAAM9M,EAAEgf,OAAOrrB,MAAO,EAC3DsP,YAAa4kB,EAAAwW,cAAY,EACzBn7B,SAAQ,GACX,EACA,EAELspB,MAAA,OAAKrpB,UAAU,aAAYiB,eACtBs/B,GAAQ,CACLv/B,SAAUA,IAAMqzM,EAAkB,CAAEE,cAAe,CAACH,EAAcG,cAAe,EACjF/1M,QAAS41M,EAAcG,cAActzM,eACrCgwB,EAAA,CAAA15B,GAAA,+BAAA28C,WAAA,CAAA7N,EACYhd,MAAY,OAAC,EAClB,EACD,CACT,GACJ+qL,EAAcG,sBACXprL,WAAA,CAAAloB,UACIooB,MAAA,OAAKrpB,UAAU,aAAYiB,eACtBxB,GAAe,CACZjP,MAAO4jN,EAAcI,eACrBxzM,YAAiBqzM,EAAkB,CAAEG,eAAgB33M,EAAEgf,OAAOrrB,MAAO,EACrEuP,SAAQ,GACRC,UAAU,eACVF,YAAa4kB,EAAAwW,EAA4B,8BAC5C,EACA,EAEL7R,MAAA,OAAKrpB,UAAU,aAAYiB,eACtBJ,GAAkB,CACfrQ,MAAO4jN,EAAcK,sBACrBzzM,YAAiBqzM,EAAkB,CAAEI,sBAAuB53M,EAAEgf,OAAOrrB,MAAO,EAC5EwP,UAAU,eACVF,YAAa4kB,EAAAwW,EAAiC,mCACjD,EACA,CAAC,CACR,GAEN7R,MAACwX,KAAmB,CAAC,EAkBT,EAjETxX,MAAC+a,EAAgB,EAAE,EAqE5BswK,EAAa,CAACljH,GAAS,CAACA,EAAMj6F,GAGpC,aACK6tB,EAAK,CAACzb,KAAK,qBAAqBjR,OAAQg4B,EAAMrL,OAAQ+L,EAAmB9L,SAAUwnB,EAAW7rC,gBAC1Fk/B,GAAc,CAACC,SAAUjP,EAAkBlwB,SAAA,CACxCooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,SAClCyzM,EACGrrL,MAAA4H,EAAA,CAAA15B,GAAA,gEAAAE,OAAA,CAAA4uC,EACoBqqK,iBAAYv/M,OAAM0hE,GAE3B69I,iBAAYv/M,SAAU,CAAC,EACjC,EAEDk4B,MAAA4H,EAAA,CAAA15B,GAAA,aAAwB,EAEnB,EACb8xB,MAACoB,EAAS,CAAAxpB,SAAE6+D,EAAc,EAAa,EACvCzuC,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASgjB,EAAO/+B,SACjDyzM,EAAarrL,MAAA4H,EAAA,CAAA15B,GAAA,eAA0B,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAC1D,CAAC,EACA,CAAC,EACF,EACb,CAEf,EAEAo9M,GAAehlL,GAAQD,GAAe,EAAEykL,GAAsB,EC7JxDS,IAAkDA,IAAM,CAC1D,MAAMpuM,EAAY8V,EAAazlB,GAAkBA,EAAMD,OAAOV,cAAeqB,EAAE,EACzE,CAACs9M,EAAeC,CAAgB,EAAIr8L,WAAS,EAAK,EAClD,CAACq7L,EAAiBiB,CAAkB,EAAIt8L,WAAkC,CAAE,GAC5E,CAAC2pJ,EAAkBC,CAAmB,EAAI5pJ,WAAwB,IAAI,EACtE,CAACu8L,EAAgBC,CAAiB,EAAIx8L,WAAS,EAAK,EACpD,CAAC++I,EAAgBC,CAAiB,EAAIh/I,WAAkB,EAAK,EAC7D,CAACklJ,EAAmBu3C,CAAkB,EAAIz8L,WAA6B7d,MAAS,EAChF,CAACu6M,EAAcC,CAAe,EAAI38L,WAA0C,IAAI,EAChF,CAAC7e,EAAQq7G,CAAS,EAAIx8F,EAA6BqkJ,YAAmBzpH,OAAO,EAC7E,CAAC8hH,GAAYqN,EAAgBrnJ,CAAS,EAAIJ,GAC5C,IACI80G,GAAsB,CAClB9oC,eAAgBvgF,EAChB09D,gBAAiBtqE,EAAOsqE,gBACxB2uC,WAAYj5G,EAAOi5G,WACnBkqD,UAAWnjK,EAAOmjK,UAAU5rK,SAAW,EAAI,KAAOyI,EAAOmjK,SAC5D,GACL,CAACv2J,EAAW5M,CAAM,EAClB,IACJ,EAEM,CAAC8nE,GAAc+gG,CAAgB,EAAIjnJ,EAAc,IAAMs0G,GAAkBtpH,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EAExG,IAAEjP,GAAI6mB,GAAYC,GAA0B,EAChDjG,YAAU,IAAM,CACRgG,GAAW,CAACE,MAAM,CAACF,CAAO,EAAG82L,EAAmB,CAAC92L,CAAO,EACvD82L,EAAmBt6M,MAAS,GAClC,CAACwjB,CAAO,CAAC,EAEZ,MAAMi3L,EAA2BA,IAAM,CACnChzC,EAAoB,IAAI,EACxB4yC,EAAkB,EAAK,EACvBx9C,EAAkB,EAAI,GAGpB69C,EAAgCA,IAAM,CACxCjzC,EAAoB,IAAI,EACxB4yC,EAAkB,EAAI,EACtBx9C,EAAkB,EAAI,GAGpBiL,EAA6Dt7G,GAAA,CAC/D0tJ,EAAiB,EAAK,EACtBzyC,EAAoBj7G,EAAQ7vD,EAAE,EAC9BkgK,EAAkB,EAAI,GAGpB89C,EAAkEnuJ,GAAA,CACpE0tJ,EAAiB,EAAI,EACrBzyC,EAAoBj7G,EAAQ7vD,EAAE,EAC9BkgK,EAAkB,EAAI,GAGpBkL,EAA+BA,IAAM,CACvCmyC,EAAiB,EAAK,EACtBzyC,EAAoB,IAAI,EACxB5K,EAAkB,EAAK,GAGrBmL,EAA8B,SAAY,CAC7BJ,IACEC,GAAA,EAGfz5C,EAAoB,MAAO5hE,GAAmC,CAC1DqoE,SAAqBroE,EAAQ7vD,EAAE,EACpBkrK,IACFD,GAAA,EAGbgzC,EAAgC34M,GAAA,CAClBu4M,EAAA,CACZruH,eAAgBvgF,EAChBmD,KAAM,GACN8qM,sBAAuB,GACvBD,eAAgB,GAChBD,cAAe,GAClB,GAGCkB,EAA6BA,IAAM,CACrCL,EAAgB,IAAI,GAGlBM,EAA4BA,IAAM,CACpCX,EAAmB,CAAE,IAOrB,OAAC5/C,GAAY,CAACzzF,EACPr4C,MAAC+a,EAAgB,EAAE,SAI1Bjb,WAAA,CAAAloB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SAAA,CACNooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASy5L,EAA0BjrL,KAAMurL,GAAM10M,eACpEgwB,EAAA,CAAA15B,GAAA,gBAA2B,EACvB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAAS05L,EAA+BlrL,KAAMwrL,GAAQ30M,eAC3EgwB,EAAA,CAAA15B,GAAA,2BAAsC,CAClC,GAEPu8M,EAAgB3iN,OAAS,SACrB89B,EAAM,CAAChE,MAAM,YAAYrP,QAAS45L,EAAwBjzM,KAAK,QAAOtB,eACnEgwB,EAAA,CAAA15B,GAAA,qBAAAE,OAAA,CAAA4uC,EAAcytK,EAAgB3iN,MAAM,EAAiB,EACjD,EAGX8lC,SAAUL,MAAK,CAAA31B,eACX+7J,GAAa,CAAC7hJ,YAAsBvhB,SAAgBoH,SAAUi0G,EAAWl+G,KAAM2qE,EAAa,EAChF,CAAC,EACX,EAEXr4C,MAAC0qL,IAAwB,CACrBC,qBAAsBgB,EACtBf,YAAaY,EACbnkL,KAAM8mI,EACNlwG,iBAAkB86G,EAClB38I,QAASk9I,EACT71G,OAAQ81G,EACX,EAEDv5I,MAAC8qL,GAAsB,CACnBzjL,KAAM,CAAC,CAACykL,EACR3jH,MAAO2jH,EACP1vL,QAASgwL,EACT3oJ,OAAQ4oJ,EACRhF,WAAYoD,EAAgBhgN,IAAKC,GAAMA,EAAEwD,EAAE,EAC9C,EAED8xB,MAACsqL,IAAkB,CACfh2C,oBACAxI,WACAzjC,YAAagxC,EACbr7C,cAAe2B,EACf8I,iBAAkByjF,EAClBxjF,cAA0BgjF,KAAmBvkN,CAAK,EAClDojN,kBAAmBE,EAAgBhgN,IAAKC,GAAMA,EAAEwD,EAAE,EACrD,CAAC,EACJ,CAEV,ECnJMs+M,IAA0EA,CAAC,CAAErkH,QAAO2jE,WAAU2gD,kBAAiB,IAAM,CACvH,eAAeC,EAAc3uJ,EAAS,CAC5B4uJ,QAAc7gD,EAAUv7J,OAAQ7F,GAAMA,IAAMqzD,GAAWrzD,EAAEwD,GAAK,CAAC,EAErE,MAAMk5M,GACFj/G,EACAwkH,EAAYliN,IAAWC,KAAEwD,EAAE,CAC/B,EACAu+M,EAAiBE,CAAW,CAChC,CAEA,GAAI,CAAC7gD,EACM9rI,aAAC+a,EAAgB,EAAE,EAE9B,MAAM6xK,EAA0B9gD,EAASt8J,KAAY9E,GAAA,CAACA,EAAEm2D,MAAM,EAE9D,cACI,OAAAjpD,SAAA,CACKk0J,EAASrhK,IAAKszD,SACVisE,GAAqB,CAElB3hI,KAAM01D,EAENwqE,cAAexqE,EAAQ7vD,GAAK,EAAI,IAAMw+M,EAAc3uJ,CAAO,EAAIxsD,OAC/Dq3H,aAAc,IAJT7qE,EAAQ7vD,EAKhB,CACJ,QACD,OAAKyI,UAAU,cAAaiB,eACvB8pB,GAAO,CAAC7B,QAAU+sL,EAAoF,KAA1D5sL,MAAA4H,EAAA,CAAA15B,GAAA,0CAAsD,GAAS0J,eACxG,QAAAA,eACKsvB,GAAkB,CACfrC,SAAU,CAAC+nL,EACXxnM,GAAI,wBAAwB+iF,EAAMj6F,KAClC0zB,MAAM,UACNb,KAAM0uF,GAAO73G,eACbgwB,EAAA,CAAA15B,GAAA,8BAAyC,EACzB,EAClB,EACD,EACR,CAAC,EACL,CAEb,4MCrCM2+M,IAA8CA,CAAC,CACjD1vM,YACAurH,gBACA6hF,oBACA91I,iBACAq4I,mBACA9gB,gBACJ,IAAM,CACF,KAAM,CAAClgC,EAAU2M,CAAW,EAAIrpJ,WAAkC,CAAE,GAC9D,CAACo6F,EAAYujG,CAAa,EAAI39L,WAAS,EAAE,EACzC,CAACuE,EAASy5D,CAAU,EAAIh+D,WAAS,EAAK,EAEtC26F,EAAsB96F,GAAYu6F,EAAY,GAAG,EACvDz6F,mBAAU,IAAM,CACZq+D,EAAW,EAAI,GAChB,CAAC28B,CAAmB,CAAC,EAExBh7F,YAAU,IAAM,CACZ,eAAeiD,GAAW,CAChBnmB,QAAS,MAAM26H,GAAsB,CACvC9oC,eAAgBvgF,EAChBqsG,WAAYO,EACZlvC,gBAAiBpG,EAAiB,CAACA,CAAc,EAAI,GACxD,EAEDgkG,EAAY5sK,CAAM,EAClBuhF,EAAW,EAAK,CACpB,CAEAA,EAAW,EAAI,EACNp7D,GACV,GAAC+3F,EAAqBt1C,EAAgBt3D,CAAS,CAAC,SAG/C,OAAKxG,UAAW0pB,GAAM8J,UAAUvyB,UAC5BowB,OAAA,OAAKrxB,UAAW0pB,GAAMoR,eAAe75B,SAAA,CACjCooB,MAACjqB,GAAK,CACF1O,KAAK,OACLsP,UAAWY,EAAW,eAAgBy0L,CAAc,EACpD7kM,MAAOqiH,EACP7xG,SAAWnE,GAAMu5M,EAAcv5M,EAAEgf,OAAOrrB,KAAK,EAC7CsP,YAAa4kB,EAAAwW,EAAW,aAC3B,EACAle,GAAWqM,MAACc,EAAe,CAACC,KAAM+6D,GAAgBn2D,KAAI,GAAChvB,UAAW0pB,GAAMw+F,QAAU,CAAC,EACnF,EAEJpqD,GACGzsC,OAAA,SAAApwB,SAAO,iBACUooB,MAACs0B,GAAmB,CAACntD,MAAOstE,EAAgBptE,KAAK,OAAO41C,UAAS,GAAE,CAAC,EAC9E,EAEXjd,MAAA,OAAKrpB,UAAWY,EAAW8oB,GAAM2yD,QAAS85H,CAAgB,EAAEl1M,gBACvDopF,GAAc,CAACn+D,QAASlP,GAAWm4I,EAAShkK,OAAS,EAAE8P,SACnDk0J,GAAShkK,SAAW,GAAK,CAAC6rB,SAAWiU,EAAA,CAAA15B,GAAA,aAAwB,EAC7D49J,EAASrhK,IAAKs1C,SACViqF,GAAqB,CAElB3hI,KAAM03C,EACN2oF,gBACAvzH,QAASo1M,EAAoBA,EAAkB7uM,SAASqkC,EAAE7xC,EAAE,EAAI,IAH3D6xC,EAAE7xC,EAIV,CACJ,CAAC,EACU,EACf,CAAC,EACL,CAEb,4DCxEMm4B,IAAsC74B,IAAA,CACxC2P,UAAW3P,EAAMD,OAAOV,cAAeqB,GACvCnB,eAAgBS,EAAMD,OAAOR,cACjC,GAUMigN,IAAmDA,CAAC,CACtD7vM,YACApQ,iBACAo7F,QACA9gE,OACAE,WACAk8B,SACArnC,SACJ,IAAM,CAMF,KAAM,CAAC6wL,EAAeC,CAAgB,EAAI99L,WAAyC,IAAI,EACjF4C,EAAW,SAAY,CACzB,MAAM85I,EAAW,MAAMzlC,GAA0Bl+B,EAAMj6F,EAAE,EACzDg/M,EAAiBphD,EAASv7J,OAAQwvC,GAAMA,EAAE7xC,GAAK,CAAC,CAAC,GAI/C,CAACyoC,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EAE1C,SAASw7D,GAAQ,CACbsiI,EAAiB,IAAI,CACzB,CAEA,MAAMnlL,EAAoBA,IAAM,CAC5BjzB,EAAeyyB,CAAQ,EACvBzyB,EAAesnB,CAAO,GAGpBq8F,EAAkB,SAAY,CAChC7hF,EAAU,EAAI,EAEV,IACA,MAAMwwK,GACFj/G,EACA8kH,EAAexiN,IAAWC,KAAEwD,EAAE,CAClC,EAEA4G,EAAe2uD,CAAM,EACrB3uD,EAAesnB,CAAO,SAChB,CACNwa,EAAU,EAAK,CACnB,GAGEu2K,EAA2BA,CAACpvJ,EAAgC5oD,IAAqB,CACnF,MAAMgoB,EAAQ8vL,EAAejuL,aAAiBt0B,EAAEwD,KAAO6vD,EAAQ7vD,EAAE,EAC7DivB,IAAU,IAAMhoB,EAChB+3M,EAAiB,CAAC,GAAGD,EAAgBlvJ,CAAO,CAAC,EACtC5gC,EAAQ,IAAM,CAAChoB,GACtB+3M,EAAiBD,EAAe18M,OAAQ7F,GAAMA,EAAEwD,KAAO6vD,EAAQ7vD,EAAE,CAAC,CACtE,EAGEk/M,EAA+DrvJ,GAAA,CACjEmvJ,EAAiBD,EAAe18M,OAAc7F,OAAMqzD,CAAO,CAAC,GAG1DsvJ,EACFJ,GAAiBA,EAAc,CAAC,GAAKA,EAAc,CAAC,EAAEx4I,eAChDrgB,GAAqBrnD,EAAgBkgN,EAAc,CAAC,EAAEx4I,cAAc,EACpE,KAEV,cACK14C,EAAK,CACFzb,KAAK,4BACLjR,OAAQg4B,EACRrL,OAAQ+L,EACR7uB,KAAK,KACLgjB,SAAU0uD,EACV3uD,SAAUjK,EACVrb,UAAW0pB,GAAMkuD,OACjBjyD,UAAW,GAAM1kB,SAAA,CACjBooB,MAACkB,GAAW,CAAClF,OAAQ+L,EAAkBnwB,eACnCgwB,EAAA,CAAA15B,GAAA,wBAAmC,EAC1B,EACb8xB,MAACoB,EAAS,CAAAxpB,SACLq1M,EACGjlL,OAAAlI,WAAA,CAAAloB,UACIooB,MAAA,MAAIrpB,UAAW0pB,GAAMitL,iBAAiB11M,SACjCq1M,EAAcxiN,IAAKs1C,UAChB,MAAAnoC,UACIooB,MAAA,QAAApoB,SAAOmoC,EAAEz/B,KAAW,EACpB0f,MAAC4F,EAAM,CAAChE,MAAM,OAAOb,KAAMC,GAASzO,QAAgB66L,KAAyBrtK,CAAC,EAAI,CAAC,GAF9EA,EAAE7xC,EAGP,CACP,EACD,EAEJ8xB,MAAC6sL,IAAa,CACVC,iBAAkBzsL,GAAMktL,cACxBpwM,YACAotM,kBAAmB0C,EAAcxiN,IAAKC,GAAMA,EAAEwD,EAAE,EAChDw6H,cAAeykF,EACf14I,eAAgB44I,EAAmBA,EAAiBn/M,GAAK,KAC5D,CAAC,EACJ,EAED6sC,QAAkB,IAEhB,EACX/S,OAAC3G,GAAW,CAAAzpB,SAAA,CACRooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAASwV,EAAmBlD,SAAU8R,EAAO/+B,eAClEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAAChE,MAAM,UAAUjO,QAASgjB,EAAQpkB,QAASkmG,EAAgB7gH,eAC9DgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,CAAC,EACA,CAAC,EACX,CAEf,EAEAs/M,IAAelnL,GAAQD,GAAe,EAAE2mL,GAA4B,ECvH9DS,IAA4DA,CAAC,CAAEtlH,QAAOkgC,cAAaqlF,gBAAeprH,UAAS,IAAM,CACnH,KAAM,CAACr7C,EAAU+sB,CAAW,EAAI5kD,WAAS,CAAC,CAACs+L,CAAa,EAClDhkL,EAAe/Z,SAAuB,IAAI,EAC1C,CAACmC,EAAWC,CAAY,EAAI3C,WAAS,EAAI,EACzC,CAACu+L,EAAuBC,CAAwB,EAAIx+L,WAAS,EAAK,EAClE,CAACy+L,EAAiBC,CAAkB,EAAI1+L,WAAS,EAAK,EAEtD,CAAC08I,EAAU2M,EAAaU,CAAc,EAAIhnJ,EAC5C,IAAMk0G,GAA0Bl+B,EAAMj6F,EAAE,EACxC,CAACi6F,EAAMj6F,EAAE,EACT,IACJ,EAEA6gB,YAAU,IAAM,EACC,SAAY,CACrB,MAAMoqJ,EAAe,EACrBpnJ,EAAa,EAAK,KAEjB,EACN,CAACo2E,EAAOgxE,CAAc,CAAC,EAE1BpqJ,YAAU,IAAM,CACR2+L,GAAiB,CAAC57L,GACTvc,GAAA,EAAGm0B,EAAaxyB,QAAS0tC,SAAS,CAEhD,GAAClb,EAAc5X,EAAW47L,CAAa,CAAC,EAE3C,MAAMjrH,EAAe,SAAY,CACvBglH,UAAmBt/G,EAAMj6F,EAAE,EACjC4G,EAAewtF,EAAU6F,CAAK,GAGlC,cACI,OAAKhyF,IAAKuzB,EAAa9xB,SAAA,CACnBowB,OAACgf,GAAc,CACXC,WACAC,wBACKslK,IAA2B,CACxB1gD,WACA2gD,iBAAmB3gD,GAAa2M,EAAY3M,CAAQ,EACpD/5I,eACAo2E,QACH,EACJvwF,SAAA,CACDowB,OAACkhB,GAAU,CAAAtxC,UACPooB,MAAA,SAAApoB,SACOuwF,EAAM1zB,qBACJngB,GAAmB,CAACntD,MAAOghG,EAAM1zB,eAAiB,EAEnDz0C,MAAA4H,EAAA,CAAA15B,GAAA,cAAyB,EAE1B,EAENi6F,EAAM7nF,IAAI,EACH,EAEZ0f,MAACmpB,EAAW,CAACxyC,UAAW0pB,IAAMy3B,QAAStqB,MAAK,GAAA51B,eACvCguB,EAAM,CACHhE,MAAO,CAACkqI,GAAYA,EAAShkK,OAAS,EAAI,WAAa,YACvDi5B,KAAMilC,GACNzzC,QAASA,IAAMq7L,EAAyB,EAAI,EAAEh2M,eAC9CgwB,EAAA,CAAA15B,GAAA,eAA0B,EACtB,EACC,EAEb8xB,MAACioB,GAAoB,CACjBG,eAAgBA,IAAM4rB,EAAY,CAAC/sB,CAAQ,EAC3CA,WACAiB,iBAAYtgB,EAAA,CAAA15B,GAAA,gBAA2B,EACvCi6C,mBAAcvgB,EAAA,CAAA15B,GAAA,gBAA2B,EAC5C,EACD85B,OAACkiB,GAAgB,CAAAtyC,SAAA,CACbooB,MAACuK,GAAkB,CACfxJ,KAAMilC,GACNpkC,MAAM,WACN1oB,KAAK,QACLqZ,QACI81G,EACM,IAAM,CACFA,EAAYlgC,CAAK,CAErB52F,SACTqG,eACDgwB,EAAA,CAAA15B,GAAA,qBAAgC,EAChB,EACpB8xB,MAACuK,GAAkB,CACf3I,MAAM,WACN1oB,KAAK,QACL6nB,KAAMwiE,GACNhxE,QAASA,IAAM,CACXu7L,EAAmB,EAAI,CAC3B,EAAEl2M,eACFgwB,EAAA,CAAA15B,GAAA,uBAAkC,EAClB,CAAC,EACP,CAAC,EACP,EAChB8xB,MAACgtL,IAA4B,CACzB3lL,KAAMsmL,EACNxlH,QACA/rE,QAASA,IAAMwxL,EAAyB,EAAK,EAC7CnqJ,OAAQA,IAAM01G,EAAe,CAChC,GAEDn5I,MAACoH,GACG,CACAhL,QAASA,IAAM0xL,EAAmB,EAAK,EACvCzmL,KAAMwmL,EACNpmL,mBAAmB,SACnBE,wBAAmBC,EAAA,CAAA15B,GAAA,SAAoB,EACvC25B,uBAAkBD,EAAA,CAAA15B,GAAA,SAAoB,EACtCyZ,YAAOigB,EAAA,CAAA15B,GAAA,uBAAkC,EACzCo5B,SAAUm7D,EACV7uF,WACIg0B,EAAA,CAAA15B,GAAA,yGAAA28C,WAAA,CAAA7N,EAEIhd,MAAK,QAAC,EAEH,CACV,EACH,EACD,CAEb,ECtIM+tL,IAAoDA,CAAC,CAAE35I,SAAQi0D,cAAa/lC,WAAUztE,mBAAkB,IAAM,CAC1GxnB,QAAYinB,GAAaO,CAAiB,EAEhD,cACIiL,WAAA,CAAAloB,SAAA,CACKw8D,EAAO3pE,IAAKy0D,SACRuuJ,IAAoB,CACjBC,cAAergN,GAAawnB,IAAsBqqC,EAAEhxD,GAEpDi6F,MAAOjpC,EACPmpE,cACA/lC,YAHKpjC,EAAEhxD,EAIV,CACJ,EAEAkmE,EAAOtsE,SAAW,GAAM2gD,WAAe,CAAC,EAC3C,CAEV,ECjBMpiB,IAAsC74B,IAAA,CACxC2P,UAAW3P,EAAMD,OAAOV,cAAeqB,EAC3C,GAMM8/M,IAAoCA,CAAC,CAAE7wM,YAAW00J,uBAAsB,IAAM,CAChF,KAAM,CAACo8C,CAAmB,EAAI7+L,WAAc,IAAI,EAC1C,CAAC08L,EAAcC,CAAe,EAAI38L,WAA0C,IAAI,EAChFyF,EAAoBF,KACpB,CAACpkB,EAAQq7G,CAAS,EAAIx8F,EAA6BqkJ,YAAmBzpH,OAAO,EAC7E,CAACoqB,GAAU85I,EAAcp8L,CAAS,EAAIJ,GACxC,IACI61L,IAAoB,CAChB7pH,eAAgBvgF,EAChB09D,gBAAiBtqE,EAAOsqE,gBACxB2uC,WAAYj5G,EAAOi5G,UACtB,GACL,CAACj5G,EAAQ4M,CAAS,EAClB,IACJ,EAEMk7D,EAAa9+C,UAA2B,KACnC,CACHm6I,UAAW,KAEhB,CAACt/F,CAAM,CAAC,EAqBX,SAAS+5I,GAAmB,CAKpBt8C,MAJA,IAACz9F,GAIDy9F,GAAyB,CAACo8C,EAKlC,CAEA,MAAM9B,EAAgC34M,GAAA,CAClBu4M,EAAA,CACZruH,eAAgBvgF,EAChBmD,KAAM,GACN4qM,cAAe,GACfE,sBAAuB,GACvBD,eAAgB,GACnB,GAGCt8J,EAAwBA,IAAM,CAChCk9J,EAAgB,IAAI,GAGlBqC,EAAuBA,IAAM,CAClBF,GAAA,EAGXzrH,EAAeA,IAAM,CACVyrH,GAAA,EAGjB,OAAIC,IACOnuL,MAAC+a,EAAgB,EAAE,SAG1Bjb,WAAA,CAAAloB,SAAA,CACIowB,OAAC4F,GAAS,CAAAh2B,SAAA,CACNooB,MAAC4F,EAAM,CAAChE,MAAM,WAAWrP,QAAS45L,EAAwBprL,KAAMk6E,GAAQ/hG,KAAK,QAAOtB,eAChFgwB,EAAA,CAAA15B,GAAA,2BAAsC,EAClC,EAEP0/B,SAAUL,MAAK,CAAA31B,eACX+7J,GAAa,CAAC7hJ,YAAsBvhB,SAAgBoH,SAAUi0G,EAAWl+G,KAAM2qE,EAAa,EAChF,CAAC,EACX,EAEXr4C,MAAC8qL,GAAsB,CACnBzjL,KAAM,CAAC,CAACykL,EACR3jH,MAAO2jH,EACP1vL,QAASyyB,EACT4U,OAAQ2qJ,EACX,EAEDpuL,MAAC+tL,IAAgB,CACbl5L,oBACAu/C,OAAQA,GAAU,CAAG,EACrBi0D,YAAoB0jF,KAAgB7sJ,CAAC,EACrCojC,SAAUG,EACb,CAAC,EACJ,CAEV,EAEA4rH,IAAe/nL,GAAQD,GAAe,EAAE2nL,GAAa,EC1H/CrsI,IAAO,CACT,CACIzzE,GAAI,WACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,eAA0B,EAChC0gC,OAAQA,IAAO28K,UAAiB,GACpC,EACA,CACIr9M,GAAI,SACJoS,WAAMsnB,EAAA,CAAA15B,GAAA,iBAA4B,EAClC0gC,OAAQA,IAAOo/K,UAAe,GAClC,CAAC,EAOCM,IAAkCA,CAAC,CAAE7qI,MAAK,GAAGvtE,CAAK,WAEhD,OAAA0B,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAU,YAAI,EAEtC7R,MAACihD,GAAI,CAACC,YAAauC,EAAI7rE,SAClB+pE,IAAKl3E,IAAKg5E,SACN3C,GAAO,CAAc5yE,GAAIu1E,EAAIv1E,GAAIkX,GAAI,YAAYq+D,EAAIv1E,KAAMoS,KAAMmjE,EAAInjE,KAAK1I,SACtE6rE,EAAI70C,OAAO,GADF60C,EAAIv1E,EAET,CACZ,EACC,CAAC,EACN,6hDChCN,SAASqgN,IAA8BpxM,EAA6C,CAChFtJ,SAAQxB,KAAkB,uBAAwB,CAAES,MAAO,CAAEqK,WAAU,EAAG,EAAE1I,KAAY/J,KAAE0J,KAAM,EAC3G,CAEsBo6M,mBAAkBtgN,EAAYugN,EAAmE,CACnH,OAAO56M,EAAQxB,GAAkB,0BAAwBnE,IAAM,CAC3DoQ,OAAQ,MACRlK,KAAM,GACNR,KAAM66M,EACT,EAAEh6M,KAAYsO,KAAE3O,KAAM,EAC3B,CAEA,eAAsBs6M,IAAoBxgN,EAAY,CAClD,MAAM2F,EAAQxB,GAAkB,0BAAwBnE,IAAM,CAAEoQ,OAAQ,SAAU,CACtF,CAEA,eAAsBqwM,IAAiBF,EAAmE,CAC/F56M,SAAQxB,KAAkB,uBAAwB,CACrDiM,OAAQ,OACRlK,KAAM,GACNR,KAAM66M,EACT,EAAEh6M,KAAYsO,KAAE3O,KAAM,EAC3B,CCKA,SAASw6M,GAAczxM,EAA+C,CAC3D,OACHA,YACAwK,MAAO,GACPw5B,KAAM,GACN0tK,QAAS,GACT1vM,YAAa,GAErB,CAEA,SAAS2vM,IAAgB3xM,EAAmBsxM,EAA0D,CAC3F,OACHtxM,YACAgkC,KAAMstK,EAActtK,KACpBx5B,MAAO8mM,EAAc9mM,MACrBknM,QAASJ,EAAcI,QACvB1vM,YAAa,KAErB,CAIA,MAAM4vM,GAAgEA,CAAC,CACnE1/M,SACA2sB,SACAyyL,gBACAhrJ,SACAu6D,eACJ,IAAM,CACF,MAAM7gH,EAAY8V,EAAazlB,GAAkBA,EAAMD,OAAOV,cAAeqB,EAAE,EACzE,CAAC2tC,EAAOmtC,CAAQ,EAAI55D,WAAS,EAAK,EAClC,CAACunB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC4/L,EAAsBC,EAA2BC,CAAuB,EAAIh+L,GAC/E09L,GAAczxM,CAAS,CAC3B,EAEM,CAACgC,EAAa6lF,CAAc,EAAI51E,WAA8B,CAAE,GAEhEw7D,EAAQA,IAAM,CAChB5B,EAAS,EAAK,EACdpyC,EAAU,EAAK,EAEX63K,GACwBK,MAAgB3xM,EAAWsxM,CAAa,CAAC,EACjEzpH,EAAeypH,EAActvM,WAAW,IAEhByvM,KAAczxM,CAAS,CAAC,EAChD6nF,EAAe,CAAE,GACrB,EAGEmqH,EAAqDv1J,GAAA,CACvDorC,KAAyBp6B,EAAKr6D,OAAc7F,OAAMkvD,CAAG,CAAC,GAGpDhd,EAAW,SAAY,CACrBoyK,KAAqBrnM,OAASqnM,EAAqB7tK,KAAM,CACzDvK,EAAU,EAAI,EACd,IAAI/qC,EAA+B,KAC/B6B,EAAO,CACP,GAAGshN,EACH7vM,YAAaA,EAAY1U,IAAkDC,IAAA,CACvEwD,GAAIxD,EAAEwD,GACN4W,KAAM,SAAUpa,EAAIA,EAAEoa,KAAO,MAC/B,GAGF,IACI2pM,GAAiBA,EAAcvgN,GAC/BrC,EAAS,MAAM2iN,IAAkBC,EAAcvgN,GAAIR,CAAI,EAE9C7B,EAAA,MAAM8iN,IAAiBjhN,CAAI,EAGxC+1D,EAAO53D,CAAM,EACNmwB,GAAA,QACD,CACN4a,EAAU,EAAK,CACnB,EAGJoyC,EAAS,EAAI,GAGjB,cACKjtD,EAAK,CAACS,cAAe,GAAOntB,SAAgB2sB,SAAgBG,OAAQyuD,EAAO1xE,KAAK,KAAItB,SAAA,CACjFooB,MAACkB,GAAW,CAAAtpB,eACRgwB,EAAA,CAAA15B,GAAA,aAAwB,EACf,EACb85B,OAAC5G,EAAS,CAAAxpB,UACNowB,OAAA,OAAKrxB,UAAW0pB,GAAMoR,eAAe75B,UACjCowB,OAAA,SAAOrxB,UAAW0pB,GAAMiJ,MAAM1xB,SAAA,CAC1BooB,MAAA4H,EAAA,CAAA15B,GAAA,MAAkB,GAClB8xB,MAACg2H,KAAoB,CAAC,EACnB,EACPh2H,MAAC5pB,GAAe,CACZM,SAAQ,GACRC,UAAWY,EACP,eACA,CAAE,CAAC8oB,GAAMwb,KAAK,EAAGA,GAAS,CAACmzK,EAAqBrnM,OAChD0Y,GAAMnrB,KACV,EACA/N,MAAO6nN,EAAqBrnM,MAC5BhQ,YAAiBs3M,EAA0B,CAAEtnM,MAAOnU,EAAEgf,OAAOrrB,MAAO,EACpEsP,YAAa4kB,EAAAwW,EAA8C,gDAC9D,EACAgK,GAAS,CAACmzK,EAAqBrnM,aAC5B,OAAKhR,UAAW0pB,GAAMwb,MAAMjkC,eACxBgwB,EAAA,CAAA15B,GAAA,gBAA2B,EAC1B,CACR,EACA,EACL85B,OAAA,OAAKrxB,UAAW0pB,GAAMoR,eAAe75B,UACjCowB,OAAA,SAAOrxB,UAAW0pB,GAAMiJ,MAAM1xB,SAAA,CAC1BooB,MAAA4H,EAAA,CAAA15B,GAAA,cAA0B,GAC1B8xB,MAACg2H,KAAoB,CAAC,EACnB,EACPh2H,MAACxoB,GAAkB,CACfd,SAAQ,GACRC,UAAWY,EACP,eACA,CAAE,CAAC8oB,GAAMwb,KAAK,EAAGA,GAAS,CAACmzK,EAAqB7tK,MAChD9gB,GAAMnrB,KACV,EACA/N,MAAO6nN,EAAqB7tK,KAC5BxpC,YAAiBs3M,EAA0B,CAAE9tK,KAAM3tC,EAAEgf,OAAOrrB,MAAO,EACnEsP,YAAa4kB,EAAAwW,EAAW,aAC3B,EAEAgK,GAAS,CAACmzK,EAAqB7tK,YAC5B,OAAKxqC,UAAW0pB,GAAMwb,MAAMjkC,eACxBgwB,EAAA,CAAA15B,GAAA,wBAAmC,EAClC,CACR,EACA,EAEL85B,OAAA,OAAKrxB,UAAW0pB,GAAMoR,eAAe75B,UACjCooB,MAAA,SAAOrpB,UAAW0pB,GAAMiJ,MAAM1xB,eAC1BgwB,EAAA,CAAA15B,GAAA,wBAAmC,EAChC,EACP8xB,MAAC0uD,GAAU,CACPllD,mBAAoBnJ,GAAMqkE,WAC1BnV,OAAezc,GAAA,CAIP,IACM0rF,QAAW1rF,EAAEroE,IAAkDC,IAAA,CACjEwD,GAAI,KACJ4W,KAAM,IAAI9Q,GAAStJ,CAAC,CACtB,IACFs6F,KAAyB,CAAC,GAAGp6B,EAAM,GAAG4zF,CAAQ,CAAC,QAC1C3iH,GACGA,cAAM,SAAUA,CAAK,CACjC,CACJ,EACH,EAEA18B,EAAY1U,IAAI,CAACmvD,EAAK3xD,yBACnB,OAAa0O,UAAW0pB,GAAM+uL,kBAAkBx3M,UAC5CowB,OAAA,OAAKrxB,UAAW0pB,GAAMgvL,aAAaz3M,UAC/BooB,MAAA,OAAKrpB,UAAW0pB,GAAMivL,aAAa13M,eAC9BkpB,EAAe,CAACC,KAAMwuL,GAAS,EAC/B,EACLvvL,MAAA,OAAKrpB,UAAW0pB,GAAMmvL,aAAa53M,SAC9B,SAAUgiD,GAAMA,IAAI90C,OAAJ80C,cAAU9gD,SAAW8gD,EAAIE,aAAahhD,SACtD,CAAC,EACL,EACLknB,MAAC4F,EAAM,CACHhE,MAAM,SACNb,KAAMwiE,GACNhxE,QAASA,IAAM48L,EAAuBv1J,CAAG,EACzCjjD,UAAW0pB,GAAMovL,uBACpB,CAAC,GAdIxnN,CAeL,EACR,CAAC,EACD,EAEL+/B,OAAA,OAAKrxB,UAAW0pB,GAAMoR,eAAe75B,UACjCooB,MAAA,SAAOrpB,UAAW0pB,GAAMiJ,MAAM1xB,eAC1BgwB,EAAA,CAAA15B,GAAA,yBAAoC,EACjC,EACP8xB,MAAC5pB,GAAe,CACZM,SAAQ,GACRC,UAAWY,EAAW,eAAgB8oB,GAAMnrB,KAAK,EACjD/N,MAAO6nN,EAAqBH,QAC5Bl3M,YAAiBs3M,EAA0B,CAAEJ,QAASr7M,EAAEgf,OAAOrrB,MAAO,EACtEsP,YAAa4kB,EAAAwW,EAA0D,4DAC1E,CAAC,EACD,CAAC,EACC,EACX7R,MAACqB,GAAW,CAAAzpB,gBACPg2B,GAAS,CAACj3B,UAAW0pB,GAAMwN,UAAUj2B,SACjComH,IACGh+F,MAAC4F,EAAM,CAACrT,QAASyrG,EAAen5F,SAAU8R,EAAQ/U,MAAM,WAAUhqB,eAC9DgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EAEX0/B,UAAUL,MAAK,CAAA31B,SAAA,CACZooB,MAAC4F,EAAM,CAACrT,QAASyJ,EAAQ4F,MAAM,WAAUhqB,eACrCgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACrT,QAASqqB,EAAUjpB,QAASgjB,EAAQ/U,MAAM,UAAShqB,eACvDgwB,EAAA,CAAA15B,GAAA,eAA0B,EACtB,CAAC,EACI,CAAC,EACX,EACF,CAAC,EACX,CAEf,ECjOMwhN,IAA4DA,CAAC,CAAE1gH,UAAS,IAAM,CAChF,KAAM,CAAC2gH,EAA6BC,CAA8B,EAAIxgM,WAAS,EAAK,EAEpF,cACI0Q,WAAA,CAAAloB,UACIowB,OAAA,OAAKrxB,UAAW0pB,GAAM8J,UAAUvyB,SAAA,CAC5BooB,MAACc,EAAe,CAACC,KAAM4nH,GAAYzvI,KAAK,KAAKvC,UAAW0pB,GAAMwvL,aAAe,EAC7E7vL,MAAA,OAAKrpB,UAAW0pB,GAAMyvL,QAAQl4M,eAC1BgwB,EAAA,CAAA15B,GAAA,2CAAsD,EACrD,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMqb,KAAK9jC,eACvBgwB,EAAA,CAAA15B,GAAA,yEAAoF,EACnF,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAMu5E,KAAMrnF,QAASA,IAAMq9L,EAA+B,EAAI,EAAEh4M,gBAC5E,UAAAA,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,0BAAqC,EAAC,IAAC8xB,MAACc,EAAe,CAACC,KAAMwjF,GAAmB,CAAC,EAC9E,EACP,CAAC,EACL,EAELvkF,MAAC+uL,GAAsB,CACnB1/M,OAAQsgN,EACR3zL,OAAQA,IAAM4zL,EAA+B,EAAK,EAClDnsJ,OAAQurC,EACX,CAAC,EACJ,CAEV,gIC3BM+gH,IAA+BA,CAAC,CAAEj+L,YAAW03F,aAAa,GAAIC,qBAAoB9yG,WAAU,IAAM,CACpG,KAAM,CAACgzG,EAAcC,CAAe,EAAIx6F,WAASo6F,CAAU,EAE3Dz6F,YAAU,IAAM,CACZ66F,EAAgBJ,CAAU,GAC3B,CAACA,CAAU,CAAC,EAEf,KAAM,CAACK,EAAUC,CAAW,EAAI16F,WAAS,EAAK,EAExC26F,EAAsB96F,GAAY06F,EAAc,GAAG,EACnDK,EAA8BpzF,GAAYmzF,CAAmB,EACnEh7F,YAAU,IAAM,CAER06F,GACAO,IAAgCz4G,QAChCw4G,IAAwBC,IAExBP,EAAmBM,GAAuB,EAAE,EAC5CD,EAAY,EAAK,EAEtB,GAACC,EAAqBC,EAA6BP,CAAkB,CAAC,EAEnEumG,QAAyDnhM,cAAmBrb,GAAA,CAC9Es2G,EAAY,EAAI,EACAt2G,IAAEgf,OAAOrrB,KAAK,CAClC,EAAG,CAAE,GAEC8oN,EAAcn+L,GAAa+3F,EAEjC,aACI,OAAKlzG,UAAWY,EAAW8oB,GAAMoR,eAAgB96B,CAAS,EAAEiB,gBACxD,OAAAA,SAAA,CACIooB,MAACjqB,GAAK,CACF1O,KAAK,OACLsP,UAAU,eACVxP,MAAOwiH,EACPhyG,SAAUq4M,EACVv5M,YAAa4kB,EAAAwW,EAAW,aAC3B,EAED7R,MAACc,EAAe,CACZnrB,MAAO,CAAEwpB,QAAU8wL,EAAkB,EAAJ,EAAO9lG,gBAAkB8lG,EAAuB,KAAT,MAAc,EACtFlvL,KAAMqpF,GACNzzG,UAAW0pB,GAAMU,KACpB,EACDf,MAACc,EAAe,CAACnrB,MAAO,CAAEwpB,QAAS8wL,EAAc,EAAI,CAAE,EAAGlvL,KAAM2E,GAAWC,KAAI,GAAChvB,UAAW0pB,GAAMU,KAAO,CAAC,EACxG,EACJ,CAEb,ECrDMmvL,IAAoEA,CAAC,CAAE7gN,SAAQ2sB,SAAQm0L,oBAAmB,UAEvGp0L,EAAK,CAACS,cAAe,GAAOntB,SAAgB2sB,SAAgB9iB,KAAK,KAAItB,gBACjEwpB,EAAS,CAACzqB,UAAW0pB,GAAM8J,UAAUvyB,UAClCooB,MAAA,OAAKrpB,UAAW0pB,GAAMyvL,QAAQl4M,eAC1BgwB,EAAA,CAAA15B,GAAA,6CAAwD,EACvD,EACL8xB,MAAA,OAAKrpB,UAAW0pB,GAAM+vL,WAAWx4M,eAC7BgwB,EAAA,CAAA15B,GAAA,8GAGO,EACN,EACL8xB,MAAC4N,GAAS,CAAAh2B,gBACN,OAAKjB,UAAW0pB,GAAMgwL,kBAAkBz4M,SAAA,CACpCooB,MAAC4F,EAAM,CAACrT,QAASyJ,EAAQ4F,MAAM,WAAUhqB,eACrCgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,EACR8xB,MAAC4F,EAAM,CAACrT,QAAS49L,EAAoBx8L,QAASpiB,OAAWqwB,MAAM,SAAQhqB,eACnEgwB,EAAA,CAAA15B,GAAA,SAAoB,EAChB,CAAC,EACR,EACE,CAAC,EACL,EACR,EClBToiN,IAAsDA,CAAC,CAAE7B,gBAAe92M,UAAS,IAAM,OACzF,KAAM,CAAC44M,EAA8BC,CAA+B,EAAIphM,WAAS,EAAK,EAChF,CAACqhM,EAAgCC,CAAiC,EAAIthM,WAAS,EAAK,EAEpFq0C,EAAS,SAAY,CACd9rD,GAAA,EAGPgoH,EAAoBA,IAAM,CAC5B6wF,EAAgC,EAAK,EACrCE,EAAkC,EAAI,GAGpCC,EAA6B,SAAY,CAC3CD,EAAkC,EAAK,EAEjChC,UAAoBD,EAAcvgN,EAAG,EAClCyJ,IACCsjC,gBAAQrT,EAAA,CAAA15B,GAAA,iCAA6C,EAAC,GAGpE,cACI4xB,WAAA,CAAAloB,UACIowB,OAAA,OACI95B,IAAIugN,IAAcvgN,KAAdugN,cAAkB54G,WACtBl/F,UAAW0pB,GAAMuwL,cACjBr+L,QAASA,IAAMi+L,EAAgC,EAAI,EAAE54M,UACrDowB,OAAA,OAAKrxB,UAAW0pB,GAAMwwL,cAAcj5M,UAChCowB,OAAA,OAAKrxB,UAAW0pB,GAAMywL,SAASl5M,UAC3BooB,MAAA,OAAKrpB,UAAW0pB,GAAM1Y,MAAM/P,eACxBgwB,EAAA,CAAA15B,GAAA,MAAAE,OAAA,CAAA4uC,EAAQyxK,EAAc9mM,KAAK,EAAQ,EAClC,EACLqY,MAAA,OAAKrpB,UAAW0pB,GAAM8gB,KAAKvpC,eACvBgwB,EAAA,CAAA15B,GAAA,MAAAE,OAAA,CAAA4uC,EAAQyxK,EAActtK,IAAI,EAAQ,EACjC,CAAC,EACL,EACLnhB,MAAA,OAAKrpB,UAAW0pB,GAAM0wL,cAAcn5M,gBAChC,OAAKjB,UAAW0pB,GAAM26B,KAAKpjD,UACvBooB,MAAA,OACIrpB,UAAWY,EACP,CAAE,CAAC8oB,GAAM2wL,cAAc,EAAG,CAACvC,EAAcI,SACzCxuL,GAAM4wL,YACV,EAAEr5M,eACFgwB,EAAA,CAAA15B,GAAA,UAAqB,CACpB,GACJugN,EAAcyC,aAAe,YAC1B,OAAAt5M,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,UAAqB,EAAC,IAAC8xB,MAACq7B,GAAW,CAACl0D,MAAOsnN,EAAcl8E,WAAa,CAAC,EACtE,EAELvqG,OAAA,OAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,UAAqB,EAAC,IAAC8xB,MAACq7B,GAAW,CAACl0D,MAAOsnN,EAAcyC,WAAa,CAAC,EACtE,CACR,EACA,EACJ,CAAC,EACL,EACLlxL,MAACc,EAAe,CAACC,KAAM67C,GAAgB1jE,KAAK,KAAKvC,UAAW0pB,GAAM8wL,YAAc,CAAC,EAChF,EACJZ,GACGvwL,MAAC+uL,GAAsB,CACnB1/M,OAAQkhN,EACRv0L,OAAQA,IAAMw0L,EAAgC,EAAK,EACnD/B,gBACAhrJ,SACAu6D,cAAe2B,EAClB,EAGJ8wF,GACGzwL,MAACkwL,IAAwB,CACrB7gN,OAAQohN,EACRz0L,OAAQA,IAAM,CACV00L,EAAkC,EAAK,EACvCF,EAAgC,EAAI,CACxC,EACAL,mBAAoBQ,EACvB,CACJ,EACH,CAEV,ECtFgBS,aAAa7iN,EAAmBuE,EAAwC,CACpF,OAAOe,EAAQ,aAAc,CAAEf,MAAO,CAAEvE,YAAW8iN,EAAGv+M,CAAM,EAAG,EAAE2B,KAAY/J,KAAE0J,KAAM,EACzF,CAEgBk9M,aAAkB5jN,EAAkB87G,EAAoB+nG,EAAuB,CAC3F,OAAI7jN,IAAQA,WAAM5F,SAAUypN,EAAOzpN,QAAU0hH,EAAW1hH,QACpD0hH,EAAaA,EAAWn7E,cACjB3gC,EAAK6C,OACRghN,oBAAQ/hN,KAAgB4H,GAAA,SAEhBA,KAAMsE,SAAS,KAAK,EAAG,CACvB,KAAM,CAACtD,EAAOo5M,CAAU,EAAIp6M,EAAMxP,MAAM,KAAK,EAC7C,OAAO8C,EAAE0N,CAAK,EAAE5I,KAAYgG,GACjBA,EAAEg8M,CAAU,EAAEnjL,YAAY,EAAExV,MAAM2wF,CAAU,CACtD,EAGL,OAAO9+G,OAAE0M,CAAK,IAAP1M,cAAU2jC,gBAAV3jC,cAAyBgR,SAAS8tG,EAC5C,EACL,GAEG97G,GAAQ,EACnB,CCjBA,MAAM+jN,IAA0DA,CAAC,CAAEt0M,WAAU,IAAM,OAC/E,KAAM,CAACwyM,EAA6BC,CAA8B,EAAIxgM,WAAS,EAAK,EAC9E,CAACsiM,GAAmBC,CAAqB,EAAIx/L,EAC/C,IAAMo8L,IAA8BpxM,CAAS,EAC7C,CAACA,CAAS,EACV,IACJ,EACM,CAACqsG,EAAYujG,CAAa,EAAI39L,WAAS,EAAE,EAE/C,cACI,OAAAxX,SAAA,EACK85M,iBAAiB5pN,UAAW,SACxB+5C,GAAc,CAAAjqC,eACV83M,IAAoB,CAAC1gH,SAAU2iH,EAAwB,EAC5C,EAGnBD,GAAmBA,EAAgB5pN,OAAS,UACzC,OAAK6O,UAAW0pB,GAAMuxL,yBAAyBh6M,UAC3CooB,MAAA,OAAKrpB,UAAW0pB,GAAMwxL,WAAWj6M,eAC7BgwB,EAAA,CAAA15B,GAAA,0HAGO,EACN,EACL85B,OAAA,OAAKrxB,UAAW0pB,GAAM4nI,OAAOrwJ,UACzBowB,OAAA,OAAApwB,UACIooB,MAAA,SAAOrpB,UAAW0pB,GAAMn1B,OAAO0M,eAC3BgwB,EAAA,CAAA15B,GAAA,SAAoB,EACjB,EACP8xB,MAAC+vL,IAAW,CAACtmG,mBAA8BsjG,KAAc5rK,CAAI,EAAI,CAAC,EACjE,EACLnhB,MAAC4F,EAAM,CAACrT,QAASA,IAAMq9L,EAA+B,EAAI,EAAGhuL,MAAM,UAAUb,KAAMk6E,GAAOrjG,eACtFgwB,EAAA,CAAA15B,GAAA,aAAwB,EACpB,CAAC,CACR,IACJojN,MAAeI,EAAiBloG,EAAY,CAAC,QAAS,OAAQ,OAAQ,SAAS,CAAC,IAAhF8nG,cAAmF7mN,IAC/EgkN,SACI6B,IAAiB,CAEd7B,gBACA92M,SAAUg6M,GAFLlD,EAAcvgN,EAGtB,EAER,EACA,EAGT8xB,MAAC+uL,GAAsB,CACnB1/M,OAAQsgN,EACR3zL,OAAQA,IAAM4zL,EAA+B,EAAK,EAClDnsJ,OAAQkuJ,EACX,CAAC,EACD,CAEb,iICpEgBG,aAAoB30M,EAAmB40M,EAA4C,CAC/F,OAAOl+M,GAAQ3B,GAAkB,kBAAgB6/M,UAAgB,CAC7DzzM,OAAQ,OACRlK,KAAM,GACNtB,MAAO,CAAEqK,WAAU,EACtB,EAAE1I,KAAY/J,KAAE0J,KAAM,EAC3B,CAEO,SAAS49M,IAAkB70M,EAAmB,CAC1CtJ,UAAQ3B,KAAkB,qBAAsB,CACnDoM,OAAQ,MACRlK,KAAM,GACNtB,MAAO,CAAEqK,WAAU,EACtB,EAAE1I,KAAY/J,KAAE0J,KAAM,EAC3B,CAEgB69M,aAAkB90M,EAAmBkjB,EAAoB,CAC9DxsB,UAAQ3B,KAAkB,qBAAsB,CACnDoM,OAAQ,MACRlK,KAAM,GACNR,KAAMysB,EACNvtB,MAAO,CAAEqK,WAAU,EACtB,EAAE1I,KAAY/J,KAAE0J,KAAM,EAC3B,CCPA,MAAM89M,IAAoBA,CAAC,CAAE/0M,WAAkC,IAAM,CAC3D,MAACg1M,CAAY,EAAIhgM,EAAc,IAAM6/L,IAAkB70M,CAAS,EAAG,CAACA,CAAS,EAAG,IAAI,EACpF,CAACi1M,EAAUC,EAAeC,CAAW,EAAIphM,GAAkC,IAAI,EAC/E,CAACylB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EAEpCmiM,EAAuB,CACzB,CAAEn6M,MAAO,SAAUkJ,KAAM+a,EAAAwW,EAAO,SAAI,KAAMhG,YAAaxQ,EAAAwW,EAAoB,uBAC3E,CAAEz6B,MAAO,SAAUkJ,KAAM+a,EAAAwW,EAAO,SAAI,KAAMhG,YAAaxQ,EAAAwW,EAA6B,gCACpF,CAAEz6B,MAAO,SAAUkJ,KAAM+a,EAAAwW,EAAO,SAAI,KAAMhG,YAAaxQ,EAAAwW,EAAwB,2BAC/E,CAAEz6B,MAAO,SAAUkJ,KAAM+a,EAAAwW,EAAO,SAAI,KAAMhG,YAAaxQ,EAAAwW,EAAiB,oBACxE,CAAEz6B,MAAO,SAAUkJ,KAAM+a,EAAAwW,EAAO,SAAI,KAAMhG,YAAaxQ,EAAAwW,EAAoB,uBAC3E,CAAEz6B,MAAO,SAAUkJ,KAAM+a,EAAAwW,EAAO,SAAI,KAAMhG,YAAaxQ,EAAAwW,EAAmB,qBAAG,EAGjF9iB,YAAU,IAAM,CACAujM,EAAA,CAAE,GAAGH,EAAc,GAChC,CAACA,EAAcG,CAAW,CAAC,EAE9B,MAAMp8J,EAAe,SAAY,CAC7B,GAAKk8J,EAGLx7K,GAAU,EAAI,EACV,IACMq7K,UAAkB90M,EAAWi1M,CAAQ,EACjCn3K,gBAAQrT,EAAA,CAAA15B,GAAA,OAAmB,EAAC,SAChC,CACN0oC,EAAU,EAAK,CACnB,IAGJ,OAAKw7K,QAKAvwK,GAAc,CAAAjqC,gBACVk/B,GAAc,CAACC,SAAUmf,EAAcv/C,UAAU,2BAA0BiB,UACxEowB,OAAA,OAAKrxB,UAAU,aAAYiB,SAAA,CACvBooB,MAAA4H,EAAA,CAAA15B,GAAA,SAAoB,EACpB8xB,MAAA,OAAKrpB,UAAU,wBAAuBiB,eAClC,OAAKjB,UAAW0pB,GAAMkyL,gBAAgB36M,SACjC25M,EAAO9mN,IAAK2M,UACT,OAAuBT,UAAW0pB,GAAMkqB,IAAI3yC,SAAA,CACxCooB,MAACo7E,GAAW,CACRhkG,MAAOA,EAAMkJ,KACb3I,YAAiB06M,EAAc,CAAE,CAACj7M,EAAMA,KAAK,EAAG0vC,EAAG,EACnD3/C,MAAOirN,EAASh7M,EAAMA,KAAK,GAAK,GAChCX,YAAa4kB,EAAAwW,EAAa,eAC7B,EACD7R,MAAA,QAAMrpB,UAAW0pB,GAAMwL,YAAYj0B,SAAER,EAAMy0B,YAAkB,CAAC,GAPxDz0B,EAAMA,KAQX,CACR,EACA,EACJ,CAAC,EACL,EAEL4oB,MAAC4N,GAAS,CAAAh2B,SACLg2B,SAAUL,MAAK,CAAA31B,eACXguB,GAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASgjB,EAAO/+B,eAClDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACK,EACV,CAAC,EACA,EACJ,EAjCT,IAmCf,ECjFaskN,IAA0CA,CAAC,CAAEr1M,WAAU,UACxDs1M,GAAqB,CAACt1M,YAAuB,EC2B7Cu1M,kBAAkB,CAAlBA,SAAkB,kBAAlBA,EAAkB,mCAAlBA,EAAkB,2BAAlBA,EAAkB,sBAAlBA,CAAkB,MAW9B,MAAMC,IAA0CA,IAAM,CAC5C,MAAElvI,OAAQzuD,GAAqB,EAC/BkwI,EAAgBtsI,KAChBkkL,EAAiB7pL,EAA+BzlB,KAAMD,OAAOV,aAAa,EAE1E,CAAC8pC,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EACpC,CAAC4zD,EAAakkH,CAAc,EAAI93K,WAAc,IAAI,EAClD,CAACwpB,EAAiBg6K,CAAkB,EAAIxjM,WAAc,IAAI,EAC1D,CAACgH,EAAQukG,CAAS,EAAIvrG,WAA6B,CAAE,GACrD,CAACoQ,EAAQqzL,EAAaC,CAAS,EAAI5hM,GAA2C,IAAI,EAClF,CAAC+1K,CAAU,EAAI90K,EAAc,IAAM40K,KAAiB,GAAI,EAAE,EAC1DgW,EAAkBzmG,GAAoBX,GAAmBqnG,kBAAmBF,iBAAgB5uM,EAAE,EAE9F,CAAEA,GAAIiP,EAAWlM,YAAa2wC,GAAuB3uB,EAA+BzlB,KAAMD,OAAOV,aAAc,EAC/G8Y,EAAWmO,KAEXi9D,EAAc9gE,GAAa,CAAC9S,CAAS,CAAC,EAE5C4R,YAAU,IAAM,CACZ,eAAeiD,GAAW,CACtB8gM,EAAU,IAAI,EACRtzL,QAAS,MAAMxW,GAAwB7L,CAAS,EACtD21M,EAAUtzL,CAAM,CACpB,CAESxN,GAAA,EACV,CAAC7U,EAAW21M,CAAS,CAAC,EAEnBj8K,QAAmB,MAAOrjC,GAAM,CAGlC,GAFAA,EAAEirB,eAAe,EAEb,EAACe,EAILm7F,GAAU,CAAE,GACZ/jF,EAAU,EAAI,EAEd,IAAIlpC,EAA6B,CAC7B,GAAG8xB,EACH84B,MAAO0qB,EACPpqC,mBAGA,IACA,IAAI/sC,EAAS,MAAMud,GAAsBjM,EAAWzP,CAAI,EAC/CiP,KAAiB9Q,CAAM,CAAC,EACvBovC,gBAAQrT,EAAA,CAAA15B,GAAA,wBAAoC,EAAC,QAClDsF,GAEDA,KAAE26B,SAAW,IAAK,CACZ02E,cAAej9E,EAAA,CAAA15B,GAAA,uBAAkC,EACvDotC,EAAUO,MAAMgpE,CAAY,EAC5B8V,EAAUvkG,EAAO81C,OAAO,CAAC24C,CAAY,CAAC,CAAC,EAC3C,QACM,CACNjuE,EAAU,EAAK,CACnB,IAGJ,OAAK6sC,EAID,CAACjkD,GAAU,CAACynK,EACLjnK,MAAC+a,EAAgB,EAAE,SAI1Bjb,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAA,wBAAAmL,EAAqBxd,EAAOlf,KAAK,EAAI,EAE7D0nB,OAACi5C,GAAI,CAACC,YAAauC,EAAI7rE,SAAA,CACnBooB,MAAC8gD,GAAO,CACJ5yE,GAAIwkN,GAAmB1pF,QACvB5jH,GAAI8/I,EAAc,CAAEzhF,IAAKivI,GAAmB1pF,QAAS,EACrD1oH,WAAMsnB,EAAA,CAAA15B,GAAA,UAAqB,EAAE0J,eAC5BiqC,GAAc,CAAAjqC,gBACVk/B,GAAc,CAACC,SAAUF,EAAkBlgC,UAAU,2BAA0BiB,UAC5EowB,OAAA,OAAKrxB,UAAU,aAAYiB,SAAA,CACvBooB,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAClB8xB,MAAA,OAAKrpB,UAAU,wBAAuBiB,eACjC+3E,GAAW,CACRK,WAAY,GACZxmD,mBAAoBnJ,GAAMgV,aAC1Bw6C,YAAa,EACbD,aAAc5M,GAAej5D,GAAmB5M,CAAS,EAAI,MAAQ4zE,EACrEp5E,SAAqBuvL,KAAe5uI,CAAK,EACzCy3B,iBAAkB1vD,GAAMkxD,uBAC3B,EACA,CAAC,EACL,EACLvpD,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,eAA0B,EAC1B8xB,MAAC5pB,GAAe,CACZ/O,KAAK,OACLqP,SAAQ,GACRC,UAAU,eACVF,YAAa4kB,EAAAwW,gBAAc,EAC3B1qC,MAAOq4B,EAAOlf,MAAQ,GACtB3I,YAAiBk7M,EAAY,CAAEvyM,KAAM9M,EAAEgf,OAAOrrB,MAAO,EACxD,CAAC,EACC,EAEP6gC,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,UAAqB,EACrB85B,OAACtwB,GAAgB,CACbf,UAAU,eACVD,SAAQ,GACRF,UAAW6kB,EAAAwW,WAAS,EACpB1qC,MAAOq4B,EAAOmnF,YACdhvG,YACIk7M,EAAY,CAAElsG,YAAanzG,EAAEgf,OAAOrrB,MAAqC,EAC5EyQ,UACDooB,MAAA,UAAQ74B,MAAM,GAAEyQ,SAAEyjB,EAAAwW,EAAe,gBAAU,GAC1C5nC,OAAO+qE,QAAQyyH,EAAa,EAAEh9L,IAAI,CAAC,CAACy9E,EAAM5nE,CAAI,UAC3C,UAAmBnZ,MAAO+gF,EAAKtwE,SAC1B0I,GADQ4nE,CAEL,CACX,CAAC,EACY,CAAC,EAChB,EAEPlgD,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,WAAsB,EACtB8xB,MAAA,QAAMrpB,UAAW0pB,GAAM3pB,SAASkB,SAAC,IAAO,EACxCowB,OAACtwB,GAAgB,CACbf,UAAU,eACVD,SAAQ,GACRF,UAAW6kB,EAAAwW,YAAU,EACrB1qC,MAAOq4B,EAAOuzL,YAAc,KAAO,GAAKvzL,EAAOuzL,WAC/Cp7M,YAAiBk7M,EAAY,CAAEE,WAAY39M,GAAiB5B,EAAEgf,OAAOrrB,KAAK,EAAG,EAAEyQ,UAC/EooB,MAAA,UAAQ74B,MAAM,GAAEyQ,SAAEyjB,EAAAwW,EAAe,iBAAU,EAC1Co1J,EAAWx8L,IAAK0yD,UACb,UAA0Bh2D,MAAOg2D,EAASjvD,GAAG0J,SAAA,CACxCulD,EAAS+qB,KAAK,MAAI/qB,EAAS78C,IAAI,GADvB68C,EAASjvD,EAEd,CACX,CAAC,EACY,CAAC,EAChB,EAEP85B,OAAA,SAAApwB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,8BAAyC,EACzC8xB,MAAA,QAAMrpB,UAAW0pB,GAAM3pB,SAASkB,SAAC,IAAO,EACxCowB,OAACtwB,GAAgB,CACbf,UAAU,eACVD,SAAQ,GACRF,UAAW6kB,EAAAwW,uBAAqB,EAChC1qC,MAAOq4B,EAAOtF,yBACdviB,YACIk7M,EAAY,CAAE34L,yBAA0B1mB,EAAEgf,OAAOrrB,MAA4B,EAChFyQ,UACDooB,MAAA,UAAmB74B,MAAOoU,GAAkB+jD,WAAW1nD,SAClDyjB,EAAAwW,EAAkB,qBADV,IAEL,EACR7R,MAAA,UAAmB74B,MAAOoU,GAAkBgkD,WAAW3nD,SAClDyjB,EAAAwW,EAAkB,mBAAC,EADX,IAEL,CAAC,EACK,CAAC,CAChB,GAEN+P,EAAmBoxK,iBAChB,SAAAp7M,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,YAAuB,EACvB8xB,MAACi+F,GAAY,CACTx2B,cACIv6F,OAAOiF,WAAW01L,WAAa,IAAI36L,OAAOiF,WAAW01L,aAAet2L,OACvEqG,eACAxB,GAAe,CACZT,MAAO,CAAEo+B,MAAO,OAAQ,EACxB1sC,KAAK,OACLsP,UAAU,eACVF,YAAa4kB,EAAAwW,aAAW,EACxB1qC,MAAOq4B,EAAOj0B,WAAa,GAC3BoM,YAAiBk7M,EAAY,CAAEtnN,UAAWiI,EAAEgf,OAAOrrB,MAAO,EAC1DyP,YAAa,CACT,CACIinC,QAAoBvyC,MAAkBnE,CAAK,EAC3C42C,eAAgBA,IACZ/d,MAAA4H,EAAA,CAAA15B,GAAA,gEAEO,EAEd,EAER,EACS,CAAC,CACZ,GAkBV0zC,EAAmBoxK,iBAChB,OAAKr8M,UAAU,aAAYiB,SAAA,CACvBooB,MAAA4H,EAAA,CAAA15B,GAAA,mBAA8B,EAC9B8xB,MAAA,OAAKrpB,UAAW,eAAeiB,eAC1B+3E,GAAW,CACRG,YAAa,GACbn4E,SAAqBi7M,KAAmBt6J,CAAK,EAC7Cu3B,YAAa,GAAK,GAClBD,aACIh3C,GACA5uB,GAA6B7M,CAAS,EAAI,MAAQ4zE,EAEzD,EACA,CAAC,EACL,EAET/wD,MAAA,OAAKrpB,UAAU,eAAciB,eACxB4/B,GAAiB,CAACC,eAAgBrhB,EAAS,EAC3C,EACL4J,MAAA,OAAKrpB,UAAU,WAAUiB,eACpBguB,EAAM,CAACv+B,KAAK,SAASu6B,MAAM,UAAUjO,QAASgjB,EAAO/+B,eAClDgwB,EAAA,CAAA15B,GAAA,OAAkB,EACd,EACP,CAAC,EACM,EACJ,EACX,EAET8xB,MAAC8gD,GAAO,CACJ5yE,GAAIwkN,GAAmBO,gBACvB7tM,GAAI8/I,EAAc,CAAEzhF,IAAKivI,GAAmBO,gBAAiB,EAC7D3yM,WAAMsnB,EAAA,CAAA15B,GAAA,mBAA8B,EAAE0J,eACrC65M,IAAmB,CAACt0M,YAAuB,EACvC,EACR4/L,GACG/8K,MAAC8gD,GAAO,CACJ5yE,GAAIwkN,GAAmBF,YACvBptM,GAAI8/I,EAAc,CAAEzhF,IAAKivI,GAAmBF,YAAa,EACzDlyM,WAAMsnB,EAAA,CAAA15B,GAAA,eAA0B,EAAE0J,eACjC46M,IAAW,CAACr1M,YAAuB,CAC/B,GAEZykC,EAAmBsxK,0BACfpyI,GAAO,CACJ5yE,GAAIwkN,GAAmBnY,UACvBn1L,GAAI8/I,EAAc,CAAEzhF,IAAKivI,GAAmBnY,UAAW,EACvDj6L,WAAMsnB,EAAA,CAAA15B,GAAA,YAAuB,EAAE0J,eAC9Bs6M,IAAiB,CAAC/0M,YAAuB,EACrC,CACZ,EACC,CAAC,EACT,QAnMMipB,GAAQ,CAAChhB,GAAI8/I,EAAc,CAAEzhF,IAAKivI,GAAmB1pF,QAAS,EAAI,CAqMlF,ECtSMmqF,IAAyDpzL,GAAA,CAC3D,MAAMjJ,EAAUC,KAEVutC,EAAaz1C,cACO5N,GAAA,CACVvX,OAAK,aAAauX,EAAQ/S,IAAI,GAE1C,CAAC4oB,CAAO,CACZ,EAEA,cACIgJ,WAAA,CAAAloB,SAAA,CACIooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAoB,sBAAI,EAEhD7J,OAACga,GAAW,CAAApqC,SACRooB,CAACgiB,SAAYjc,KAAI,CAAC3gB,GAAG,YAAWxN,eAC5BgwB,EAAA,CAAA15B,GAAA,WAAsB,EACR,EAEjB8zC,SAAYI,KAAI,CAAAxqC,eACbgwB,EAAA,CAAA15B,GAAA,qBAAgC,EAClB,CAAC,EACV,EAEb8xB,MAACgnK,GAAsB,CAACvjI,OAAQa,EAAa,CAAC,EAChD,CAEV,+CCxBM8uJ,IAA6DrzL,GAAA,CACzD,MAAEszL,cAAer+L,GAAkC,EAEzD,cACI,OAAKre,UAAW0pB,IAAM8J,UAAUvyB,UAC5BooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,sCAAkD,EAClD,EACJ8xB,MAACmH,GAAkB,CAACpG,KAAMk7F,GAAer6F,MAAM,UAAUoF,KAAMqrC,GAAkBghJ,CAAU,EAAEz7M,eACzFgwB,EAAA,CAAA15B,GAAA,oBAA+B,EACf,CAAC,EACpB,CAEb,+CCxBaolN,IAAav+K,OAAK,IAAM54B,GAAA,WAAO,sBAAa,4DAAC,ECWpDo3M,IAAiExzL,GAAA,CACnE,MAAMtS,EAAUwF,EAA+BzlB,KAAMD,OAAOV,aAAa,EACnE,CAACG,CAAc,EAAI6mB,KAEnBksG,EAASlxG,cAAY,IAClBpB,EAIEqkM,IAAoBrkM,EAAQvf,GAAI,eAAe,EAH3C+F,QAAQ4Y,QAAQ,IAAI,EAIhC,CAACY,iBAASvf,EAAE,CAAC,EAEhB,OAAKuf,QAKAgrK,WAAQ,CAACzjJ,SAAUhV,MAAC+a,IAAkB,EAAEnjC,gBACrC,OAAKjB,UAAW0pB,IAAM8J,UAAUvyB,SAAA,CAC5BooB,MAACqY,GAAe,CAAC1wB,MAAO0T,EAAAwW,EAAQ,UAAI,EAGpC7R,MAACszL,IAAU,CAACvzF,SAAgBptH,OAAQ3F,iBAAgB2F,OAAS,CAAC,EAC7D,EACC,EAXHqtB,MAAC+a,EAAgB,EAAE,CAalC,EChBMy4K,IAA0C,CAAE/lM,QAAS,0BAA2B,EAChFgmM,GAAuC,CAAEhmM,QAAS,gBAAiB,EACnEimM,IAA+C,CAAEjmM,QAAS,kBAAmB,EAG7EkmM,GAAqBzmN,OAAO,WAAc,YAC1C0mN,IAA8CA,IAAM,CACtD,IAAIrwC,EAAU,GACRswC,QAAyB/9G,GAAkBH,GAAmBm+G,sBAAsB,EAEpF,CAAC74L,CAAW,EAAIpH,KAChBqH,EAAkBD,iBAAapf,aAC/B,CAAEunB,UAAWq5E,GAAcT,EAAU,EAE3C,cACIl8E,WAAA,CAAAloB,SAAA,CACIooB,MAACygF,GAAS,CAACt5G,MAAO,CAAE,qBAAsB,OAAQ,EAAI,EACtD64B,MAACygF,GAAS,CAACt5G,MAAOi8B,CAAS,GAE1BogL,UAAgB,IAChB8B,UAAe,IACfuO,GAA0B34L,SACtB64L,GAAgB,CAACC,YAAY,KAAKC,YAAaN,GAAoB/jL,SAAU1U,EAAkB,EAEpG8M,OAACq5E,GAAM,CAAAzpG,SAAA,CACHooB,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,kBAAyBltJ,UAAWi8D,GAAe,EAC7EtyD,MAACwQ,EAAS,CACN1kC,KAAM,GAAGy3K,2BACTltJ,UAAWs8L,IACXhiL,WAAY6iL,IACf,EACDxzL,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,kBACTltJ,UAAWg4B,GACX1d,WAAY8iL,GACf,EAEDzzL,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,yBACTltJ,UAAWmsB,GACX7R,WAAY8iL,GACf,EAEDzzL,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,8CAAqDltJ,UAAWi4L,IAAU,EACpGtuL,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,wCAA+CltJ,UAAWuyL,IAAiB,EACrG5oL,MAACoG,GAAQ,CAAC6uE,MAAK,GAACnpG,KAAM,GAAGy3K,YAAmBn+J,GAAI,GAAGm+J,qBAA6B,EAChFvjJ,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,YAAmBltJ,UAAWk9L,IAAoB,EAE5EvzL,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,aAAoBltJ,UAAW6tF,GAAa,EAEtElkF,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,iBACT5yI,WAAY+iL,IACZr9L,UAAW88L,IACd,EACDnzL,MAACwQ,EAAS,CAAC1kC,KAAM,GAAGy3K,wBAA+BltJ,UAAW4sL,IAAiB,EAE/EjjL,MAACwQ,EAAS,CAAC1kC,KAAM,GAAGy3K,6BAAoCltJ,UAAW+8L,IAAkB,EAErFpzL,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,aACTltJ,UAAWA,IACP2J,MAACk0L,GAAgB,CAACF,YAAY,KAAKC,YAAaN,GAAoB/jL,SAAU1U,EAAkB,EAEvG,EAED8E,MAACoG,GAAQ,CAAC6uE,MAAK,GAACnpG,KAAM,GAAGy3K,KAAYn+J,GAAI,GAAGm+J,aAAqB,EAEjEvjJ,MAACiR,GAAK,CAAC5a,UAAW4Z,GAAW,CAAC,EAC1B,CAAC,EACX,CAEV,ECrFMkkL,IAAgDA,IAAM,CACxD,MAAMxuM,EAAWmO,KACXjnB,EAAgBomB,EAA+BzlB,KAAMD,OAAOV,aAAa,EACzED,EAAWqmB,EAA+BzlB,KAAMD,OAAOX,QAAQ,EAuBjEA,GArBJmiB,YAAU,IAAM,CACZ,GAAKniB,EAIL,IAAIC,EAAe,CACf6d,GAAcC,cAAgB9d,EAAcqB,GAC5C,OAQAtB,EAAS,CAAC,GAEVygB,GAAmB1H,EAAU/Y,EAAS,CAAC,EAAEuQ,SAAS,EAEvD,GAACvQ,EAAUC,EAAe8Y,CAAQ,CAAC,EAElC/Y,GAAYA,EAAS9E,SAAW,EACzBk4B,aAAC2hF,GAAiB,EAAE,EAG/B,GAAI,CAAC90G,EACMmzB,aAAC+a,EAAgB,EAAE,EAa9B,GAAI2mE,GAAeF,+BACf,aAAQV,GAAY,CAAwBzjG,kBAAmBqkG,GAAeF,gCAApD30G,EAAcqB,EAAuE,EAGnH,OAAQrB,EAAcxF,KAAI,CACtB,KAAKgT,GAAYoZ,MACb,OAAQqtF,YAAkBj0G,EAAcqB,EAAK,EAEjD,KAAKmM,GAAYkZ,OACb,OAAQqgM,aAAmB/mN,EAAcqB,EAAK,EAElD,QACW,WACf,CACJ,EC9DO,SAASkmN,IAAkBrsM,EAAO,CAE9BlU,SAAQ,6BAA6BzJ,mBAAmB2d,CAAK,GAAG,EAAEtT,KAAK/J,GAAKA,EAAE0J,KAAM,EAC/F,CAGgBigN,YAAatsM,EAAOusM,EAAa,CAC7C,OAAOzgN,EAAQ,6BAA8B,CACzCyK,OAAQ,OACRlK,KAAM,GACNR,KAAM,CACFmU,QACAwsM,qBAAsBD,CAC1B,EACH,EAAE7/M,KAAU/J,KAAE0J,KAAM,EACzB,+OCbMogN,IAAoEA,CAAC,CAAEjX,gBAAe3lM,UAAS,WAE7F,OAAKjB,UAAW0pB,GAAMm9K,eAAe5lM,SAAA,CAChCA,EACDowB,OAAA,OAAKrxB,UAAW0pB,GAAMo9K,kBAAkB7lM,WAClC2lM,IAAkBviM,GAAc0iM,UAAYH,IAAkBviM,GAAc2iM,gBAC1E39K,MAACc,EAAe,CAACnqB,UAAW0pB,GAAMwb,MAAO9a,KAAMC,EAAU,GAE5Du8K,IAAkBviM,GAAc4iM,gBAAa98K,EAAe,CAAC6E,KAAI,GAAC5E,KAAM2E,EAAY,GACpF63K,IAAkBviM,GAAc6iM,aAC7B/9K,WAAA,CAAAloB,eACK8pB,GAAO,CAAC7B,cAAS+H,EAAA,CAAA15B,GAAA,kBAA6B,EAAE0J,eAC7C,QAAAA,eACKkpB,EAAe,CAACnqB,UAAW0pB,GAAM4a,QAASla,KAAMyc,GAAU,EACzD,EACD,EACX,CACL,CACA,GACJ+/J,IAAkBviM,GAAc0iM,gBAC7B,KAAA9lM,eACIgwB,EAAA,CAAA15B,GAAA,iBAA4B,CAC7B,GAENqvM,IAAkBviM,GAAc2iM,qBAC7B,KAAA/lM,eACIgwB,EAAA,CAAA15B,GAAA,iDAA4D,EAC7D,CACN,EACA,EC5BAumN,IAAgDA,CAAC,CAAEnrL,QAAO1xB,UAAS,WAExE,SAAOjB,UAAW0pB,GAAM8J,UAAUvyB,UAC9BooB,MAAA,QAAApoB,SAAO0xB,CAAY,GAClB1xB,CAAQ,EACN,EAQT88M,GAAuBz+M,aACzB,CAAC,CAAEqzB,QAAO7yB,cAAamB,WAAU,GAAGknI,CAAY,EAAG3oI,UAE1Cs+M,IAAqB,CAACnrL,QAAa1xB,eAChC,OAAKjB,UAAW0pB,GAAMoR,eAAe75B,eAChCF,GAAgB,IACTonI,EACJroI,cACAE,UAAWY,GAAW8oB,GAAMqR,aAAc,cAAc,EACxDv7B,MAASyB,WAEK,EACjB,EACc,CAGnC,ECda+8M,IAA8CA,CAAC,CAAEnrM,aAAYorM,WAAYC,CAAmB,IAAM,CAClGC,WACLtrM,EACApS,EACS,CACT,GAAI,CAACoS,EACM,SAGLriB,QAAQqiB,EAAWpS,CAAK,EAC9B,OAA+BjQ,GAAyB,EAC5D,CAEA,KAAM,CAAC4tN,EAAcC,CAAe,EAAI5lM,WAAuB,CAC3DvM,MAAOiyM,EAAwBtrM,EAAY,cAAc,EACzDhC,UAAWstM,EAAwBtrM,EAAY,kBAAkB,EACjErC,YAAaqC,EAAaA,EAAWzB,MAAQ,KAC7CN,SAAUqtM,EAAwBtrM,EAAY,iBAAiB,EAC/D5B,WAAYktM,EAAwBtrM,EAAY,mBAAmB,GAAK,KACxE7B,MAAOmtM,EAAwBtrM,EAAY,cAAc,GAAK,KAC9DvC,SAAU,GACVS,YAAaotM,EAAwBtrM,EAAY,oBAAoB,EACxE,EACK,CAACwgE,EAAUC,CAAW,EAAI76D,WAAS,EAAK,EACxCzJ,EAAWmO,KACXmhM,EAAmBA,CAAC79M,EAA2BjQ,IAAkB,CACnD6tN,EAAA,CAAE,GAAGD,EAAc,CAAC39M,CAAK,EAAGjQ,EAAO,GAGjDytN,EAAa,SAAY,CAC3B3qI,EAAY,EAAI,EACZ,IACA,MAAM5iE,GAAS0tM,CAAY,EAE3B,MAAM5nM,GAASxH,CAAQ,EACnBkvM,GAAuCA,GAAA,QACrC,CACN5qI,EAAY,EAAK,CACrB,GAGJ,aACKirI,IAAQ,CACLlrI,WACA4qI,aACAG,eACAE,mBACAtuG,aAAan9F,iBAAYm9F,cAAe,KAC3C,CAET,EAWMuuG,IAAoCA,CAAC,CACvCC,oBAAcvtL,EAAA,CAAA15B,GAAA,WAAsB,EACpC6mN,eACApuG,cACAsuG,mBACAL,aACA5qI,UACJ,IAAM,CACF,KAAM,CAACrsC,EAAiBC,CAAkB,EAAIxuB,WAAS2lM,EAAa9tM,QAAQ,EACtE,CAACs2L,EAAea,CAAgB,EAAIhvL,WAAwBpU,GAAcqjM,UAAU,EACpFhhK,EAAY9jB,UAAQ,IAAM,IAAImjB,GAAkBI,GAAgC,GAAG,EAAE,EAErFitC,EAA2B/uD,KAC3BvK,EAAoBD,GAAqB,CAC3C,CACIqtB,QAASA,CAAC12C,EAAO6C,IAAY+qN,EAAa9tM,WAAa02B,EACvDG,QAASA,CAAC,CAAE1mC,iBAAYwwB,EAAA,CAAA15B,GAAA,uBAAkC,EAC1D6vC,eAAgBA,CAAC,CAAE3mC,iBAAYwwB,EAAA,CAAA15B,GAAA,uBAAkC,GAErE,CACI2vC,QAASA,CAAC12C,EAAO6C,IAAYqzC,EAAUT,SAASm4K,EAAa9tM,QAAQ,EAAEw1B,MACvEqB,QAASA,CAAC,CAAE1mC,iBAAYwwB,EAAA,CAAA15B,GAAA,6CAAwD,EAChF6vC,eAAgBA,CAAC,CAAE3mC,iBAAYwwB,EAAA,CAAA15B,GAAA,6CAAwD,CAC1F,EACJ,EAEK2oC,EAAmB,MAAOrjC,GAAM,CAClCA,EAAEirB,eAAe,EACNm2L,GAAA,EAGTrW,EAAa,SAAY,CACvBwW,KAAalyM,MAAM/a,SAAW,EAAG,CACjCs2M,EAAiBpjM,GAAcqjM,UAAU,EACzC,OAEA,IACAD,EAAiBpjM,GAAc4iM,QAAQ,EACvC,MAAMY,EAAW,MAAM91L,GAA0BqsM,EAAalyM,KAAK,EACnEu7L,EAAiBI,CAAQ,QACpBhrM,GACL81E,QAAQztC,MAAMroC,CAAC,CACnB,GAEJ,aACI,OAAKmD,UAAW0pB,GAAM8J,UAAUvyB,gBAC3Bk/B,GAAc,CAACrmB,oBAAsCsmB,SAAUF,EAAiBj/B,SAAA,CAC7EooB,MAACw0L,IAAwB,CAACjX,gBAA6B3lM,eAClDy5B,GAAa,CACVxM,SAAU,CAAC,CAACkwL,EAAa5tM,YACzB7G,KAAK,QACL5J,SAAQ,GACRu0H,OAAQszE,EACRl3M,KAAK,QACLiiC,YAAO1B,EAAA,CAAA15B,GAAA,QAAmB,EAC1B/G,MAAO4tN,EAAalyM,MACpBlL,SAAiBs9M,KAAiB,QAASzhN,EAAEgf,OAAOrrB,KAAK,EACzDm1B,UAAS,GACT3lB,UAAWY,EAAW,CAClB,aACIgmM,IAAkBviM,GAAc0iM,UAAYH,IAAkBviM,GAAc2iM,cACnF,EACJ,CACqB,GAEzBh3F,IAAgB,aACb7mF,WAAA,CAAAloB,SAAA,CACIowB,OAAC0sL,GAAc,CACXp0M,KAAK,aACLgpB,YAAO1B,EAAA,CAAA15B,GAAA,aAAwB,EAC/B/G,MAAO4tN,EAAantM,YAAc,GAClCjQ,SAAiBs9M,KAAiB,aAAczhN,EAAEgf,OAAOrrB,KAAK,EAAEyQ,UAChEooB,MAAA,UAAQ74B,MAAM,GAAEyQ,SAAEyjB,EAAAwW,EAAM,QAAU,EACjC4/C,GAAyBhnF,IAAKghD,SAC3B,UAAqBtkD,MAAOskD,EAAO7zC,SAC9B6zC,GADQA,CAEL,CACX,CAAC,EACU,EAEhBzjB,OAAC0sL,GAAc,CACXp0M,KAAK,QACLgpB,YAAO1B,EAAA,CAAA15B,GAAA,QAAmB,EAC1B/G,MAAO4tN,EAAaptM,OAAS,GAC7BhQ,SAAiBs9M,KAAiB,QAASzhN,EAAEgf,OAAOrrB,KAAK,EAAEyQ,UAC3DooB,MAAA,UAAQ74B,MAAM,GAAEyQ,SAAEyjB,EAAAwW,EAAM,QAAU,EACjC2/C,GAAmB/mF,IAAKghD,SACrB,UAAqBtkD,MAAOskD,EAAO7zC,SAC9B6zC,GADQA,CAEL,CACX,CAAC,EACU,CAAC,EACnB,EAGNzrB,MAACqR,GAAa,CACV/wB,KAAK,QACL5J,SAAQ,GACRrP,KAAK,OACLiiC,YAAO1B,EAAA,CAAA15B,GAAA,aAAwB,EAC/B/G,MAAO4tN,EAAavtM,UACpB7P,SAAiBs9M,KAAiB,YAAazhN,EAAEgf,OAAOrrB,KAAK,EAChE,EAED64B,MAACqR,GAAa,CACV/wB,KAAK,QACL5J,SAAQ,GACRrP,KAAK,OACLiiC,YAAO1B,EAAA,CAAA15B,GAAA,YAAuB,EAC9B/G,MAAO4tN,EAAattM,SACpB9P,SAAiBs9M,KAAiB,WAAYzhN,EAAEgf,OAAOrrB,KAAK,EAC/D,EACD64B,MAACoR,GAAoB,CAAC9H,YAAO1B,EAAA,CAAA15B,GAAA,eAA0B,EAAE0J,eACpDuyE,GAAU,CACPhjF,MAAO4tN,EAAartM,YACpB/P,SAAWxQ,GAAU8tN,EAAiB,cAAe9tN,CAAK,EAC1DuP,SAAQ,GACRF,UAAW6kB,EAAAwW,gBAAc,EACzBu4C,eAAgBL,EACnB,EACiB,EAEtB/pD,MAACqR,GAAa,CACV36B,SAAQ,GACRrP,KAAK,WACL40C,UAAW,EACX3S,YAAO1B,EAAA,CAAA15B,GAAA,WAAsB,EAC7B/G,MAAO4tN,EAAa9tM,SACpBtP,SAAiBs9M,KAAiB,WAAYzhN,EAAEgf,OAAOrrB,KAAK,EAC/D,EAED64B,MAACqR,GAAa,CACV36B,SAAQ,GACRrP,KAAK,WACLiiC,YAAO1B,EAAA,CAAA15B,GAAA,kBAA6B,EACpC/G,MAAOw2C,EACPhmC,SAAWnE,GAAMoqC,EAAmBpqC,EAAEgf,OAAOrrB,KAAK,EACrD,EAED64B,MAACod,GAAkB,CAACn2B,SAAU8tM,EAAa9tM,SAAUo2B,YAAuB,EAE3E7F,UAAmB,SAEnBE,GAAW,CAACx+B,KAAK,KAAK4rB,MAAK,GAACz9B,KAAK,SAASu6B,MAAM,UAAUjO,QAASq2D,EAASpyE,SACxEu9M,EACQ,CAAC,EACF,EACf,CAEb,ECjO6E,IAWxEC,cAAQ,CAARA,SAAQ,cAARA,EAAQ,oBAARA,CAAQ,EAARA,IAAQ,IAKb,MAAMC,IAAsDA,CAAC,CAAE7rM,aAAYsN,UAAS/rB,WAAUuqN,cAAa,IAAM,CAC7G,KAAM,CAACC,EAAkBC,CAAmB,EAAIpmM,WAAS,EAAK,EACxD,CAAEu8C,QAAS76C,GAAkC/lB,CAAQ,EACrD4B,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAK,EACxDgZ,EAAWmO,KAEX2hM,EAAc,aAAajsM,EAAW1G,mBAE5C,eAAek/E,EAAaxuF,EAAG,CAC3BA,EAAEirB,eAAe,EAEjB+2L,EAAoB,EAAI,EAEpB,IAEMnB,SAAa7qM,EAAWzB,KAAK,EACnC,MAAMoF,GAASxH,CAAQ,EACvBmR,EAAQnsB,QAAQ8qN,CAAW,SACrB,CACND,EAAoB,EAAK,CAC7B,CACJ,CAEA,OAAI7oN,EAAKygB,WACD5D,EAAW05B,aAAa7U,gBAAkB1hC,EAAKkW,MAAMwrB,qBAEjD,OAAK13B,UAAU,0BAAyBiB,SACnC09M,GAEDt1L,MAAC0X,GAAW,CACR6gE,GAAIzyE,GACJ1gB,GAAI,qBAAqBhb,mBAAmBW,EAASE,SAAWF,EAASG,MAAM,IAC/EosC,QAAQ,UACRp+B,KAAK,KACLya,QAAS4hM,EAAiB39M,eAC1BgwB,EAAA,CAAA15B,GAAA,0BAAqC,EAC5B,CAAC,EACb,SAKT4xB,WAAA,CAAAloB,UACIooB,MAAA,KAAGrpB,UAAU,cAAaiB,SAAE09M,EAAgB,EAC5Ct1L,MAAC4F,EAAM,CAAChE,MAAM,UAAUkD,MAAK,GAACvS,QAASyvE,EAAc9oF,KAAK,SAASya,QAAS4hM,EAAiB39M,eACzFgwB,EAAA,CAAA15B,GAAA,oBAA+B,EAC3B,CAAC,EACX,EAINy9D,IAASypJ,GAASz6K,OAASnxB,EAAWksM,mBAElC51L,WAAA,CAAAloB,UACIooB,MAAA,OAAKrpB,UAAU,cAAaiB,SAAE09M,EAAkB,EAEhDt1L,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,UAAqB,EACrB,EACJ8xB,MAACmW,GAAS,CAACE,aAAc7sB,EAAW05B,aAAe,EAE9CljB,EAAA,mBAEL,OAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gDAAA28C,WAAA,CAAA7N,QAEKlX,GAAU,CAAC1gB,GAAI,CAAE,GAAGra,EAAU+H,MAAO,CAAE64D,KAAMypJ,GAASF,QAAS,CAAE,EAA8B,CAAC,EAC9F,EACN,CAAC,EACR,SAKNp1L,WAAA,CAAAloB,UACIooB,MAAA,OAAKrpB,UAAU,cAAaiB,SAAE09M,EAAkB,EAEhDt1L,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,oBAA+B,EAC/B,EACJ8xB,MAAC20L,IAAiB,CAACnrM,aAAwBorM,WAAYA,IAAM99L,EAAQnsB,QAAQ8qN,CAAW,EAAI,EAEvFz1L,EAAA,mBAEL,OAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,8CAAA28C,WAAA,CAAA7N,QAEKlX,GAAU,CAAC1gB,GAAI,CAAE,GAAGra,EAAU+H,MAAO,CAAE64D,KAAMypJ,GAASz6K,KAAM,CAAE,EAA0B,CAAC,EACvF,EACN,CAAC,EACR,CAEV,EAEe9L,MAAWwmL,GAA+B,EC1GnDM,IAA+CA,CAAC,CAAEnsM,aAAYsN,UAAS/rB,UAAS,IAAM,CACxF,KAAM,CAACwqN,EAAkBC,CAAmB,EAAIpmM,WAAS,EAAK,EACxDziB,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAK,EACxDgZ,EAAWmO,KAEX2hM,EAAc,aAAajsM,EAAW1G,mBAC5C,eAAek/E,EAAaxuF,EAAG,CAC3BA,EAAEirB,eAAe,EAEjB+2L,EAAoB,EAAI,EAEpB,IACMnB,SAAa7qM,EAAWzB,KAAK,EACnCoF,GAASxH,CAAQ,EACjBmR,EAAQnsB,QAAQ8qN,CAAW,SACrB,CACND,EAAoB,EAAK,CAC7B,CACJ,CAEI,OAAC7oN,EAAKygB,WAcN5D,EAAW05B,aAAa7U,gBAAkB1hC,EAAKkW,MAAMwrB,qBAEjD,OAAK13B,UAAU,0BAAyBiB,SAAA,CACpCooB,MAAA4H,EAAA,CAAA15B,GAAA,0GAAAE,OAAA,CAAA4uC,EACoCrwC,EAAKkW,MAAK2mD,EACmBhgD,EAAW05B,YAAY,EAAA2H,WAAA,CAAA7N,EADxChd,MAAK,QAAC,EAE/C,EAEPA,MAAC0X,GAAW,CACR6gE,GAAIzyE,GACJ1gB,GAAI,qBAAqBhb,mBAAmBW,EAASE,SAAWF,EAASG,MAAM,IAC/EosC,QAAQ,UACRp+B,KAAK,KACLya,QAAS4hM,EAAiB39M,eAC1BgwB,EAAA,CAAA15B,GAAA,0BAAqC,EAC5B,CAAC,EACb,SAKT4xB,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,gFAAAE,OAAA,CAAA4uC,EACsExzB,EAAWosM,UAASpsJ,EAAQ78D,EAAKkW,KAAK,EACrG,EAEPmd,MAAC0X,GAAW,CAACJ,QAAQ,UAAUxS,MAAK,GAACvS,QAASyvE,EAAc9oF,KAAK,KAAKya,QAAS4hM,EAAiB39M,eAC5FgwB,EAAA,CAAA15B,GAAA,oBAA+B,EACtB,CAAC,EAChB,SAzCE4xB,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,yCAAAE,OAAA,CAAA4uC,EAA0CxzB,EAAWosM,SAAS,EAAS,EAEvE51L,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gCAA2C,EAC3C,EAEJ8xB,MAACmW,GAAS,CAACE,aAAc7sB,EAAW05B,aAAe,CAAC,EACtD,CAmCd,EAEerU,OAAW8mL,GAAwB,uCClE5CtvL,IAAsC74B,IAAA,CACxCb,KAAMa,EAAMD,OAAOZ,IACvB,GAQMkpN,IAAwCA,CAAC,CAAE9qN,UAAS,IAAM,CAC5D,KAAM,CAACye,EAAYssM,CAAa,EAAI1mM,WAAqC,IAAI,EACvE,CAAC2mM,EAAcC,CAAe,EAAI5mM,WAAS,EAAK,EAChD,CAACy1F,EAAcoxG,CAAe,EAAI7mM,WAAkC,IAAI,EACxE,CAAErH,SAAU+I,GAAkC/lB,CAAQ,EACtD4B,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAI,EAuBzDopN,GArBJhnM,YAAU,IAAM,CACZ,eAAeiD,GAAW,CAClB,IACA,GAAI,CAACjK,EACD,MAAMtL,MAAM,eAAe,EAGjBq5M,EAAA,CAAE,GAAI,MAAM1B,IAAkBrsM,CAAK,EAAIA,QAAO,QACvDvU,GACDA,EAAE26B,SAAWJ,GAAes7C,YAC5B2sI,EAAgB,EAAI,EACpBC,QAAgBruL,EAAA,CAAA15B,GAAA,4CAAwD,EAAC,GAEzE+nN,QAAgBruL,EAAA,CAAA15B,GAAA,4CAAwD,EAAC,CAEjF,CACJ,CAES8jB,GAAA,EACV,CAACjK,CAAK,CAAC,EAENguM,GAAgBppN,GAAQA,EAAKygB,WAC7B,aAAQ+Y,GAAc,CAAC/gB,GAAG,IAAK,EAGnC,GAAIy/F,EACA,aACKrsE,GAAU,CAAA5gC,gBACP,OAAKjB,UAAW0pB,IAAMwb,MAAMjkC,UACxBooB,MAAA,MAAApoB,SAAKitG,EAAiB,EAEtB7kF,MAACkH,GAAkB,CAACtF,MAAM,UAAU1oB,KAAK,QAAQkM,GAAG,IAAGxN,eACnDgwB,EAAA,CAAA15B,GAAA,mBAA8B,EACd,EAEpB8xB,MAAA,SAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,gGAEO,EACJ,CAAC,EACP,EACG,EAIpB,GAAI,CAACsb,EACMwW,aAAC+a,EAAgB,EAAE,EAG9B,MAAMm7K,EAAsBA,IAAM,CAC9B,OAAQ1sM,EAAW2sM,WAAU,CACzB,KAAKv7M,GAAW6Y,MACZ,aACK4hM,GAA+B,CAC5BC,mBACI1tL,EAAA,CAAA15B,GAAA,yDAAAE,OAAA,CAAA4uC,EAEKxzB,EAAWosM,SAAS,EAAA/qK,WAAA,CAAA7N,EAD0Bhd,MAAK,QAAC,EAElD,EAEXxW,aACH,EAET,KAAK5O,GAAWouH,QACZ,aACKqsF,GAA+B,CAC5BC,mBAAc1tL,EAAA,CAAA15B,GAAA,yCAAAE,OAAA,CAAA4uC,EAA0CxzB,EAAWosM,SAAS,EAAS,EACrFpsM,aACH,EAET,KAAK5O,GAAW6Q,QACZ,aAAQkqM,IAAwB,CAACnsM,aAAyB,CAClE,GAGJ,cACKgvB,GAAU,CAACC,mBAAoBjvB,EAAWjb,UAAYyT,GAAyBwH,EAAWjb,SAAS,EAAIgD,OAAUqG,UAC9GooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,UAAAE,OAAA,CAAA4uC,EAAWxzB,EAAWw5B,kBAAoB,EAAE,EAAS,EACrD,EAEHkzK,GAAqB,EAEd,CAEpB,EAEe5vL,OAAQD,GAAe,EAAEwI,GAAWgnL,GAAiB,CAAC,EC/G/DxvL,IAAsC74B,IAAA,CAAEX,cAAeW,EAAMD,OAAOV,aAAc,GAElFqpC,IAA8CvwB,IAAA,CAChD0H,mBAAqBlQ,GAAsBkQ,GAAmB1H,EAAUxI,CAAS,CACrF,GAIMi5M,IAAkBA,CAAC,CAAEv9L,QAAOhsB,gBAAewgB,oBAA8B,IAAM,CAC3EgpM,QAAe,CAACx9L,EAAM/kB,OAAOqJ,UAQ/BtQ,OANJkiB,YAAU,IAAM,EACR,CAACliB,GAAiBA,EAAcqB,KAAOmoN,IACvChpM,EAAmBgpM,CAAY,CAEpC,GAACA,EAAcxpN,EAAewgB,CAAkB,CAAC,EAEhDxgB,GAAiBA,EAAcqB,KAAOmoN,QAC9BlwL,GAAc,CAAC/gB,GAAI,KAAOyT,EAAM/kB,OAAOw6B,WAAa,IAAM,EAG/DtO,MAAC+a,EAAgB,EAAE,CAC9B,EAEezU,OACXD,IACA6P,GACJ,EAAErH,GAAWunL,GAAe,CAAC,EC7BhBE,IAA4DA,CAAC,CAAEj5M,mBAAkB,KAC1FqkG,GAAeF,+BAAiCnkG,QAExC8oB,GAAc,CAAC/gB,GAAG,IAAK,GAGtBmxM,IAAkCA,IAAM,CACjD70G,GAAeF,+BAAiC,KAEhD,MAAM77F,EAAWmO,KACXgD,EAAUC,KACV7lB,EAAmB+hB,EAA+BzlB,KAAMkD,MAAMO,WAAW,EAE/E8d,mBAAU,IAAM,CACZpJ,EAASwwE,IAAuB,GACjC,CAACxwE,CAAQ,CAAC,EAEboJ,YAAU,IAAM,CACP7d,GACD4lB,EAAQnsB,QAAQ,GAAG,EAEvBgb,EAASwwE,IAAuB,CACjC,GAACxwE,EAAUmR,EAAS5lB,CAAgB,CAAC,EAEjC8uB,MAAC+a,EAAgB,EAAE,CAC9B,EC5BMy7K,IAA2DA,CAAC,CAAEC,cAAa,IAAM,CACnF,MAAMrhM,EAAU5B,KACV,CAACjlB,EAAWmoN,CAAY,EAAItnM,WAAwB,IAAI,EACxD,CAACysB,EAAOmtC,CAAQ,EAAI55D,WAAS,EAAK,EAgBxC,OAdAL,YAAU,IAAM,CACZ,eAAeygB,GAAO,CACd,IACAknL,EAAaD,CAAY,OAC3B,CACEztI,EAAS,EAAI,CACjB,CACJ,CAEK5zD,GACIoa,GACT,EACD,CAACinL,EAAcrhM,CAAO,CAAC,EAEtBA,QACQ+Q,GAAc,CAAC/gB,GAAI,gBAAkB,EAG7Cy2B,EACO7b,MAACiQ,GAAQ,EAAE,EAGjB1hC,QAKA43B,GAAc,CAAC/gB,GAAI,aAAa7W,aAAuB,EAJjDyxB,MAAC+a,EAAgB,EAAE,CAMlC,EC9BA,eAAe47K,IAAatvN,EAAkBusH,EAA2B,CACrE,OAAQvsH,EAAI,CACR,IAAK,oBACL,IAAK,YACO,aAAM2qE,GAAY4hD,CAAkB,GAAGrlH,UACnD,IAAK,gBACO,aAAM29H,GAAoBtY,CAAkB,GAAGrlH,UAC3D,IAAK,sBACO,aAAMq7I,GAAqBh2B,CAAkB,GAAGrlH,UAC5D,QACW,WACf,CACJ,CAEA,MAAMqoN,IAGDA,CAAC,CAAEvvN,OAAMusH,UAAS,IAAM,CACzB,MAAMx+F,EAAU5B,KAEV,CAACjlB,EAAWmoN,CAAY,EAAItnM,WAAwB,IAAI,EAY9D,OAVAL,YAAU,IAAM,CACZ,eAAeygB,GAAO,CAClBknL,EAAa,MAAMC,IAAatvN,EAAMusH,CAAQ,CAAC,CACnD,CAEKx+F,GACIoa,GAEV,GAACokF,EAAUx+F,EAAS/tB,CAAI,CAAC,EAExB+tB,EACO,KAGN7mB,QAKA43B,GAAc,CAAC/gB,GAAI,aAAa7W,KAAalH,IAAS,gBAAkB,UAAYA,cAAiBusH,IAAa,EAJ5G5zF,MAAC+a,EAAgB,EAAE,CAMlC,EC9CM87K,IAA2EA,CAAC,CAAEnnN,iBAAgB,IAAM,CACtG,MAAM0lB,EAAU5B,KACV,CAACjlB,EAAWmoN,CAAY,EAAItnM,WAAwB,IAAI,EACxD,CAAC/R,EAAmBy5M,CAAoB,EAAI1nM,WAAwB,IAAI,EACxE,CAACysB,EAAOmtC,CAAQ,EAAI55D,WAAS,EAAK,EAkBxC,OAhBAL,YAAU,IAAM,CACZ,eAAeygB,GAAO,CACd,IACM3wB,QAAgB,MAAMy6E,GAAiB5pF,CAAe,EAC5DgnN,EAAa73M,EAActQ,SAAS,EACpCuoN,EAAqBj4M,EAAcxB,iBAAiB,OACtD,CACE2rE,EAAS,EAAI,CACjB,CACJ,CAEK5zD,GACIoa,GACT,EACD,CAAC9/B,EAAiB0lB,CAAO,CAAC,EAEzBA,QACQ+Q,GAAc,CAAC/gB,GAAI,oBAAoB1V,IAAoB,EAGnEmsC,EACO7b,MAACiQ,GAAQ,EAAE,EAGlB,CAAC1hC,GAAa,CAAC8O,EACR2iB,MAAC+a,EAAgB,EAAE,QAIzB5U,GAAc,CAAC/gB,GAAI,aAAa7W,uBAA+B8O,aAA6B3N,IAAoB,CAEzH,ECvCMqnN,IAAgFA,CAAC,CAAErnN,iBAAgB,IACrF8jB,WAGJ2S,GAAc,CAAC/gB,GAAI,oBAAoB1V,UAA0B,EAGtEswB,MAACiQ,GAAQ,EAAE,ECHtB,SAAS+mL,GAAWC,EAA0B98K,EAAqB,CACxDpvC,gBAASi8B,KAAOx8B,GAAWivC,GAAaw9K,EAAc/pN,OAAOiF,UAAU,EAAGgoC,CAAW,CAChG,CAEA,MAAM+8K,IAAsDA,CAAC,CAAEhoN,UAAS,IAAM,CAC1E,MAAMkmB,EAAU5B,KACV,CAAC2jM,CAAQ,EAAIhlM,EAAc,IAAMpF,GAA6B7d,CAAQ,EAAG,CAACA,CAAQ,EAAG,IAAI,EAE/F,GAAI,CAACioN,EACMn3L,aAAC+a,EAAgB,EAAE,EAG9B,GAAI3lB,EACA,OAAQ+hM,EAASxrM,WAAU,CACvB,KAAK9Q,GAAkByQ,cACnB,aAAQ6a,GAAc,CAAC/gB,GAAI,oBAAoB+xM,EAASC,WAAa,EACzE,KAAKv8M,GAAkBwQ,gBACnB,aAAQ8a,GAAc,CAAC/gB,GAAI,QAAU,EACzC,KAAKvK,GAAkBw8M,KACnBL,UAAW37M,GAAW+9B,YAAa,SAAS+9K,EAASC,UAAU,EACxDp3L,MAAC+a,EAAgB,EAAE,EAC9B,KAAKlgC,GAAkBy8M,2BACRj8M,aAAW+9B,YAAa,UAAU,EACtCpZ,MAAC+a,EAAgB,EAAE,CAClC,KAEA,QAAQo8K,EAASxrM,WAAU,CACvB,KAAK9Q,GAAkByQ,cACnB,aACK6a,GAAc,CACX/gB,GAAI,aAAa+xM,EAAS5oN,+BAA+B4oN,EAAS95M,6BAA6B85M,EAASC,WAC3G,EAET,KAAKv8M,GAAkB2Q,kBACnB,aACK2a,GAAc,CACX/gB,GAAI,aAAa+xM,EAAS5oN,0CAA0C4oN,EAASC,WAChF,EAET,KAAKv8M,GAAkBwQ,gBACnB,aACK8a,GAAc,CACX/gB,GAAI,aAAa+xM,EAAS5oN,+BAA+B4oN,EAAS95M,8BAA8BnO,IACnG,EAET,KAAK2L,GAAkB4Q,QACnB,aAAQ0a,GAAc,CAAC/gB,GAAI,aAAa+xM,EAAS5oN,sBAAsBW,IAAa,EACxF,KAAK2L,GAAkBw8M,KACnBL,UAAW37M,GAAW+9B,YAAa,GAAG+9K,EAAS5oN,mBAAmB4oN,EAAS95M,yBAAyB,EAC7F2iB,MAAC+a,EAAgB,EAAE,EAC9B,KAAKlgC,GAAkBy8M,2BACnBN,UAAW37M,GAAW+9B,YAAa,GAAG+9K,EAAS5oN,mBAAmB4oN,EAAS95M,4BAA4B,EAChG2iB,MAAC+a,EAAgB,EAAE,CAClC,CAGG/a,aAACiQ,GAAQ,EAAE,CACtB,ECtDMsnL,IAA4DA,CAAC,CAAE1+L,OAAM,IAAM,CACzE0qJ,MAAU1qJ,EAAQA,EAAM7tB,IAAM,IAClC,cACKq2G,GAAM,CAAAzpG,SAAA,CACHooB,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,mBAA0BltJ,UAAW6gM,IAAsB,EACrFl3L,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,oCACTltJ,UAAWwgM,IACd,EACD72L,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,0CACTltJ,UAAW0gM,IACd,EACD/2L,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,mGACTltJ,UAAWmhM,IACd,EACDx3L,MAACwQ,EAAS,CACNykE,MAAK,GACLnpG,KAAM,GAAGy3K,4BACTltJ,UAAWmgM,IACd,EAEDx2L,MAACiR,GAAK,CAAC5a,UAAW4Z,GAAW,CAAC,EAC1B,CAEhB,EAEepB,OAAW0oL,GAAoB,EC1BxCE,IAAsBA,CAAC,KAAiC,CAC1D,MAAM1sN,EAAWotB,KACX,CAAEtV,SAAUiO,GAAkC/lB,CAAQ,EAC5D,cACKytC,GAAU,CAAA5gC,UACPooB,MAAA,MAAApoB,eACIgwB,EAAA,CAAA15B,GAAA,YAAuB,EACvB,EACJ8xB,MAAA4H,EAAA,CAAA15B,GAAA,iOAAAE,OAAA,CAAAyU,OAEkB,EAEX,CAAC,EACA,CAEpB,ECRM60M,IAAuBA,CAAC,KAAmC,CAC7D,MAAM3sN,EAAWotB,KACX,CAAEpQ,SAAU+I,GAAkC/lB,CAAQ,EACtDmwI,EAAcjoH,EAA+BzlB,KAAMD,OAAOZ,IAAI,EAC9DiuC,EAAsBL,GAAal/B,GAAWmR,gBAAgB,EAC9D,CAAC3gB,EAAQoyC,CAAS,EAAI7uB,WAAwB,IAAI,EAClDzJ,EAAWmO,KAEjB/E,YAAU,IAAM,CACZ,GAAI,CAAChH,EACD,OAGJ,eAAe4vM,GAAU,CACjB,IACA,MAAM7wM,GAAqBiB,CAAM,EACjC,MAAMoF,GAASxH,CAAQ,EACvBs4B,EAAU,SAAS,EACCrD,UAEjBpnC,GACCA,KAAE26B,SAAWJ,GAAes7C,YAAc71E,EAAE26B,SAAWJ,GAAekC,UAAYz8B,EAAE26B,SAAWJ,GAAeK,aAC1G8sG,WAAa9tH,WACOwtB,IAGpBqD,EAAU,aAAa,MAIrBzqC,QAEd,CACJ,CAEQmkN,GAAA,EAET,CAAC5vM,CAAK,CAAC,EAEV,SAAS0uD,GAAgB,CACrB,GAAI,CAAC5qE,EACD,aAAO+7B,EAAA,CAAA15B,GAAA,iBAA4B,EAGvC,GAAIrC,IAAW,cACX,aAAO+7B,EAAA,CAAA15B,GAAA,QAAmB,EAG9B,GAAIrC,IAAW,UACX,aAAO+7B,EAAA,CAAA15B,GAAA,0BAAqC,CAEpD,CAEA,cACKsqC,GAAU,CAAA5gC,UACPooB,MAAA,MAAApoB,eAAIgwB,EAAA,CAAA15B,GAAA,YAAuB,EAAK,EAC/BuoE,GAAe,EACR,CAEpB,EC5E2C,IAQtCmhJ,cAAa,CAAbA,WAAa,qBAAbA,IAAa,qBAAbA,IAAa,mBAAbA,CAAa,EAAbA,IAAa,IAMLC,UAAgDA,CAAC,KAAO,CACjE,MAAM9sN,EAAWotB,KACX,CAAEpQ,SAAU+I,GAA4B/lB,CAAQ,EAChD,CAACojC,EAAQ2pL,CAAS,EAAI1oM,WAASwoM,GAAcG,OAAO,EAC1DhpM,YAAU,IAAM,CACZ,eAAeipM,GAAU,CACrB,GAAIjwM,EAAO,CACP+vM,EAAUF,GAAcG,OAAO,EAC3B,IACA,MAAM1iI,GAAuBttE,CAAK,EAClC+vM,EAAUF,GAAcz5K,OAAO,OACjC,CACE25K,EAAUF,GAAchyG,MAAM,CAClC,EAER,CAEQoyG,GAAA,EACT,CAACjwM,CAAK,CAAC,EAEV,MAAM0uD,EAAgBA,IAAM,CACpBtoC,OAAWypL,GAAcG,QAClB/3L,aAAC+a,EAAgB,EAAE,EAC9B,GAAW5M,IAAWypL,GAAcz5K,QAChC,aACI,MAAAvmC,eACIgwB,EAAA,CAAA15B,GAAA,yBAAoC,EACpC,EAEZ,GAAWigC,IAAWypL,GAAchyG,OAChC,aACI,MAAAhuG,eACIgwB,EAAA,CAAA15B,GAAA,sCAAiD,EACjD,CAEZ,EAGJ,aAAQsqC,GAAU,CAAA5gC,SAAE6+D,EAAc,EAAc,CACpD,EC/BMwhJ,IAA0CA,CAAC,CAAEp/L,QAAO9tB,WAAUqiB,YAAW,IAAM,CAC3Em2J,QAAU1qJ,EAAQA,EAAM7tB,IAAM,IAE9B2B,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAI,EACvDsU,EAAUgS,EAA+BzlB,KAAMD,OAAOT,aAAa,EACnE2gB,EAAUwF,EAA+BzlB,KAAMD,OAAOV,aAAa,EAEnE,CAAEu2B,UAAWq5E,GAAcT,EAAU,EAE3C,cACIl8E,WAAA,CAAAloB,SAAA,CACIooB,MAACygF,GAAS,CAACt5G,MAAOi8B,EAAS,EAE3BpD,MAACk4L,GAAoB,CACjBC,YAAahgM,GACbxrB,KAAM,CACFuB,GAAIvB,GAAQA,EAAKw4B,SAAWx4B,EAAKw4B,SAAW,UAC5CizL,UAAW,CAACzrN,EAAM8gB,IACV9gB,GAAQA,EAAKkW,OAASlW,EAAKkW,MAAM0N,QAAQ,SAAS,EAAI,GAC/C,WACA9C,EACAA,EAAQpmB,KAEZ,WACRsF,EAAM8gB,CAAO,CACpB,EACAxM,QAAS,CACL/S,GAAI+S,EAAUA,EAAQ/S,GAAK,EAC3BoS,KAAMW,EAAUA,EAAQX,KAAO,SACnC,EACA+3M,QAAS,CACLnqN,GAAI+S,EAAUA,EAAQ+2F,gBAAkB,EACxC13F,KAAMW,EAAUA,EAAQwU,kBAAoB,SAChD,EACH,EACDuS,OAACq5E,GAAM,CAAAzpG,SAAA,CACHooB,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,SAAgBltJ,UAAWiiM,GAAgB,EACrEt4L,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,UAAiBltJ,UAAWykB,GAAS,EAC/D9a,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,2BAAkCltJ,UAAWohM,IAAsB,EAC7Fz3L,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,0BAAiCltJ,UAAWqhM,IAAuB,EAE7F13L,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,mBAA0BltJ,UAAW2kB,GAAiB,EAChFhb,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,kBAAyBltJ,UAAWonB,GAAgB,EAC9Ezd,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,iBAAwBltJ,UAAW2nB,GAAe,EAC5Ehe,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,cAAqBltJ,UAAWw/L,IAAoB,EAE9E71L,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,mBAA0BltJ,UAAWkgM,IAAwB,EACvFv2L,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,kCAAyCltJ,UAAWigM,IAAmB,EAEjGt2L,MAACwQ,EAAS,CAACykE,MAAK,GAACnpG,KAAM,GAAGy3K,uBAA8BltJ,UAAWwhM,GAAiB,GAEnF,CAACzqM,SAAegZ,GAAQ,CAAChhB,GAAI,oBAAoBhb,mBAAmBU,GAAgBC,CAAQ,CAAC,GAAM,GAEnGqiB,GAAc,OAEVojB,EAAS,CAAC1kC,KAAM,GAAGy3K,mCAA0CltJ,UAAW+/L,KAAqB,GAAK,QAClG5lL,EAAS,CAAC1kC,KAAM,GAAGy3K,OAAcltJ,UAAWkhM,KAA0B,GAAK,QAC3E/mL,EAAS,CAAC1kC,KAAM,GAAGy3K,IAAWltJ,UAAWkiM,KAAoB,GAAK,SAGtEtnL,GAAK,CAAC5a,UAAW4Z,GAAW,CAAC,EAC1B,CAAC,EACX,CAEV,EAEepB,OAAWopL,GAAW,ECtF9B,SAASO,IAASr7M,EAA0C,CAC/D,OAAOtJ,EAAQ,YAAa,CACxBO,KAAM,GACNtB,MAAO,CACHqK,WACJ,EACH,EAAE1I,KAAY/J,KAAE0J,KAAM,EAC3B,CAEO,SAASqkN,IAAYt7M,EAA0B,CAClD,OAAOtJ,EAAQ,mBAAoB,CAC/BO,KAAM,GACNR,KAAM,CACFuJ,WACJ,EACAmB,OAAQ,MACX,CACL,CCbA,MAAMo6M,IAAsDA,CAAC,CAAE71H,SAAQ,IAAM,CAEzE,KAAM,CAAC1tF,EAASs7K,CAAU,EAAIrhK,WAAS,EAAK,EAEtCziB,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAI,EACvDE,EAAgBomB,EAA+BzlB,KAAMD,OAAOV,aAAa,EACzEsQ,GAAYtQ,iBAAeqB,KAAM,KAEjC,CAACZ,EAASqrN,EAAW,EAAIxmM,EAC3B,IAAQxlB,WAAMygB,YAAcjQ,EAAaq7M,IAASr7M,CAAS,EAAIlJ,QAAQ4Y,QAAQ,IAAI,EACnF,CAAClgB,EAAMwQ,CAAS,EAChB,IACJ,EACMolC,EAAc/sB,KACd,CAACmhB,EAAQC,CAAS,EAAIxnB,WAAS,EAAK,EAEpCwpM,EAAiBtrN,IAAUA,EAAMs/L,yBAA2Bt/L,EAAMu/L,2BAEpEhqG,MAAW,CAACl2F,GAAQ,CAACA,EAAKygB,YAAc,CAAC9f,GAAS,CAACsrN,EAC5C,YAGX,MAAMzsB,EAAgB,SAAY,CAC9Bv1J,EAAU,EAAI,EACd,MAAM6hL,IAAYt7M,CAAS,EAC3B,MAAMw7M,EAAY,EAClB/hL,EAAU,EAAK,GAInB,aACKs1J,GAAU,CACP/2L,UACA9F,OAAQ,GACR26E,SAAUrzC,EACVw1J,gBACAzjE,cAAe+nD,EACfluI,cACAj1C,QACH,CAET,EC7CMurN,IAAiD94L,GAAA,CACnD,MAAMpa,EAAWmO,KAEX2+C,EAAW5jD,cAAY,IAAM,CACtB/R,KAAe5P,OAAOC,UAAU,CAAC,GAC3C,CAACwY,CAAQ,CAAC,EAEboJ,mBAAU,IAAM,CACN+pM,QAAehqM,GAAS,IAAM,CACvB2jD,KACV,EAAE,EAEEl/D,+BAAiB,SAAUulN,CAAY,EACvC,IAAM,CACFnmM,2BAAoB,SAAUmmM,CAAY,EACrD,EACD,CAACrmJ,CAAQ,CAAC,EACN,IACX,EC3BasmJ,IAAoCrrN,IAAA,CAC7CrG,KAAM,4BACNqG,MACJ,GCAasrN,IAA0B,MAAOrzM,EAAUpX,IAAc,CAC5Db,QAAO,MAAMyjE,GAAgC5iE,CAAS,EACnDwqN,MAAuBrrN,CAAI,CAAC,CACzC,ECHA,SAAwBurN,KAAc,CAC5B,MAAEhuN,YAAaktB,GAAY,EAEjCpJ,mBAAU,IAAM,CACLxZ,gBAAS,EAAG,CAAC,GACrB,CAACtK,CAAQ,CAAC,EAEN,IACX,4oBCAMiuN,IAAiDA,CAAC,CAAEthN,WAAUjB,WAAU,IAAM,CAC1EwyB,QAAUnT,aAAW8hB,EAAa,EAElCqhL,EAAkDhjN,GAAA,CAChDA,GAAOgzB,EAAQgB,WACX7M,cAAY6L,EAAQgB,SAAS,CACrC,EAGJ,aAAO,OAAKxzB,YAAsBR,IAAKgjN,EAAgB,CAC3D,muBCAMC,IAA4CA,CAAC,CAAEziN,WAAU,IAAM,CACjE,MAAMpI,EAAY0kB,EAAazlB,UAAkBA,WAAMD,OAAOT,gBAAbU,cAA4BU,GAAE,EACzE4oB,EAAUC,KAEV,CAACyyF,EAAYujG,CAAa,EAAI39L,WAAS,EAAE,EACzC,CAACm+L,EAAe8L,CAAgB,EAAIjqM,WAAyB,CAAE,GAC/D,CAACkqM,EAAmBC,CAAoB,EAAInqM,WAAS,EAAE,EAEvDoqM,EAAU7pM,SAAgC,IAAI,EAC9C8pM,EAAmB9pM,SAAuC,IAAI,EAE9D+pM,EAAgBzqM,GAAYu6F,EAAY,GAAG,EAE3CwiD,EAAWn9I,cACF1nB,GAAA,CACU+P,UAAUk6M,IAAa7iN,EAAYpH,CAAK,EAExC+P,UAAQzC,KAAiB5I,GAAA,CAClC1E,IAAUqiH,IACV6vG,EAAiBxtN,CAAM,EACvB0tN,EAAqBpyN,CAAK,EAC9B,CACH,GAEL,CAACqiH,EAAYj7G,CAAS,CAC1B,EAEMorN,EAAwB/iM,GAAY8iM,CAAa,EACvD3qM,YAAU,IAAM,CACR4qM,IAA0BpoN,QAAamoN,IAAkBC,GACzD3tD,EAAS0tD,CAAa,CAE3B,GAACA,EAAeC,EAAuB3tD,CAAQ,CAAC,EAEnD,MAAM4tD,EAA8CC,GAAA,CAChD,MAAMpuN,EAAS,GACf,OAAQouN,EAAajnG,WAAU,CAG3B,IAAK,kBACD,MAAO,GAAGnnH,cAAmBouN,EAAatrN,+BAA+BsrN,EAAajmG,WAG1F,IAAK,OACD,MAAO,GAAGnoH,cAAmBouN,EAAatrN,+BAA+BsrN,EAAaC,aAC1F,QACWruN,QACf,GAGEsuN,EAAoDF,GAAA,CACtD,OAAQA,EAAajnG,WAAU,CAG3B,IAAK,kBACD,aAAOhrF,EAAA,CAAA15B,GAAA,mBAA8B,EAGzC,IAAK,OACD,aAAO05B,EAAA,CAAA15B,GAAA,OAAkB,EAC7B,QACI,aAAO05B,EAAA,CAAA15B,GAAA,UAAqB,CACpC,GAGE69J,EAAqBA,CAACv4J,EAAG,CAAE+kB,cAAe,CAC5Cw0L,EAAcx0L,CAAQ,GAGpB8yI,EAA8BA,CAAC,CAAElkK,QAAOsM,YAAa,CACnDA,IAAW,iBACXu4J,EAAS7kK,CAAK,CAClB,EAOEwkK,EAA8BA,IAAM,CAKtC0tD,EAAiB,CAAE,IAGjBntD,EAA2BA,CAAC14J,EAAG,CAAE8K,SAAQysJ,gBAAiB,CACxDzsJ,IAAW,SACH5U,OAAKkwN,EAAY7uD,CAAU,CAAC,EAGhC7zJ,WAAWsiN,EAAQtiN,QAAQ8iN,KAAK,GAGtC3hK,EAA8CwhK,GAAA,CAChD,OAAQA,EAAajnG,WAAU,CAG3B,IAAK,kBACM3wG,UAAkC43M,EAAatrN,SAAS,EAGnE,IAAK,OACM8Z,UAA0BwxM,EAAajmG,QAAQ,EAC1D,QACW,WACf,GAGEqmG,EAA8CJ,GAAA,CAChD,OAAQA,EAAajnG,WAAU,CAO3B,IAAK,kBACMinG,SAAaC,WAAa95L,MAAA4H,EAAA,CAAA15B,GAAA,OAAkB,EAAI8xB,MAAA4H,EAAA,CAAA15B,GAAA,mBAA6C,EAGxG,IAAK,OACD,OAAO2rN,EAAaxzG,oBACxB,QACW,WACf,GAEE6zG,EAAgDL,GAAA,CAClD,OAAQA,EAAajnG,WAAU,CAE3B,IAAK,OACL,IAAK,kBACM,eACX,QACW,cACf,GAGEg4C,EAAmCG,GAAA,CAC/B/zH,QAAWijL,EAAYlvD,CAAU,EACjC51E,EAAW98B,EAAY0yG,CAAU,EAEjCx9E,EAAa2sI,EAAcnvD,CAAU,EAW3C,cACKjlI,GAAU,CAAC1gB,GAAIw0M,EAAY7uD,CAAU,EAAEnzJ,UACpCooB,MAAA,OAAKrpB,UAAWY,EAAW8oB,GAAM85L,gBAAiB,CAAE,CAAC95L,GAAMi/I,MAAM,EAAG/xF,IAAe,SAAU,EAAE31E,SAC1Fu9E,GAAYn1D,MAACmQ,GAAS,CAACC,IAAK+kD,EAAW,EACvC,EACLntD,OAAA,OAAApwB,UACIooB,MAAA,OAAKrpB,UAAW0pB,GAAM+5L,eAAexiN,SAAEmzJ,EAAWlnH,YAAiB,EACnE7jB,MAAA,OAAKrpB,UAAW0pB,GAAMg6L,eAAeziN,SAAEmiN,EAAkBhvD,CAAU,EAAO,CAAC,EAC1E,EACL/qI,MAAA,OAAKrpB,UAAW0pB,GAAMi6L,eAAe1iN,SAAEo/B,EAAc,CAAC,EAC9C,GAMdrjB,EAAU61F,GAAc8vG,IAAsB9vG,EAEpD,GAAI,CAACj7G,EACM,YAEX,MAAM+iC,EAAa,CACf76B,YAAa4kB,EAAAwW,aAAW,EACxB1qC,MAAOqiH,EACP7xG,SAAUo0J,EACV1kK,KAAM,UAEV,cACI,OAAKsP,UAAWY,EAAW8oB,GAAMk6L,UAAW5jN,EAAW,CAAE,CAAC0pB,GAAM1M,OAAO,EAAGA,EAAS,EAAE/b,SAAA,CACjFooB,MAAC0rI,GAAW,OACRrrI,GACA6qI,YAAaqiD,EACbliD,8BACAM,8BACAC,mBAAoCpiD,KACpCohD,mBACAt5H,aACAg7H,4BAA6B,GAC7BhB,qBAAsBY,EACtBsuD,yBAAwB,GACxBrkN,IAAsBskN,GAAA,CACdA,IACAjB,EAAQtiN,QAAWujN,EAAoBvlN,MAE/C,EACH,EACD8qB,MAAA,OAAKrpB,UAAW0pB,GAAMq6L,iBAAiB9iN,eAClCkpB,EAAe,CAACC,KAAM2E,GAAWC,KAAI,GAAE,EACvC,EACL3F,MAAA,OAAKrpB,UAAW0pB,GAAMs6L,WAAW/iN,eAC5BkpB,EAAe,CAACC,KAAMqpF,GAAW,EACjC,CAAC,EACL,CAEb,EC1NMwwG,GAAgEA,CAAC,CACnEntM,UACA2mB,WACAz9B,YACAg+B,mBACJ,IACQlnB,EAAQ6F,cAAgBjZ,GAAYoZ,YAE/B6hB,GAAW,CACRX,oBACApmC,UAAWkf,EAAQlf,UACnB6lC,WACAK,MAAM,SACN99B,YACH,QAKJw+B,GAAW,CACRR,oBACAx3B,UAAWsQ,EAAQtQ,UACnBi3B,WACAK,MAAM,SACN99B,YACH,ECvBHkkN,IAAiE96L,GAAA,CACnE,MAAM3M,EAAoBC,KAEpBxmB,EAAgBomB,EAA+BzlB,KAAMD,OAAOV,aAAa,EACzEiuN,EAAe7nM,EAA+BzlB,KAAMD,OAAOX,QAAQ,EACnEmuN,EAAoBD,iBAAct+M,QAAY9R,EAAEyS,aAActQ,iBAAeqB,KAC7E2lN,EAAyB/9G,GAAkBH,GAAmBm+G,sBAAsB,EAE1F,GAAI,CAACgH,EACM,YAGLzlM,SAAW0lM,iBAAmBznM,eAAgBjZ,GAAYkZ,OAE1DynM,EAAoBF,EAAavqN,UAAcwvC,EAAE5iC,aAAc49M,iBAAmB59M,UAAS,EAE3F89M,EAA0BD,EAAkBzqN,UAAc7F,EAAE4oB,cAAgBjZ,GAAYkZ,MAAM,EAC9F2nM,EAAwBF,EAAkBzqN,UAAc7F,EAAE4oB,cAAgBjZ,GAAYoZ,KAAK,EAEjG,OAAIL,SAEI0M,WAAA,CAAAloB,UACKmjN,GACG/6L,MAAC20E,GAAsBvyD,KAAI,CACvB4xD,mBAAe4mH,GAAsB,CAACntM,QAASstM,EAAmB3mL,SAAU,GAAK,EACjFzsB,MAAOozM,EAAkBx4K,YACzBiyD,eAAU5sE,EAAA,CAAA15B,GAAA,oBAAAE,OAAA,CAAA4uC,EAAsB5pB,EAAkBQ,QAAQ,EAAQ,EACrE,EAGJ+gF,SAAsB7nE,aAAY,CAC/B1nB,GAAG,mBACH2b,KAAMo6L,GACNxzM,YAAOigB,EAAA,CAAA15B,GAAA,oBAA+B,EACzC,CAAC,EACJ,SAKN4xB,WAAA,CAAAloB,UACKmjN,GACG/6L,MAAC20E,GAAsBvyD,KAAI,CACvB4xD,mBAAe4mH,GAAsB,CAACntM,QAASstM,EAAmB3mL,SAAU,GAAK,EACjFzsB,MAAOozM,EAAkBlqK,YAAckqK,EAAkBlqK,YAAckqK,EAAkBx4K,YACzFiyD,SAAUumH,EAAkB10G,oBAC/B,EAGJhxF,IAAYxoB,iBAAeoE,YAAYmqN,2BACpCp7L,MAAC20E,GAAsB7nE,aAAY,CAC/B1nB,GAAG,oBACH2b,KAAMo6L,GACNxzM,YAAOigB,EAAA,CAAA15B,GAAA,mBAA8B,EACxC,EAGJmnB,IAAYxoB,iBAAeoE,YAAYoqN,iBACpCr7L,MAAC20E,GAAsB7nE,aAAY,CAC/B1nB,GAAG,iBACH2b,KAAMqU,GACNztB,YAAOigB,EAAA,CAAA15B,GAAA,wBAAmC,EAC7C,EAGJ+sN,EAAwBnzN,OAAS,SAAM6sG,GAAsBjnE,WAAW,GACxEutL,EAAwBxwN,IACrBu1B,SAAC20E,GAAsB7nE,aAAY,CAE/BknE,mBAAe4mH,GAAsB,CAACntM,QAASsyB,EAAG3L,SAAU,GAAK,EACjEhvB,GAAI,aAAa26B,EAAE5iC,YACnBwK,MAAOo4B,EAAEwC,aAHJxC,EAAE5iC,SAIV,CACJ,EACA02M,GAA0Bx+L,EACtBs/E,SAAsB7nE,aAAY,CAE/B1nB,GAAG,YACH2b,KAAMujF,GACN38F,MAAO0T,EAAAwW,EAAiB,oBAHpB,UAIP,EACD,KACHqpL,EAAsBpzN,OAAS,GAAM6sG,SAAsBjnE,UAAW,IACtEwtL,EAAsBzwN,IACnBu1B,SAAC20E,GAAsB7nE,aAAY,CAE/BknE,mBAAe4mH,GAAsB,CAACntM,QAASsyB,EAAG3L,SAAU,GAAK,EACjEhvB,GAAI,aAAa26B,EAAE5iC,YACnBwK,MAAOo4B,EAAE8Q,YAAc9Q,EAAE8Q,YAAc9Q,EAAEwC,YACzCiyD,SAAUz0D,EAAEsmE,qBAJPtmE,EAAE5iC,SAKV,CACJ,CAAC,EACJ,CAEV,EClGMm+M,IAA2Dv7L,GAAA,CAC7D,MAAMpzB,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAI,EAE7D,OAAKA,SAKDmzB,WAAA,CAAAloB,SACIooB,CAAC20E,SAAsBvyD,KAAI,CACvB4xD,mBAAez+D,GAAQ,CAACtwB,OAAQtY,EAAKsY,OAAQmvB,SAAU,GAAK,EAC5DzsB,MAAOhb,EAAKk3C,YACZ2wD,SAAU7nG,EAAKkW,KAClB,GAEA8xF,SAAsBjnE,UAAW,IAEjC,CAAC/gC,EAAK0yE,UACHr/C,MAAC20E,GAAsB7nE,aAAY,CAAC1nB,GAAG,iBAAiB2b,KAAMo6L,GAAOxzM,YAAOigB,EAAA,CAAA15B,GAAA,gBAA2B,EAAI,EAG9GymG,SAAsB7nE,aAAY,CAAC1nB,GAAG,UAAU2b,KAAMw6L,GAAW5zM,YAAOigB,EAAA,CAAA15B,GAAA,WAAsB,EAAI,CAAC,EACtG,EAlBK,IAoBf,ECvBMstN,IAAmEz7L,GAAA,CACrE,MAAMpzB,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAI,EACvD,CAAGghB,EAAiB,EAAIkG,KAExB4nM,EAAmC9oN,GAAA,CAC/B+oN,QAAgB/tM,EAAkBhb,CAAM,EAE1ChG,GAAQA,EAAKygB,YAAcsuM,EAAc/oN,UAAWhG,iBAAMgG,SAC1D6V,GAAckzM,EAAc/oN,MAAM,CACtC,EAGJ,aACImtB,WAAA,CAAAloB,SACKgE,GAAkBnR,IAAKgR,GACnBk5F,SAAsB/uE,OAAM,CAEzBje,MAAOlM,EAAQM,UACfwW,QAASA,IAAMkpM,EAAahgN,EAAQ9I,MAAM,GAFrC8I,EAAQ9I,MAGhB,CAIJ,EACH,CAEV,kWC5BO,MAAMgpN,WAA6BjlI,EAAW,CAOjDz+E,aAAc,CACV,MAAMmO,IAAwB,CAClC,CAEAw1M,aAAahuN,EAAgC,CACpC+oF,gBAAWnwE,OACZ,4BACA5Y,EAAcnD,IAAWC,KAAEwD,EAAE,CACjC,CACJ,CAEA2tN,cAAcxtN,EAA6B,CACvC,KAAKsoF,WAAWnwE,OAAO,4BAA6BnY,EAAaH,EAAE,CACvE,CACA4tN,qBAAqBr4L,EAAgB,CAC5BkzD,gBAAWnwE,OAAO,uBAAwBid,CAAM,CACzD,CAOUlN,WAAWjY,EAAgBrL,EAA6B,CACxDsjB,iBAAWjY,EAAQrL,CAAO,CACpC,CAEA8oN,0BAA0B9oN,EAAsC,CACvDsjB,gBAAW,uBAAkC7oB,GAAA,CAC9CuF,EAAQvF,CAAI,EACf,CACL,CASJ,CC1CA,MAAMsuN,IAAoDA,CAAC,CAAExvL,SAAQ4H,WAAU6nL,yBAAwB,WAE/F,OACItmN,MAAO,CAAEo+B,MAAOK,EAAUN,OAAQM,CAAS,EAC3Cz9B,UAAWY,EAAW8oB,GAAMU,KAAM,CAAE,CAACV,GAAMmM,MAAM,EAAGA,EAAQ,EAAE50B,SAAA,CAC9DooB,MAACc,EAAe,CAACC,KAAMm7L,GAAS,EAChCl8L,MAACmM,GAAiB,CAAChlC,MAAO80N,EAAyBtlN,UAAW0pB,GAAM87L,mBAAqB,CAAC,EACzF,4dCPPC,IAAU,CACZ93F,KAAM/vF,GACN8nL,SAAU7kH,GACV8kH,SAAU3kH,GACV4kH,YAAajlH,GACbklH,IAAK5xK,GACL6xK,OAAQC,GACRC,QAASllH,GACTmlH,aAAcC,EAClB,EAQMC,GAA0C/8L,SACpCe,EAAe,CAACC,KAAMq7L,IAAQr8L,EAAMg9L,QAAQ,EAAI,EChBtDC,IAAqCA,CAAC,CAAE3uN,eAAckkB,SAAQ,IAAM,CACtE,MAAMoW,EAAqBn1B,GAAA,CACnB+e,GACAA,EAAQlkB,CAAY,CACxB,EAGJ,OAAIA,EAAarD,WAER86B,GAAU,CACPvT,QAASoW,EACThyB,UAAWY,EAAW8oB,GAAM48L,gBAAiB58L,GAAMhyB,EAAa8/B,OAAOE,YAAY,CAAC,CAAC,EACrFjpB,GAAI/W,EAAarD,IAAI4M,SAAA,CACrBooB,MAACk9L,GAAoB,CAAC7uN,eAA6B,EACnD25B,OAAA,OAAApwB,UACIooB,MAAA,QAAMrpB,UAAW0pB,GAAMyd,QAAQlmC,SAAEvJ,EAAayvC,QAAc,EAC5D9d,MAAA,QAAMrpB,UAAW0pB,GAAM26B,KAAKpjD,eACvBokD,GAAmB,CAAC70D,MAAOkH,EAAakkI,WAAa,EACpD,CAAC,EACN,CAAC,EACE,SAKhB,OAAKhgH,QAASoW,EAAahyB,UAAWY,EAAW8oB,GAAM48L,gBAAiB58L,GAAMhyB,EAAa8/B,OAAOE,YAAY,CAAC,CAAC,EAAEz2B,SAAA,CAC9GooB,MAACk9L,GAAoB,CAAC7uN,eAA6B,EACnD25B,OAAA,OAAApwB,UACIooB,MAAA,QAAMrpB,UAAW0pB,GAAMyd,QAAQlmC,SAAEvJ,EAAayvC,QAAc,EAC5D9d,MAAA,QAAMrpB,UAAW0pB,GAAM26B,KAAKpjD,eACvBokD,GAAmB,CAAC70D,MAAOkH,EAAakkI,WAAa,EACpD,CAAC,EACN,CAAC,EACL,CAEb,EAEM2qF,GAAkEA,CAAC,CAAE7uN,cAAa,IAChFA,EAAa8mF,eACLzpD,IAAK,CAAC1gC,IAAKqD,EAAa8mF,SAAW,EAE3C9mF,EAAa0uN,WAAa,qBAClBI,IAAY,CAAChgN,UAAW9O,EAAa+uN,qBAAwB,EAC9D/uN,EAAa0uN,eACZ1pL,IAAI,CAAC0pL,SAAU1uN,EAAa0uN,SAAW,QACrC,OAAKpmN,UAAW0pB,GAAMi4B,MAAY,EAG9C5sB,IAAmCA,CAAC,CAAE1gC,KAAI,UAExC,OAAK2L,UAAW0pB,GAAMi4B,MAAM1gD,eACvBu4B,GAAS,CAACC,IAAKplC,EAAM,EACrB,EAIPmyN,IAAgDA,CAAC,CAAEhgN,WAAU,UAE3D,OAAKxG,UAAWY,EAAW8oB,GAAMi4B,MAAOj4B,GAAMuiC,WAAW,EAAEhrD,eACtDu9B,GAAW,CAACf,SAAU,GAAIj3B,YAAwB,EAClD,EAIPk2B,IAAiDA,CAAC,CAAE0pL,UAAS,UAE3D,OAAKpmN,UAAW0pB,GAAMi4B,MAAM1gD,eACvBklN,GAAW,CAACC,WAAqB,EACjC,ECzBPM,IAAkDA,CAAC,CAAEhvN,eAAckkB,SAAQ,IAAM,CACnF,MAAMoW,EAAqBn1B,GAAA,CACnB+e,GACAA,EAAQlkB,CAAY,CACxB,EAGJ,OAAQA,EAAaivN,aAAY,CAC7B,KAAKhiN,GAAyBiiN,gBAC1B,aAAQP,IAAiB,CAAC3uN,eAA4BkkB,UAAmB,EAC7E,KAAKjX,GAAyBkiN,qBAC1B,aAAQA,IAAoB,CAACnvN,eAA4Bs6B,cAA2B,EACxF,KAAKrtB,GAAyBmiN,4BAC1B,aAAQA,IAA2B,CAACpvN,eAA4Bs6B,cAA2B,EAC/F,KAAKrtB,GAAyBoiN,oBAC1B,aAAQA,IAAmB,CAACrvN,eAA4Bs6B,cAA2B,EACvF,KAAKrtB,GAAyBqiN,aAC1B,aAAQA,IAAY,CAACtvN,eAA4Bs6B,cAA2B,EAChF,KAAKrtB,GAAyBsiN,oBAC1B,aAAQA,IAAmB,CAACvvN,eAA4Bs6B,cAA2B,EACvF,KAAKrtB,GAAyBuiN,sBAC1B,aAAQA,IAAqB,CAACxvN,eAA4Bs6B,cAA2B,EACzF,KAAKrtB,GAAyBwiN,sBAC1B,aAAQA,IAAqB,CAACzvN,eAA4Bs6B,cAA2B,EACzF,KAAKrtB,GAAyByiN,WAC1B,aAAQA,IAAU,CAAC1vN,eAA4Bs6B,cAA2B,EAC9E,KAAKrtB,GAAyB0iN,6BAC1B,aAAQA,IAA4B,CAAC3vN,eAA4Bs6B,cAA2B,EAChG,KAAKrtB,GAAyB2iN,cAC1B,aAAQA,IAAa,CAAC5vN,eAA4Bs6B,cAA2B,EACjF,KAAKrtB,GAAyB4iN,8BAC1B,aAAQA,IAA6B,CAAC7vN,eAA4Bs6B,cAA2B,EACjG,KAAKrtB,GAAyB6iN,qBAC1B,aAAQA,IAAoB,CAAC9vN,eAA4Bs6B,cAA2B,EACxF,KAAKrtB,GAAyB8iN,oBAC1B,aAAQA,IAAmB,CAAC/vN,eAA4Bs6B,cAA2B,EACvF,KAAKrtB,GAAyB+iN,sBAC1B,aAAQA,IAAqB,CAAChwN,eAA4Bs6B,cAA2B,EACzF,KAAKrtB,GAAyBgjN,wBAC1B,aAAQA,IAAuB,CAACjwN,eAA4Bs6B,cAA2B,EAC3F,KAAKrtB,GAAyBijN,0BAC1B,aAAQA,IAAyB,CAAClwN,eAA4Bs6B,cAA2B,EAC7F,KAAKrtB,GAAyBkjN,2BAC1B,aAAQA,IAA0B,CAACnwN,eAA4Bs6B,cAA2B,EAC9F,KAAKrtB,GAAyBmjN,mBAC1B,aAAQA,IAAkB,CAACpwN,eAA4Bs6B,cAA2B,EACtF,KAAKrtB,GAAyBojN,gCAC1B,aAAQA,IAA+B,CAACrwN,eAA4Bs6B,cAA2B,EACnG,KAAKrtB,GAAyBqjN,gBAC1B,aAAQA,IAAe,CAACtwN,eAA4Bs6B,cAA2B,EAEnF,QACI,aAAQi2L,IAAc,CAACvwN,eAA4Bs6B,cAA2B,CACtF,CACJ,EAEMk2L,GAAkDhuK,GAAA,CACpD,GAAIA,EACA,cACI,QAAAj5C,SACK,KACDooB,MAAA4H,EAAA,CAAA15B,GAAA,0BAAAE,OAAA,CAAAyiD,aAC2B,EAAAhG,WAAA,CAAA7N,EAApBhd,MAA6B,YAAC,EAC9B,CAAC,EACN,CAGlB,EAQM8+L,GAA2BA,CAAC,CAAEC,oBAAmBC,YAAWC,YAAWC,iBAA4B,IACjGH,EACIC,GAAaC,EACN,aAAaD,cAAsBC,uBAA+BF,aAA6BG,IAEtGD,EACO,IAAIA,uBAA+BF,aAA6BG,IAEpE,sBAAsBH,aAA6BG,IAE1DF,GAAaC,EACN,aAAaD,cAAsBC,aAAqBC,IAE/DD,EACO,aAAaA,aAAqBC,IAEtC,YAAYA,IAGjB1B,IAA4CA,CAAC,CAAEnvN,eAAcs6B,aAAY,IAAM,CACjF,MAAMj7B,EAAiCW,EAAaX,KAEpD,cACKyxN,GAAO,CACJn0N,IAAK8zN,GAAyBpxN,CAAI,EAClCqzB,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,oDAAAE,OAAA,CAAA4uC,EAAsDtvC,EAAK0xN,QAAQ,CAAQ,GAC1EP,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,CAEjB,EAEM5B,IAAmDA,CAAC,CAAEpvN,eAAcs6B,aAAY,IAAM,CACxF,MAAMj7B,EAAwCW,EAAaX,KAE3D,aACKyxN,GAAO,CACJn0N,IAAK,aAAa0C,EAAKsxN,6BAA6BtxN,EAAKwxN,wBACzDn+L,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,eACzBgwB,EAAA,CAAA15B,GAAA,0DAAAE,OAAA,CAAA4uC,EAA4DtvC,EAAK4xN,IAAI,EAAQ,EACxE,CAEjB,EAEM5B,IAA2CA,CAAC,CAAErvN,eAAcs6B,aAAY,IAAM,CAChF,MAAMj7B,EAAgCW,EAAaX,KAEnD,aACKyxN,GAAO,CACJn0N,IAAK,aAAa0C,EAAKsxN,oBACvBj+L,WAAOsS,GAAI,CAAC0pL,SAAS,cAAe,EACpC1uN,eACAs6B,cAAyB/wB,eACzBgwB,EAAA,CAAA15B,GAAA,oEAAAE,OAAA,CAAA4uC,EAAQtvC,EAAK4xN,IAAI,EAAsE,EAClF,CAEjB,EAEM3B,IAAoCA,CAAC,CAAEtvN,eAAcs6B,aAAY,IAAM,CACzE,MAAMj7B,EAA4CW,EAAaX,KAE3DA,SAAK6xN,UAAY,EACb7xN,EAAK8xN,cAEAL,GAAO,CACJn0N,IAAK,aAAa0C,EAAK+xN,kBACvB1+L,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,eACzBgwB,EAAA,CAAA15B,GAAA,2CAAAE,OAAA,CAAA4uC,EAA6CtvC,EAAKgyN,YAAY,EAAQ,EACjE,SAIZP,GAAO,CACJn0N,IAAK,aAAa0C,EAAK+xN,kBACvB1+L,KAAM,KACN1yB,eACAs6B,cAAyB/wB,UACzBowB,OAAA,OAAKrxB,UAAW0pB,GAAMs/L,QAAQ/nN,UAC1BooB,MAAA,OAAKrpB,UAAWY,EAAW8oB,GAAM6mE,MAAO7mE,GAAM02J,aAAa,EAAEn/K,eACxDgwB,EAAK,CAAC15B,GAAI,qBAAqBR,EAAKkyN,aAAe,CACnD,GACJlyN,EAAKmyN,oBACF,OAAKlpN,UAAW0pB,GAAM6mE,MAAMtvF,eACxBgwB,EAAA,CAAA15B,GAAA,cAAyB,CACxB,GAERR,EAAK2e,oBACF,OAAK1V,UAAW0pB,GAAMy/L,mBAAmBloN,eACrCgwB,EAAA,CAAA15B,GAAA,iBAA4B,EAC3B,EAEL8xB,MAAA,OAAKrpB,UAAW0pB,GAAM0/L,cAAcnoN,eAChCgwB,EAAA,CAAA15B,GAAA,WAAsB,EACrB,CACR,EACA,EACL8xB,MAAA4H,EAAA,CAAA15B,GAAA,kDAAAE,OAAA,CAAA4uC,EACkDtvC,EAAKgyN,YAAY,EAAA70K,WAAA,CAAA7N,EAA1Bhd,MAAmC,YAAC,CACtE,GACNtyB,EAAKsyN,4BACFlgM,WAAA,CAAAloB,SACK,KACDooB,MAAA4H,EAAA,CAAA15B,GAAA,+BAAAE,OAAA,CAAA4uC,EAC+BtvC,EAAKsyN,mBAAmB,EAAAn1K,WAAA,CAAA7N,EAAjChd,MAA0C,YAAC,EAC1D,CAAC,CACV,GAEL6+L,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,EAGT3xN,EAAK8xN,cAEAL,GAAO,CACJn0N,IAAK,aAAa0C,EAAK+xN,kBACvB1+L,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,eACzBgwB,EAAA,CAAA15B,GAAA,oCAA+C,EAC1C,SAIZixN,GAAO,CACJn0N,IAAK,aAAa0C,EAAK+xN,kBACvB1+L,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,mCAA+C,GAC9C2wN,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,CAGrB,EAEMzB,IAA2CA,CAAC,CAAEvvN,eAAcs6B,aAAY,IAAM,CAChF,MAAMj7B,EAAgCW,EAAaX,KAEnD,cACKyxN,GAAO,CACJn0N,IAAK,aAAa0C,EAAKuyN,6BAA6BvyN,EAAKuxN,+BAA+BvxN,EAAKqxN,oBAC7Fh+L,WAAOsS,GAAI,CAAC0pL,SAAS,OAAQ,EAC7B1uN,eACAs6B,cAAyB/wB,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,0CAAAE,OAAA,CAAA4uC,EACKtvC,EAAKi5J,MAAKn9F,EAAmC97D,EAAK0lL,IAAI,CACpD,GACNyrC,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,CAEjB,EAEMxB,IAA6CA,CAAC,CAAExvN,eAAcs6B,aAAY,IAAM,CAClF,MAAMj7B,EAAkCW,EAAaX,KAErD,aACKyxN,GAAO,CACJn0N,IAAK,aAAa0C,EAAKuyN,6BAA6BvyN,EAAKuxN,kBACzDl+L,WAAOsS,GAAI,CAAC0pL,SAAS,OAAQ,EAC7B1uN,eACAs6B,cAAyB/wB,eACzBgwB,EAAA,CAAA15B,GAAA,4DAAAE,OAAA,CAAA4uC,EACKtvC,EAAKi5J,MAAKn9F,EAAsD97D,EAAK2xN,WAAW,EAAAx0K,WAAA,CAAA7N,EAAzBhd,MAAkC,YAAC,EACxF,EACF,CAEjB,EAEM89L,IAA6CA,CAAC,CAAEzvN,eAAcs6B,aAAY,IAAM,CAClF,MAAMj7B,EAAkCW,EAAaX,KAErD,aACKyxN,GAAO,CACJn0N,IAAI,WACJ+1B,WAAOo8L,IAAY,CAAChgN,UAAW9O,EAAa+uN,qBAAwB,EACpE/uN,eACAs6B,cAAyB/wB,SACxBlK,EAAKgoG,OACD,CAEjB,EAEMqoH,IAAkCA,CAAC,CAAE1vN,eAAcs6B,aAAY,IAAM,CACvE,MAAMj7B,EAAuBW,EAAaX,KAEpCwyN,EAASA,IACPxyN,EAAKyyN,OAAS3mN,GAAS4mN,cAAgB1yN,EAAKkvF,SACrC,aAAalvF,EAAKuxN,+BAA+BvxN,EAAKqxN,+BAA+BrxN,EAAK2yN,aAC1F3yN,EAAKyyN,OAAS3mN,GAAS4mN,cAAgB1yN,EAAK43F,SAC5C,aAAa53F,EAAKuxN,mBACrBvxN,EAAK4yN,kBAAoB,oBAAsB,wBACtC5yN,EAAK2yN,aACX3yN,EAAKyyN,OAAS3mN,GAAS+mN,aAAe7yN,EAAKkvF,SAC3C,aAAalvF,EAAKuxN,4BAA4BvxN,EAAK8yN,0BACnD9yN,EAAKyyN,OAAS3mN,GAAS+mN,aAAe7yN,EAAK43F,SAC3C,aAAa53F,EAAKuxN,0CAA0CvxN,EAAK8yN,0BAGrE,GAGLC,EAAUA,IACR/yN,EAAKkvF,UAAYlvF,EAAKgzN,YAElB94L,EAAA,CAAA15B,GAAA,sCAAAE,OAAA,CAAA4uC,EACKtvC,EAAK4xN,KAAI91J,EAAyB97D,EAAKgzN,KAAK,EAC1C,EAEJhzN,EAAKkvF,UAAYlvF,EAAK0xN,eAEzBx3L,EAAA,CAAA15B,GAAA,gCAAAE,OAAA,CAAA4uC,EACKtvC,EAAK4xN,KAAI91J,EAAyB97D,EAAK0xN,QAAQ,EAC7C,EAEJ1xN,EAAK43F,UAAY53F,EAAKgzN,YAEzB94L,EAAA,CAAA15B,GAAA,qCAAAE,OAAA,CAAA4uC,EACKtvC,EAAK4xN,KAAI91J,EAAwB97D,EAAKgzN,KAAK,EACzC,EAEJhzN,EAAK43F,UAAY53F,EAAK0xN,eAEzBx3L,EAAA,CAAA15B,GAAA,+BAAAE,OAAA,CAAA4uC,EACKtvC,EAAK4xN,KAAI91J,EAAwB97D,EAAK0xN,QAAQ,EAC5C,QAGJx3L,EAAA,CAAA15B,GAAA,6BAAwC,EAIjDyyN,EAAcA,IACZjzN,EAAKyyN,OAAS3mN,GAAS+mN,YAChB,eACA7yN,EAAK4yN,kBACL,UAGJ,SAGX,cACKnB,GAAO,CACJn0N,IAAKk1N,EAAO,EACZn/L,WAAOsS,GAAI,CAAC0pL,SAAU4D,EAAY,EAAI,EACtCtyN,eACAs6B,cAAyB/wB,SAAA,CACxB6oN,IACA5B,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,CAEjB,EAEMrB,IAAoDA,CAAC,CAAE3vN,eAAcs6B,aAAY,IAAM,CACzF,MAAMj7B,EAAyCW,EAAaX,KAE5D,cACKyxN,GAAO,CACJn0N,IAAK8zN,GAAyBpxN,CAAI,EAClCqzB,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,sDAAAE,OAAA,CAAA4uC,EACKtvC,EAAK0xN,SAAQ51J,EAA8C97D,EAAKkzN,iBAAiB,CAC/E,GACN/B,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,CAEjB,EAEMpB,IAAqCA,CAAC,CAAE5vN,eAAcs6B,aAAY,IAAM,CAC1E,MAAMj7B,EAA0BW,EAAaX,KAE7C,aACKyxN,GAAO,CACJn0N,IAAK,aAAa0C,EAAKsxN,mBAAmBtxN,EAAKmzN,UAAYnzN,EAAKmzN,UAAY,KAC5E9/L,WAAOsS,GAAI,CAAC0pL,SAAS,SAAU,EAC/B1uN,eACAs6B,cAAyB/wB,gBACzBkoB,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,sDAAAE,OAAA,CAAA4uC,EACctvC,EAAKozN,aAAYt3J,EAAa97D,EAAKqzN,gBAAgB,EAAAl2K,WAAA,CAAA7N,EAA7Dhd,MAAoC,YAAC,CAClC,GACPA,MAAA,OAAK,CAAC,EACR,EACG,CAEjB,EAEMk+L,IAAqDA,CAAC,CAAE7vN,eAAcs6B,aAAY,IAAM,CAC1F,MAAMj7B,EAA0CW,EAAaX,KAE7D,aACKyxN,GAAO,CACJn0N,IAAK8zN,GAAyBpxN,CAAI,EAClCqzB,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,gBACzBkoB,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,kGAAAE,OAAA,CAAA4uC,EAC+DtvC,EAAKkzN,kBAAiBp3J,EACxE97D,EAAK0xN,QAAQ,EAAAv0K,WAAA,CAAA7N,EAAtBhd,MAA+B,YAAC,CAC7B,GACN6+L,GAAuBnxN,EAAK2xN,WAAW,CAAC,EAC3C,EACG,CAEjB,EAEMlB,IAA4CA,CAAC,CAAE9vN,eAAcs6B,aAAY,IAAM,CACjF,MAAMj7B,EAAiCW,EAAaX,KAEpD,cACKyxN,GAAO,CACJn0N,IAAK8zN,GAAyBpxN,CAAI,EAClCqzB,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,oDAAAE,OAAA,CAAA4uC,EACkBtvC,EAAK0xN,SAAQ51J,EAA+B97D,EAAKkzN,iBAAiB,CAC7E,GACN/B,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,CAEjB,EAEMjB,IAA2CA,CAAC,CAAE/vN,eAAcs6B,aAAY,IAAM,CAChF,MAAMj7B,EAAgCW,EAAaX,KAEnD,cACKyxN,GAAO,CACJn0N,IAAK8zN,GAAyBpxN,CAAI,EAClCqzB,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,yCAAAE,OAAA,CAAA4uC,EAA2CtvC,EAAKkzN,iBAAiB,CAAQ,GAE7E,4DAAS,CAEjB,EAEMvC,IAA6CA,CAAC,CAAEhwN,eAAcs6B,aAAY,IAAM,CAClF,MAAMj7B,EAAkCW,EAAaX,KAErD,cACKyxN,GAAO,CACJn0N,IAAK8zN,GAAyBpxN,CAAI,EAClCqzB,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,oDAAAE,OAAA,CAAA4uC,EACkBtvC,EAAK0xN,SAAQ51J,EAA+B97D,EAAKkzN,iBAAiB,CAC7E,GACN/B,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,CAEjB,EAEMf,IAA+CA,CAAC,CAAEjwN,eAAcs6B,aAAY,IAAM,CACpF,MAAMj7B,EAAoCW,EAAaX,KACjD1C,EAAM0C,EAAKsxN,UAAY,aAAatxN,EAAKsxN,oBAAsB,WAErE,aACKG,GAAO,CAACn0N,MAAU+1B,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EAAG1uN,eAA4Bs6B,cAAyB/wB,eACxGgwB,EAAA,CAAA15B,GAAA,kFAAAE,OAAA,CAAA4uC,EACctvC,EAAK4xN,KAAI91J,EAAS97D,EAAKszN,sBAAsB,EAEpD,EACF,CAEjB,EAEMzC,IAAiDA,CAAC,CAAElwN,eAAcs6B,aAAY,IAAM,CACtF,MAAMj7B,EAAsCW,EAAaX,KAEzD,aACKuzN,GAAS,CAAClgM,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EAAG1uN,eAA4Bs6B,cAAyB/wB,eAChGgwB,EAAA,CAAA15B,GAAA,+BAAAE,OAAA,CAAA4uC,EACctvC,EAAK4xN,KAAI91J,EAAS97D,EAAKszN,sBAAsB,EACpD,EACA,CAEnB,EAEMxC,IAAkDA,CAAC,CAAEnwN,eAAcs6B,aAAY,IAAM,CACvF,MAAMj7B,EAAuCW,EAAaX,KACpD1C,EAAM0C,EAAKsxN,UAAY,aAAatxN,EAAKsxN,oBAAsB,WAErE,aACKG,GAAO,CAACn0N,MAAU+1B,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EAAG1uN,eAA4Bs6B,cAAyB/wB,eACxGgwB,EAAA,CAAA15B,GAAA,0EAAAE,OAAA,CAAA4uC,EACctvC,EAAK4xN,KAAI91J,EAAS97D,EAAKszN,sBAAsB,EACpD,EACF,CAEjB,EAEMvC,IAA0CA,CAAC,CAAEpwN,eAAcs6B,aAAY,IAAM,CAC/E,MAAMj7B,EAA+BW,EAAaX,KAElD,cACKyxN,GAAO,CACJn0N,IAAK,aAAa0C,EAAKsxN,sBAAsBtxN,EAAKuxN,+BAA+BvxN,EAAKqxN,4BACtFh+L,WAAOsS,GAAI,CAAC0pL,SAAS,eAAgB,EACrC1uN,eACAs6B,cAAyB/wB,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,kDAAAE,OAAA,CAAA4uC,EACKtvC,EAAK0xN,SAAQ51J,EAA0C97D,EAAKwzN,YAAY,CACtE,GACNrC,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,CAEjB,EAEMX,IAAuDA,CAAC,CAAErwN,eAAcs6B,aAAY,IAAM,CAC5F,MAAMj7B,EAAgDW,EAAaX,KAEnE,cACKyxN,GAAO,CACJn0N,IAAK8zN,GAAyBpxN,CAAI,EAClCqzB,WAAOsS,GAAI,CAAC0pL,SAAS,WAAY,EACjC1uN,eACAs6B,cAAyB/wB,SAAA,CACzBooB,MAAA4H,EAAA,CAAA15B,GAAA,qCAAAE,OAAA,CAAA4uC,EAAsCtvC,EAAKyzN,oBAAoB,CAAS,GACvEtC,GAAuBnxN,EAAK2xN,WAAW,CAAC,EACpC,CAEjB,EAEMV,IAAuCA,CAAC,CAAEtwN,eAAcs6B,aAAY,IAAM,CAC5E,MAAMj7B,EAAgCW,EAAaX,KAEnD,aACK0zN,IAAe,CACZp2N,IAAKqnE,GAAkB3kE,EAAK2zN,EAAE,EAC9BtgM,WACI,OAAKpqB,UAAW0pB,GAAMi4B,MAAM1gD,eACvBkpB,EAAe,CAACC,KAAMk7F,GAAgB,EACtC,EAET5tH,eACAs6B,cAAyB/wB,eACzBgwB,EAAA,CAAA15B,GAAA,0DAAAE,OAAA,CAAA4uC,EAA4BtvC,EAAK4zN,aAAa,EAAwC,EACzE,CAEzB,EAEM1C,IAAsCA,CAAC,CAAEvwN,eAAcs6B,aAAY,UAEhEs4L,GAAS,CAAClgM,KAAMf,MAACuhM,MAAiB,EAAGlzN,eAA4Bs6B,cAAyB/wB,eACvFgwB,EAAA,CAAA15B,GAAA,6BAAwC,EACjC,EAIb+yN,GAAsCA,CAAC,CAAE5yN,eAAcs6B,cAAa5H,OAAMnpB,UAAS,WAEjF,OACI2a,QAASA,IAAM,CACCoW,GAChB,EACAhyB,UAAWY,EAAW8oB,GAAM48L,gBAAiB58L,GAAMhyB,EAAa8/B,OAAOE,YAAY,CAAC,CAAC,EAAEz2B,SAAA,CACtFmpB,EACDiH,OAAA,OAAApwB,UACIooB,MAAA,QAAMrpB,UAAW0pB,GAAMyd,QAAQlmC,WAAiB,EAChDooB,MAAA,QAAMrpB,UAAW0pB,GAAM26B,KAAKpjD,eACvBokD,GAAmB,CAAC70D,MAAOkH,EAAakkI,WAAa,EACpD,CAAC,EACN,CAAC,EACL,EAIP6uF,IAA0CA,CAAC,CAAE/yN,eAAcs6B,cAAa5H,OAAMnpB,WAAU5M,KAAI,WAEzFgnC,GAAY,CACTzf,QAASA,IAAM,CACCoW,GAChB,EACAhyB,UAAWY,EAAW8oB,GAAM48L,gBAAiB58L,GAAMhyB,EAAa8/B,OAAOE,YAAY,CAAC,CAAC,EACrFrH,KAAMh8B,EAAI4M,SAAA,CACTmpB,EACDiH,OAAA,OAAApwB,UACIooB,MAAA,QAAMrpB,UAAW0pB,GAAMyd,QAAQlmC,WAAiB,EAChDooB,MAAA,QAAMrpB,UAAW0pB,GAAM26B,KAAKpjD,eACvBokD,GAAmB,CAAC70D,MAAOkH,EAAakkI,WAAa,EACpD,CAAC,EACN,CAAC,EACI,EAIhB4sF,GAAkCA,CAAC,CAAE9wN,eAAcs6B,cAAa5H,OAAMnpB,WAAU5M,KAAI,WAEjF86B,GAAU,CACPvT,QAASA,IAAM,CACCoW,GAChB,EACAhyB,UAAWY,EAAW8oB,GAAM48L,gBAAiB58L,GAAMhyB,EAAa8/B,OAAOE,YAAY,CAAC,CAAC,EACrFjpB,GAAIpa,EAAI4M,SAAA,CACPmpB,EACDiH,OAAA,OAAApwB,UACIooB,MAAA,QAAMrpB,UAAW0pB,GAAMyd,QAAQlmC,WAAiB,EAChDooB,MAAA,QAAMrpB,UAAW0pB,GAAM26B,KAAKpjD,eACvBokD,GAAmB,CAAC70D,MAAOkH,EAAakkI,WAAa,EACpD,CAAC,EACN,CAAC,EACE,EAId4qF,IAAgDA,CAAC,CAAEhgN,WAAU,UAE3D,OAAKxG,UAAWY,EAAW8oB,GAAMi4B,MAAOj4B,GAAMuiC,WAAW,EAAEhrD,eACtDu9B,GAAW,CAACf,SAAU,GAAIj3B,YAAwB,EAClD,EAIPk2B,GAAiDA,CAAC,CAAE0pL,UAAS,UAE3D,OAAKpmN,UAAW0pB,GAAMi4B,MAAM1gD,eACvBklN,GAAW,CAACC,WAAqB,EACjC,EAYPwE,IAAgCA,UAC3B,OAAK5qN,UAAW0pB,GAAMi4B,MAAY,ECppBvCkpK,IAAgEA,CAAC,CACnEC,sBACA7zN,gBACA8zN,0BACJ,IAAM,CACIC,QAAc3rM,aAAW0+E,EAA4B,EACrDktH,EAA0B/yM,cACKxgB,GAAA,CAC7BszN,EAAY3lM,OAAO,EAAK,EACxBlnB,EAAe2sN,EAAqBpzN,CAAY,GAEpD,CAACszN,EAAaF,CAAmB,CACrC,EAEA,cACI3hM,WAAA,CAAAloB,SAAA,CACKhK,EAAcnD,IAAKwD,SACfovN,IAAe,CAAYhvN,aAAcJ,EAAGskB,QAASqvM,GAAhC3zN,EAAEC,EAAwD,CACnF,EAEAN,EAAc9F,SAAW,GACtBk4B,MAAA,OAAKrpB,UAAW0pB,GAAMwhM,aAAajqN,eAC/B,QAAMjB,UAAU,eAAciB,eAC1BgwB,EAAA,CAAA15B,GAAA,mBAA8B,EAC5B,EACL,EAGRN,EAAc9F,OAAS,GAAK45N,SACxB97L,EAAM,CAACjvB,UAAW0pB,GAAMyhM,eAAgB5oN,KAAK,QAAQ0oB,MAAM,WAAWrP,QAASmvM,EAAyB9pN,SAAC,YAElG,CACX,EACH,CAEV,ECnCMmqN,IAAsEA,CAAC,CAAE94L,OAAMjN,QAAO,IAAM,CACxF,MAAEpuB,gBAAeD,YAAeslB,IAA+BzlB,KAAMI,aAAa,EAClFo0N,EAAwBp0N,EAAc2C,UAAc,CAAC7F,EAAEu3N,QAAQ,EAAEn6N,OACjEo6N,EAAsBvyM,SAAoC,IAAI,EAEpEZ,YAAU,IAAM,CACNozM,QAAa,IAAIxG,GACvBuG,SAAoBhrN,QAAUirN,EAEvB,UAAmB,CACtBA,EAAWl8M,QAAQ,EAE3B,EAAG,CAAE,GAEC27M,QAA0B/yM,cAA6CxgB,GAAA,CACrD6I,UAAS2kN,cAAcxtN,CAAY,CAC3D,EAAG,CAAE,GAEC+zN,EAAoBvzM,cAAY,IAAM,CACpB3X,UAAS4kN,qBAAqBluN,EAAc9F,MAAM,GACvE,CAAC8F,EAAc9F,MAAM,CAAC,EAEzBinB,mBAAU,IAAM,CACRka,GAAQi5L,EAAoBhrN,SAAWtJ,EAAc4B,KAAY9E,GAAA,CAACA,EAAEu3N,QAAQ,GACxD/qN,UAAQ0kN,aAAahuN,CAAa,CAC1D,EACD,CAACq7B,EAAMr7B,CAAa,CAAC,QAGnB+mG,GAAqB,CAClB/4E,cAAUymM,IAAuB,CAACjuL,SAAU,GAAI5H,OAAQvD,EAAMgzL,wBAAyB+F,EAAwB,EAC/G/4L,OACAtyB,UAAW0pB,GAAMiiM,2BACjB1tH,cAAev0E,GAAMkiM,kBACrBrpN,KAAK,QACL8iB,SAAepkB,eACd4pN,IAAsB,CACnBE,yBAA0B/zN,IAAeC,EAAc9F,OAASs6N,EAAoB7wN,OACpF3D,gBACA6zN,oBAAqBG,EACxB,EACkB,CAE/B,ECxDaY,IAAgB,IAAIC,GCOpBC,IAA8CA,CAAC,KAAO,CAC/D,KAAM,CAACl2L,EAAQm2L,CAAS,EAAIvzM,WAAS,EAAK,EACpCwzM,EAAeC,GAAwBF,CAAa,EACpDG,EAAOnzM,SAAO,EAAK,EAEzB,aACKiW,GAAM,CACHjvB,UAAWY,GAAW8oB,GAAMqqE,WAAY,CACpC,CAACrqE,GAAMmM,MAAM,EAAGA,EACnB,EACDzL,KAAMslE,GACN9zE,QAASA,IAAM,CACXiwM,IAAcO,cAAc,EACfH,IACRE,EAAK5rN,UACNyrN,EAAU,EAAI,EACdG,EAAK5rN,QAAU,GAEvB,EACH,CAET,ECNMw+F,IAAgCA,IAAM,CACxC,KAAM,CAACstH,EAAiBC,CAAkB,EAAI7zM,WAAS,EAAK,EACtD,CAAC8zM,EAAcC,CAAe,EAAI/zM,WAAS,EAAK,EAChD,CAACg0M,EAAuBC,CAAwB,EAAIj0M,WAAS,EAAK,EAClE,CAACk0M,EAAkBC,CAAmB,EAAIn0M,WAAS,EAAK,EACxDiG,EAAWlC,KACXiC,EAAU5B,KAEV,CAACxmB,CAAc,EAAI6mB,KAEnBjnB,EAAWqmB,EAA+BzlB,KAAMD,OAAOX,QAAQ,EAC/DC,EAAgBomB,EAA+BzlB,KAAMD,OAAOV,aAAa,EACzEkuN,EAAoBnuN,iBAAU4P,QAAY9R,EAAEyS,aAActQ,iBAAeqB,KACzEgtI,EAAcjoH,EAA+BzlB,KAAMD,OAAOZ,IAAI,EAC9Dw8B,EAAUnT,aAAW8hB,EAAa,EAElC0rL,EAAa,CAAC,CAAC32N,EAEf42N,EAAe5pM,KAErB,aACK6qB,GAAM,CACH/tC,UAAWY,EAAW8oB,GAAM8J,UAAW,CACnC,CAAC9J,GAAMgU,WAAW,EAAGlL,EAAQkL,YAC7B,CAAChU,GAAMmjM,UAAU,EAAGA,EACpB,CAACnjM,GAAMy8E,UAAU,EAAG2mH,EACpB,CAACpjM,GAAMjL,OAAO,EAAGA,EACpB,EACDuvB,gBAAiBtkB,GAAMqnB,OAAO9vC,gBAC9B,OAAKjB,UAAWY,EAAW8oB,GAAM6U,QAAS,CAAE,CAAC7U,GAAMjL,OAAO,EAAGA,EAAS,EAAExd,UACpEooB,MAAA,OAAKrpB,UAAW0pB,GAAMzqB,KAAKgC,eACtBshN,IAAkB,CAACviN,UAAW0pB,GAAM1Y,MAAQ,EAC5C,EAELqgB,OAAA,OAAKrxB,UAAW0pB,GAAMmN,MAAM51B,SAAA,EACvBsjI,iBAAa9tH,aAAcgI,SAAYsuM,GAAW,CAACv3H,kBAAmB+uC,EAAYj2H,MAAS,IAC3Fi2H,iBAAa9tH,aAAciI,SAAa+jM,IAAY,CAACziN,UAAW0pB,GAAMn1B,MAAS,GAE/EkqB,IAAWpoB,iBAAgBiP,WAAY+jB,MAAC0iM,MAAe,EAEvD71N,GACGmzB,MAAC+hM,IAAyB,CAAC94L,KAAMm6L,EAAuBpnM,OAAQqnM,EAA2B,EAG9Fr2N,GACGgzB,MAAC20E,GAAqB,CAClBh+F,UAAW0pB,GAAMsjM,iBACjB/nM,eACI,OAAKjlB,UAAWY,EAAW8oB,GAAMujM,aAAc,CAAE,CAACvjM,GAAMmM,MAAM,EAAG82L,EAAkB,EAAE1rN,UAChF5K,EAAe+O,gBACf+kB,EAAe,CAACC,KAAMupC,GAAe9kC,SAAU89L,EAAmB,IAAM/xN,OAAY,CAAC,EACrF,EAET03B,KAAMq6L,EACNtnM,OAAQunM,EACR1uH,QAAO,GACP59B,UAAU,QACV/9D,KAAK,MAAKtB,SACVooB,MAACw7L,IAAoB,IACF,EAG1BT,GACG/6L,MAAC20E,GAAqB,CAClB/4E,cACKg/L,GAAsB,CACnBjmL,kBAAmB,CAAC9nC,CAAa,EACjCunC,SAAU,GACV3mB,QAASstM,EACTpkN,UAAWY,EAAW8oB,GAAMU,KAAM,CAAE,CAACV,GAAMmM,MAAM,EAAGw2L,EAAiB,EACxE,EAEL9pN,KAAK,MACL+vB,KAAM+5L,EACNhnM,OAAQinM,EACRtsN,UAAW0pB,GAAMwjM,kBACjBjvH,cAAev0E,GAAMyjM,YAAYlsN,SACjCooB,MAAC66L,IAAmB,GACD,IAG1B3/E,iBAAa9tH,mBACTunF,GAAqB,CAClB/4E,cACK2Z,GAAQ,CACLnB,SAAU,GACVnvB,OAAQi2H,EAAYj2H,OACpBtO,UAAWY,EAAW8oB,GAAMU,KAAM,CAAE,CAACV,GAAMmM,MAAM,EAAG02L,EAAc,EACrE,EAELj6L,KAAMi6L,EACNlnM,OAAQmnM,EAAgBvrN,SACxBooB,MAACs7L,IAAgB,IACE,CAC1B,EACA,CAAC,EACL,EACD,CAEhB,kFCnHMv/H,GAAkCA,CAAC,CAAEnkF,UAAS,IAAM,CACtD,MAAMwd,EAAU5B,KACV6B,EAAWlC,KACX2gB,EAASiwL,KACTN,EAAe5pM,KAErB,aACI,OACIlkB,MAAO,CACHgqI,UAAW7rG,EAAS,QAAQA,iCAAwC,QACpEkwL,SAAU5uM,EAAU,iCAAmC7jB,MAC3D,EACAoF,UAAWY,EAAW8oB,GAAM8J,UAAW,CACnC,CAAC9J,GAAMlvB,MAAM,EAAGkkB,EAChB,CAACgL,GAAMjL,OAAO,EAAGA,EACjB,CAACiL,GAAMy8E,UAAU,EAAG2mH,EACvB,EAAE7rN,WAEF,CAEb,ECrBaqsN,IAAgEl2N,IAAA,CACzE1G,KAAM,yBACNqG,KAAMK,CACV,GCFMm2N,IAAuEnkM,GAAA,CACzE,MAAMpa,EAAWmO,KACXnnB,EAAOsmB,EAA+BzlB,KAAMD,OAAOZ,IAAI,EAE7DoiB,mBAAU,IAAM,CACR,KAACpiB,WAAMygB,YACP,OAGEsqE,QAAU,IAAIikI,GAEpBjkI,SAAQqkI,0BAAoCp2M,KAASs+M,IAAiBv2N,CAAI,CAAC,CAAC,EAErE,UAAmB,CACtBgqF,EAAQzxE,QAAQ,EACpB,EACD,CAACtZ,EAAMgZ,CAAQ,CAAC,EAEZ,IACX,4OCXaw+M,GAA4DA,CAAC,CACtEx8M,QACAoZ,OACAilG,UACAo+F,aACAC,aACAr5N,KACJ,IAAM,CACIs5N,QAAiB,CAAC,EAAEF,GAAcp5N,GAExC,cACI,OAAK2L,UAAW0pB,GAAM8J,UAAUvyB,UAC5BowB,OAAA,OAAKrxB,UAAW0pB,GAAMxqB,IAAI+B,UACtBooB,MAAA,OAAKrpB,UAAW0pB,GAAMzqB,KAAKgC,eACtBkpB,EAAe,CAACC,OAAa,EAC7B,EACLiH,OAAA,OAAKrxB,UAAW0pB,GAAMmN,MAAM51B,UACxBooB,MAAA,OAAKrpB,UAAW0pB,GAAM1Y,MAAM/P,SAAE+P,EAAW,EACzCqY,MAAA,OAAKrpB,UAAW0pB,GAAM8gB,KAAKvpC,SAAEouH,EAAa,CAAC,EAC1C,CAAC,EACL,EACJs+F,GACGt8L,OAAA,OAAKrxB,UAAW0pB,GAAM6lB,OAAOtuC,UACzBooB,MAAA,OAAKrpB,UAAW0pB,GAAMkkM,cAAc3sN,SAAEwsN,CAAgB,GACrD,CAAC,CAACp5N,SACEk8B,GAAkB,CAACvwB,UAAW0pB,GAAMgF,OAAQzD,MAAO,WAAYxc,GAAIpa,EAAI4M,SACnEysN,EACe,CACvB,EACA,CACR,EACA,CAEb,EClCaG,GAA0CA,CAAC,CACpD3V,UACA4V,cAC0C,IAAM,CAChD,MAAM/2N,EAAamhN,EAAQnhN,KAC3B,aACKy2N,GAAoB,CACjBpjM,KAAMguB,GACNpnC,YAAOigB,EAAA,CAAA15B,GAAA,kCAAAE,OAAA,CAAA4uC,EAAQtvC,EAAKkkD,SAAS,EAAoC,EACjEo0E,QACIy+F,EACMppM,EAAAwW,EAAA,oIAAAmL,EAAqDtvC,EAAKkkD,UAAsF,EAChJv2B,EAAAwW,EAAA,iDAAAmL,EAA8CtvC,EAAKkkD,UAAU,EAE1E,CAET,ECfa8yK,GAA+BA,CAAC,CAAE7V,UAAS8V,aAA+C,IAAM,CACzG,MAAMtvM,EAAWlC,KACXzlB,EAAamhN,EAAQnhN,KAC3B,aACKy2N,GAAoB,CACjBpjM,KAAM6jM,GACNj9M,YAAOigB,EAAA,CAAA15B,GAAA,qCAAAE,OAAA,CAAA4uC,EAAQtvC,EAAKkkD,SAAS,EAAuC,EACpEo0E,QAAS3wG,GAAYsvM,EAAc3kM,MAAA4H,EAAA,CAAA15B,GAAA,yDAAqE,GAAI,GAC/G,CAET,ECNMgyN,IAASA,CAAC9qM,EAAkB1nB,EAAYa,IACtC6mB,EACO,oBAAoB1nB,EAAKgC,wBAEzB,aAAanB,iBAAyBb,EAAKgC,kBAI7Cm1N,IAAsFA,CAAC,CAAEhW,SAAQ,IAAM,CAChH,IAAInhN,EAAamhN,EAAQnhN,KACrB0nB,EAAU5B,KACVsxM,EAAiBnvM,KACrB,aACKwuM,GAAoB,CACjBx8M,YACImY,WAAA,CAAAloB,eACIgwB,EAAA,CAAA15B,GAAA,6BAAAE,OAAA,CAAA4uC,EAAwBtvC,EAAKgC,eAAe,EAAe,EAC7D,EAENs2H,cACIp+F,EAAA,CAAA15B,GAAA,6BAAAE,OAAA,CAAA4uC,EACctvC,EAAKgC,gBAAe85D,EAAaqlJ,EAAQ9pE,iBAAiB,EACjE,EAEXq/E,iBAAYx8L,EAAA,CAAA15B,GAAA,mDAAAE,OAAA,CAAA4uC,EAAiBtvC,EAAKgC,eAAe,EAA4C,EAC7F20N,iBAAYz8L,EAAA,CAAA15B,GAAA,wBAAmC,EAC/ClD,IAAKk1N,IAAO9qM,EAASy5L,EAAQnhN,KAAMo3N,CAAc,EACjD/jM,KAAM2nH,GACT,CAET,EC7C+D,IAa1Dq8E,cAAM,CAANA,WAAM,eAANA,IAAM,uBAANA,IAAM,yBAANA,IAAM,uBAANA,CAAM,EAANA,IAAM,IAOX,MAAM7E,IAASA,CAAC9qM,EAAkB1nB,EAAYa,IACtC6mB,EACO,oBAAoB1nB,EAAKgC,wBAEzB,uBAAuBhC,EAAKgC,kBAKrCs1N,GAAUA,CAAC72L,EAAgB/Y,IAAqB,CAClD,OAAQ+Y,EAAM,CACV,KAAK42L,GAAOj/G,KACR,OAAI1wF,QACOwS,EAAA,CAAA15B,GAAA,WAAsB,QAEtB05B,EAAA,CAAA15B,GAAA,OAAkB,EAEjC,KAAK62N,GAAOz/H,SACR,aAAO19D,EAAA,CAAA15B,GAAA,WAAsB,EACjC,KAAK62N,GAAOv/H,UACR,aAAO59D,EAAA,CAAA15B,GAAA,YAAuB,EAClC,KAAK62N,GAAOnoI,SACR,aAAOh1D,EAAA,CAAA15B,GAAA,WAAsB,CACrC,CACJ,EAEM+2N,GAAaA,CAACpW,EAAyBnhN,EAAY0nB,EAAkBmtB,IAA+B,CACtG,OAAQ70C,EAAKygC,OAAM,CACf,KAAK42L,GAAOj/G,KACR,OAAI1wF,QAEIwS,EAAA,CAAA15B,GAAA,qDAAAE,OAAA,CAAA4uC,EACoDtvC,EAAKgC,gBAAe6yC,aAApC,EAC7B,QAIP3a,EAAA,CAAA15B,GAAA,iDAAAE,OAAA,CAAA4uC,EACgDtvC,EAAKgC,gBAAe6yC,aAApC,EACzB,EAGnB,KAAKwiL,GAAOz/H,SACR,aACI19D,EAAA,CAAA15B,GAAA,qDAAAE,OAAA,CAAA4uC,EAC2CtvC,EAAKgC,gBAAe6yC,aAApC,EACpB,EAEf,KAAKwiL,GAAOv/H,UACR,aACI59D,EAAA,CAAA15B,GAAA,sDAAAE,OAAA,CAAA4uC,EAC2CtvC,EAAKgC,gBAAe6yC,aAApC,EACpB,EAEf,KAAKwiL,GAAOnoI,SACR,aACIh1D,EAAA,CAAA15B,GAAA,qDAAAE,OAAA,CAAA4uC,EAC2CtvC,EAAKgC,gBAAe6yC,aAApC,EACpB,CAEnB,CACJ,EAEa2iL,IAAsEA,CAAC,CAAErW,SAAQ,IAAM,CAChG,IAAInhN,EAAamhN,EAAQnhN,KACrB0nB,EAAU5B,KACOmC,GAAsB,EAC3C,GAAI,CAAC4sB,CAAW,EAAIpwB,EAChB,SAAY,MAAM9S,GAAoB3R,EAAKgC,gBAAiBhC,EAAK2mE,OAAO,EACxE,CAAC3mE,EAAK2mE,OAAO,EACb,IACJ,EAEA,OAAIj/C,GAAW1nB,EAAKygC,SAAW42L,GAAOv/H,gBAE7B2+H,GAAoB,CACjBx8M,aACImY,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,aAAAE,OAAA,CAAA4uC,EAAetvC,EAAK2mE,OAAO,EAAQ,EAAE,IAAC2wJ,GAAQt3N,EAAKygC,OAAQ/Y,CAAO,CAAC,EACrE,EAEN4wG,QAASi/F,GAAWpW,EAASnhN,EAAM0nB,EAASmtB,CAAW,EACvDxhB,KAAM2nH,GACT,QAKJy7E,GAAoB,CACjBx8M,aACImY,WAAA,CAAAloB,SAAA,CACIooB,MAAA4H,EAAA,CAAA15B,GAAA,aAAAE,OAAA,CAAA4uC,EAAetvC,EAAK2mE,OAAO,EAAQ,EAAE,IAAC2wJ,GAAQt3N,EAAKygC,OAAQ/Y,CAAO,CAAC,EACrE,EAEN4wG,QAASi/F,GAAWpW,EAASnhN,EAAM0nB,EAASmtB,CAAW,EACvD6hL,iBAAYx8L,EAAA,CAAA15B,GAAA,gDAAAE,OAAA,CAAA4uC,EAAetvC,EAAK2mE,OAAO,EAA2C,EAClFgwJ,iBAAYz8L,EAAA,CAAA15B,GAAA,eAA0B,EACtClD,IAAKk1N,IAAO9qM,EAASy5L,EAAQnhN,IAAoB,EACjDqzB,KAAM2nH,GACT,CAET,ECnHay8E,IAA0FA,CAAC,CAAEtW,SAAQ,IAAM,CACpH,IAAInhN,EAA2BmhN,EAAQnhN,KACvC,aACKy2N,GAAoB,CACjBx8M,YAAOigB,EAAA,CAAA15B,GAAA,wBAAmC,EAC1C83H,QAAS,GACTo+F,WAAY12N,EAAK5F,OAAS,SAAMypH,GAAoB,CAACC,WAAU,GAAC9jH,OAAYsjH,aAAc,SAAW,EACrGjwF,KAAMg8G,GACT,CAET,ECbaqoF,IAA2C,CACpD,CAACC,GAAiBC,uBAAuB,EAAG,CAACzW,EAASj+K,UACjD4zL,GAAuC,CAAC3V,UAAmB,EAEhE,CAACwW,GAAiBE,iCAAiC,EAAG,CAAC1W,EAASj+K,UAC3D4zL,GAAuC,CAAC3V,UAAkB4V,aAAY,GAAE,EAE7E,CAACY,GAAiBG,YAAY,EAAG,CAAC3W,EAASj+K,UAAgB8zL,GAA4B,CAAC7V,UAAmB,EAC3G,CAACwW,GAAiBI,gBAAgB,EAAG,CAAC5W,EAASj+K,UAC1C8zL,GAA4B,CAAC7V,UAAkB8V,YAAW,GAAE,EAEjE,CAACU,GAAiBK,kBAAkB,EAAG,CAAC7W,EAASj+K,UAAgBi0L,IAAiC,CAAChW,UAAmB,EACtH,CAACwW,GAAiBM,mBAAmB,EAAG,CAAC9W,EAASj+K,UAC7Cu0L,IAAmC,CAACtW,UAAmB,EAE5D,CAACwW,GAAiBO,UAAU,EAAG,CAAC/W,EAASj+K,UAAgBs0L,IAAyB,CAACrW,UAAmB,CAC1G,ECbMgX,IAA4DA,CAAC,CAAEn2N,kBAAiBkI,UAAS,IAAM,CAC3F,MAACiH,CAAa,EAAIsT,EAAc,IAAMmnE,GAAiB5pF,CAAe,EAAG,CAACA,CAAe,EAAG,IAAI,EAEtG,aACKgyB,GAAO,CACJE,MAAM,QACNja,MAAO9I,iBAAekoB,QACtBlH,cAAS,OAAKlpB,UAAU,uBAAsBiB,SAAEiH,iBAAegtB,YAAiB,EAAEj0B,WAE7E,CAEjB,EClBMkuN,IAA8DA,CAAC,CAAEluN,UAAS,IAAM,CAClF,KAAM,CAACzQ,EAAOgqB,CAAQ,EAAI/B,WAA4B,CAClD+a,UAAW10B,SAASinB,cAAc,KAAK,EACvCub,YAAa,GACb5D,YAAa,GACb0D,eACI5mB,KAAgB21B,GACRA,EAAEzS,cAAgB2D,EACX,CAAE,GAAG8O,EAAGzS,YAAa2D,GAGzB8O,CACV,EACR,EAEM9mB,aAAC8X,GAAc5N,SAAQ,CAAC/iC,QAAayQ,WAAmC,CACnF,ECXMmuN,IAA8DA,CAAC,CAAEnuN,UAAS,IAAM,CAC5E,MAAEyjB,QAASC,GAAU,EACrB0qM,EAAkCzsM,UACpC,KAAO,CACH0sM,cAAe5qM,EAAK1oB,OACpBuzN,MAAO,CACHC,SAAU9qM,EAAAwW,aAAW,EACrBu0L,SAAU/qM,EAAAwW,EAAW,YACzB,CAEJ,IAACxW,EAAK1oB,MAAM,CAChB,EACA,aAAQ0zN,GAAe,CAACl/N,MAAO6+N,EAAYpuN,WAA4B,CAC3E,ECGa0uN,IAAoCA,CAAC,CAAE1uN,UAAS,IAAM,CACzD,MAAEjL,OAAME,gBAAeC,iBAAkBmmB,EAAgCzlB,IAAA,CAC3Eb,KAAMa,EAAMD,OAAOZ,KACnBE,cAAeW,EAAMD,OAAOV,cAC5BC,cAAeU,EAAMD,OAAOT,aAC9B,IACI,CAACmuB,CAAW,EAAIpH,KAEhB0yM,EAAwDhtM,UAC1D,KAAO,CACHitM,QAAqB98D,GACVr8D,GAA4Bq8D,CAAM,EAE7Cw2D,OAASx2D,GAAW,aAAa58J,iBAAeoB,wBAAwBw7J,IACxE+8D,sBAAmCp+M,MAA0BpD,CAAM,IAEvE,CAACnY,CAAa,CAClB,EAEM45N,EAAkBntM,UAA0B,IAAM,CACpD,MAAMotM,EAAa,IAAIC,GAAW15N,OAAOiF,WAAWG,YAAY,EAEzD,OACHu0N,YAAa,IAAIC,GAAYH,CAAU,EACvCI,cAAe1gN,GAAyB,EACxC2gN,eAAer6N,iBAAMsY,SAAU,KAC/BgiN,kBAAkBp6N,iBAAeqB,KAAM,KACvCg5N,aAAc9B,IACd+B,oBAAqBA,CAAC,CAAE9/N,OAAM8nG,aAAYioH,cAClC/vN,IAASwT,GAAkByQ,eAAiB8rM,QAEvCyO,IAAoB,CAACn2N,gBAAiB0nN,EAASx/M,eAC5C,QAAAA,SAAOu3F,EAAiB,EACN,EAGvBA,CACX,CACJ,EACD,CAACxiG,EAAME,CAAa,CAAC,EAExB,aACKu6N,GAAY,CAACjgO,MAAOu/N,EAAiB7qN,aAAcof,EAAapf,aAAajE,eACzEkuN,IAAqB,CAAAluN,eACjBmuN,IAAqB,CAAAnuN,SACjByvN,SAA8Bn9L,SAAQ,CAAC/iC,MAAOo/N,EAAmB3uN,WAE1B,EACrB,EACJ,EACb,CAEtB,EC7Ba0vN,IAAY,4DAGnBC,IAA0BA,IAAM,CAClC,MAAM5hN,EAAWmO,KACX,CAACmH,CAAW,EAAIpH,KAEhB,CAAElnB,OAAMS,gBAAeP,gBAAeC,iBAAkBmmB,EAAgCzlB,IAAA,CAC1Fb,KAAMa,EAAMD,OAAOZ,KACnBS,cAAeI,EAAMD,OAAOH,cAC5BP,cAAeW,EAAMD,OAAOV,cAC5BC,cAAeU,EAAMD,OAAOT,aAC9B,IACI,CAAC06N,EAAsBC,CAAuB,EAAIr4M,WAAS,EAAK,EA+EtE,OA9EAL,YAAU,IAAM,CACR24M,MAAgB15M,GAAQO,aAExBm5M,EAAcpnN,OAAS,qBACvBmnN,EAAwB,EAAI,EAI1BE,QAAe,EADCD,EAAcl5M,SAAW,IAAI5mB,MAAM,GAAG,EACzB,CAAC,EAChC8/N,EAAcpnN,OAAS,UAAYqnN,EAAe,IAClDF,EAAwB,EAAI,CAEpC,EAAG,CAAE,GACL14M,YAAU,IAAM,CACZ5B,GAASxH,CAAQ,GAClB,CAACA,CAAQ,CAAC,EAEboJ,YAAU,IAAM,CACP3hB,GACD8f,GAAkBvH,CAAQ,CAC9B,EACD,CAACvY,EAAeuY,CAAQ,CAAC,EAE5BoJ,YAAU,IAAM,CACRpiB,GACAghB,GAAkBhI,EAAUpJ,GAAkB5P,EAAKgG,MAAM,GAAK0J,EAAc,CAChF,EACD,CAAC1P,EAAMgZ,CAAQ,CAAC,EAEnBoJ,YAAU,IAAM,CACRpiB,GAAQA,EAAKygB,YACJ3E,IACb,EACD,CAAC9b,CAAI,CAAC,EAEToiB,YAAU,IAAM,CACPliB,IAIDA,EAAcxF,OAASgT,GAAYoZ,MACnCq/D,GAAuBntE,CAAQ,EACxB9Y,EAAcxF,OAASgT,GAAYkZ,QAAUzmB,GAC5B6Y,MAAU7Y,EAAcoB,EAAE,IAEvD,CAAC+sB,EAAapuB,EAAeC,EAAe6Y,CAAQ,CAAC,EAExDoJ,YAAU,IAAM,CACZ,eAAeygB,GAAO,CAClB,MAAM1kB,EAAgBJ,GAAcI,cACpC,GAAI,CAAChe,GAAiBD,GAAiBA,EAAcxF,OAASgT,GAAYkZ,OAClE,IACM7F,SAAmB/H,EAAUmF,EAAe,EAAI,OACxD,CACEJ,GAAcI,cAAgB,IAClC,CAER,CAEK0kB,IAED1iC,IACA4d,GAAcI,cAAgBhe,EAAcoB,GAEjD,GAACrB,EAAeC,EAAe6Y,CAAQ,CAAC,EAcvC,CAAChZ,GAAQ,CAACsuB,GAAe,CAAC7tB,EACnB4yB,MAAC+a,EAAgB,EAAE,EAGzB3tC,EAAcqvC,MAQf+qL,QAEK73L,GAAU,CAACC,SAAU3U,EAAYrjB,eAC7BmkF,GAAO,CAAAnkF,eACJ,MAAIjC,MAAO,CAAEisG,UAAW,QAAS,EAAEhqG,eAC/BgwB,EAAA,CAAA15B,GAAA,gEAAA28C,WAAA,CAAA7N,EAEIhd,MAAK,QAAC,EAEH,EACP,EACC,EACD,QAKf2P,GAAU,CAACC,SAAU3U,EAAYrjB,eAC7BgwN,GAAoC,CAAC/rN,aAAcof,EAAYpf,aAAajE,eACxEiwN,GAAuB,CACpBl7N,KAAM,CAAEkW,OAAOlW,iBAAMkW,QAAS,GAAI3U,IAAIvB,iBAAMsY,OAAO4wF,aAAc,GAAIv1F,KAAM3T,iBAAMk3C,WAAY,EAC7FmwK,YAAY,KACZC,YAAa/mN,OAAOiF,WAAWwJ,YAC/BmsN,IAAKR,IACLS,WAAY1sM,EAAAwW,wBAAsB,EAClCm2L,mBACIpgM,EAAA,CAAA15B,GAAA,qGAAA28C,WAAA,CAAA7N,EAEIhd,MAAK,QAAC,EAEH,EAEXioM,sBAAuB5sM,EAAAwW,SAAO,EAC9Bq2L,6BAA8B7sM,EAAAwW,kBAAgB,EAAEj6B,eAC/C0uN,IAAQ,CAAA1uN,eACJuwN,GAAM,CACHC,oBAAqBA,IAAM,CACvB,EAIJC,SAAUC,OAAyB1wN,gBAClCgvC,GAAe,CAAAhvC,SAAA,CACZooB,MAAC01E,MAAQ,EAGT11E,MAACuoM,KAAgB,EACjBvoM,MAACgO,IAAkB,GAElBk2L,WAAsB,GACtBrL,YAAoB,EACpBH,YAAmB,EACnBO,WAAa,SAEbl9H,GAAO,CAAAnkF,eACHqgN,IAAW,CAAC7qM,WAAYzgB,EAAKygB,WAAa,EACtC,CAAC,EACG,EACb,EACF,EACW,EACS,EAC9B,QApEPuiB,GAAU,CAACC,SAAU3U,EAAYrjB,SAC9BooB,MAACiQ,GAAU,IACH,CAoExB,cCjNau4L,IAAqD,2BAElEl/I,QAAQwL,IAAI,WAAWtmE,KAAS,EAChC86D,QAAQwL,IAAI,WAAW0zI,IAAUC,kBAAkB,EAE5C,SAASC,KAAwB,CACV,CACtB,IAAIC,EAAuB,KACvBC,EAAe,GAEnB94M,YAAY,SAAY,CAChB,IACA,MAAM3c,EAAW,MAAMqB,MACnBhK,GAAW0C,OAAOnC,SAASyuC,OAAQ8uL,OAA0B,aAAa19N,MAAkB,CAChG,EAEI,IAACuI,EAASO,GACJ,UAAI+I,MAAM,2BAA2B,EAGzCosN,QAAW,MAAM11N,EAASguC,OAE5B,CAACynL,GAAgBD,GAASA,IAAUE,IACrBD,EAAA,GAELj1L,aAAK/L,EAAA,CAAA15B,GAAA,oDAAgE,GAAG,KAAM,CACpF4tC,UAAW,GACXgtL,aAAc,GACdjoM,YAAa,GACbtO,QAASA,IAAM,CAEJxnB,gBAASwvB,OAAO,EAAI,CAC/B,EACH,GAGGsuM,UACHr1N,GACGmgC,aAAK,4BAA6BngC,CAAC,CAC/C,GACD,GAAK,CACZ,CACJ,CCvCA,MAAM7B,IAAQI,GAAS,EAEvB22N,MAEA54M,YAAY,IAAM,CACdxF,aAAaE,QAAQ,cAAenW,KAAKC,UAAczJ,QAAM,CAAC,CAClE,EAAG,GAAK,EAGR,IAAIk+N,IAAgB3wL,GACpB2wL,IAASn6L,aACJ1E,GAAQ,CAACv4B,UAAaiG,eAClBuwN,GAAM,CAAAvwN,eACFoxN,GAAY,CACTjhN,MAAO7a,OAAO,WAAc,eAC5B+mN,YAAa/mN,OAAO,WAAc,YAClC8mN,YAAY,KACZiV,OAAQluL,EAAiBnjC,SACzBooB,MAACunM,IAAK,IACI,EACV,CAAC,CACH,EACV9xN,SAASyzN,eAAe,MAAM,CAClC","names":["HTMLCanvasElement","prototype","toBlob","defineProperty","value","callback","type","quality","canvas","setTimeout","binStr","atob","toDataURL","split","len","length","arr","Uint8Array","i","charCodeAt","Blob","forEach","item","hasOwnProperty","configurable","enumerable","writable","parentNode","removeChild","Element","CharacterData","DocumentType","parseQueryString","queryString","obj","charAt","substring","part","parts","key","decodeURIComponent","Array","isArray","push","getFilterQueryString","object","toQueryString","excludeEmptyArrays","excludeEmptyStrings","options","Object","keys","encodedKey","encodeURIComponent","arrayValue","from","join","urlCombine","map","x","replace","cacheBustParam","Date","getRelativePath","location","url","pathname","search","urlHasProtocol","test","ensureSafeReturnUrl","validateSubdomain","subdomain","ensurePrefix","prefix","s","startsWith","buildUrl","result","path","hash","deepTraverse","func","visitedMap","Map","visit","itemIsArray","itemIsObject","isPlainObject","get","set","initialState","user","profiles","activeProfile","activeProject","itemCategories","currentCulture","windowWidth","window","innerWidth","configuration","canScroll","terms","global","state","action","data","totalCount","notifications","mergeNotifications","existingNotifications","notificationResult","notificationsById","n","id","orderBy","values","notification","documentTypes","projectId","tasks","changeRequests","total","comments","mergeComments","prevState","oldData","newData","keyBy","newItem","threadId","projectOverview","selectedTab","isOpen","subLabel","sellerSidebar","some","cr","changeRequestId","commentThreads","meetings","statuses","deadline","categories","tags","showExpired","buyerSidebar","buyerData","landingPageData","items","newItems","filter","appReducer","combineReducers","buyer","sidebar","buyerDocumentTypes","optionFilter","projectData","landingPage","budget","permissions","buyerPermissions","seller","sellerDocumentTypes","messageDismissals","rootReducer","undefined","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","store","createStore","applyMiddleware","thunk","getStore","isPrimitive","getApiUrl","getCoreApiUrl","APP_CONFIG","API_CORE_URL","getChatApiUrl","API_CHAT_URL","generateQueryString","includeLocale","getState","__lang","locale","generateApiUrl","relativePath","query","errorHandler","setAjaxErrorHandler","handler","handleAjaxError","response","getDefaultParams","credentials","headers","addEventListener","e","reason","ok","statusText","body","request","params","isString","FileData","Promise","all","getAllPromises","json","JSON","stringify","promise","fetch","then","reject","promises","val","getDataPromise","triggerHandler","currentId","getUniqueId","getInputValue","input","checked","toNullableNumber","toOptionalNumber","focusableElementsSelector","scrollTo","y","document","documentElement","style","left","top","behavior","Input","React","forwardRef","rest","ref","ValidatingInput","min","max","maxLength","fieldName","placeholder","required","className","validations","invalid","useInputValidation","valueRef","commonOptions","getter","current","messageParameters","field","rules","limit","classnames","ValidatingTextArea","TextArea","ValidatingSelect","onChange","children","ChangedItem","fromMerge","original","changes","constructor","modified","updateArray","array","Changes","BatchedChanges","repeat","ids","single","changesById","FileMetadata","unknown","extension","fileName","fileType","FileType","Unknown","size","fromFileData","fileData","getExtension","getFileType","MemberStatus","TaskType","ExternalAgreementStatus","DocumentStatus","ResidentialUnitType","SellerChangeRequestStatus","BuyerChangeRequestStatus","BudgetItemSource","BudgetGroupType","BudgetItemPriceType","OrderStatus","PriceStepType","OrderAttachmentType","InvitationStatus","ProfileType","ProjectDecimalOption","ProjectFeature","ProjectFeatureMode","ProductSourceCatalog","ProductType","BuyerOptionGroupStatus","InviteType","CommentThreadType","BuyerOfferStatus","ProjectTagType","EmailValidity","DeadlineAlertType","OrderType","BuyerOptionPresetGroupStatus","BuyerOptionPresetStatus","BygrModule","NotificationTemplateType","UnitOfMeasurement","cultureFilter","culture","includes","ENVIRONMENT","SupportedCultures","languageCode","englishName","localName","dateFnsName","showHelp","dateFnsImport","__vitePreload","rtl","DefaultCulture","getCultureInfo","tryGetCultureInfo","find","Error","setUser","setActiveProfile","setActiveProject","setProfiles","setWindowWidth","setConfiguration","setCanScroll","getBuyerPermissions","buyerProfileId","profileId","getBuyerDocuments","residentialUnitId","searchFullBuyerDocuments","getBuyerOfferDocuments","getBuyerDocumentVersions","documentId","getBuyerTasks","taskStatuses","projectDeadlineId","projectTagIds","getBuyerTaskFilterData","getTaskOptions","taskId","wizardSelections","buyerOptionGroupId","selectedLinkGroupItemId","selectOptions","selections","method","getBuyerBudget","getOpenChangeRequestCount","getClosedChangeRequestCount","getChangeRequestsProgress","getChangeRequestProgress","submitChangeRequest","changeRequest","rejectBuyerOffer","buyerOfferId","getBuyerProjectInfo","getBuyerLandingPage","addAttachmentToChangeRequest","attachments","getBuyerDocumentTypes","getOfferProfileName","prepareOptionSignature","deadlineId","signOptionSignature","clientKey","oneTimeCode","prepareOfferSignature","signOfferSignature","getProjectTermsAsBuyer","getOptionPresets","getOptionPresetItems","optionPresetId","changesOnly","applyOptionPreset","extraSelections","getPossibleChatFollowersAsBuyer","addCommentThreadAsBuyer","name","followerProjectMemberIds","getResidentialUnitBuyerUsers","getBuyerThemeInfo","module","bygrModule","getProjectsByProfileId","getProjectOverview","getProject","disableGlobalError","createProject","project","copyProject","newProjectName","updateProject","createOrUpdateProject","getProjectDeadlines","getProjectDeadlinesWithReferenceCount","GetResidentialUnitsDeadlinesForProjectDeadline","revertAllDeadlines","revertUnitDeadlines","unitDeadlineId","getComplexProjectDeadlines","saveComplexProjectDeadline","deadlines","deleteComplexProjectDeadline","getProjectHeaderImageUrl","getProjectHeaderImageThumbnailUrl","getProjectPermissions","getProjectAcl","setProjectMemberAcl","projectMemberId","userPermissionDetails","removeProjectMember","getProjectProfiles","getProjectSensitiveViewerMembers","addProjectMember","projectMemberOptions","checkInviteExternalEmail","email","inviteeProfileId","r","addProjectMemberInternal","getPricingFields","savePricingFields","pricingFields","getResidentialUnitImportTemplate","forUpdate","showPricingVariables","showCustomFields","getBuyerList","getProjectFeatures","saveProjectFeatures","features","getCompanyProfilesFromProjectId","getProjectFeeSets","getProjectFeeSetsWithReferenceCount","saveProjectFeeSet","projectFeeSet","overrideSettings","deleteProjectFeeSet","projectFeeSetId","getResidentialUnitFilterDataByProject","setProjectTerms","getProjectTerms","getProjectDeadlineAlerts","saveProjectDeadlineAlerts","projectDeadlineAlerts","ParsedBuyerImportRowStatus","BuyerImportPhoneNumberStatus","getBuyerImportTemplateUrl","parseBuyerImportExcel","file","getUserDetails","memoize","userId","ensureLeadingSlash","prefixTo","to","startsWithSlash","DismissibleMessageKey","setMessageDismissal","getMessageDismissalValue","setMessageDismissalItem","loadMessageDismissal","dispatch","updateMessageDismissal","chatConnectionManagerInstance","cmConnectionManagerInstance","createConnections","cleanConnections","dispose","HubConnectionManager","resetConnections","getCMConnectionManager","getChatConnectionManager","ProjectUsers","getActiveBuyers","invoke","addReceiveActiveBuyersHandler","on","removeReceiveActiveBuyersHandler","off","getCurrentUserInfo","approveExternalLogin","approvalToken","login","password","remember","inviteToken","logout","register","getUserSettings","updateUserSettings","firstName","lastName","phoneNumber","title","salutation","requestPasswordReset","resetPassword","token","newPassword","ConfirmEmailResult","confirmEmail","changePassword","currentPassword","getUserAvatarThumbnailUrl","identification","changeAvatar","setUserLocale","logVisit","checkRegisterEmailAddress","getMyProfiles","getMyUnitProfiles","retur","getProfile","getProfileTooltipInfo","getProfileConfiguration","searchProfiles","createProfile","updateProfile","createOrUpdateProfile","getProfilePermissions","searchProfileMembers","inviteProfileMember","invitation","cancelProfileInvite","profileInviteId","resendProfileInvite","getProfileAcl","patchProfileAcl","profileMemberId","getProfileImageUrl","getProfileBackgroundImageUrl","getProfileImageThumbnailUrl","getProfileModules","getAllItemCategories","getProjectCategoryPermissionTypes","setNullable","localStorage","removeItem","setItem","StorageKeys","ClientStorage","lastProfileId","getItem","LastProfileId","lastProjectId","LastProjectId","ClientStorage$1","getConfiguration","domain","hostname","cmThreadTypes","ResidentialUnit","ChangeRequest","Order","ExternalAgreement","Project","isCmThreadType","threadType","removeIrrelevantThreads","setProjectOverview","overview","setProjectOverviewEmpty","setProjectTaskOverview","setProjectChangeRequestOverview","setProjectCommentsOverview","getProjectCommentThread","addCommentThread","IncludesBuyer","getPossibleChatFollowers","includesBuyer","ChangeManagement","sendMultiMessage","getCommentOverviewForBuyer","getCommentsOverview","projectIds","resolve","getCommentsOverviewTotals","getCommentThreadRelationInfo","loadProjectOverview","commentsOverview","loadConfiguration","loadUser","isLoggedIn","setActiveProfileId","lsLocale","logoutService","loadActiveProfile","profile","setActiveProjectId","setCurrentCulture","newCultureInfo","loadCatagories","categoriesRequest","force","browser","Bowser","getParser","navigator","userAgent","isOldEdge","currentBrowser","getBrowser","version","parseInt","useEffectDebounced","deps","delay","useCallback","debounce","useEffect","cancel","useDebounce","debouncedValue","setDebouncedValue","useState","clearTimeout","useForceUpdate","setCounter","counter","useInterval","savedCallback","useRef","tick","intervalId","setInterval","clearInterval","useUniqueId","useTimestamp","cacheKey","setCacheKey","valueOf","useCacheBuster","urlParam","indexOf","useValidationManager","validationManager","ValidationManager","rule","addRule","removeRule","useQueryString","queryParams","setQueryParams","firstRunRef","useMergeState","setValue","mergeValue","oldValue","updates","CancellationToken","canceled","isCanceled","useAsyncStateWithIsLoading","initialValue","setData","loadingCounter","isLoading","setIsLoading","loadData","cancelToken","shouldCancel","useAsyncState","useClickOutside","capture","eventName","onClick","target","Node","contains","removeEventListener","useOnWindowResize","throttle","onResize","throttleFunction","useIsMobile","useSelector","useProfileType","useIsSeller","impersonationInfo","useImpersonationInfo","profileType","Seller","useIsBuyer","Buyer","impersonating","loading","unitName","useCurrentCulture","useDispatch","cultureOrLocale","useDocumentTypes","useDocumentType","documentTypeId","useRequestLanguage","langCode","setLangCode","useCanScroll","scrollToId","prevId","setPrevId","rCanScroll","useDefaultScrollToId","paramName","defaultExpandedId","setDefaultExpandedId","paramId","useParams","isNaN","useDefaultScrollToStringId","useGetTerms","isBuyer","isSeller","setTerms","setTermsAsBuyer","useGetActiveProfileName","sellerProfileName","useGetProjectId","useGetActiveProjectId","setInvalid","currentValueRef","componentRef","Symbol","useContext","ValidationContext","handleClear","handleValidate","errors","component","onValidate","addHandler","onClear","addRules","removeRules","removeHandler","usePrevious","useProjectRelativeRedirect","history","useHistory","useMessageDismissal","initialLoad","dismiss","useActiveProjectBuyer","activeUsers","setActiveUsers","userApi","receiveActiveBuyersHandler","users","fixQueryStringArrays","parseData","defaultState","returnData","isEmpty","propertyName","useQueryState","frozenInitialState","parsedData","fixedData","useLocation","previousLocation","useEffectSkipFirst","onSetData","newValue","qs","effect","skipped","useAsRef","useParamReplace","match","useRouteMatch","paramsRef","locationRef","matchRef","replacementParams","generatePath","useThreadUnreadMessageCount","buyerThreads","sellerThreads","useMemo","unreadMessages","useUnreadThreadCount","unreadThreads","reduce","acc","useIsWhiteLabel","useWhiteLabel","useGetActiveProfile","useGetActiveProject","useGetDefaultProjectUnitOfMeasurement","defaultUnitOfMeasurement","useShouldDisplayDefaultTextOnOptions","showDefaultTextOnOptions","useBuyerHasUnselectedForcedPreset","presetsGroups","reload","forceSelection","presets","selected","useFilteredBudget","buyerHasForcedPreset","unfilteredBudget","Normal","useCategories","useGetCorrectLanguageCodeForPhoneInput","cultureInfo","currentLanguage","defaultTitle","usePageTitle","i18n","useLingui","useGetRubustechIoUrl","getLanguagePathFromCulture","scrollOptions","reserveScrollBarGap","elementHasOpenSelects","element","querySelector","openDialogs","Modal","toggle","onOpened","onClosed","onOpen","onClose","backdrop","autoFocus","enableCloseButton","closeOnEscape","portalRef","createElement","backgroundRef","contentRef","enableScroll","setEnableScroll","lastFocusedElementRef","loaded","setLoaded","dialogReference","index","setIndex","mountPortal","appendChild","unmountPortal","remove","handleBackdropClick","currentTarget","doAutoFocus","focusElement","focus","saveFocus","activeElement","revertFocus","parentElement","onKeyDown","keyCode","focusElements","querySelectorAll","first","last","shiftKey","preventDefault","setModalOpen","setModalClosed","background","enableBodyScroll","disableBodyScroll","previousIsOpen","findIndex","transitions","useTransition","opacity","transform","enter","leave","unique","config","duration","onRest","onStart","isTopModal","content","_Fragment","props","_jsx","animated","div","pointerEvents","zIndex","theme","modalBackground","onMouseDown","onKeyDownCapture","role","tabIndex","stopPropagation","modal","closeButton","FontAwesomeIcon","icon","faTimes","createPortal","ModalHeader","header","ModalBody","ModalFooter","footer","combineRefs","node","refs","Tooltip","placement","color","dynamicWidth","forceOpen","showOnHover","interactive","noPadding","onShow","onHide","includeQuestionMark","minWidthPx","minWidth","tooltipRef","child","Children","only","TooltipQuestionMark","hideTimeoutRef","visible","setVisible","shouldRender","referenceElement","setReferenceElement","popperElement","setPopperElement","styles","attributes","usePopper","modifiers","gpuAcceleration","offset","hideTooltip","showTooltip","el","cloneElement","childWithRef","outerRef","triggerElement","popper","tooltip","onMouseEnter","onMouseLeave","removed","faCaretUp","triangle","questionMark","faQuestionCircle","ButtonElement","iconPosition","iconRotation","disabled","block","spanClassName","rounded","tag","outline","uniqueId","classNames","button","iconElement","fixedWidth","rotation","buttonElement","faSpinner","spin","Button","addQuerySupport","CustomLink","Link","CustomNavLink","activeClassName","NavLink","CustomRedirect","Redirect","mapStateToProps","connect","ProfileRelativeLink","ProjectRelativeRedirect","ProjectRelativeLink","formatEmailAddresses","addresses","MailTo","cc","bcc","subject","href","TelLink","InternalLinkButton","ExternalLinkButton","YesNoDialog","show","onAccept","onCancel","onCloseClick","confirmButtonColor","cancelButtonColor","confirmButtonText","Trans","cancelButtonText","handleAcceptClick","handleCancelClick","_jsxs","ConfirmButton","onConfirm","dialogTitle","dialogBody","dialogConfirmButtonColor","dialogCancelButtonColor","skipDialog","buttonProps","showDialog","setShowDialog","handleClick","handleDialogClose","Fragment","ConfirmRemoveButton","DropdownContext","createContext","open","useDropdownCloseHandler","context","closeHandler","Dropdown","label","emptyCssClass","containerClassName","dropdownClassName","containerRef","forceUpdate","altBoundary","fallbackPlacements","setContext","clickOutsideHandler","uiReady","setUiReady","Provider","container","dropdown","Dropdown$1","memo","DropdownButtonItem","keepOpenAfterClick","dropdownItem","dropdownItemContent","DropdownExternalLinkItem","DropdownInternalLinkItem","DropdownConfirmButtonItem","DropdownGroupItem","dropdownGroup","dropdownGroupChildren","FileDataPreviewLinkButton","lightboxTitle","lightboxDescription","setUrl","showLightbox","setShowLightBox","objectUrl","createObjectUrl","revoke","Image","handleCloseLightbox","SingleImageLightbox","description","download","FileDataPreviewLinkButton$1","withSubComponents","mainComponent","subComponents","NotificationBadge","numberIcon","ToggleButton","isActive","notificationBadgeNumber","active","notificationBadge","ToggleInternalLinkButton","ToggleButtons","toggleButtons","buttonContainer","InternalLink","EnumToggleButtons","enumerationName","enumeration","urlGenerator","excludeValues","includeValues","allOptionText","showAllOption","Right","right","Left","Separator","separator","ButtonBar","buttonBar","ErrorDialog","HttpStatusCode","AjaxErrorHandler","Component","showErrorDialog","status","Unauthorized","toLowerCase","returnUrl","redirectTo","setState","handleCloseErrorDialog","componentDidMount","componentWillUnmount","render","withRouter","loadLocaleData","en","plurals","nb","he","sv","de","dynamicActivate","messages","__variableDynamicImportRuntimeHelper","load","activate","dir","I18nLoader","language","setComponentLibraryLang","I18nProvider","forceRenderOnLocaleChange","img","NotFound","imageContainer","Thumbnail","src","checkCondition","permissionsObject","condition","AuthRoute","fallbackComponent","FallbackComponent","conditions","extraProps","isPermitted","permitted","profileCondition","projectCondition","Route","mergedProps","Comp","UserPageInputWrapper","UserPageInput","inputProps","showPassword","setShowPassword","inputContainer","inputSpacing","passwordIcon","showPasswords","_","faEye","faEyeSlash","ExternalLink","rel","SvgLogoSmall","React.createElement","SvgLogo","SvgOverview","SvgLogoBig","ColorMode","IconData","viewBox","colorMode","STROKE","hasColorMode","BOTH","iconMap","IconLogoSmall","FILL","IconBig","logo","IconLogo","IconOverview","Icon","stroke","fill","fontScale","rotate","iconProperties","warn","IconComponent","svgStyle","height","width","verticalAlign","groupStyle","xmlns","EntityIcon","sizeInPx","transparent","emptyIcon","faUser","customFallback","shape","fit","cacheDependencies","cacheBustedUrl","actualUrl","alt","lazy","fallback","fontSize","wrapper","ProfileIcon","faUsers","profileImage","ProjectIcon","UserIcon","faUserAlt","trigger","StackedIcons","sizes","maxSize","Math","isFinite","stack","toArray","reverse","mapDispatchToProps","LoginForm","onLogin","initialEmail","setEmail","setPassword","setRemember","serverErrors","setServerErrors","saving","setSaving","handleFormSubmit","ValidationForm","onSubmit","infoText","inputField","Checkbox","checkbox","rememberMe","Label","variant","underText","ValidationSummary","externalErrors","RubusButton","loginButton","faArrowRight","textLink","HeaderContext","setTransparent","flag","isInProject","PageTitleProjectName","PageTitle","ReactDOM","SimplePageTitle","generateDocumentTitle","getBackgroundImageUrl","SplashPage","backgroundImageUrl","imageHasLoaded","setImageHasLoaded","backgroundImage","onLoad","rubusSplash","d","ensureProtocol","protocol","getModuleBaseUrl","CHANGE_MANAGEMENT_URL","Aftermarket","AFTERMARKET_URL","QualityManagement","QUALITY_MANAGEMENT_URL","origin","getModuleUrl","parseModule","defaultModule","mappedAlias","am","cm","qm","getReturnUrl","returnModule","root","relativeUrl","absoluteUrl","safeReturnUrl","moduleUrl","useReturnUrl","currentModule","navigate","ret","Login","navigateToReturnUrl","handleLogin","Logout","LoadingIndicator","ForgotPassword","success","setSuccess","centeredText","getDefaultOptions","position","iconToast","msg","toast","faThumbsUp","info","faInfo","faExclamation","error","autoClose","faThumbsDown","RequireLength","minLength","isMatch","RequireLowercase","_regex","RequireUppercase","RequireNumber","PasswordValidationResult","unmetRequirements","valid","PasswordValidator","requirements","validate","req","getDefaultPasswordRequirements","requirementTexts","0","lowercase","uppercase","number","PasswordValidation","validator","isRequirementMet","list","faCheck","ResetPassword","setExternalErrors","confirmPassword","setConfirmPassword","isValid","message","summaryMessage","ConfirmEmail","setResult","renderMessage","Success","InvalidToken","AlreadyConfirmed","arrayReplace","oldItem","newArray","defaultComparer","a","b","arrayReplaceMany","comparer","change","toggleValue","valueIndex","valueInArray","splice","arrayGroupBy","keySelector","valueSelector","newGroup","notEmptyPredicate","PermissionsEditor","isAdministrator","isPermissionSelected","permission","handlePermissionChange","isChecked","newPermissions","p","textKey","getDefaultIcon","bannerType","faExclamationCircle","Banner","contentClassName","stretch","fixedIcon","banner","preventSelection","nativeEvent","detail","Radio","inline","labelClassName","boxClassName","inputRef","radio","DescriptiveRadio","text","box","mainText","LargeRadio","radioContainer","radioLabel","ProfilePermissionsEditor","triggerChange","handleProjectPermissionChange","profilePermissions","SimpleFormPage","cardClassName","card","Breadcrumbs","BreadcrumbsItem","BreadcrumbsLink","BreadcrumbsProjectLink","Item","ProjectLink","Wrapper","profileName","ProfileInvite","setFirstName","setLastName","setPermissions","salutationAndTitle","setSalutationAndTitle","inviteeSalutation","inviteeTitle","inviteeFirstName","inviteeLastName","inviteeEmail","inviterProfileId","SalutationAndTitleInputs","autoComplete","ProfilePermissionsEditDialog","memberDetails","setNewPermissions","handleOpen","handleClosed","handleChange","renderBody","displayName","PermissionModeIcon","faMinus","SimpleCard","highlight","wrap","simple","StickyContext","stickyHeight","currentOffset","setHeight","IntersectionObserverSupported","IntersectionObserver","Sticky","stickyClassName","offsetTop","offsetTopOverride","enabled","sticking","setSticking","wrapperElement","setWrapperElement","topSentinelElement","setTopSentinelElement","contextSetHeight","setElement","clientHeight","updateSize","topSentinelLocal","observeHeaders","observer","records","record","targetInfo","boundingClientRect","rootBoundsInfo","rootBounds","bottom","threshold","rootMargin","observe","topObserver","unobserve","display","classes","visibility","marginTop","StickyContainer","parentContext","v","newOffset","ExpandableCard","expanded","expandableContent","stickyMode","expandContainerRef","shouldAnimate","isSticky","expandable","inside","bordered","sticky","expandableSection","AnimateHeight","onAnimationEnd","expandableCardContainer","joined","outside","ExpandableCardHandle","expandText","collapseText","onExpandToggle","expandHandleWrapper","flexShrink","expandHandle","faAngleDown","NoResultsCard","noResultsCard","iconRow","CardGroup","flat","cardGroup","CardThumbnail","imageClassName","thumbnail","CardHeader","CardSection","caption","strong","grow","shrink","flexGrow","cardSection","noCaption","sectionCaption","sectionContent","EllipsisDropdown","dropdownOpen","setDropdownOpen","empty","faEllipsisV","CardDropdownMenu","hidden","disableMobile","cardMenu","CardRow","row","getProjectTags","editProjectTags","getProjectTagsExtended","MultiValueLabel","faTag","components","TagInput","onTagsChange","Room","defaultValue","canCreate","setTags","reduxProjectId","createFilter","ignoreCase","ignoreAccents","matchFrom","option","trim","actionMeta","fixedValue","foundTag","t","tagOptions","classNamePrefix","pt","closeMenuOnSelect","isMulti","isDisabled","filterOption","Creatable","noOptionsMessage","Select","Pill","hideIcon","pillListItem","Tags","themeName","addTags","shouldLimit","visibleTags","slice","hiddenTags","setShow","editTags","setEditTags","pillList","ss","Tags$1","CardTags","ProfileMemberPermissionsList","members","onCancelInviteClick","onEditPermissionsClick","member","ProfileMemberPermissionsListItem","resendInvite","inviteId","renderButtons","Invited","resendInviteButton","ProfileUserManagement","reloadMembers","editInfo","setEditInfo","handleCancelInviteClick","permissionSet","handleEditClick","editType","handleEditDialogClose","handleEditDialogAccept","faUserPlus","addLandingPageImage","imageFile","sortOrder","constructionPhaseId","getLandingPageImages","deleteLandingPageImage","imageId","getLandingPageImage","getLandingPageImageThumbnail","getLandingPageMessageImage","getLandingPageMessageImageThumbnail","getLandingPageMessages","addLandingPageMessage","files","shouldSendEmail","shouldSendSms","editLandingPageMessage","guid","deleteLandingPageMessage","setLandingPageMessagePinned","isPinned","editLandingPageImageText","editLandingPageImageOrder","imageIds","getLandingPageMilestones","setLandingPageMilestones","milestones","BuyerPageTitle","leftPadding","projectName","floor","muted","address","landingPageApi","getLandingPageMessageFileThumbnailUrl","getLandingPageMessageFileUrl","LandingPage","lg","md","useMediaQuery","activeImageIndex","setActiveImageIndex","isLightboxVisible","setIsLightboxVisible","buyerName","sortedLandingPageMessages","sortLandingPageMessages","imagesToShow","images","numberOfLightBoxImages","hasTwoImages","getImage","useThumbnail","imageSection","imageGrid","gridRow","gridColumn","mainImage","tempButtonFix","headerContainer","welcomeMessage","pagePadding","MilestoneTimeline","Step","m","pageDivider","LandingPageProvider","api","LandingPageMessageList","LandingPageMessage","LightBoxList","activeIndex","setIsVisible","isVisible","srcList","titleList","findCategoryRecursive","category","subCategories","flattenCategories","iterate","parentPath","currentPath","findCategory","findTopLevelCategory","findCategoryName","ItemCategoryDisplay","categoriesToDisplay","cat","faAngleRight","ItemCategoryDisplay$1","WizardStepHeader","currentStep","totalSteps","hideStepCount","steps","defaultButtonRenderer","SimpleWizardStep","SimpleWizardConfirmStep","SimpleWizard","onFinish","onStepChange","saveButtonProps","finishButtonProps","cancelButtonProps","waitForSubmit","inheritValidationScope","validationContext","currentStepIndex","isFirstStep","isLastStep","nextStep","clear","previousStep","handleSubmit","hasConfirmStep","handleFinish","lastNonConfirmStep","currentStepInfo","c","stepNumber","hideButtons","isConfirmStep","handleBack","onBack","handleNext","onNext","backButtonRenderer","backButton","nextButtonRenderer","nextButton","previousStepIndex","handleNextClick","handleBackClick","isLastNonConfirmStep","showCancelButton","showBackButton","showNextButton","showSubmitButton","showFinishButton","ValidationScope","includeChildScopes","buttons","ProductImageLightbox","initialIndex","imageUrlGenerator","photoIndex","setPhotoIndex","handleClose","getImageUrl","image","Lightbox","mainSrc","onCloseRequest","nextSrc","prevSrc","onMovePrevRequest","onMoveNextRequest","ProductThumbnails","thumbnailUrlGenerator","onLightboxToggled","disableOnClick","lightboxOpen","setLightboxOpen","lightboxOpenIndex","setLightboxOpenIndex","handleThumbnailClick","toggleLightbox","imageCount","MissingImage","SmallAttachmentList","attachmentsList","att","FileIcon","fileMetadata","fileIcon","hideExtensions","parseISODate","parseISO","parseNullableISODate","maxDate","dates","filteredDates","numberToClock","hours","minutes","newDate","setHours","toTimeOnly","isDeadlineInPast","isPast","endOfDay","date","format","toDateOnly","formatISO","representation","DateDisplay","monthTextForm","year","month","day","DateDisplay$1","DateTimeDisplay","hour","minute","second","DateTimeDisplay$1","DateDistanceDisplay","suffix","disableTooltip","setLocale","formatDistanceToNow","addSuffix","DateDistanceDisplay$1","NumberDisplay","alwaysShowSign","numberStyle","getSign","sign","Intl","NumberFormat","getMinimumProjectFractionDigits","Two","getMaximumFractionDigits","CurrencyDisplay","minimumFractionDigits","currency","CurrencyDisplay$1","CurrencySymbol","formatToParts","CurrencySymbol$1","ProfileCurrencyDisplay","currencyCode","ProjectCurrencyDisplay","maximumFractionDigits","decimalOption","BuyerCurrencyDisplay","saveProjectCatalogProduct","product","deleteProjectCatalogProduct","catalogProductId","getProjectCatalogProduct","productId","getProjectCatalogFilters","searchProjectCatalogProducts","getProjectCatalogProductFileUrl","productImageId","getProjectCatalogProductFileThumbnailUrl","checkIfNCSCodeIsValid","ncs","regex","regexMatch","blackness","chromaticness","hue","convertHexToRGBA","hex","g","convertToUnit","valueInCm","unit","Millimeter","Centimeter","convertToCentimeter","convertFromUnit","unitAbbreviations","getMeasurementsFromProduct","widthCm","depth","depthCm","heightCm","lengthCm","emptyMeasurement","updateProductFromMeasurements","measurements","SelectedCorner","corner","ProductRow","showQuantity","customFieldData","onCustomFieldDataChange","unitOfMeasurementAbbreviation","showDefaultText","dataList","isNone","main","productInfo","isDefault","hidePrice","price","unitPrice","quantity","totalPrice","TextView","productLink","CustomPaint","customPaintRow","dl","dataPair","rightSide","GreyOut","greyOut","OptionSelectWizardStep","task","selection","isValidSelection","linkGroupItemId","visibleOptions","canChangeSelection","ts","canModify","handleSelect","handleCustomFieldChange","providedByProfileName","providedByProfileId","profileIcon","isSelected","productContainer","optionSelection","selectedButton","selectButton","getDependentBuyerOptionIds","parent","dependentBuyerOptionGroupIds","findDependentTasks","dependantIds","depId","OptionSelectWizard","onSave","allTasks","setSelections","dependentTasks","selectedItemId","setCurrentStep","handleStepChange","step","stepTask","buyerOptionGroupName","OptionSelectionWizardModal","onSelectionChanged","toggleModal","handleSave","handleCancel","BudgetItemPrice","budgetItem","priceType","Signed","signed","faFileCheck","Unsigned","unsigned","faFileSignature","Expired","expired","LinkWrapper","ChangeRequests","BudgetListRow","getThumbnail","source","Option","selectedOptionImages","faFileContract","budgetListRow","mobileWrapper","getDisplayText","mobileIcon","cursor","faEdit","faLock","faExternalLink","MultiListPagination","page","lastPage","setPage","renderPaginationButtons","firstButton","lastButton","getHeaderKey","keyName","MultiListTable","striped","columns","sortByKey","setSortByAsc","setSortByKey","sortByAsc","onRowClick","hideHeaders","onHeaderClick","renderRow","_type","renderFunction","renderHeaders","h","faCaretDown","faExternalLinkAlt","optionHeader","table","MultiListCard","autoWidth","renderCardRow","optionColumn","Column","OptionsColumn","MultiList","pageSize","startPage","setPageUnsafe","ceil","pageNumber","tableProps","getTableData","InfoIconWithTooltip","BudgetTable","openBuyerOptionGroupId","setOpenBuyerOptionGroupId","isClickable","clickable","budgetListItemTheme","optionText","deadlineHeader","faLockOpen","deadlineName","1","BudgetListItem","isExpanded","setIsExpanded","isMobile","renderName","categoryId","ExtraCosts","Presets","Other","itemCard","expandWrapper","groupPrice","faChevronUp","faChevronDown","setTasks","loadTasksWithoutFilter","setBuyerBudget","loadBuyerBudget","Budget","prev","next","unsignedPrice","signedPrice","extraCostsPrice","extraCostPrice","renderTotals","grandTotal","BuyerOptionOneTimeFee","BuyerContext","hasCustomBackgroundColor","BuyerDashboardDeadlines","optionsEnabled","feature","Options","mode","Enabled","sortedBeforeDeadlines","differenceInCalendarDays","now","sortedAfterDeadlines","sortedDeadlines","concat","gridContainer","days","DashboardDataCard","dashboardCards","deadlineContainer","hasOptionsAttached","leftAlign","daysContainer","expiredDeadlineText","BuyerDashboard","totalSpending","sumBy","openChangeRequests","closedChangeRequests","getLineName","dashboardContainer","costContainer","costContainerNoTheme","costCardContainer","cardShadowBorder","costCards","sumContainer","sumContent","contentAlignment","rowSpan","barContainer","SimpleBarChart","emptyText","itemTitle","valueTitle","nameKey","valueKey","barComponent","BarChartNormalizedBar","changeAndDeadlinesContainer","Hidden","changeRequestContent","deadlinesContainer","deadlineAlignment","BuyerDocumentIcon","Section","BuyerDocumentCardMobile","subTitle","typeName","lastModified","versionNumber","downloadLink","openLink","onLinkClick","onHistoryClick","infoSection","details","typeIcon","openDocumentLink","faDownload","faHistory","searchResidentialUnitDocuments","searchProjectDocuments","getResidentialUnitDocuments","getResidentialUnitDocumentVersions","getProjectDocumentVersions","addResidentialUnitDocument","addProjectDocument","renameDocument","documentVersionId","newName","getDownloadDocumentUrl","versionId","getOpenDocumentUrl","getDocumentThumbnailUrl","getDownloadOriginalDocumentUrl","getDocumentLinkedResidentialUnits","setDocumentLinkedResidentialUnits","residentialUnitIds","approveResidentialUnitDocument","sendEmailNotification","emailMessage","rejectResidentialUnitDocument","sendRejectEmail","getDocumentFileType","getResidentialUnitDocumentTypes","pdfToImage","FormData","append","originalFile","blob","setDocumentHiddenFromBuyer","isHiddenFromBuyer","setDocumentIsSensitive","isSensitive","setDocumentIsArchived","isArchived","getOpenDocumentModelUrl","getDocument","zipResidentialUnitDocuments","getZippableResidentialUnitDocuments","zipProjectDocuments","getZippableProjectDocuments","getZipDownloadUrl","zipId","LazyBimViewer","ModelViewerModal","setWidth","innerHeight","calculateModalWidth","setFile","loadFile","f","BuyerDocumentCardDesktop","viewModelIsOpen","setViewModelIsOpen","IfcModel","getDownloadBuyerOfferAttachmentUrl","attachmentId","getOpenBuyerOfferAttachmentUrl","ResponsiveDocumentCard","handleLinkClick","BuyerOfferDocumentCard","buyerOfferAttachmentId","InnerList","documents","expandList","doc","BuyerOfferDocumentGroupCard","documentGroup","setExpanded","faFileInvoice","changeRequestSubject","BuyerOfferDocumentCardList","groups","offerId","getDocumentTypeCategoryMap","flatCategories","categoryMap","itemCategoryId","rootCategory","documentType","DocumentTypeGrouping","documentTypeMap","groupedData","groupBy","entries","groupInfo","sortedData","DocumentTypeGroupingHeader","BuyerDocumentsHistoryDialog","versions","setVersions","handleCloseClick","ver","uploadDate","buttonWrapper","Table","CreateTableComponent","BuyerDocuments","activeVersionId","setDocuments","offerDocuments","setOfferDocuments","historyDialogOpen","setHistoryDialogOpen","activeDocument","setActiveDocument","handleHistoryClick","normal","offer","renderContent","groupHeader","fixedDateDocuments","TableContainer","tableContainer","TableHeader","tableHeader","preSortedBy","direction","sortingMode","getRowId","sortable","renderer","FileNameColumnRender","nameRow","isProjectDocument","faBuilding","faHome","documentName","setBuyerOptionFilterCategories","setBuyerOptionFilterStatus","setBuyerOptionsFilterDeadline","resetBuyerOptionFilterStatus","setBuyerOptionFilterTags","setBuyerOptionFilterShowExpired","isSearchable","ReactSelect","BuyerOptionFilterDeadline","filterData","deadlineOptions","deadlineIds","unshift","handleShowSubmittedChange","handleShowExpiredChange","filterContainer","dlo","nv","toggleButton","SlideToggle","filterTitle","getFieldValue","selector","TreeFilterNode","level","maxDepth","idField","nameField","childrenField","getField","getChildren","maxDepthReached","inputSize","TreeFilterList","TreeFilter","getDescendants","sub","listProps","handleCheckboxChange","currentSelection","newSelection","union","uncheckIds","without","ItemCategoryFilter","icState","ic","BuyerOptionFilterCategory","filteredItemCategories","itemCategoryIds","BuyerOptionFilterRoom","tagId","BuyerOptionFilter","isMobileFilterOpen","setIsMobileFilterOpen","closeIfOpen","backgroundOpacity","mobileFilter","filters","SubmitRow","tasksInDeadline","getOffset","htmlElement","offsetParent","ScrollToWrapper","shouldScroll","stickyContext","OptionItemPrice","isSigned","isExpired","isWaiting","OptionRowDesktop","hideButton","overridden","section","hasOptions","itemCategory","choice","selectedItemName","OptionRowMobile","faChevronRight","chevron","OptionRow","BuyerOptionList","displayedTasks","dependsOnBuyerOptionGroupIds","isInvalidDependencySelection","nested","NumberOfDaysBeforeWarning","BuyerOptionBlock","shouldScrollTo","daysRemaining","differenceInDays","unfilteredDeadlineTasks","canChangeAny","isLocked","unsignedOptionCount","canSignOptions","nrToSubmit","cardRight","signButton","addBuyerOptionPreset","buyerOptionPresetGroupId","editBuyerOptionPreset","presetId","deleteBuyerOptionPreset","reorderBuyerOptionPresets","sortedPresetIds","addPresetItem","deletePresetItem","setPresetItems","linkGroupId","linkGroupItemIds","defaultLinkGroupItemId","getBuyerOptionPresetImage","getBuyerOptionPresetImageThumbnail","publishPreset","unpublishPreset","setDefaultPresetItem","OptionPresetListItem","preset","readOnly","onDetailsClick","onSelectClick","renderButton","OptionPresetsList","presetSelection","BuyerOptionExtraDataDisplay","OptionPresetItemDisplay","defaultOption","presetOptions","defaultProduct","canChangeManually","generalInfo","optionName","nonStandardSelection","extraInfo","productGrid","ThumbnailGallery","onLightboxToggle","useFullSizeImage","firstImage","setIsOpen","thumbnailUrl","Tab","tabName","LinkTab","fullHeight","tabProps","Tabs","activeTabId","onTabClick","handleClassName","scrollable","isWide","menuOpen","setMenuOpen","mobileRef","showMobileVersion","tabs","activeTab","renderMobile","mobile","canStick","currentTabName","tabHandles","renderFull","desktop","wide","OptionPresetDetails","presetItems","getTotalPrice","optionsPrice","tagTabs","uniqBy","flatMap","setActiveTab","otherItems","selectedPreset","headerImageContainer","headerImage","topSection","numberOfLines","rightSection","cancelButton","submitButton","priceSection","priceRow","amount","tab","presetOption","OptionPresetsDetailsDialog","OptionPresetsApplyDialog","canChange","readonly","buyerGroupId","OptionPresetsCard","presetGroup","selectionPreset","setSelectionPreset","detailsPreset","setDetailsPreset","BuyerOptions","waiting","setWaiting","presetGroups","reloadPresetGroups","filteredTasks","intersection","handleSelectionChange","mobileFilterButton","faSlidersH","ConfirmUpgrades","signatureInfo","priceCard","totalCard","StepSection","isFirst","isLast","displayOnNext","onNextCallBack","displayOnBack","hideBack","divRef","preventScroll","stepOnNext","nextPreCheck","numberCircle","numberOfSteps","center","line","buttonClassName","onBackCallBack","buttonSize","disableNext","nextText","StepWizard","nonEmptyChildren","activeSection","setActiveSection","createRef","topHeaderSize","callBack","newSection","renderStepContent","focusRef","capitalize","toUpperCase","validateEmail","validatePhone","intlTelInputUtils","isValidNumber","IconMap","faCheckCircle","faInfoCircle","warning","danger","faExclamationTriangle","Alert","padding","alert","ConfirmIdentity","code","onCodeChange","onResendClick","hasError","codeInput","requestOneTimeCode","BuyerOptionSubmit","setCode","sent","setSent","oneTimeCodeError","setOneTimeCodeError","userSettings","setSignatureInfo","setError","Conflict","Dependencies","handleSend","triggerSurvey","BadRequest","console","wizardContainer","optionsTerms","termsContainer","MarkdownDisplay","markdown","2","signButtonContainer","InviteUserModal","currentLanguagePhoneLang","isSaving","setIsSaving","inviteePhoneNumber","PhoneInput","initialCountry","UnitSettings","acl","ChangePassword","isEdit","setIsEdit","setCurrentPassword","setNewPassword","reset","LocalImageCrop","mounted","ReactCrop","LocalImageCrop$1","isValidCrop","crop","rotateImage","buffer","Response","arrayBuffer","orientation","ExifReader","Orientation","resetOrientation","srcOrientation","base64Data","onload","ctx","getContext","drawImage","cropImage","pixelCrop","scaleX","naturalWidth","scaleY","naturalHeight","originalFileData","Point","equals","getImageUnscaledSize","calculateSizeFit","scaleUp","imageSize","resizeRatio","scaleRatio","ImageCropDialog","aspect","displayCrop","setDisplayCrop","setLoading","fixedRotationFileData","setFixedRotationFileData","imageStyle","setImageStyle","imageRef","loadFixedRotatedImage","updateModalStyle","modalSize","handleLoaded","imageAspect","cropRatio","cropInPx","croppedImage","newCrop","newPercentCrop","keepSelection","onImageLoaded","textCenter","dialog","AcceptedFileTypes","ft","FileUpload","unstyled","isDragging","setIsDragging","basicContainer","dropButton","dragHover","Dropzone","onDropRejected","accept","multiple","onDragEnter","onDragLeave","onDrop","getRootProps","getInputProps","faUpload","ImageUpload","currentImage","aspectRatio","previewSize","previewClassName","shouldCrop","uploadedImage","setUploadedImage","handleFileSelect","flipped","handleCropAccept","AspectRatioContainer","innerClassName","thumbnailWrapper","isUpload","UserChangeInfo","reloadUserSettings","setPhoneNumber","setTitle","setSalutation","cacheBuster","reloadUser","enabledInputProps","disabledInputProps","handleHeaderImageChange","form","alignItems","userImage","headerImageEditPreview","USER_TITLE_OPTIONS","USER_SALUTATION_OPTOIONS","LanguageSettings","isEditing","setIsEditing","selectedLanguage","setSelectedLanguage","save","languageOptions","lo","LegalSummary","termsLink","privacyLink","externalPrivacyPolicyLink","UserSettings","setBuyerChangeRequests","setBuyerChangeRequest","loadBuyerChangeRequests","setBuyerCommentThreads","filteredThreads","loadBuyerCommentThreads","setBuyerDocumentTypes","loadBuyerDocumentTypes","getServices","results","getAllServices","getAvailableTimesServices","serviceId","toJSON","getNextFreeTimesServices","getBookings","getProjectBookings","postBooking","deleteBooking","bookingId","hasConfig","saveConfig","saveAllServices","deleteConfig","getAvailableRecipicants","meetingTypeId","getAllInternalMeetingsTypes","sendMeetings","updateMeetingTypes","adminAcceptMeeting","createMeetingType","sendReminder","getAllInternalMeetings","getAllLetterSetupData","updateLetterSetupData","letterSetupDataId","postMultipleInternalMeetings","postFile","noe","log","getFileThumbnail","fileId","getInternalBuyerMeetings","meeting","imageUrl","fileUrl","confirmMeetingForBuyer","confirmationToken","exportMeetings","meetingIds","pdfBlob","URL","createObjectURL","click","revokeObjectURL","printLetters","generatePreview","setBuyerMeetings","loadBuyerMeetings","setBuyerPermissions","clearBuyerPermissions","loadBuyerPermissions","setProjectData","loadProjectData","setLandingPageData","loadLandingPage","nextId","HubSession","connection","handlers","_reconnectHandler","onReconnect","disposed","_connection","onDispose","BuyerSession","_profileId","_residentialUnitId","addLandingPageReceiveHandler","addCommentThreadOverviewReceiveHandler","commentThreadOverview","addChangeRequestInfoReceiveHandler","BuyerListener","session","BuyerChatSession","threads","ThreadSession","addCommentThreadFlagChangedHandler","thread","hasFlaggedMessages","flagged","BuyerMeetings","internalMeetings","isInViewAsBuyerMode","externalMeetings","reloadExternalMeetings","combinedMeetings","beforeToday","services","deleteMeeting","meetingId","getTimes","getNextFreeTimes","doBookMeeting","doConfirm","confirmToken","catch","MeetingsBuyer","bookMeeting","confimMeeting","createChangeRequest","getChangeRequest","searchChangeRequests","getChangeRequestAvailableParticipants","getChangeRequestParticipants","setChangeRequestParticipants","participants","splitChangeRequest","splitOptions","mergeChangeRequests","mergeOptions","setChangeRequestParticipantOffer","setChangeRequestParticipantReadyState","participantUserId","isReady","getChangeRequestOffers","sendChangeRequestBuyerOffer","retractChangeRequestBuyerOffer","note","closeChangeRequest","reopenChangeRequest","requestNewChangeRequestOffers","getChangeRequestParticipantFees","changeRequestParticipantId","saveChangeRequestParticipantFees","fees","getOpenChangeRequestAttachmentUrl","getChangeRequestFilterData","searchChangeRequestsOverview","getChangeRequestParticipantsOverview","setChangeRequestOptionOverrides","buyerOptionGroupIds","archiveChangeRequest","updateChangeRequestAttachment","changeRequestAttachmentId","changeParticipantUser","participantId","newProfileId","newUserId","editChangeRequest","TooltipLoading","faSpinnerThird","Content","userList","userName","SensitiveInfoTooltip","setMembers","DocumentSelectListItemDetails","selectMode","onSelectionChange","selectedValue","lightboxDocument","setLightboxDocument","handleLightboxClose","latestApprovedVersion","Approved","detailsContainer","versionList","versionContainer","latest","select","DocumentSelectListItem","sellerDocument","documentCard","lastVersionId","selectDocumentRadio","documentLabel","fileIconWrapper","lastVersionFileMetadata","ownerProfileId","smallInfo","hideFromBuyer","lastVersionDate","uploadedByName","DocumentSelectList","FileUploadUnitDocuments","onSelect","selectedVersionId","showHiddenFromBuyer","setShowHiddenFromBuyer","showSensitive","setShowSensitive","filteredDocuments","documentContainer","bottomSection","FileUploadWizard","onFileChange","skipSuccessStep","initialFileData","imageEditContinueButtonText","disableDocumentAccess","setImageSize","setOriginalFile","Intro","setSelectedVersionId","uploadMode","setUploadMode","drawValue","setDrawValue","hasChanges","setHasChanges","pdfFailed","setPdfFailed","UnitFileSelect","canDraw","Pdf","imageDrawRef","EditImage","goToSuccess","getImageSize","scaledImageSize","onDrawChange","handleNewFile","newFile","convertedToImage","handleFileDrop","droppedFileData","createNewFileData","imageDataUrl","getImageDataUrl","fromDataUrl","downloadFileData","File","LoadingOverlay","imageEditStepContent","imageWrapper","ImageDraw","maxHeightInPx","maxWidthInPx","BuyerFileUploadWizard","SensitiveInfoConfirmDialog","doNotShowAgain","setDoNotShowAgain","avatar","SensitiveInfoCheckbox","doNotShow","SensitiveInfo","checkEventRef","persist","handleAccept","AttachmentFileLink","AttachmentListItem","canEdit","editMode","showVisibilityFlags","onDelete","openUrl","downloadUrl","handleDelete","renderLink","isEditMode","dropdownItemsVisibility","preview","delete","showContextMenu","nameContainer","ToggleInput","iconMode","wrapperClassName","toggleInput","actions","dropdownButton","faTrashAlt","PasteListener","currentHandler","PasteListenerWrapper","AttachmentList","onItemChange","canAdd","canDelete","allowPaste","useUploadWizard","itemsPerRow","addedAttachments","_localId","handleAttachmentChange","handleAttachmentDelete","attachment","handlePaste","clipboardData","itemWidth","fileUpload","fileUploadButton","ChangeRequestAttachmentList","BuyerChangeRequestCreate","setSubject","setDescription","setAttachments","rows","Indicator","indicator","colorMap","Pending","Rejected","Accepted","Retracted","Canceled","BuyerOfferStatusIndicator","sellerColorMap","Unassigned","AwaitingOffers","ReadyToSend","SentToBuyer","AcceptedByBuyer","Closed","CanceledBySeller","Archived","sellerIconMap","faQuestion","ChangeRequestStatusIndicator","IconIndicator","buyerColorMap","RequestSent","OfferReceived","OfferAccepted","OfferRejected","DocumentStatusIndicator","BuyerOptionGroupStatusIndicator","ExternalAgreementStatusIndicator","BadgeList","PillBadge","badge","pill","BorderBadge","border","ProfileAndUserDisplay","icons","prependContent","appendContent","shouldShowIcon","textElement","BuyerChangeRequestParticipantOfferLines","offerLines","renderTotalPrice","finalPrice","priceBreakdown","colSpan","BuyerChangeRequestOfferGroup","group","isPreview","renderExpandContent","getAttachmentUrl","providedByUser","providedByProfile","BuyerChangeRequestOfferGroupList","BuyerChangeRequestOfferRejectDialog","onReject","setReason","focusElementRef","handleRejectClick","minRows","maxRows","autoResize","BuyerChangeRequestOffer","showRejectDialog","setShowRejectDialog","handleReject","sendDate","offerCard","sentByProfile","sentByUser","BuyerChangeRequestView","staticAttachments","setStaticAttachments","hintText","newAttachments","ChatFileUploadWizard","handleFileSubmit","handleDocumentSubmit","DocumentListItemShort","renderTypeIcon","versionCount","hideFromBuyerInfoText","CommentTopBarUnitDocuments","getRequestRef","tooltipKey","faFileSearch","iconButton","CommentThreadWrapper","onThreadLoad","uploadOpen","setUploadOpen","attachmentContinue","threadInfo","setThreadInfo","handleAttachmentOpen","cont","handleThreadLoad","CommentThread","onAttachmentUpload","topBarOptions","UploadAttachmentFile","BuyerChat","isReadOnly","showReadOnlyMessage","isInReadOnlyMode","Documents","warnings","hideFollowers","customWarnings","optionContainer","userIcon","applicationUserId","textSection","selectedOption","isFixed","multiValueRemove","base","CreateCommentThreadModalFollowerSelect","buyers","fixedOptions","u","fixedBuyers","actionMetaData","nw","isClearable","MaxLengthValidatingInput","getResidentialUnitsByProjectIdWithExtraData","searchOptions","getResidentialUnitsByProjectId","getResidentialUnitExtraData","getResidentialDashboardData","getResidentialUnit","getDeadlinesForResidentialUnit","getDeadlineForResidentialUnitAndDeadline","saveResidentialUnitDeadlines","createResidentialUnit","residentialUnit","pricingFieldValues","projectTags","updateResidentialUnit","buyerOptionsGroupIdsToUnlink","createOrUpdateResidentialUnit","deleteResidentialUnit","inviteResidentialUnitBuyer","invitations","resendResidentialUnitBuyerInvitation","buyerInvitationId","cancelResidentialUnitBuyerInvitation","removeResidentialUnitBuyer","getResidentialUnitBuyerInfo","parseResidentialUnitImportExcel","importResidentialUnits","buyerOptionGroupsToUnlinkData","getResidentialUnitSpending","getResidentialUnitPresetSelections","CreateCommentThreadModal","onCreate","threadVisibilityType","setThreadVisibilityType","threadName","setThreadName","selectedFollowerProjectMemberIds","setSelectedFollowerProjectMemberIds","possibleFollowers","setPossibleFollowers","buyerUsers","setBuyerUsers","bUsers","buyerInfo","handleCreate","radioName","canCreateBuyerUnitChatThreads","canCreateInternalUnitChatThreads","BuyerUnitChat","activeChatId","createThreadIsOpen","setCreateThreadIsOpen","relevantThreads","o","lastMessageDate","activeThread","handleNewThreadCreated","showBackgroundImage","showBackgroundImageOnMessages","outerContainer","CommentThreadList","hrefGenerator","selectedThreadId","chat","BuyerChangeRequestDetails","isViewOpen","setIsViewOpen","tabId","Card","mobileSubject","submitDate","closeCard","closeNote","tabsHandle","tabContainer","commentThreadId","hideTopBar","offers","noOffers","BuyerChangeRequests","activeChangeRequestId","isCreateModalOpen","setIsCreateModalOpen","canCreateChangeRequests","changeRequestDeadline","mappedChangeRequests","ct","sortedChangeRequest","sort","activeChangeRequest","handleCreated","changeRequestNavigation","changeRequestLi","hasOffer","ChangeRequestBuyerStatusIndicator","newChangeRequestButton","changeRequestWarningText","faPlusCircle","BuyerChangeRequestSubmit","buyerOffer","NavigationSidebarContext","NavigationSidebar","customThemes","totalNotificationCount","hamburgerMenu","mobileEnabled","mobileTriggerWrapper","mobileNotificationBadge","mobileTrigger","sideBar","NavigationSidebarItem","imageElement","itemText","alwaysFalse","NavigationSidebarLinkItem","NavigationSidebarSeparator","NavigationSidebarSpacer","spacer","NavigationContextMenuItem","subtitle","iconWrapper","NavigationContextMenuContext","NavigationContextMenu","menuClassName","noIcons","dropdownMenu","NavigationContextMenuSeparator","NavigationContextMenuInternalLinkItem","exact","showActiveState","itemProp","NavigationContextMenuButton","NavigationContextMenuExternalLinkItem","NavigationSidebarDropdownItem","NavigationSidebarExternalLinkItem","NavigationSidebarHeader","Spacer","Header","FeatureToggleFlags","checkIfIdIsInSanityIdList","toString","useGetFeatureFlag","featureFlag","setFlag","querySanityForFeatureKey","app","appNames","CM","env","useCheckValidNumber","featureFlagId","validCustomer","setValidCustomer","validCustomers","logoImage","getWhiteLabelLogoUrl","deleteWhiteLabelLogo","getProjectWhiteLabel","saveProjectWhiteLabel","whiteLabelData","BuyerSidebarLinks","featureType","faHouse","Dashboard","faChartBar","faBallotCheck","faWallet","faRulerCombined","faFolders","Chat","faCommentsAlt","Meetings","faHandshake","getMockProjectData","unitType","sellerProfileId","sellerModules","buyerModules","None","BuyerSidebarInternalLink","badgeNumber","Menu","as","BuyerSidebar","previewFeatures","previewProjectId","aftermarketStartUrl","showMeetings","ShowMeetings","hasMeetings","units","reloadUnits","unitsModalOpen","setIsUnitsModalOpen","shouldShowMeetings","checkIfMeetingExpired","daysBeforeLockConfirmation","notificationsByFeature","numberOfMessages","curr","numberOfChangeRequests","confirmed","featureMap","link","notificationCount","Disabled","projectLogoImage","addDefaultSrc","ev","onSelectProfile","mobileClassName","mobileMenu","mobileButtonClassName","mobileButton","onError","noClick","faHouseFlag","faArrowTurnDownRight","allUnits","faTools","Pusher","BuyerUnitSelector","currentUnitId","sectionToggle","faPlus","ThrottledColorPicker","changeRef","ColorPicker","WhiteLabelColorEditor","prevValue","renderColorPicker","shadowEnabled","WhiteLabelEditor","onReset","setOpen","handleColorChange","colors","extendedTheme","extendTheme","rubusTheme","override","backgroundColor","textColor","slideToggle","activeColor","inactiveColor","handleColor","themeOverride","useThemeStyle","openButton","faPalette","isEnabled","BuyerWhiteLabelProvider","whiteLabel","setWhiteLabel","reloadWhiteLabel","handleWhiteLabelSave","noShadows","sm","xs","xl","xxl","xxs","xxxl","primaryColor","buttonColor","Color","tryParseHex","shadowColor","shadows","primary","createColorRange","contentBackground","textMuted","textMutedColor","warningTextColor","linkColor","textDisabled","backgroundHighlight","backgroundHighlightColor","borderColor","borderActive","borderActiveColor","shadow","notificationColor","notificationColorContrast","article","secondaryTextColor","pinned","pinColor","highlightColor","flaggedColor","flaggedMessageColor","bannerColor","bannerColorContrast","inputBackgroundColor","inputTextColor","menu","sidebarBackgroundColor","activeBackgroundColor","sidebarHighlightColor","activeItemBorder","itemBorder","sidebarTextColor","articleList","separatorColor","buttonColorContrast","checkedColor","uncheckedColor","survey","bygrTheme","buyerContextData","RootStyle","secondaryButtonColor","secondaryButtonColorContrast","editable","profileAdminOnly","BuyerRouting","basePath","canAccessFeature","shouldRedirect","sessionStorage","initialFeature","route","Switch","BookMeeting","BrowserSessionStorage","impersonationResidentialUnitId","ImpersonationResidentialUnitId","SessionStorage","NoProfilesMessage","textAlign","ProjectTile","numberOfTasks","onCopyClicked","onCopy","showCopyProject","ShowCopyProject","projectImage","projectTitle","projectOwner","faCopy","getProjectDashboardSpending","getProjectDashboardAvailability","getProjectDashboardTimeToOffer","NoContent","getProjectDashboardDeadlineOverview","getProjectTaskCountForProfile","getProjectChangeRequestStatusOverview","CopyProjectModal","orginProjectName","setProjectName","3","4","5","ProjectList","projects","showCreateButton","reloadProjects","projectTaskCountOverview","projectCommentsOverview","threadTypes","projectTaskCountOverviewFixed","onCopyProject","modalProject","setModalProject","renderProject","projectList","newProject","MyProjects","modules","canCreateProject","projectCount","faProjectDiagram","faLongArrowRight","BuyerMassInviteUpload","onDataReceived","hasParseError","setHasParseError","handleDrop","errorMessage","BuyerImportRowSendStatus","validateRow","emailValid","phoneValid","inviteSms","ErrorIndicator","errorIndicator","BuyerMassInviteTableRow","onRetryClick","handleRetryClick","statusMap","Ready","Queued","Sending","Failed","faRedo","Sent","renderStatus","sendStatus","AlreadyHasBuyer","InvalidUnit","statusIndicator","Ok","residentialUnitName","validation","phoneNumberStatus","CountryCodeNotValid","errorText","PhoneNumberNotValid","countryCode","BuyerMassInviteTable","handleRowChange","handleInviteSmsChange","every","rowId","MaxActiveJobs","BuyerMassInvite","jobQueueRef","processQueue","addToQueue","existingItem","existingRowIds","rowsToAdd","job","shift","rowsToProcess","rowIds","sendSms","updateStatus","newStatus","hasPhoneErrors","getSendableRows","handleDataReceive","transformedData","inviteAll","uploadCard","readyCount","searchBuyerOptionGroups","approveBuyerOption","rejectBuyerOption","getBuyerOptionsByGroup","getResidentialUnitsLinkedOptionGroups","setSelectedBuyerOptionId","requestSellerOptionSignature","signSellerOption","signatureId","isEmptyArray","withoutEmptyProperties","useIsFilterModified","currentFilter","defaultFilter","isEqual","FilterButtons","onButtonClick","searchText","onSearchTextChange","leftContent","internalText","setInternalText","isTyping","setIsTyping","searchTextDebounced","previousSearchTextDebounced","onTextChange","filterButtons","transitionDelay","faSearch","faFilter","FilterPopOut","popOut","topCloseButton","faChevronDoubleRight","bottomCloseButton","FilterDropDown","isSingle","getOptionValue","getOptionLabel","ResidentialUnitSelectFilterableFilter","onFilterChange","filterHeader","floors","layoutTypes","emptyCatalogGroupLinkResidentialUnitFilter","hasDeadline","hasUnsentOptions","ResidentialUnitSelectFilterable","availableIds","selectedTags","residentialUnitFilter","setGroups","setFilter","filteredTags","oldFilter","unitData","transformedGroups","relevantResults","transformedGroup","residentialUnitGroupId","residentialUnitGroupName","layoutType","handleCheckAll","unitIds","handleGroupCheckboxChange","groupUnitIds","renderGroups","groupsList","groupName","renderUnits","unitsList","groupsContainer","DocumentResidentialUnitSelection","singleCaption","allCaption","multiCaption","setMode","links","selectedResidentialUnitIds","setSelectedResidentialUnitIds","linkedResidentialUnitIds","setLinkedResidentialUnitIds","Set","unitFilter","has","DocumentRejectDialog","setSendRejectEmail","DocumentApproveDialog","onApprove","hiddenFromBuyer","sendEmail","setSendEmail","setEmailMessage","DocumentLinkDialog","DocumentPreview","LocalFilePreview","DocumentListItemDetails","residentialUnitDocument","reloadVersions","rejectDocumentVersionId","setRejectDocumentVersionId","approveDocumentVersionId","setApproveDocumentVersionId","showLinkDialog","setShowLinkDialog","previousVersions","triggerChangeEvent","handleRejectDialogAccept","lastVersionRejectReason","handleApproveDialogAccept","handleLinkDialogAccept","handleRenameAccept","renderProjectButtons","faLink","renderVersionButtons","isPending","hasPendingLinks","canApprove","faTimesCircle","nameInput","truncate","canReplace","StatusReason","titleGenerator","renderTooltipContent","RejectedStatusReason","ClosedStatusReason","getHistoryLog","searchOption","getHistoryLogFilterData","UserInfoRow","UserInfoRowLazy","userDetails","TranslationMapping","_map","generateKey","operationKey","add","translation","generator","transMap","getHistoryLogComparisonTranslation","DataType","HistoryLogComparison","forceTable","renderValues","dataType","Bool","generateComparisonTable","comparisonTable","translatedProperty","newLine","MailToLink","lastVisitDate","ResidentialUnitTooltip","linkTab","headerLink","sectionHeader","profileUser","ProfileTooltip","HistoryLogTableInfoRow","parametersJson","outArray","ru","objectType","DataTable","createDataTable","HistoryLogTable","hiddenColumns","fixedFilters","setFixedFilters","tableState","setTableState","getInitialState","SortDirection","Descending","getLinkElement","rowName","objectName","linkObjectId","objectId","groupById","getResidentialUnitTabPath","onStateChange","totalItemCount","relatedObjectType","HistoryLogModal","documentStatusToColor","DocumentListItem","onFileDrop","defaultExpanded","isLoaded","setIsLoaded","sensitiveDialogDismissed","dismissSensitiveDialog","showSensitiveDialog","setShowSensitiveDialog","modalViewerIsOpen","setModalViewerIsOpen","logModalIsOpen","setLogModalIsOpen","toggleHideDocument","setSensitive","setArchived","handleToggleSensitive","handleSensitiveDialogAccept","doNotRemind","renderDropdown","canUpload","canToggleVisibility","canToggleIsSensitive","canMarkAsSensitive","canToggleIsArchived","showDropdown","faArchive","faDraftingCompass","replaceDocumentOverlay","linkedUnits","rejectReason","groupByIds","isDragActive","fileOver","DocumentList","renderNoData","noDataMessage","crypto","msCrypto","uuidv4","getRandomValues","ProfilePermissionToggle","fallbackDisplay","ProjectPermissionToggle","ProjectPermissionToggle$1","DocumentTypeSelectGrouped","loadingOption","convertTypes","sortBy","filteredTypes","typesByCategory","groupedTypes","uncategorizedTypes","DocumentTypeSelect","getNewDocument","croppedImageFileData","DocumentUpload","initialDocument","disableDrop","closeOnUpload","setCrop","mergeDocument","setDocument","pdfImage","setPdfImage","resetState","doConvertIfNeeded","isCroppingAllowed","isCroppable","handleSaveClick","addAnother","handleCropChange","handleCropImageLoad","newDocument","getFileNameWithoutExtension","renderDocumentPreview","disableClick","uploadPlaceholder","cropProps","maxHeight","documentTypeFilter","canUploadDocuments","allowedOnResidentialUnit","allowedOnProject","checkboxContainer","DocumentUpload$1","SuccessScreen","successContainer","DocumentUploadWizardNewVersion","selectedDocumentId","Steps","DocumentSelect","Upload","StepsNormalUpload","DocumentUploadWizardDialog","isNewVersionPath","setIsNewVersionPath","setStep","setKey","handleDocumentSave","DocumentUploadDialog","DocumentZipCreateDialog","isProjectDocuments","setErrors","handleCreateZip","ResidentialUnitDocuments","mergeFilters","includeArchived","documentZipDialogIsOpen","setDocumentZipDialogIsOpen","reloadDocuments","showUploadDialog","setShowUploadDialog","showUploadWizardDialog","setShowUploadWizardDialog","uploadedDocument","setUploadedDocument","displayMode","setDisplayMode","setFilteredDocuments","handleDocumentsUploaded","handleReplacementFileDrop","mappedFile","replacement","newDocumentUploadDialogProps","faFileArchive","DocumentZipDownloadDialog","ResidentialUnitDocuments$1","approveOrder","orderId","rejectOrder","cancelOrder","openBuyerOption","cancelOrderGroup","orderGroupId","setOrderResponsibles","orderIds","setOrderExcludeFromRoomFormFlag","getOrder","searchOrders","searchOrderGroups","getOrderGroup","getSingleUnitOrderRoomFormExportUrl","includeSketch","saveOrderLineNote","orderLineId","deleteOrderLineNote","getRelatedOrders","getOrderFilterData","getOpenOrderAttachmentUrl","attachmentType","OfferGroup","getDownloadOrderAttachmentUrl","getOrderGroupPdfUrl","getNumberValue","FeeEditorItem","onDeleteClick","InputWrapper","feePercentage","taxPercentage","getFeePreview","basePrice","PriceCalculationStepDisplay","priceChangeAmount","Fee","Tax","getStepName","Final","Base","spinner","increase","PriceCalculationDisplay","changedFromPrevious","defaultRenderer","calculation","FeePreview","onUpdate","calculationResult","setCalculationResult","safeConfiguration","FeeEditor","previewBasePrice","previewQuantity","handleDeleteClick","handleAddRow","_internalId","FeeEditDialog","loader","feeConfigurations","setFeeConfigurations","FeeInfoIcon","NoAvailableFeesAlert","FeePreviewCompact","pricePreview","PriceDisplay","redacted","hideInfoIcon","PriceDisplay$1","FeeSetConnectionInfoDisplay","feeSetOverridden","feeSetOutdated","OrderLineNoteModal","orderLine","setNote","handleNoteSubmit","OrderLineTab","order","onOrderChange","isNoteModalOpen","setIsNoteModalOpen","selectedOrderLine","setSelectOrderLine","canSeeAllPrices","orderLines","priceCalculation","deleteNote","renderLines","buyerOptionPresetId","orderLineCard","orderLineDescription","itemName","sku","projectFeeSetName","noteContent","noteTooltip","toolTipText","noteLastUpdatedByUserId","noteLastUpdatedByUserDisplayName","noteText","deleteBanner","addNote","orderSumCard","sum","subtotal","ProjectOrderDetails","orderAttachmentCard","createdDate","createdByName","objectIds","OrderExpand","updatedOrder","CheckList","styleNumber","CheckListItem","checkboxLabel","OrderResponsibleSelection","itemContent","OrderResponsibleOrderSelection","orders","originalOrderId","selectedOrders","setSelectedOrders","alertOrders","setAlertOrders","responsibleProfileId","orderNumber","orderList","stepOrder","User","Orders","firstStep","lastStep","OrderChangeResponsibleDialog","chosenMember","setChosenMember","selectedOrderIds","setSelectedOrderIds","relatedOrders","setRelatedOrders","isChangeRequest","setIsChangeRequest","moveStep","delta","ReadyToStart","Completed","InProgress","OrderStatusIndicator","OptionOrderCancelDialog","onOrderCancel","SelectCancelType","cancelMode","setCancelMode","Confirm","cancelModeRadio","topText","buyerOptionName","OrderListItem","saveCatalogProduct","deleteCatalogProduct","getCatalogProductsByGroup","groupId","getCatalogProduct","searchCatalogProducts","getCatalogFilters","getCatalogProductFileUrl","getCatalogProductFileThumbnailUrl","getImportableCatalogProducts","importProductsToProject","profileCatalogProductIds","getConflictsWithProjectCatalog","profileProductIds","BuyerOptionPresetSelector","onAdd","onRemove","presetInfo","flatGroups","faSwatchbook","PresetDropdownItem","styleButton","removeable","removeButton","renderIcon","dropdownLoadingIcon","dropdownSelectionIcon","dropdownPresetItem","LinkedBuyerOptionsContext","MeasurementDetailsField","ProductDisplay","sourceCatalog","priceElement","productUrl","onEditClick","onEditPriceClick","onRemoveClick","onMakeDefaultClick","onDuplicateClick","onCheckChange","onRadioChange","showCategory","hasStyles","projectDefaultUnitOfMeasurement","unitOfMeasurement","Profile","faCheckSquare","faClone","unitAbbreviation","checkboxWrapper","default","customPaint","rightPart","SimplePriceDisplay","currencyMode","pricingFieldName","pricingFieldUnit","CurrencyComponent","final","CalculatedProductPriceDisplay","finalUnitPrice","CatalogProductDisplay","defaultPrice","ProjectCatalogProductDisplay","linkGroupReferences","linkGroupReferencesRow","faBoxCheck","BuyerOptionDisplay","baseUnitPrice","LinkGroupItemInfoDisplay","onPresetAdd","onPresetRemove","stylesRow","EditableCatalogProductDisplay","onPriceChange","onDefaultChange","editablePrice","onFocus","onBlur","feePreview","feePrice","defaultCheckbox","BuyerOptionOverrideList","isApproved","ActionTargetMode","BuyerOptionActionUnitSelection","availableResidentialUnitIds","singleLabel","multiLabel","currentResidentialUnit","Single","Multiple","residentialUnitInfo","searchLinkedOptionGroupsOverview","getLinkedOptionsFilterData","getCatalogLinkGroup","getLinkedOptionGroupOptions","addLinkGroupItem","projectCatalogProductId","getLinkGroupItem","updateLinkGroupItem","removeLinkGroupItem","setLinkGroupItemDefault","editLinkedOptionGroup","batchRequest","getBuyerOptionBatchFees","saveBuyerOptionBatchFees","getProjectCatalogLinkGroupInfo","approveBuyerOptionBatch","unpublishBuyerOptionBatch","rejectBuyerOptionBatch","unlinkBuyerOptionBatch","linkBuyerOptionBatch","duplicateBuyerOptionBatch","buyerOptionBatchId","linkByTag","linkGroupIds","approveMultipleLinkGroups","BuyerOptionApproveDialog","buyerOptionGroup","linkGroup","batchInfo","setBatchInfo","selectedUnits","setSelectedUnits","doApprove","updatedItems","pendingGroups","BuyerOptionRejectDialog","doReject","linkedByUserName","BuyerOptionGroupListItemDetails","canMakeChoices","setOptions","showApproveDialog","setShowApproveDialog","handleApproveClick","handleApproveDialogClose","changedResidentialUnitIds","handleRejectDialogClose","selectedId","overrideInfo","overrides","NotApplicableExplanation","BuyerOptionGroupListItem","dependencyError","isSent","isNotApplicable","dependency","BuyerOptionGroupList","optionGroups","dependencyErrors","toLinkGroupId","fromLinkGroupId","CancelMode","ChangeRequestOrderCancelDialog","orderGroup","setOrderGroup","setChangeRequest","overriddenBuyerOptionGroups","setOverriddenBuyerOptionGroups","AllOrders","buyerOptionGroups","overriddenBuyerOptionGroupIds","optionGroupOverrides","canCancelSingleOrder","showOverrideStep","ReviewAllOrders","ReviewSingleOrder","ReviewOverrides","SingleOrder","PresetOrderCancelDialog","Switcher","showResponsibleDialog","setShowResponsibleDialog","showCancelDialog","setShowCancelDialog","handleResponsibleClick","renderResponsibleButton","responsibleProfileName","canChangeResponsible","changeResponsibleButton","canceledOrderIds","handleExcludeRoomFormChange","updatedOrderLines","excludeFromRoomForm","isExcludedFromRoomForm","renderContextMenu","isCancelable","canExcludeFromRoomForm","faFileTimes","OrderCancelDialog","excludedFromRoomFormElement","renderNameSection","changeRequestName","buyerOptionPresetName","createDate","responsible","responsibleAvatar","OrderList","OrderGroupListItem","statusCount","nrOfCanceled","nrOfReady","signature","signedAt","signedByName","faFilePdf","OrderGroupList","ExportMode","OrderExportSelectSketchDialog","exportMode","setExportMode","SelectMode","setSelectedDocumentId","docs","ManualFile","SelectDocument","AutoSelectFile","getSimpleOrderExportColumns","getRoomFormOrderExportColumns","getRoomFormByUnitOrderExportColumns","getInvoiceExportColumns","getOrderSimpleExportUrl","getOrderRoomFormExportUrl","getOrderRoomFormByUnitExportUrl","getInvoiceExportUrl","getCostsBreakdownExportUrl","getUniziteOrderExport","ResidentialUnitOrders","setOrders","visibleOrders","setVisibleOrders","toggleState","setToggleState","showRoomFormExportDialog","setShowRoomFormExportDialog","showCancelled","setShowCancelled","getCurrentOrders","newVisibleOrders","showInvoiceExport","canViewSensitiveData","RevertToDefaultDialog","MakeChoicesDialog","faHandPointer","BuyerOptionGroupRow","optionGroup","getResidentialUnitGroup","getResidentialUnitGroupsByProjectId","createResidentialUnitGroup","residentialUnitGroup","updateResidentialUnitGroup","createOrUpdateResidentialUnitGroup","deleteGroup","ResidentialUnitSubmitOptionsOverview","og","ResidentialUnitSubmitOptionsVerify","codeIsWrong","ResidentialUnitSubmitOptionsModal","onSuccess","setOptionGroups","Overview","setClientKey","setCodeIsWrong","sendOneTimeCode","onNextClick","VerifyIdentity","Submitted","leftButton","DatePicker","portal","popperContainer","ReactDatePicker","dateFormat","placeholderText","popperModifiers","DeadlineEditDialog","setDeadlines","showRevertDialog","setShowRevertDialog","handleRevertOpen","handleRevertClose","handleRevertAll","isEdited","residentialUnitDeadlineId","changeDate","handleOverride","legalDependency","o1","o2","dependencies","checkIfLegalDep","listOfSelections","dependencyItems","fromItemId","toItemId","ResidentialUnitBuyerOptionsDeadline","resetOptionGroups","setCanMakeChoices","isSaveModalOpen","setIsSaveModalOpen","revertDialogIsOpen","setRevertDialogIsOpen","makeChoicesDialogIsOpen","setMakeChoicesDialogIsOpen","showEditDeadlines","setShowEditDeadlines","setDependencyErrors","renderSendStatusSection","approvedOptions","numberOfOptionsSent","renderInternalStatusSection","nonRejectedOptions","revertToDefault","onSendSuccess","faCalendarDay","addDependency","searchDependencies","getDependency","deleteDependency","ResidentialUnitBuyerOptions","originalOptionGroups","setOriginalOptionGroups","showRejected","setShowRejected","filteredOptionGroups","renderData","itemCompare","ChangeRequestParticipantSelectList","forceCurrentUser","participantsIdsWithOffer","availableParticipants","handleParticipantAdd","participant","currentUser","isCurrentUser","handleParticipantRemove","ap","ConfirmDeleteDialog","PromptDialog","handleOpened","RejectDialog","dialogName","onSendRejectChange","sendRejectEmailLabel","ConfirmDialog","confirmText","ChangeRequestParticipantsDialog","setSelection","participantsWithOffer","setParticipantsWithOffer","showConfirmRemoveParticipantModal","setShowConfirmRemoveParticipantModal","offerFinalPrice","priority","selectionUserIds","pwo","ChangeRequestDetailsRequestTab","localChangeRequest","setLocalChangeRequest","internalDescription","renderField","requestDetails","faPencil","ChangeRequestParticipantOfferLines","priceIsRedacted","feeSetInfo","ChangeRequestParticipantListItem","onGiveOfferClick","onReadyStateChange","onAttachmentChange","onParticipantChangeClick","showFeeDialog","setShowFeeDialog","canChangeOffer","renderChangeButtons","offerPrice","faFileInvoiceDollar","isReadyToSend","priceRedacted","renderExpandableContent","hasNoOffer","offerNote","hasLines","expand","noOffer","offerDetails","offerAttachments","canModifyAttachmentFlags","readyToggleContainer","ChangeRequestParticipantList","ValueContainer","getValue","inputValue","selectProps","hasValue","groupLabel","ungrouped","ItemCategorySelect","rootItemCategoryFilter","showNoneOption","uncategorizedOption","topCat","selectedItem","lowerCaseValue","control","provided","minHeight","singleValue","PriceRowEditor","projectFeeSets","showLabels","selectedFeeSet","renderTitle","deleteButton","topRow","categoryDropDownContainer","tagInput","PriceRowEditorTotal","showTotal","totals","PriceRowEditorFooter","onAddRowClick","lineInfoToLine","ChangeRequestParticipantOfferDialog","setOfferLines","setProjectFeeSets","isAdminOverriding","getEmptyOfferLine","defaultFeeSet","handleDialogOpen","lines","handleLineChange","handleLineAdd","handleLineRemove","categoryPermissions","canUseInChangeRequests","ChangeRequestOverrideOptionSelectItem","onSelectedChange","faLevelUp","ChangeRequestOverrideOptionSelect","isGroupSelected","optGroup","PromiseCheckList","PromiseCheckListItem","progress","SendProgress","NotStarted","notStarted","inProgress","sleep","withProgressUpdates","updateProgress","sleepDuration","sleepPromise","AddOverride","AddTags","AddOfferMessage","PreviewAndSend","getInitialSaveProgress","ChangeRequestSendDialog","defaultShowSubtotalsToBuyers","defaultShowOfferSubtotalsToBuyers","sending","setSending","showSubtotalsToBuyers","setShowSubtotalsToBuyers","selectedOptionGroupIds","setSelectedOptionGroupIds","saveProgress","updateSaveProgress","setSaveProgress","preventClose","getOfferLines","smallHeader","previewBox","bannerMargin","ChangeRequestRetractOfferDialog","ChangeRequestCloseDialog","externalAgreementId","BuyerOfferAttachmentList","BuyerOfferLineGroupDisplay","lineGroup","renderDetails","detailsSection","totalBasePrice","totalFinalPrice","providedByUserId","providedByUserName","BuyerOfferDisplay","sentByProfileId","sentByProfileName","sentByUserId","sentByUserName","sendNote","lineGroups","reviewedByUserName","retractNote","hasRedactedPrices","BuyerOfferList","buyerOffers","sortedOffers","ChangeRequestOfferHistoryDialog","ChangeRequestRequestNewOffersDialog","ChangeRequestDetailsTotalRow","totalRow","ChangeRequestParticipantChangeModal","oldParticipant","selectedParticipantId","setSelectedParticipant","fixedParticipants","activeCategories","uniq","filteredParticipants","availableCategories","newParticipant","ChangeRequestDetailsOfferTab","onParticipantChange","offerDialogParticipant","setOfferDialogParticipant","participantChangeFrom","setParticipantChangeFrom","showSendDialog","setShowSendDialog","showCloseDialog","setShowCloseDialog","showRetractDialog","setShowRetractDialog","showHistoryDialog","setShowHistoryDialog","showRequestOffersDialog","setShowRequestOffersDialog","reloadOffers","triggerReadyStateChange","participantsToChange","participantChanges","handleReopenChangeRequest","isClosed","handleReadyStateChange","handleRequestNewOffers","isChangeRequestLocked","latestActiveOffer","isClosable","canRequestNewOffers","hasHiddenPrices","totalsVisible","offerMessage","offerButtonBar","hasOffers","faFileMinus","faFilePlus","faEnvelope","ChangeRequestDetailsCommentTab","commentsContainer","ChangeRequestOverrideOptionDialog","ChangeRequestDetailsOverridesTab","showOverrideOptionsDialog","setShowOverrideOptionsDialog","relevantGroups","faEraser","ChangeRequestDetailsHistoryLog","createExternalAgreement","updateExternalAgreement","searchExternalAgreements","getExternalAgreementFilterData","approveExternalAgreement","rejectExternalAgreement","getOpenExternalAgreementFileUrl","getExternalAgreement","ChangeRequestDetails","selectedTabId","setSelectedTabId","showChangeParticipantsDialog","setShowChangeParticipantsDialog","setParticipants","reloadParticipants","externalAgreement","previousParticipants","handleParticipantChange","updatedParticipants","updatedTags","ol","privateThread","privateCommentThreadId","publicThread","publicCommentThreadId","handleOptionOverrideSave","newOverrides","renderParticipantTooltipContent","userCount","externalAgreementLink","buyerIncluded","PartEditor","partEditor","isOriginal","ChangeRequestSplitDialog","splitParts","setSplitParts","validationErrors","handlePartChange","handleAddPartClick","handleRemoveClick","dialogContent","splitButton","ChangeRequestListItem","reloadChangeRequests","showExpanded","showSplitDialog","setShowSplitDialog","showChangeRequestArchiveDialog","setShowExternalAgreementArchiveDialog","toggleIsArchived","handleArchiveClick","createdByUser","ChangeRequestSellerStatusIndicator","reviewedByUser","closedByUser","ChangeRequestList","ChangeRequestMergeWizardStepEdit","newTags","ChangeRequestMergeWizardStepSelection","requestNumber","SelectChangeRequests","Edit","ChangeRequestMergeDialog","setChangeRequests","selectedChangeRequests","setSelectedChangeRequests","mergedChangeRequest","setMergedChangeRequest","changeRequestIds","overviewRemoved","overviewNew","ButtonPagination","currentData","setCurrentData","hasMore","setHasMore","loadMore","moreButton","useLocalPagination","isReload","lastItemIndex","ResidentialUnitGrouping","paginate","residentialUnits","residentialUnitGroups","groupedItems","residentialUnitGroupsMap","pagination","pageData","ResidentialUnitGroupingHeader","detailsLinkTab","detailsLink","UnitDropdown","checkStrings","UnitFilter","ChangeRequestFilter","hideStatuses","handleFilterChange","getInitialChangeRequestFilterValue","useMappedChangeRequest","isFollowing","ChangeRequestFilterableList","isFilterOpen","setIsFilterOpen","filterModified","reloadChangeRequest","onlyUnassigned","onlyMine","handleForceReload","ChangeRequestCreateDialog","setInternalDescription","getInitialStatuses","ResidentialUnitChangeRequests","showCreateDialog","setShowCreateDialog","showMergeDialog","setShowMergeDialog","handleReloadChangeRequests","handleSlideToggle","includeClosed","BuyerInviteResendDialog","setSendSms","nrOfInvites","userColumn","faUserCheck","userTextSection","invitedDate","modalBody","column","assign","divider","InvitationRow","handleRemove","removeButtonWrapper","getEmptyInvite","ResidentialUnitInviteBuyerDialog","invites","setInvites","setResidentialUnit","isFinishedInviting","setIsFinishedInviting","handleAdd","inv","renderSuccess","inviteListItem","BuyerUserRow","onBuyerRemoved","onInviteCanceled","inviteResent","setInviteResent","showResendDialog","setShowResendDialog","removingBuyer","setRemovingBuyer","rowState","setRowState","fullName","handleRemoveBuyerClick","acceptedDate","renderResendInvitation","invitationLink","renderRemoveButton","buyerImage","removeSection","BuyerProfileInfoDialog","onBuyerAdded","needsReload","setNeedsReload","showInviteBuyerDialog","setShowInviteBuyerDialog","showConfirmDialog","setShowConfirmDialog","handleAddBuyerClick","handleBuyerAdded","grid","ResidentialUnitBuyerInfo","showBuyerInfoDialog","setShowBuyerInfoDialog","reloadBuyerInfo","activeProjectUsers","isOnline","handleBuyerClick","handleInfoModalClose","getBuyerNames","renderAvatarsIcons","canInviteBuyers","buyerBox","getExtraCosts","saveExtraCost","ExtraCostRow","amountEdit","amountPreview","ExtraCostsDialog","extraCosts","setExtraCosts","getEmptyExtraCost","ec","ResidentialUnitInfoDialog","setPricingFieldValues","renderValueDisplay","pricingValue","pricingFieldId","MandatoryIndicator","typeOptions","ResidentialUnitEditUnit","setSelectedTags","toggleOpen","handleSelectChange","handleFieldChange","residentialUnitGroupsOptions","rug","handlePricingFieldChange","isReadOnlyForBuyers","SimpleBuyerOptionGroup","ResidentialUnitEditPricingFieldsConfirm","changedPricingFields","buyerOptionsGroups","pricingFieldsNames","pf","listWrapper","pricingField","extraListInfo","ResidentialUnitEditTagsConfirm","removedTags","buyerOptionGroupToUnlinkIds","onBuyerOptionGroupToUnlinkIdsChange","tagNames","subHeader","ResidentialUnitEditPricingFieldsOrders","ResidentialUnitTagsOrders","ResidentialUnitEdit","EditUnit","originalPricingFieldValues","setOriginalPricingFieldValues","pricingFieldsOrders","setPricingFieldsOrders","pricingFieldsBuyerOptionGroups","setPricingFieldsBuyerOptionGroups","originalTags","setOriginalTags","tagOrdersToCancel","setTagOrdersToCancel","tagsBuyerOptionGroups","setTagBuyerOptionGroups","setBuyerOptionGroupToUnlinkIds","handleUnitChange","differenceWith","opf","PricingFieldsOverview","PricingFieldsOrders","TagsBuyerOptions","TagsOrders","Apartment","handleEditUnitContinue","hasPricingFieldGroups","hasTagsGroups","changedPricingFieldsIds","pricingFieldIds","removedTagIds","tagIds","onTagBuyerOptionsContinue","sourceBuyerOptionGroupIds","onUpdateSave","ResidentialUnitContextMenu","showExtraCostsDialog","setShowExtraCostsDialog","showEditDeadlinesDialog","setShowEditDeadlinesDialog","showUnitEditDialog","setShowUnitEditDialog","showUnitInfoDialog","setShowUnitInfoDialog","showDeleteDialog","setShowDeleteDialog","isDeleting","setIsDeleting","linkFunction","handleDeleteConfirm","renderDropDownList","faDesktop","canManageResidentialUnits","faList","faMoneyCheckEdit","ExternalAgreementRejectDialog","ExternalAgreementApproveWizardChangeRequest","ExternalAgreementApproveWizardParticipants","ExternalAgreementApproveWizardOverrideOptions","ExternalAgreementApproveOfferOptions","signMode","ExternalAgreementSignMode","Unset","ExternalAgreementApproveWizardOffer","hasSingleParticipant","PreSigned","ExternalAgreementApproveWizardSummary","changeRequestOptions","offerOptions","selectedParticipants","changeRequestData","hasParticipants","waitingForCurrentUser","lastActiveOfferId","offerData","createdByProfile","renderParticipantsBanner","participantsText","getEmptyChangeRequestOptions","initialSubject","ExternalAgreementApproveWizard","onSaved","setSelectedParticipants","setChangeRequestOptions","overrideBuyerOptionGroupIds","setOverrideBuyerOptionGroupIds","setOfferOptions","participantsNote","handleParticipantsChange","Participants","Summary","OverrideOptions","Offer","offerSendNote","preSigned","ExternalAgreementApproveDialog","handleApprove","ExternalAgreementEditPriceDialog","setLines","ea","ExternalAgreementEditParticipantsDialog","setParticipantsNote","ExternalAgreementDetails","isRetracted","setIsRetracted","showEditPrice","setShowEditPrice","showEditMessage","setShowEditMessage","saveFiles","newFiles","editButton","messageTitle","participantNote","attachmentList","ExternalAgreementListItem","showUnit","messageCount","reviewedDate","priceContainer","priceOutdated","outdated","cancelReason","ExternalAgreementList","externalAgreements","ExternalAgreementCreateWizardStepMain","handleDocumentTypeChange","externalAgreementAllowed","ExternalAgreementCreateWizardStepPrice","ExternalAgreementCreateWizardStepParticipants","changeRequestDescription","Main","Price","getEmptyDetails","getEmptyParticipantStepData","ExternalAgreementCreateWizard","mainInfo","setMainInfo","participantStepData","setParticipantStepData","CreateExternalAgreementDialog","ResidentialUnitExternalAgreements","includeCancelled","setIncludeCancelled","setExternalAgreements","reloadExternalAgreements","ResidentialUnitDetailsQuickNav","currentResidentialUnitId","projectUnits","replaceParam","sortedUnits","currentUnitIndex","previousIndex","nextIndex","previousUnit","nextUnit","faLongArrowLeft","ResidentialUnitDeadlineList","renderDeadline","numberOfOptions","numberOfUnsentOptions","unitCount","deadlinesDashboard","ResidentialUnitDashboardChangeRequests","crData","chartData","ResidentialUnitDashboardInfo","pfData","infoCard","headerLabel","infoGrid","pfd","ResidentialUnitDashboard","dashboardData","spending","selectedPresets","getCategoryName","DashboardCardGrid","linkTo","presetSelections","numberOfDocuments","numberOfOrders","infoIconContent","toFixed","rootItemCategoryId","SelectUnits","AddMessage","SendResidentialUnitMessageModal","setMessage","setAttachment","fileUploadWizardIsOpen","setFileUploadWizardIsOpen","notifyBySms","notifyByEmail","fixedGroups","tempGroups","fileCard","internalMessageThreads","CommentsFilterable","showCreateThreadModal","setShowCreateThreadModal","followFilter","setFollowFilter","threadTypeFilter","setThreadTypeFilter","threadVisibilityFilter","setThreadVisibilityFilter","showOnlyFlagged","setShowOnlyFlagged","sendMultiMessageModalIsOpen","setSendMultiMessageModalIsOpen","projectPermissions","followFilterDropdownIsOpen","setFollowFilterDropdownIsOpen","typeFilterDropdownIsOpen","setTypeFilterDropdownIsOpen","replaceParams","threadListRef","setSelectedThread","handleSendNewMultiMessageClick","canCreateThreads","handleCreateThreadClick","handleFollowFilterChange","handleThreadTypeFilterChange","followState","isFlagged","nonEmpty","renderSelectedThread","NoThreadPlaceholder","threadTypeDropDown","dropDown","threadTypeMainText","dropDownButton","dropDownMainText","CommentThreadListSearchable","onSelectedThreadGone","showBadges","SingleFilterDropDown","BuyerOptionGroup","Document","ProjectCatalogLinkGroup","Email","Sms","Dependency","BuyerOptionPresetGroup","BuyerOptionPreset","allActions","historyLogActions","ProjectDocument","ResidentialUnitDocument","All","objectHistoryLogObjectTypes","HistoryLogFilterPopOut","objectTypes","performedBy","performedByUserIds","ResidentialUnitHistoryLog","filterPopUpIsOpen","setFilterPopUpIsOpen","getDefaultFilter","ResidentialUnitDetails","reloadUnit","tabNotifications","topBar","navigation","contextMenu","RouterPrompt","when","showPrompt","setShowPrompt","setCurrentPath","useBeforeunload","event","prompt","handleOK","ResidentialUnitImportChangesModal","getBuyerOptionGroupToUnlinkIds","ResidentialUnitImport","parseFailed","setParseFailed","setParsedData","currentResidentialUnits","unlinkData","setUnlinkData","residentialUnitImportPricingValueChangeModalIsOpen","setResidentialUnitImportPricingValueChangeModalIsOpen","modalSteps","setModalSteps","unitId","createRemovedTagsStep","old","tagBuyerOptionStep","createPriceFieldStep","oldPricingFields","oldPricingFiled","importUnitPricingField","groupStep","handleDataChange","handleDiscardClick","unitsDictionary","unitsWithPricingFieldsChanges","parsedUnit","ResidentialUnitImportEditor","availableTags","customFieldTypes","unlinkIds","renderSuggestion","suggestionContent","suggestionAvatar","suggestion","suggestionText","ProfileAutocomplete","suggestions","setSuggestions","activeRequest","onSuggestionsFetchRequested","onSuggestionSelected","suggestionValue","suggestionIndex","sectionIndex","Autosuggest","onSuggestionsClearRequested","getSuggestionValue","CatalogProductAutocomplete","products","handleSearchChange","doSearch","debouncedSearch","handleSuggestionSelected","fitAvatar","componentDidUpdate","prevProps","focusInputOnSuggestionClick","ProjectCatalogProductAutocomplete","ProfileUsersAutocomplete","ownEmail","suggestionsWithoutYourself","LinkedBuyerOptionAddOptionDialog","setProduct","existingOptions","setExistingOptions","setPrice","productExists","selectedProduct","BuyerOptionGroupLinkDialog","onLink","updatedGroups","filterRelevantUnits","BuyerOptionGroupUnlinkDialog","onUnlink","doUnlink","unsentGroups","LinkedBuyerOptionUnpublishDialog","handleUnpublish","buyerOptionGroupStatus","LinkedBuyerOptionEditOptionDialog","linkGroupItem","setLinkGroupItem","mergeData","EditableLinkedBuyerOption","onInvalidated","showEditDialog","setShowEditDialog","handleDefaultClick","handlePresetAdd","handlePresetRemove","handleEditSave","canMakeDefault","LinkedBuyerOptionListItemDetails","onForceReloadChange","reloadOptions","showAddOption","setShowAddOption","showUnlinkDialog","setShowUnlinkDialog","showUnpublishDialog","setShowUnpublishDialog","handleLinksChange","newLinkedResidentialUnits","handleStatusChange","updatedResidentialUnitIds","canChangeOptions","opt","canApproveOrReject","canUnlink","canLink","canEditOptions","canUnpublish","faUnlink","LinkToUnitCompanyProfile","onProvidedByProfileIdChange","selectItem","borderRadius","ProjectDeadlineSelect","getDeadlineText","deadlinesOptions","getSimplifiedDeadlineData","getEditState","initialTags","projectDeadline","showQuantityToBuyers","disableManualSelection","removePrices","LinkedBuyerOptionEditDialog","editState","mergeEditState","setEditState","setPricingFields","editedLinkGroup","LinkToUnitPriceModifier","selectedProjectId","selectedPriceFieldId","priceModifiers","setPriceModifiers","TagsAndPricingField","BuyerOptionGroupDuplicateDialog","onDuplicate","setPricingFieldId","setResidentialUnitIds","floorPlanSketchTypeId","LinkedBuyerOptionListItem","showDuplicateDialog","setShowDuplicateDialog","showHistoryLogModal","setShowHistoryLogModal","newLinkGroup","handleDuplicate","deleted","canDuplicate","fullWidth","linkDate","linkedUnitsListWrapper","linkedUnitsHeader","isApplicable","notApplicable","LinkedBuyerOptionList","linkGroups","BuyerOptionsFilter","getEmptyProjectOptionFilter","addBuyerOptionPresetGroup","updateBuyerOptionPresetGroup","presetGroupId","getBuyerOptionPresetGroupsByProject","getBuyerOptionPresetGroup","deleteBuyerOptionPresetGroup","publishPresetGroup","unpublishPresetGroup","CatalogFilterValue","suppliers","CatalogFilter","BuyerOptionsFilterableList","extraButtonsAreEnabled","ShowOptionsBulkOperations","parsedStatus","setLinkGroups","reloadLinkGroups","contextData","handleLinkByTag","handleApproveMultipleLinkGroups","ProjectCatalogProductList","defaultSelectedId","SuggestInput","existingValues","EditProductWizardStepMain","handleInputChange","titleContainer","supplier","commentForSite","EditProductWizardStepInfo","allowPriceEdit","productMeasurements","onProductMeasurementsChange","handleMeasurementsChange","ProductImageUploadBox","getThumbnailUrl","renderImage","draggable","imageUploadContainer","ImageEditor","imageEditor","newImage","SortableImage","SortableElement","SortableList","SortableContainer","EditProductWizardStepImages","onImageChange","onAttachmentsChange","newImages","onSortEnd","oldIndex","newIndex","arrayMove","helperClass","helper","distance","axis","EditProductWizardStepPaintInfo","EditProductWizard","handleProductChange","handleImagesChange","handleAttachmentsChange","currentStepNumber","setCurrentStepNumber","changeStep","hasNextStep","hasPreviousStep","EditProfileCatalogProductWizard","catalogProduct","getProfileCatalogFilters","EditProjectCatalogProductWizard","ProjectCatalogProductEditDialog","setMeasurements","getEmptyProduct","centimeterProduct","cleanProduct","newProduct","ProjectCatalogImportList","handleCheckChange","getDisableText","isAlreadyImported","hasPermissionsToImport","isImportable","disabledOverlay","getDefaultFilters","showAvailableOnly","ProjectCatalogImportDialog","setProducts","setFilters","selectedProductIds","setSelectedProductIds","filteredProducts","ProjectCatalogProducts","editingProductId","setEditingProductId","showImportDialog","setShowImportDialog","reloadProducts","reloadFilterData","handleEditProductClick","handleEditProductDialogClose","handleEditProductDialogSave","handleDeleteProductClick","faFileImport","onImageClick","imageButtons","onFileUpload","imageListContainer","BuyerOptionPresetCardImages","onImagesChange","BuyerOptionStyleItemImagesEditable","ReadOnlyBuyerOptionStyleItemImages","handleFileUpload","maxSortNr","addedFiles","abs","handleImageClick","imageContainerReadOnly","getEditStateFromPreset","hasDirectCost","feeSetId","BuyerOptionPresetCardEdit","onEditSave","onEditCancel","editForm","pricingEditor","SortableItem","SortHandle","SortableHandle","ReorderableList","lockAxis","lockToContainerEdges","BuyerOptionPresetReorderDialog","setPresets","renderItem","styleOptionsFree","legacyMode","BuyerOptionPresetGroupEditDialog","DropdownItem","BuyerOptionPresetItemEditDialog","selectedLinkGroupId","setSelectedLinkGroupId","selectedLinkItemIds","setSelectedLinkItemIds","projectCatalogLinkGroup","projectCatalogLinkGroupItemId","renderOptions","groupDropdown","GroupRow","isChanged","setIsChanged","sortedGroupedItems","handleSetDefaultPresetItem","it","productName","defaultSpan","BuyerOptionPresetCardOptions","isAdding","setIsAdding","optionsTable","BuyerOptionPresetCardDetails","onPresetChange","setSelectedTab","handlePublishClick","handleUnpublishClick","Published","BuyerOptionPresetCard","isInEditMode","setIsInEditMode","historyModalIsOpen","setHistoryModalIsOpen","createdByDisplayName","BuyerOptionPresetGroupCard","reorderModalOpen","setReorderModalOpen","canPublish","addButton","totalPresetsCount","publishedPresetsCount","faArrowsV","linkedUnitsWrapper","BuyerOptionStylesReorderModal","BuyerOptionPresetsPage","createModalOpen","setCreateModalOpen","handlePresetUpdate","filteredGroups","DependencyBox","hideCheckbox","activeOptionId","onDependencyItemChange","checkboxPosition","onHover","onLeave","onDisabledClick","connector","circle","checkboxRight","checkboxLeft","optionBox","selectable","productThumbnail","boxHeight","boxSpacing","boxWidth","spacing","checkboxSize","DependenciesEdit","dependencyLinkId","setName","showAllLines","setShowAllLines","isSimpleMode","setSimpleMode","setLink","setActiveOptionId","setDependencyItems","reverseLines","setReverseLines","hoverItemId","setHoverItemId","invalidDeadline","invalidSelection","fromSelectOptions","toSelectOptions","fromOptions","toOptions","dep","updateDependency","findExisting","existingDep","handleOptionSelect","highlightedLines","hoverLines","fromIndex","toIndex","hover","fromPoint","toPoint","x1","y1","x2","y2","renderOptionList","side","activeOption","numberOfCheckedOptions","isLastOption","isDefaultToDefault","disabledErrorText","handleLinkChange","handleFilterOption","viewOptions","LinkGroupUnitsTooltip","DependenciesList","reloadLinks","openLogModalId","setOpenLogModalId","renderLinkGroupBox","adminOnly","DependenciesRouting","baseUrl","BuyerOptionsPage","dependencyIsEnabled","ValidDependenciesProfile","IncompleteRequestMode","modes","canAssignChangeRequests","NoOffer","canSendChangeRequests","ProjectChangeRequestsIncomplete","changeRequestTabMap","setChangeRequestTabMap","modesArray","countItems","modeButtons","count","handleSplit","allowedModes","filteredData","ChangeRequestOverviewUnitItem","sentOffer","requestLink","borderContainer","participantRow","textContainer","noParticipants","AverageTimeDisplay","averageInSeconds","startDate","endDate","addSeconds","formatDistance","ChangeRequestOverviewContractorItem","userOverview","userParticipants","firstUserParticipant","changRequest","contractor","userInfo","unsubmittedOffers","averageTimeToSendInSeconds","changeRequestContainer","changeRequestRow","ChangeRequestOverviewMode","ChangeRequestOverview","userOverviews","ByUnit","relative","ByContractor","ChangeRequestMessagesList","sortedChangeRequests","ChangeRequestsPageTab","ChangeRequestsPage","Tasks","Messages","CommentsPage","ProjectCommentThreadMobile","selectedThread","ResidentialUnitCommentThreadMobile","DocumentsFilter","getDocumentsFilter","isPendingDocuments","approvableOnly","ProjectDocuments","UnitDocumentFilterableList","excludeProjectDocuments","UnitDocuments","DocumentsPage","isTasks","documentStatus","projectDocuments","ExternalAgreementFilter","getInitialExternalAgreementsFilter","ExternalAgreementsFilterableList","agreements","residentialUnitGroupIds","aMessage","bMessage","aDate","bDate","getTime","ExternalAgreementsPage","Pagination","pagesToDisplay","pageRange","calculatePageRange","currentPage","numberOfPages","pages","range","start","end","displayedEntries","totalEntries","endPage","usePagination","itemCount","setCurrentPage","calculateValue","itemCountLocal","initialized","goToPage","paginateArray","Meeting","meetingsId","bookings","paginationState","booking","participantName","participantEmail","MeetingsExternal","lengthInMinutes","DateChangeDialog","onSend","showMore","setShowMore","flipper","setFlipper","onlyDates","setOnlyDates","localData","setLocalData","hasTimeErrors","meetingDate","timeSlotStart","timeSlotEnd","theMeeting","meetingType","newLines","handleShowMore","handleOnlyNoDates","handleRemoveRow","originalRow","handleMeetingDate","newLocalData","faCalendarPlus","reminderContainer","unitRow","unitRowRight","headerBar","bold","reminderGrid","labelRow","labelBox","inputBorder","flexRow","meetingTimeFrom","valueAsNumber","meetingTimeTo","addMore","addMoreHeader","miniRounded","unitInfo","sentDate","ReminderDialog","selectedMeetings","letterSetupData","localSetupData","setLocalSetup","theList","finally","handleChangeValues","handleSaveSetup","letterSetup","addMoreBody","notificationContainer","bannerBorder","notificationBox","MeetingBottomBar","listWExtra","activeMeetingTypeId","showReminderModal","showChangeModal","adminAccept","isPrinting","setIsPrinting","bottomBar","dontDisplay","bottomLayoutGap","faX","layoutGap","whiteNotifications","gapSmall","faBullhorn","faFloppyDiskPen","faFileExport","checkedUnits","faPrint","MeetingApartments","activeMeetingType","allChecked","setAllChecked","setShowReminderModal","setShowChangeModal","setListWExtra","setSortBy","orderedResidentialUnits","allMeetings","reloadAllMeetings","groupIds","filteredList","unitWithMeeting","reminderSentDate","confirmationDate","meetingConfirmations","confirmedBy","hasSent","hasMeetingDate","hasConfirmed","hasReminded","setChecked","newlistWExtra","checkIfAdminAccept","confirmedByAdmin","checkIfConnectedMeetings","connectedMeetings","handleShowReminderModal","handleExportMeetings","hasErrors","checkedMeetings","handleAdminAccept","numChecked","handleSendReminder","handleUpdateLetterSetups","handleShowChangeModal","handleAllChecked","handleConfirmChange","handleEditRow","handleSortClick","changeTo","isAsc","newDir","rubusTable","noMargBot","faArrowUp","faArrowDown","dateDisplay","needsConfirmation","statusWrapper","confirmedIcon","faCalendarCheck","notConfirmedIcon","additionalStatus","centered","reminder","noWrap","notConfirmed","faPen","LetterChecklistId","LetterChecklist","Owner","templateText","SentDate","Unit","Floor","MeetingDate","MeetingTime","MeetingLetterSetup","allMeetingsTypes","isLogoLoading","setIsLogoLoading","isSupportLogoLoading","setIsSupportLogoLoading","isCardLoading","setIsCardLoading","optionalLetterSetupFields","cardTextLength","cardText","handleOptionFieldChange","handleCardImageDrop","cardImageToken","handleLogoDrop","logoImageToken","handleSupportLogoDrop","supportLogoImageToken","letterContainer","letterContent","letterHeaderText","subText","letterRow","rowHeader","headerText","rowContent","checkboxGrid","imageSpacer","imageRow","imageDroparea","centerVertically","showSenderInfo","notificationText","CustomMarkdownEditor","senderFreeText","mdClassName","strongFix","showCardImage","cardHeader","reverseRow","UnitsDialog","availableUnits","faEnvelopesBulk","MeetingLetterText","showUnitsModal","setShowUnitsModal","handleShowUnitsModal","contactTextLength","contactFreeText","optionalFields","letterWrapper","senderContent","logos","senderInfo","previewMode","removePadding","textContent","fullInputBorder","contentText","letterText","rightContent","importantInfo","importantInfoRow","importantInfoHeader","inputColor","contactPerson","contactName","contactEmail","hasSentMeetingOptions","hasMeetingDateOptions","hasConfirmedOptions","hasRemindedOptions","MeetingsFilter","MeetingFilterOptions","MeetingLetterPreview","SetupTabId","setupTabDefinitions","Setup","Text","Preview","pdfFile","Suspense","MeetingOverview","setActiveMeetingTypeId","selectedMeetingTypeTabDefinition","setSelectedMeetingTypeTabDefinition","selectedSetupTabDefinition","setSelectedSetupTabDefinition","selectedSetupData","setSelectedSetupData","setActiveMeetingTypeTab","newSetupData","allSetups","setActiveSetupTab","handleReload","reloadAllSetups","filterChange","meetingTypeTabDefinitions","setPdfFile","storedId","subLetterHeader","leftGroup","meetingTypes","noMeetings","ToggleNumberInput","setEnabled","numberAndTextContainer","dayContainer","inputBox","MeetingTypes","canSave","setCanSave","setAllMeetingsTypes","reloadAllMeetingsTypes","handleMeetingTypeChange","isDirty","handleNewTypes","isNew","daysBeforeReminder","handleSaveAll","toBeUpdated","toBeAdded","errorInAdded","mainContainer","meetingTypeHeader","meetingTypeContent","meetingRowCheck","meetingRowCentered","meetingRow","meetingRowName","canSeeMeetings","allowedTabs","OrderRejectDialog","ApproveRejectButtons","savingMode","setSavingMode","OrderDetails","bottomButtons","OrderDetailsPage","reloadOrder","WrappedDatePicker","calenderContainer","calenderPre","faCalendarAlt","calenderIcon","picker","calenderAfter","FilterDate","parsedStartDate","parsedEndDate","isAfter","selectsStart","selectsEnd","minDate","OrderFilters","disableStatus","isDateFilterOpen","setIsDateFilterOpen","OrdersFilterOptions","categoryOptions","categoryIds","getStatusDropdown","owners","projectDeadlineIds","orderDateFrom","toISOString","orderDateTo","orderTypes","defaultBuyerOptions","ExportColumnSelection","mandatoryColumns","isMandatory","col","handleColumnChange","handleSelectAll","indeterminate","RoomFormExportConfiguration","resetToDefaults","SimpleExportConfiguration","InvoiceExportConfiguration","includeFloorPlan","RoomFormByUnitExportConfiguration","OrderExportTypes","addExportType","exportType","exportUrl","saveOptions","storageKey","loadDefaultState","savedValue","parse","OrderExportModal","showFilterWarning","selectedExportKey","setSelectedExportKey","selectedExportType","handleExport","getOrderTypes","BuyerOption","OrdersFilterableList","exportModalOpen","setExportModalOpen","filterParameters","ownerProfileIds","OrdersPage","ProjectCatalog","MilestoneStep","isCompleted","arrayLength","numberContainer","labelContainer","timeLabel","MilestoneTitleMaxLength","MilestoneDescriptionMaxLength","DragHandle","dragHandle","SortableMilestone","setMilestones","inputSection","_m","trashButton","editSection","LandingPageSetupMilestones","newItemCounter","removedWrongId","newMilestones","addMilestone","mainTheme","onDrag","useDragHandle","saveButton","LandingPageSetupImagesModal","setText","currentTempId","LandingPageSetupImages","setImages","isEditTextModalOpen","setIsEditTextModalOpen","editTextImageId","setEditTextImageId","tempId","oldImages","handleEditAccept","getConstructionPhases","updateConstructionPhases","constructionPhases","LandingPageSetupMessagesWrapper","activeProfileId","isAdmin","handleEdit","handlePinToggle","LandingPageSetupMessages","onEdit","onPinToggle","LandingPageSetup","activeConstructionPhaseId","setActiveConstructionPhaseId","hasConnectedUnits","topButtonBar","ProjectDashboard","availability","timeToOffer","chartType","setChartType","changeRequestStatusOverview","unapprovedTasks","tasksLink","deadlinesCard","dashboardTable","unitsWithOptionsTotal","projectDeadlineName","unitsWithOptionsSent","noDeadlinesMessage","averageSpending","soldStatus","unitsSold","unitsTotal","changeRequestStatus","ProjectDashboard$1","ProjectHistoryLog","BookameraIntegrationStatus","hasIntegration","reloadHasIntegration","username","setUsername","apikey","setApiKey","companyId","setCompanyId","apiKey","deactivate","statusActive","deactivateButton","LargeBanner","BokameraIntegrationServiceList","isSavingService","setIsSavingService","reloadAllServices","showServices","setShowServices","onEnabled","service","saveServices","showServiceEntity","bookameraServices","localeCompare","z","BookameraIntegration","ProjectIntegrations","ProjectMessageThread","projectThread","getCurrencies","ProjectSettingsGeneral","currencies","setHeaderImage","defaultLanguageCode","autoAssignOrder","showLandingPageBackgroundImage","emailContactInfo","buyerOptionOneTimeFee","getHeaderImage","COUNTRY_CODES","countryName","AddressAutocomplete","setAddress","APP_DOMAIN","imageUploadLabel","warningTextToggle","warningTextInput","ProjectSettingsPricingFields","btnRef","isDialogVisible","setIsDialogVisible","newPf","_pf","isDeletable","SettingsSection","SettingsSectionContent","SettingsSectionList","SettingsSectionListItem","SettingsSectionListAddButton","List","ListItem","ListItemAddButton","calculateEffectiveModes","featureConfigs","apply","ProjectSettingsFeatures","setFeatureConfigs","selectedUnitGroupId","setSelectedUnitGroupId","selectedFloor","setSelectedFloor","relevantConfigs","defaultMode","conf","effectiveModes","handleModeChange","newMode","buttonRow","paddingLeft","previewSidebar","ProjectFeeOverrideSettingsDialog","mergeOverrideSettings","setOverrideSettings","showWarning","optionPresets","getEmptyItem","ProjectFeeCreateDialog","editingFeeSet","mergeEditingFeeSet","setEditingFeeSet","ProjectSettingsFees","showSaveDialog","setSaveShowDialog","setSelectedFeeSet","feeSets","setFeeSets","changeToFeeSet","setChangeToFeeSet","feeSetModified","doSave","itemToReplace","referenceCount","handleDeleteFeeSet","fs","handleChangeFeeSet","feeSet","getTooltipContent","new","addIcon","nameEditor","inputClassName","nameEditorInput","TermsModal","onAcceptClick","sellerTermsText","infoLabel","acceptText","sellerPrivacyPolicyUrl","ProjectSettingsTerms","showPreview","setShowPreview","mockTerms","bygrTermsAcceptRequired","sellerTermsAcceptRequired","termsAndConditions","optionsTermsEnabled","MarkdownEditor","optionsTermsText","markdownPreview","showHeader","ProjectSettingsDeadlineAlerts","deadlineAlerts","setDeadlineAlerts","deadlineAlert","alertType","BeforeDeadline","daysBeforeDeadline","sendInApp","fixedDeadlines","updatedDeadlineAlerts","bannerParagraph","dla","inputColumn","AfterDeadline","EditTags","handleTagChange","newLabel","handleTagDelete","edit","residentialUnitTagCount","linkGroupTagCount","orderTagCount","changeRequestTagCount","externalAgreementCount","aftermarketCount","canBeDeleted","tagButton","faGripLines","canBeRenamed","trimmedInput","ProjectSettingsTags","inputText","setInputText","reloadTags","handleTagAdd","caseTagCount","documentTagCount","saveProjectDeadline","deleteProjectDeadline","ProjectSettingsComplexDeadlinesTable","showFloors","showUnits","onRevertUnitGroup","onRevertUnit","sortedRugData","residentialUnitGroupDeadlines","sortedRuData","residentalUnitDeadlines","filteredRugData","edited","revertRow","setRevertRow","showRevertAllDialog","setShowRevertAllDialog","handleRugChange","rugRow","rugChanges","newRug","handleRuChange","ruRow","ruChanges","newRu","handleRevertRugClick","handleRevertAllRu","handleRevertDialogClose","handleRevertDialogOpen","handleRevertAllDialogClose","handleRevertAllDialogOpen","handleRevertRuClick","allowEdit","handleEnabled","indentArrow","ProjectSettingsComplexDeadlines","setShowFloors","setShowUnits","combinedDeadlines","setCombinedDeadlines","handleChanges","residentalUnitGroupsDeadlines","DeadlineForm","onSaveClick","onRevertClick","hasGroupEdits","hasUnitEdits","isChangeRequestDeadline","red","deadlineButtons","ProjectSettingsDeadlines","reloadDeadlines","rugDeadlines","reloadRugDeadlines","activeDeadline","setActiveDeadline","deferredDeadlineClicked","setDeferredDeadlineClicked","complexDeadlineEditItem","setComplexDeadlineEditItem","deadlineHasGroupEdits","setDeadlineHasGroupEdits","deadlineHasUnitEdits","setDeadlineHasUnitEdits","handleRugDeadlines","handleRuDeadlines","onEditDeadlineClose","handleComplexDeadlineEditItem","handleNewClick","isDeadlineInUse","unmodified","doRevertAll","savedDeadline","selectDeadline","itemDropdown","ProjectSettingsConstructionPhases","setConstructionPhases","cp","cannotBeDeleted","TabId","TabDefinitions","General","Features","ConstructionPhases","Fees","PricingVariables","Deadlines","DeadlineAlerts","Terms","ProjectSettings","settingsTab","selectedTabDefinition","ProjectSurvey","ProjectSurveyOverview","WhiteLabelSettings","handleDeleteLogo","ProjectWhiteLabelSettings","onReload","whiteLabelToSave","whiteLabelLogoUrl","onDeleteLogo","CheckboxTableCell","cellClassName","checkboxClassName","cell","PermissionsMatrixView","areAllCategoriesChecked","areAllPermissionsChecked","full","matrix","cellCheckbox","UserPermissionsView","half","allowedProjectFeeSetIds","pfs","RemoveProjectMemberModal","onRemoved","projectMember","Info","Review","Transfer","Finished","jobQueue","setJobQueue","queueStatus","setQueueStatus","participatingChangeRequests","transferToParticipant","setTransferToParticipant","num","nextJob","relevantParticipant","handleUserRemove","wizContent","caseListConatiner","caseList","assignee","faArrow","faSuccess","completeMessage","logDialogTitle","ProjectMemberPermissionsList","ProjectMemberPermissionsListItem","onInviteClick","removeUserModalOpen","setRemoveUserModalOpen","UserCard","userImageById","profileImageById","events","onEditPermissions","onRemoveUser","onInviteUser","CategoryPermissionsMatrixEditor","hoverState","setHoverState","changeAllCategoriesChecked","changeAllPermissionsChecked","highlightRow","highlightColumn","ProjectFeeSetPermissionsEditor","analyticsPermissionTypes","ProjectPermissionsEditor","currentTab","setCurrentTab","UserType","systemPermissions","analyticsPermissions","doChange","handleCategoryPermissionsChange","handleProjectFeeSetChange","SystemPermissions","FeePermissions","CategoryPermissions","Analytics","ProjectPermissionsEditDialog","ProjectInviteIntro","faUserFriends","faUserHardHat","percentageWindowSizeBeforeDropdown","breakToSmallScreen","SelectCompanyMenu","companyList","showButtons","setShowButtons","buttonRef","checkWindowWidth","offsetWidth","menuWrapper","relativeContainer","refContainer","companyName","defaultDropdown","ProjectUserManagement","inviteDialogOpen","setInviteDialogOpen","removeUser","setRemoveUser","usersActiveTab","setUsersActiveTab","companyNames","handleRemoveMemberClick","handleInviteMemberClick","handleReinviteAll","containsError","oneOrMoreSuccess","displayMembers","RemoveProjectMemberDialog","invitationContainer","invitationList","mutedText","ProjectWhiteLabel","ProjectDetails","currentProfile","showBuyerSurvey","ShowProfileSurvey","showProjectIntegrations","ShowProjectIntegrations","checkShouldHaveSurvey","projectThreadTab","dashboardTabContainer","dashboardTabContent","emailValidity","emailContainer","emailValidityIcon","BadEmail","AlreadyExists","Checking","Valid","ProjectInviteExternalEmailInput","emailValidations","ProjectInviteWrapper","ProjectInviteInternal","selectedProfile","setSelectedProfile","setEmailValidity","NotChecked","emailDebounced","checkEmail","validity","handleReset","inviteMore","ProjectInviteExternal","selectedMember","setSelectedMember","ProjectInviteInternal$1","ResidentialListItemBuyerSection","iconsRef","renderExtraInfo","ResidentialUnitListItem","notificationCountGetter","listContainer","listContainerRow","mainCard","ResidentialUnitListItem$1","ExtraBuyerInfo","buyersNotAccepted","inviteStatus","resendButton","ResidentialExpandedListItem","margin","setMargin","clientWidth","buyerInfoGrid","ResidentialExpandedListItem$1","ResidentialUnitList","viewMode","ResidentialUnitViewMode","Compressed","Expanded","ResidentialUnitGroupEditDialog","mergeResidentialUnitGroup","setResidentialUnitGroup","constructionPhasesOptions","ResidentialUnitFilterOptions","soldStatusOptions","hasUnsentOptionsOptions","ProjectResidentialUnitFilter","useUnreadMessagesByUnit","unreadThreadsByUnit","messageDate","soldStatusToBoolean","GroupHeader","updated","ResidentialUnitsGrouped","reloadResidentialUnits","sold","reloadResidentialUnitGroups","sortedResidentialUnitGroups","showCreateGroupDialog","setShowCreateGroupDialog","showCreateUnitDialog","setShowCreateUnitDialog","renderResidentialUnits","renderUnassignedResidentialUnits","renderResidentialUnitGroup","handleGroupDelete","handleGroupChange","handleUnitUpdate","getUnitThreadInfo","getNotificationCount","renderUnitList","relevantResidentialUnits","faFileExcel","ResidentialUnitsSorted","ResidentialUnitsTab","ProjectResidentialUnits","generateUrl","ByLastMessage","manageUnitsOnly","inviteBuyersOnly","editLandingPageOnly","ProjectRouting","headerContext","canViewDashboard","SellerSession","_projectId","addProjectTaskOverviewReceiveHandler","addProjectChangeRequestOverviewReceiveHandler","SellerListener","SellerChatSession","addReceiveThreadUpdate","reports","lang","markdownImport","getReport","imp","SellerSidebarReportsPreview","setMd","loadMd","importMd","centerImages","getProjectMemberLite","markdowns","getMarkdown","SellerSidebarCustomerSurveyPreview","AddButton","RubusUiButton","previewButton","faStars","getProjectMemberStatus","currentProjectId","hasModule","bygrModules","hasProject","ProjectSidebarInternalLink","matchArray","createProjectLink","relativePart","SellerSidebar","showReports","ShowReports","canAccessInternalMeetings","canAccessExternalMeetings","showCustomerSurveyModal","setShowCustomerSurveyModal","showInsightModal","setShowInsightModal","projectMembers","projectMemberStatus","canOpenReports","canViewAnalytics","canSeeOverview","canEditLandingPage","canManageProject","mobileOnly","justifyContent","rubusLogo","projectIcon","logoFallback","ItemGroup","faCorner","faHammer","faPenRuler","faListTimeline","externalAgreementsItem","faQuestionSquare","upgradeButton","faInventory","saveCatalogGroup","productIds","linkCatalogGroup","searchCatalogGroups","getCatalogGroup","deleteCatalogGroup","editCatalogGroup","getLinkableProjects","ChooseProject","catalogGroupId","productOptions","po","Products","defaultProductId","setDefaultProductId","setProjectFeeSet","LinkToUnitFinishModal","finishModal","LinkToUnitName","onNameChange","onDescriptionChange","LinkToUnitPriceFeeSet","defaultProjectId","defaultProfileId","LinkStepWizard","productGroupId","catalogGroup","setSelectedProjectId","priceFieldId","setPriceFieldId","setShowQuantityToBuyers","prices","setPrices","setDeadlineId","showFinishModal","setShowFinishModal","setProvidedByProfileId","setProjectFeeSetId","conflictingProducts","setConflictingProducts","checkExistingProducts","defaultOptionPrice","handleProjectChange","mappedProducts","_price","validationManagerName","validationManagerDeadline","handleConnect","conflictingProductNames","stepCard","CatalogProductList","checkedProductIds","onProductCheckChange","checkedProducts","CatalogProductEditDialog","isCustomPaintProduct","isDuplicate","getHeader","CatalogGroupEditDialog","updatedGroup","mergeUpdatedGroup","setUpdatedGroup","hasNoneOption","noneOptionName","noneOptionDescription","isNewGroup","CatalogGroupEditDialog$1","CatalogProducts","isDuplicating","setIsDuplicating","setCheckedProducts","isPaintProduct","setIsPaintProduct","setDefaultSelected","editingGroup","setEditingGroup","handleCreateProductClick","handleCreatePaintProductClick","handleDuplicateProductClick","handleCreateGroupClick","handleEditGroupDialogClose","handleEditGroupDialogSave","faBox","faBrush","CatalogGroupListItemDetails","onProductsChange","removeProduct","newProducts","containsNonEmptyProduct","ProductSearch","resultsClassName","setSearchText","CatalogGroupAddProductDialog","groupProducts","setGroupProducts","handleProductCheckChange","handleRemoveProductClick","topLevelCategory","selectedProducts","searchResults","CatalogGroupAddProductDialog$1","CatalogGroupListItem","defaultExpand","showAddProductsDialog","setShowAddProductsDialog","showYesNoDialog","setShowYesNoDialog","CatalogGroupList","CatalogGroups","floorPlanSketchType","reloadGroups","checkIfIsLoading","handleEditDialogSave","CatalogGroups$1","Catalog","getStandardRepliesByProfileId","editStandardReply","standardReply","deleteStandardReply","addStandardReply","getEmptyState","comment","toUploadOptions","EditStandardReplyModal","unsavedStandardReply","mergeUnsavedStandardReply","setUnsavedStandardReply","handleDeleteAttachment","formFileContainer","formFileInfo","formFileIcon","faFile","formFileName","attachmentRemoveButton","StandardRepliesEmpty","newStandardReplyModalIsOpen","setNewStandardReplyModalIsOpen","envelopeIcon","heading","SearchInput","handleTextChange","showSpinner","DeleteStandardReplyModal","confirmDeleteReply","deleteInfo","buttonBarNewReply","StandardReplyCard","editStandardReplyModalIsOpen","setEditStandardReplyModalIsOpen","deleteStandardReplyModalIsOpen","setDeleteStandardReplyModalIsOpen","confirmDeleteStandardReply","cardContainer","infoContainer","cardInfo","dateContainer","noCommentBadge","commentBadge","updateDate","chevronIcon","globalSearch","q","searchByFields","fields","arrayField","StandardRepliesPage","standardReplies","reloadStandardReplies","standardRepliesContainer","topComment","generateReportToken","report","getAnalyticsTheme","setAnalyticsTheme","AnalyticsSettings","currentTheme","newTheme","mergeNewTheme","setNewTheme","colorsContainer","SurveySetup","ProfileSurveyOverview","CompanySettingsTab","ProfileEdit","setBackgroundImage","mergeConfig","setConfig","currencyId","isPaying","StandardReplies","canManageAnalytics","CreateProject","ZipFileDownload","downloadId","LazyReport","SellerReportsPage","changeSettingsOnly","manageUsersOnly","profileCanCreateProject","currentEnvironment","SellerRouting","showReleaseInformation","ShowReleaseInformation","ModalReleaseInfo","application","environment","ListReleasesInfo","ProfileRouting","getInvitationInfo","acceptInvite","newUserInfo","userRegistrationInfo","RegisterFormEmailWrapper","UserPageSelectWrapper","UserPageSelect","RegisterWithState","onRegister","onRegisterCallback","getInviteValueOrDefault","registerData","setRegisterData","setRegisterField","Register","buttonLabel","PageMode","InvitationDetailsBuyerOrProfile","greetingText","acceptInProgress","setAcceptInProgress","redirectUrl","emailExists","InvitationDetailsProject","invitedTo","InvitationDetails","setInvitation","autoRedirect","setAutoRedirect","setErrorMessage","renderInviteDetails","inviteType","ProfileSwitcher","urlProfileId","ImpersonateBuyer","EndBuyerImpersonation","ExternalLinkMeetings","theProjectId","setProjectId","getProjectId","ExternalLinkTasksRouting","ExternalLinksRoutingChangeRequest","setResidentialUnitId","ExternalLinksRoutingChangeRequestOffer","goToModule","targetModule","ExternalRoutingChat","relation","entityId","Case","ResidentialUnitAftermarket","ExternalLinksRouting","ExternalLinkRejectedTasksRouting","ExternalUserRequest","ExternalUserValidate","approve","ConfirmStatus","ConfirmMeeting","setStatus","Loading","confirm","MainRouting","StartMixpanelLogging","useNavigate","userType","company","LoginRegister","ProfileDetails","getTerms","acceptTerms","TermsModalWrapper","reloadTerms","acceptRequired","WindowSizeListener","handleResize","setSellerDocumentTypes","loadSellerDocumentTypes","ScrollToTop","PageTitleContainer","updateRef","HeaderSearch","setSearchResults","resultsSearchText","setResultsSearchText","inputEl","activeRequestRef","debouncedText","previousDebouncedText","getItemLink","searchResult","objectInfo","getObjectTypeName","blur","getInfoText","getImageStyle","suggestionImage","suggestionName","suggestionType","suggestionInfo","searchBox","highlightFirstSuggestion","autosuggest","loadingIndicator","searchIcon","HeaderProfileThumbnail","HeaderProfileMenu","userProfiles","activeProfileInfo","otherUserProfiles","otherSellerUserProfiles","otherBuyerUsrProfiles","faCog","canChangeProfileSettings","canManageUsers","HeaderUserMenu","faSignOut","HeaderLanguageMenu","changeLocale","actualCulture","NotificationsSession","markAsViewed","markAsClicked","requestNotifications","addOnReceiveNotifications","NotificationIcon","unreadNotificationCount","faBell","notificationsBadge","mapping","Exchange","Comments","BallotCheck","Tag","Folder","faFolder","Folders","DollyFlatbed","faDollyFlatbed","BackendIcon","iconName","DeprecatedContent","notificationRow","DeprecatedRenderIcon","ProfileImage","initiatedByProfileId","NotificationRow","templateType","OldNotification","ChangeRequestCreated","OfferOnChangeRequestToBuyer","DeadlineApproaching","TaggedInChat","InvitedUserAccepted","ProjectInviteAccepted","NewLandingPageMessage","TaskChange","ChangeRequestAddedAttachment","DocumentAdded","ChangeRequestAddedParticipant","OfferRejectedByBuyer","ChangeRequestClosed","ChangeRequestAccepted","DeadlineReminderAllSent","DeadlineReminderNoOptions","DeadlineReminderWithUnsent","BuyerSignedOptions","ChangeRequestRequestedNewOffers","ZippedFileReady","NotImplemented","appendInProjectMessage","generateChangeRequestUrl","ResidentialUnitId","ProfileId","ProjectId","ChangeRequestId","LinkRow","UnitName","ProjectName","Name","Version","IsBuyer","CommentThreadId","TaggedByName","pillRow","ThreadType","IsMainThread","includesBuyerBadge","internalBadge","ResidentialUnitName","InviterProfileId","getUrl","Type","DocumentLink","DocumentId","IsProjectDocument","OptionGroup","BuyerOptionGroupBatchId","getText","Count","getIconName","ChangeRequestName","VersionId","DocumentName","DocumentTypeName","NumberOfDaysToDeadline","NoLinkRow","DeadlineName","ChangeRequestSubject","ExternalLinkRow","Id","NumberOfFiles","IconPlaceHolder","HeaderNotificationMenu","onNotificationClick","requestMoreNotifications","menuContext","handleNotificationClick","emptyMessage","loadMoreButton","HeaderNotificationsButton","numberOfNotifications","viewDate","notificationSession","newSession","handleRequestMore","HeaderNotificationsIcon","notificationsMenuContainer","notificationsMenu","helpkitHelper","HelpKitHelper","HelpkitButton","setActive","loadObserver","useHelpkitPopupObserver","init","togglePopover","showProfileMenu","setShowProfileMenu","showUserMenu","setShowUserMenu","showNotificationsMenu","setShowNotificationsMenu","showLanguageMenu","setShowLanguageMenu","hasSidebar","isWhiteLabel","BuyerSurvey","languageSelector","headerButton","profileMenuButton","profileMenu","use100vh","maxWidth","addNotifications","NotificationListener","CommentListEventItem","bottomText","buttonText","showBottomPart","offerSentText","CommentListEventBuyerAcceptedInvitation","isAdditional","CommentListEventBuyerRemoved","isLastBuyer","faUserTimes","CommentListEventItemChangeRequest","currentProject","Status","getVerb","getTopText","CommentListEventItemOffer","CommentListEventChangeRequestEdited","commentEventMapping","CommentEventType","BuyerAcceptedInvitation","AdditionalBuyerAcceptedInvitation","BuyerRemoved","LastBuyerRemoved","ChangeRequestEvent","ChangeRequestEdited","OfferEvent","ChangeRequestTooltip","HeaderContextProvider","LocalizationForwarder","rubusUiData","currentLocale","texts","ShowMore","ShowLess","RubusUIProvider","Contexts","unitTooltipContext","getData","getAvatarThumbnailUrl","chatContextData","apiService","ApiService","chatService","ChatService","hubConnection","currentUserId","currentProfileId","eventMapping","threadTitleOverride","ChatProvider","ResidentialUnitTooltipContext","SentryDsn","App","isUnsupportedBrowser","setIsUnsupportedBrowser","parsedBrowser","majorVersion","ComponentLibraryLocalizationProvider","SentryToolsErrorHandler","dsn","popupTitle","popupMessage","popupButtonCloseLabel","popupButtonOpenFeedbackLabel","Router","getUserConfirmation","basename","import","ToastContainer","buildTime","toLocaleString","initVersionMonitoring","build","toastVisible","newBuild","closeOnClick","reactDom","InitMixpanel","Loader","getElementById"],"sources":["../../src/utils/polyfill.ts","../../src/utils/url.ts","../../src/utils/objects.ts","../../src/state/global/reducer.ts","../../src/state/notifications/reducer.ts","../../src/state/seller/document-types/reducer.ts","../../src/state/seller/project-overview/reducer.ts","../../src/state/seller/sidebar/reducer.ts","../../src/state/buyer/budget/reducer.ts","../../src/state/buyer/changeRequests/reducer.ts","../../src/state/buyer/commentThreads/reducer.ts","../../src/state/buyer/meetings/reducer.ts","../../src/state/buyer/option-filter/reducer.ts","../../src/state/buyer/project-data/reducer.ts","../../src/state/buyer/tasks/reducer.ts","../../src/state/buyer/document-types/reducer.ts","../../src/state/buyer/landing-page/reducer.ts","../../src/state/buyer/permissions/reducer.ts","../../src/state/buyer/sidebar/reducer.ts","../../src/state/message-dismissals/reducer.ts","../../src/state/rootReducer.ts","../../src/store.ts","../../src/utils/ajax.ts","../../src/utils/events.ts","../../src/utils/html.ts","../../src/components/generic-controls/Input.tsx","../../src/components/forms/validation/ValidatingInput.tsx","../../src/components/forms/validation/ValidatingTextArea.tsx","../../src/components/forms/validation/ValidatingSelect.tsx","../../src/types.ts","../../src/utils/localization.ts","../../src/state/global/actions.ts","../../src/services/buyer-dashboard.ts","../../src/services/projects.ts","../../src/components/navigation/helpers.jsx","../../src/services/message-dismissal.ts","../../src/state/message-dismissals/actions.ts","../../src/state/message-dismissals/creators.ts","../../src/server-events/connections.ts","../../src/services/projectUsers.ts","../../src/services/users.ts","../../src/services/profiles.ts","../../src/services/item-categories.ts","../../src/ClientStorage.ts","../../src/services/configuration.ts","../../src/utils/comment-workaround.ts","../../src/state/seller/project-overview/actions.ts","../../src/services/comments.ts","../../src/state/seller/project-overview/creator.ts","../../src/state/global/creators.ts","../../src/utils/browser.ts","../../src/utils/hooks.ts","../../src/components/Modal/Modal.tsx","../../src/components/Modal/ModalHeader.tsx","../../src/components/Modal/ModalBody.tsx","../../src/components/Modal/ModalFooter.tsx","../../src/components/Tooltip/Tooltip.tsx","../../src/components/Tooltip/TooltipQuestionMark.tsx","../../src/components/Buttons/ButtonElement.tsx","../../src/components/Buttons/Button.tsx","../../src/components/navigation/base.tsx","../../src/components/navigation/profile.tsx","../../src/components/navigation/project.tsx","../../src/components/navigation/MailToLink.tsx","../../src/components/navigation/TelLink.tsx","../../src/components/Buttons/InternalLinkButton.tsx","../../src/components/Buttons/ExternalLinkButton.tsx","../../src/components/dialogs/YesNoDialog.tsx","../../src/components/Buttons/ConfirmButton.tsx","../../src/components/Buttons/ConfirmRemoveButton.tsx","../../src/components/Dropdown/DropdownContext.tsx","../../src/components/Dropdown/Dropdown.tsx","../../src/components/Dropdown/DropdownButtonItem.tsx","../../src/components/Dropdown/DropdownExternalLinkItem.tsx","../../src/components/Dropdown/DropdownInternalLinkItem.tsx","../../src/components/Dropdown/DropdownConfirmButtonItem.tsx","../../src/components/Dropdown/DropdownGroupItem.tsx","../../src/components/Buttons/FileDataPreviewLinkButton.tsx","../../src/utils/react.ts","../../src/components/NotificationBadge/NotificationBadge.tsx","../../src/components/Buttons/ToggleButtons.tsx","../../src/components/Buttons/EnumToggleButtons.tsx","../../src/components/Buttons/ButtonBar.tsx","../../src/components/dialogs/ErrorDialog.tsx","../../src/HttpStatusCodes.ts","../../src/components/app/AjaxErrorHandler.jsx","../../src/components/app/I18nLoader.tsx","../../src/components/error-pages/404.png","../../src/components/error-pages/NotFound.tsx","../../src/components/permissions/helpers.ts","../../src/components/app/AuthRoute.tsx","../../src/components/application-user/UserPageInput.tsx","../../src/components/navigation/ExternalLink.tsx","../../src/components/Icons/assets/logo-small.svg","../../src/components/Icons/assets/logo.svg","../../src/components/Icons/assets/overview.svg","../../src/components/Icons/assets/logo-big.svg","../../src/components/Icons/Icon.tsx","../../src/components/Icons/EntityIcon/EntityIcon.tsx","../../src/components/Icons/EntityIcon/ProfileIcon.tsx","../../src/components/Icons/EntityIcon/ProjectIcon.tsx","../../src/components/Icons/EntityIcon/UserIcon.tsx","../../src/components/Icons/EntityIcon/StackedIcons.tsx","../../src/components/application-user/LoginForm.tsx","../../src/components/layout/Header/HeaderContext.tsx","../../src/components/layout/PageTitle/PageTitleProjectName.tsx","../../src/components/layout/PageTitle/PageTitle.tsx","../../src/components/application-user/SplashPage.tsx","../../src/utils/returnUrl.ts","../../src/components/application-user/LoginRegister.tsx","../../src/components/application-user/Logout.tsx","../../src/components/application-user/ForgotPassword.tsx","../../src/utils/bygr-toastr.tsx","../../src/utils/password.ts","../../src/components/application-user/PasswordValidation.tsx","../../src/components/application-user/ResetPassword.tsx","../../src/components/application-user/ConfirmEmail.tsx","../../src/utils/arrays.ts","../../src/components/permissions/PermissionsEditor.tsx","../../src/components/Banner/Banner.tsx","../../src/components/forms/Radio/Radio.tsx","../../src/components/forms/Radio/DescriptiveRadio.tsx","../../src/components/forms/Radio/LargeRadio.tsx","../../src/components/profile/ProfilePermissionsEditor.tsx","../../src/components/SimpleFormPage/SimpleFormPage.tsx","../../src/components/layout/Breadcrumbs/Breadcrumbs.tsx","../../src/components/layout/Breadcrumbs/BreadcrumbsItem.tsx","../../src/components/layout/Breadcrumbs/BreadcrumbsLink.tsx","../../src/components/layout/Breadcrumbs/BreadcrumbsProjectLink.tsx","../../src/components/layout/Breadcrumbs/index.ts","../../src/components/profile/ProfileInvite.tsx","../../src/components/profile/ProfilePermissionsEditDialog.tsx","../../src/components/permissions/PermissionModeIcon.tsx","../../src/components/Cards/SimpleCard.tsx","../../src/components/Sticky/StickyContext.tsx","../../src/components/Sticky/Sticky.tsx","../../src/components/Sticky/StickyContainer.tsx","../../src/components/Cards/ExpandableCard.tsx","../../src/components/Cards/ExpandableCardHandle.tsx","../../src/components/Cards/NoResultsCard.tsx","../../src/components/Cards/CardGroup.tsx","../../src/components/Cards/CardThumbnail.tsx","../../src/components/Cards/CardHeader.tsx","../../src/components/Cards/CardSection.tsx","../../src/components/EllipsisDropdown/EllipsisDropdown.tsx","../../src/components/Cards/CardDropdownMenu.tsx","../../src/components/Cards/CardRow.tsx","../../src/services/project-tags.ts","../../src/components/TagInput/TagInput.tsx","../../src/components/Tags/Tags.tsx","../../src/components/Cards/CardTags.tsx","../../src/components/profile/ProfileMemberPermissionsList.tsx","../../src/components/profile/ProfileUserManagement.tsx","../../src/services/landing-page.ts","../../src/buyer/components/BuyerPageTitle/BuyerPageTitle.tsx","../../src/buyer/components/LandingPage/LandingPage.tsx","../../src/utils/categories.ts","../../src/components/item-categories/ItemCategoryDisplay.tsx","../../src/components/WizardStepHeader/WizardStepHeader.tsx","../../src/components/SimpleWizard/SimpleWizard.tsx","../../src/seller/components/products/ProductImageLightbox.tsx","../../src/seller/components/products/ProductThumbnails.tsx","../../src/components/SmallAttachmentList/SmallAttachmentList.tsx","../../src/utils/date.ts","../../src/components/localization/DateDisplay.tsx","../../src/components/localization/DateTimeDisplay.tsx","../../src/components/localization/DateDistanceDisplay.tsx","../../src/components/localization/NumberDisplay.tsx","../../src/components/localization/CurrencyDisplay.tsx","../../src/components/localization/CurrencySymbol.tsx","../../src/seller/components/currency/ProfileCurrencyDisplay.tsx","../../src/seller/components/currency/ProjectCurrencyDisplay.tsx","../../src/buyer/components/BuyerCurrencyDisplay.tsx","../../src/services/project-catalog.ts","../../src/utils/color.ts","../../src/utils/unit-of-measurements.tsx","../../src/buyer/components/SelectedCorner/SelectedCorner.tsx","../../src/buyer/components/ProductRow/ProductRow.tsx","../../src/components/GreyOut/GreyOut.tsx","../../src/buyer/components/BuyerOptions/OptionSelectModal/OptionSelectWizardStep.tsx","../../src/buyer/components/BuyerOptions/OptionSelectModal/helpers.ts","../../src/buyer/components/BuyerOptions/OptionSelectModal/OptionSelectWizard.tsx","../../src/buyer/components/BuyerOptions/OptionSelectModal/OptionSelectionWizardModal.tsx","../../src/buyer/components/Budget/BudgetList/BudgetItemPrice.tsx","../../src/buyer/components/Budget/BudgetList/BudgetListRow.tsx","../../src/components/MultiList/MultiListPagination.tsx","../../src/components/MultiList/MultiListTable.tsx","../../src/components/MultiList/MultiListCard.tsx","../../src/components/MultiList/MultiList.tsx","../../src/seller/components/InfoIconWithTooltip/InfoIconWithTooltip.tsx","../../src/buyer/components/Budget/BudgetList/BudgetTable/BudgetTable.tsx","../../src/buyer/components/Budget/BudgetList/BudgetListItem.tsx","../../src/state/buyer/tasks/actions.ts","../../src/state/buyer/tasks/creators.ts","../../src/state/buyer/budget/actions.ts","../../src/state/buyer/budget/creators.ts","../../src/buyer/components/Budget/Budget.tsx","../../src/buyer/components/Budget/index.tsx","../../src/buyer/BuyerContext.tsx","../../src/buyer/components/BuyerDashboard/BuyerDashboardDeadlines/BuyerDashboardDeadlines.tsx","../../src/buyer/components/BuyerDashboard/BuyerDashboard.tsx","../../src/buyer/components/BuyerDocuments/BuyerDocumentIcon.tsx","../../src/buyer/components/BuyerDocuments/BuyerDocumentCardList/BuyerDocumentCard/BuyerDocumentCardMobile.tsx","../../src/services/documents.ts","../../src/components/ModelViewer/LazyBimViewer.tsx","../../src/components/ModelViewer/ModelViewerModal.tsx","../../src/buyer/components/BuyerDocuments/BuyerDocumentCardList/BuyerDocumentCard/BuyerDocumentCardDesktop.tsx","../../src/services/buyer-offers.ts","../../src/buyer/components/BuyerDocuments/BuyerDocumentCardList/BuyerDocumentCard/index.tsx","../../src/buyer/components/BuyerDocuments/BuyerDocumentCardList/BuyerOfferDocumentGroupCard/BuyerOfferDocumentGroupCard.tsx","../../src/buyer/components/BuyerDocuments/BuyerDocumentCardList/BuyerOfferDocumentCardList.tsx","../../src/components/DocumentTypeGrouping/DocumentTypeGrouping.tsx","../../src/components/DocumentTypeGrouping/DocumentTypeGroupingHeader.tsx","../../src/buyer/components/BuyerDocuments/BuyerDocumentsHistoryDialog.tsx","../../src/buyer/components/BuyerDocuments/BuyerDocuments.tsx","../../src/state/buyer/option-filter/actions.ts","../../src/components/Select/Select.tsx","../../src/buyer/components/BuyerOptions/BuyerOptionFilter/BuyerOptionFilterDeadline.tsx","../../src/components/filters/TreeFilter.tsx","../../src/components/filters/ItemCategoryFilter.tsx","../../src/buyer/components/BuyerOptions/BuyerOptionFilter/BuyerOptionFilterCategory.tsx","../../src/buyer/components/BuyerOptions/BuyerOptionFilter/BuyerOptionFilterRoom.tsx","../../src/buyer/components/BuyerOptions/BuyerOptionFilter/BuyerOptionFilter.tsx","../../src/buyer/components/BuyerOptions/SubmitRow/SubmitRow.tsx","../../src/components/ScrollToWrapper/ScrollToWrapper.tsx","../../src/buyer/components/BuyerOptions/OptionRow/OptionItemPrice.tsx","../../src/buyer/components/BuyerOptions/OptionRow/OptionRowDesktop.tsx","../../src/buyer/components/BuyerOptions/OptionRow/OptionRowMobile.tsx","../../src/buyer/components/BuyerOptions/OptionRow/index.tsx","../../src/buyer/components/BuyerOptions/BuyerOptionBlock/BuyerOptionList.tsx","../../src/buyer/components/BuyerOptions/BuyerOptionBlock/BuyerOptionBlock.tsx","../../src/services/buyer-option-presets.ts","../../src/buyer/components/BuyerOptions/OptionPresets/OptionPresetsList.tsx","../../src/buyer/components/BuyerOptions/BuyerOptionExtraDataDisplay/BuyerOptionExtraDataDisplay.tsx","../../src/buyer/components/BuyerOptions/OptionPresets/OptionPresetItemDisplay.tsx","../../src/components/ThumbnailGallery/ThumbnailGallery.tsx","../../src/components/Tabs/Tabs.tsx","../../src/buyer/components/BuyerOptions/OptionPresets/OptionPresetDetails.tsx","../../src/buyer/components/BuyerOptions/OptionPresets/OptionPresetsDetailsDialog.tsx","../../src/buyer/components/BuyerOptions/OptionPresets/OptionPresetsApplyDialog.tsx","../../src/buyer/components/BuyerOptions/OptionPresets/OptionPresetsCard.tsx","../../src/buyer/components/BuyerOptions/BuyerOptions.tsx","../../src/buyer/components/BuyerOptions/BuyerOptionSubmit/ConfirmUpgrades/ConfirmUpgrades.tsx","../../src/components/StepWizard/StepSection.tsx","../../src/components/StepWizard/StepWizard.tsx","../../src/utils/string.ts","../../src/components/Alert/Alert.tsx","../../src/buyer/components/ConfirmIdentity/ConfirmIdentity.tsx","../../src/services/signatures.ts","../../src/buyer/components/BuyerOptions/BuyerOptionSubmit/BuyerOptionSubmit.tsx","../../src/components/user-settings/InviteUserModal.tsx","../../src/components/user-settings/UnitSettings.tsx","../../src/components/user-settings/ChangePassword.tsx","../../src/components/generic-controls/LocalImageCrop.tsx","../../src/utils/files.ts","../../src/utils/graphics.ts","../../src/components/generic-controls/ImageCropDialog.tsx","../../src/components/generic-controls/FileUpload/FileUpload.tsx","../../src/components/generic-controls/ImageUpload.tsx","../../src/components/user-settings/UserChangeInfo.tsx","../../src/components/user-settings/LanguageSettings.tsx","../../src/components/user-settings/LegalSummary.tsx","../../src/components/user-settings/UserSettings.tsx","../../src/state/buyer/changeRequests/actions.ts","../../src/state/buyer/changeRequests/creator.ts","../../src/state/buyer/commentThreads/actions.ts","../../src/state/buyer/commentThreads/creator.ts","../../src/state/buyer/document-types/actions.ts","../../src/state/buyer/document-types/creator.ts","../../src/services/booking.ts","../../src/state/buyer/meetings/actions.ts","../../src/state/buyer/meetings/creator.ts","../../src/state/buyer/permissions/actions.ts","../../src/state/buyer/permissions/creator.ts","../../src/state/buyer/project-data/actions.ts","../../src/state/buyer/project-data/creator.ts","../../src/state/buyer/landing-page/actions.ts","../../src/state/buyer/landing-page/creator.ts","../../src/server-events/HubSession.ts","../../src/server-events/BuyerSession.ts","../../src/buyer/BuyerListener.tsx","../../src/buyer/components/BookMeeting/BuyerMeetings.tsx","../../src/services/change-requests.ts","../../src/components/Tooltip/TooltipLoading.tsx","../../src/components/SensitiveInfoTooltip/SensitiveInfoTooltip.tsx","../../src/components/DocumentSelectList/DocumentSelectListItemDetails.tsx","../../src/components/DocumentSelectList/DocumentSelectListItem.tsx","../../src/components/DocumentSelectList/DocumentSelectList.tsx","../../src/components/FileUploadWizard/FileUploadUnitDocuments/FileUploadUnitDocuments.tsx","../../src/components/FileUploadWizard/FileUploadWizard.tsx","../../src/components/FileUploadWizard/FileUploadUnitDocuments/index.tsx","../../src/components/SensitiveInfoConfirmDialog/SensitiveInfoConfirmDialog.tsx","../../src/components/SensitiveInfoCheckbox/SensitiveInfoCheckbox.tsx","../../src/components/AttachmentList/AttachmentFileLink.tsx","../../src/components/AttachmentList/AttachmentListItem.tsx","../../src/components/AttachmentList/PasteListener.tsx","../../src/components/AttachmentList/AttachmentList.tsx","../../src/seller/components/change-requests/ChangeRequestAttachmentList.tsx","../../src/buyer/components/BuyerChangeRequests/BuyerChangeRequestCreate/BuyerChangeRequestCreate.tsx","../../src/components/Indicator/Indicator.tsx","../../src/components/StatusIndicator/BuyerOfferStatusIndicator.tsx","../../src/components/StatusIndicator/ChangeRequestSellerStatusIndicator.tsx","../../src/components/StatusIndicator/ChangeRequestBuyerStatusIndicator.tsx","../../src/components/StatusIndicator/DocumentStatusIndicator.tsx","../../src/components/StatusIndicator/BuyerOptionGroupStatusIndicator.tsx","../../src/components/StatusIndicator/ExternalAgreementStatusIndicator.tsx","../../src/components/Badge/BadgeList.tsx","../../src/components/Badge/PillBadge.tsx","../../src/components/Badge/BorderBadge.tsx","../../src/components/ProfileAndUserDisplay/ProfileAndUserDisplay.tsx","../../src/buyer/components/BuyerChangeRequestParticipantOfferLines/BuyerChangeRequestParticipantOfferLines.tsx","../../src/buyer/components/BuyerChangeRequests/BuyerChangeRequestOffer/BuyerChangeRequestOfferGroup.tsx","../../src/buyer/components/BuyerChangeRequests/BuyerChangeRequestOffer/BuyerChangeRequestOfferGroupList.tsx","../../src/buyer/components/BuyerChangeRequests/BuyerChangeRequestOffer/BuyerChangeRequestOfferRejectDialog.tsx","../../src/buyer/components/BuyerChangeRequests/BuyerChangeRequestOffer/BuyerChangeRequestOffer.tsx","../../src/buyer/components/BuyerChangeRequests/BuyerChangeRequestView/BuyerChangeRequestView.tsx","../../src/components/FileUploadWizard/ChatFileUploadWizard.tsx","../../src/seller/components/documents/DocumentListItemShort/DocumentListItemShort.tsx","../../src/components/Comments/CommentTopBarUnitDocuments/CommentTopBarUnitDocuments.tsx","../../src/components/Comments/CommentThreadWrapper.tsx","../../src/buyer/components/BuyerChat/BuyerChat.tsx","../../src/components/CreateCommentThreadModal/CreateCommentThreadModalFollowerSelect/CreateCommentThreadModalFollowerSelect.tsx","../../src/components/MaxLengthValidatingInput/MaxLengthValidatingInput.tsx","../../src/services/residential-units.ts","../../src/components/CreateCommentThreadModal/CreateCommentThreadModal.tsx","../../src/buyer/components/BuyerChat/BuyerUnitChat.tsx","../../src/buyer/components/BuyerChangeRequests/BuyerChangeRequestDetails.tsx","../../src/buyer/components/BuyerChangeRequests/BuyerChangeRequests.tsx","../../src/buyer/components/BuyerChangeRequests/BuyerChangeRequestSubmit/BuyerChangeRequestSubmit.tsx","../../src/components/layout/NavigationSidebar/NavigationSidebarContext.tsx","../../src/components/layout/NavigationSidebar/NavigationSidebar.tsx","../../src/components/layout/NavigationSidebar/NavigationSidebarItem.tsx","../../src/components/layout/NavigationSidebar/NavigationSidebarLinkItem.tsx","../../src/components/layout/NavigationSidebar/NavigationSidebarSeparator.tsx","../../src/components/layout/NavigationSidebar/NavigationSidebarSpacer.tsx","../../src/components/layout/NavigationContextMenu/NavigationContextMenuItem.tsx","../../src/components/layout/NavigationContextMenu/NavigationContextMenuContext.tsx","../../src/components/layout/NavigationContextMenu/NavigationContextMenu.tsx","../../src/components/layout/NavigationContextMenu/NavigationContextMenuSeparator.tsx","../../src/components/layout/NavigationContextMenu/NavigationContextMenuInternalLinkItem.tsx","../../src/components/layout/NavigationContextMenu/NavigationContextMenuButton.tsx","../../src/components/layout/NavigationContextMenu/NavigationContextMenuExternalLinkItem.tsx","../../src/components/layout/NavigationContextMenu/index.ts","../../src/components/layout/NavigationSidebar/NavigationSidebarDropdownItem.tsx","../../src/components/layout/NavigationSidebar/NavigationSidebarExternalLinkItem.tsx","../../src/components/layout/NavigationSidebar/NavigationSidebarHeader.tsx","../../src/components/layout/NavigationSidebar/index.ts","../../src/utils/featureToggle.ts","../../assets/logo-rubus-black.png","../../src/services/white-label.ts","../../src/buyer/components/BuyerSidebar/BuyerSidebar.tsx","../../src/components/WhiteLabelEditor/WhiteLabelColorEditor.tsx","../../src/components/WhiteLabelEditor/WhiteLabelEditor.tsx","../../src/buyer/components/BuyerWhiteLabelProvider.tsx","../../src/buyer/BuyerRouting.tsx","../../src/SessionStorage.ts","../../src/components/profile/NoProfilesMessage.tsx","../../src/seller/components/project/ProjectTile.tsx","../../src/services/project-dashboard.ts","../../src/seller/components/project/CopyProjectModal.tsx","../../src/seller/components/project/ProjectList.tsx","../../src/seller/components/project/MyProjects.tsx","../../src/seller/components/residential-units/BuyerMassInvite/BuyerMassInviteUpload.tsx","../../src/seller/components/residential-units/BuyerMassInvite/index.tsx","../../src/seller/components/residential-units/BuyerMassInvite/BuyerMassInviteTable.tsx","../../src/seller/components/residential-units/BuyerMassInvite/BuyerMassInvite.tsx","../../src/services/buyer-options.ts","../../src/components/Filter/FilterButtons.tsx","../../src/components/Filter/FilterPopOut.tsx","../../src/components/Filter/FilterDropDown.tsx","../../src/seller/components/residential-units/ResidentialUnitSelectFilterable/ResidentialUnitSelectFilterableFilter.tsx","../../src/seller/components/residential-units/ResidentialUnitSelectFilterable/ResidentialUnitSelectFilterable.tsx","../../src/seller/components/documents/DocumentResidentialUnitSelection.tsx","../../src/seller/components/documents/DocumentRejectDialog.tsx","../../src/seller/components/documents/DocumentApproveDialog.tsx","../../src/seller/components/documents/DocumentLinkDialog.tsx","../../src/seller/components/documents/DocumentPreview.tsx","../../src/seller/components/documents/DocumentList/DocumentListItemDetails.tsx","../../src/components/StatusReason/StatusReason.tsx","../../src/components/StatusReason/RejectedStatusReason.tsx","../../src/components/StatusReason/ClosedStatusReason.tsx","../../src/services/object-history-log.ts","../../src/components/UserInfoRow/UserInfoRow.tsx","../../src/components/UserInfoRow/UserInfoRowLazy.tsx","../../src/seller/components/HistoryLog/HistoryLogComparisonTranslationMap.tsx","../../src/seller/components/HistoryLog/HistoryLogComparison.tsx","../../src/seller/components/data-tooltips/ResidentialUnitTooltip.tsx","../../src/seller/components/data-tooltips/ProfileTooltip.tsx","../../src/seller/components/HistoryLog/HistoryLogTableInfoRow.tsx","../../src/seller/components/HistoryLog/HistoryLogTable.tsx","../../src/seller/components/HistoryLog/HistoryLogModal.tsx","../../src/seller/components/documents/DocumentList/DocumentListItem.tsx","../../src/seller/components/documents/DocumentList/DocumentList.tsx","../../src/utils/uuid.js","../../src/components/permissions/ProfilePermissionToggle.tsx","../../src/components/permissions/ProjectPermissionToggle.tsx","../../src/seller/components/documents/DocumentTypeSelect.tsx","../../src/seller/components/documents/DocumentUpload.tsx","../../src/components/SuccessScreen/SuccessScreen.tsx","../../src/seller/components/documents/DocumentUploadWizardDialog/DocumentUploadWizardNewVersion/DocumentUploadWizardNewVersion.tsx","../../src/seller/components/documents/DocumentUploadWizardDialog/DocumentUploadWizardDialog.tsx","../../src/seller/components/documents/DocumentUploadDialog/DocumentUploadDialog.tsx","../../src/seller/components/documents/DocumentZipCreateDialog/DocumentZipCreateDialog.tsx","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitDocuments.tsx","../../src/services/orders.ts","../../src/seller/components/fees/FeeEditor/FeeEditorItem.tsx","../../src/services/fees.ts","../../src/seller/components/fees/PriceCalculationDisplay/PriceCalculationDisplay.tsx","../../src/seller/components/fees/FeePreview.tsx","../../src/seller/components/fees/FeeEditor/FeeEditor.tsx","../../src/seller/components/fees/FeeEditDialog/FeeEditDialog.tsx","../../src/seller/components/fees/FeeInfoIcon/FeeInfoIcon.tsx","../../src/seller/components/fees/NoAvailableFeesAlert.tsx","../../src/seller/components/fees/FeePreviewCompact.tsx","../../src/seller/components/fees/PriceDisplay/PriceDisplay.tsx","../../src/seller/components/fees/FeeSetConnectionInfoDisplay.tsx","../../src/seller/components/project/ProjectOrderDetails/OrderLineNoteModal.tsx","../../src/seller/components/project/ProjectOrderDetails/OrderLineTab.tsx","../../src/seller/components/project/ProjectOrderDetails/ProjectOrderDetails.tsx","../../src/seller/components/orders/OrderExpand/OrderExpand.tsx","../../src/components/CheckList/CheckList.tsx","../../src/components/CheckList/CheckListItem.tsx","../../src/seller/components/orders/OrderChangeResponsibleDialog/OrderResponsibleSelection.tsx","../../src/seller/components/orders/OrderChangeResponsibleDialog/OrderResponsibleOrderSelection.tsx","../../src/seller/components/orders/OrderChangeResponsibleDialog/OrderChangeResponsibleDialog.tsx","../../src/components/StatusIndicator/OrderStatusIndicator.tsx","../../src/seller/components/orders/OrderCancelDialog/OptionOrderCancelDialog.tsx","../../src/services/profile-catalog-products.ts","../../src/seller/components/buyer-option-presets/BuyerOptionPresetSelector/BuyerOptionPresetSelector.tsx","../../src/seller/components/buyer-options/LinkedBuyerOptionList/LinkedBuyerOptionsContext.tsx","../../src/seller/components/products/ProductDisplay.tsx","../../src/seller/components/buyer-options/BuyerOptionOverrideList/BuyerOptionOverrideList.tsx","../../src/seller/components/buyer-options/BuyerOptionActionUnitSelection.tsx","../../src/services/buyer-option-batches.ts","../../src/seller/components/buyer-options/BuyerOptionApproveDialog.tsx","../../src/seller/components/buyer-options/BuyerOptionRejectDialog.tsx","../../src/seller/components/buyer-options/BuyerOptionGroupList/BuyerOptionGroupListItemDetails.tsx","../../src/seller/components/buyer-options/BuyerOptionGroupList/BuyerOptionGroupListItem.tsx","../../src/seller/components/buyer-options/BuyerOptionGroupList/BuyerOptionGroupList.tsx","../../src/seller/components/orders/OrderCancelDialog/ChangeRequestOrderCancelDialog.tsx","../../src/seller/components/orders/OrderCancelDialog/PresetOrderCancelDialog.tsx","../../src/seller/components/orders/OrderCancelDialog/index.tsx","../../src/seller/components/orders/OrderListItem.tsx","../../src/seller/components/orders/OrderList.tsx","../../src/seller/components/orders/OrderGroupListItem.tsx","../../src/seller/components/orders/OrderGroupList.tsx","../../src/seller/components/orders/OrderExportSelectSketchDialog.tsx","../../src/services/order-export.ts","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitOrders.tsx","../../src/seller/components/residential-units/ResidentialUnitBuyerOptionsDeadline/RevertToDefaultDialog.tsx","../../src/seller/components/residential-units/ResidentialUnitBuyerOptionsDeadline/MakeChoicesDialog.tsx","../../src/seller/components/residential-units/ResidentialUnitSubmitOptionsModal/BuyerOptionGroupRow/BuyerOptionGroupRow.tsx","../../src/services/residential-unit-groups.ts","../../src/seller/components/residential-units/ResidentialUnitSubmitOptionsModal/ResidentialUnitSubmitOptionsOverview.tsx","../../src/seller/components/residential-units/ResidentialUnitSubmitOptionsModal/ResidentialUnitSubmitOptionsVerify.tsx","../../src/seller/components/residential-units/ResidentialUnitSubmitOptionsModal/ResidentialUnitSubmitOptionsModal.tsx","../../src/components/DatePicker/DatePicker.tsx","../../src/seller/components/deadline/DeadlineEditDialog.tsx","../../src/seller/components/buyer-options/Dependencies/Dependencies.util.ts","../../src/seller/components/residential-units/ResidentialUnitBuyerOptionsDeadline/ResidentialUnitBuyerOptionsDeadline.tsx","../../src/services/dependencies.ts","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitBuyerOptions.tsx","../../src/seller/components/change-requests/ChangeRequestParticipantSelectList.tsx","../../src/components/dialogs/ConfirmDeleteDialog.tsx","../../src/components/dialogs/PromptDialog.jsx","../../src/components/dialogs/RejectDialog.tsx","../../src/components/dialogs/ConfirmDialog.tsx","../../src/seller/components/change-requests/ChangeRequestParticipantsDialog.tsx","../../src/seller/components/change-requests/ChangeRequestDetails/ChangeRequestDetailsRequestTab.tsx","../../src/seller/components/change-requests/ChangeRequestParticipantOfferLines/ChangeRequestParticipantOfferLines.tsx","../../src/seller/components/change-requests/ChangeRequestParticipantList/ChangeRequestParticipantListItem.tsx","../../src/seller/components/change-requests/ChangeRequestParticipantList/ChangeRequestParticipantList.tsx","../../src/components/item-categories/ItemCategorySelect.tsx","../../src/seller/components/PriceRow/PriceRowEditor.tsx","../../src/seller/components/PriceRow/PriceRowEditorTotal.tsx","../../src/seller/components/PriceRow/PriceRowEditorFooter.tsx","../../src/seller/components/change-requests/ChangeRequestParticipantOfferDialog.tsx","../../src/seller/components/change-requests/ChangeRequestOverrideOptionSelect/ChangeRequestOverrideOptionSelect.tsx","../../src/components/PromiseCheckList/PromiseCheckList.tsx","../../src/components/PromiseCheckList/PromiseCheckListItem.tsx","../../src/components/PromiseCheckList/index.ts","../../src/seller/components/change-requests/ChangeRequestSendDialog/ChangeRequestSendDialog.tsx","../../src/seller/components/change-requests/ChangeRequestRetractOfferDialog.tsx","../../src/seller/components/change-requests/ChangeRequestCloseDialog.tsx","../../src/seller/components/buyer-offers/BuyerOfferAttachmentList.tsx","../../src/seller/components/buyer-offers/BuyerOfferLineGroupDisplay.tsx","../../src/seller/components/buyer-offers/BuyerOfferDisplay.tsx","../../src/seller/components/buyer-offers/BuyerOfferList.tsx","../../src/seller/components/change-requests/ChangeRequestOfferHistoryDialog.tsx","../../src/seller/components/change-requests/ChangeRequestRequestNewOffersDialog.tsx","../../src/seller/components/change-requests/ChangeRequestDetails/ChangeRequestDetailsTotalRow/ChangeRequestDetailsTotalRow.tsx","../../src/seller/components/change-requests/ChangeRequestParticipantChangeModal.tsx","../../src/seller/components/change-requests/ChangeRequestDetails/ChangeRequestDetailsOfferTab.tsx","../../src/seller/components/change-requests/ChangeRequestDetails/ChangeRequestDetailsCommentTab.tsx","../../src/seller/components/change-requests/ChangeRequestOverrideOptionDialog/ChangeRequestOverrideOptionDialog.tsx","../../src/seller/components/change-requests/ChangeRequestDetails/ChangeRequestDetailsOverridesTab.tsx","../../src/seller/components/change-requests/ChangeRequestDetails/ChangeRequestDetailsHistoryLog.tsx","../../src/services/external-agreements.tsx","../../src/seller/components/change-requests/ChangeRequestDetails/ChangeRequestDetails.tsx","../../src/seller/components/change-requests/ChangeRequestDetails/index.ts","../../src/seller/components/change-requests/ChangeRequestSplitDialog/ChangeRequestSplitDialog.tsx","../../src/seller/components/change-requests/ChangeRequestList/ChangeRequestListItem.tsx","../../src/seller/components/change-requests/ChangeRequestList/ChangeRequestList.tsx","../../src/seller/components/change-requests/ChangeRequestMergeDialog/ChangeRequestMergeWizardStepEdit.tsx","../../src/seller/components/change-requests/ChangeRequestMergeDialog/ChangeRequestMergeWizardStepSelection.tsx","../../src/seller/components/change-requests/ChangeRequestMergeDialog/ChangeRequestMergeDialog.tsx","../../src/components/ScrollPagination/ButtonPagination.tsx","../../src/components/ScrollPagination/index.ts","../../src/seller/components/residential-units/ResidentialUnitGrouping/ResidentialUnitGrouping.tsx","../../src/seller/components/residential-units/ResidentialUnitGrouping/ResidentialUnitGroupingHeader.tsx","../../src/seller/components/UnitDropdown/UnitDropdown.tsx","../../src/seller/components/change-requests/ChangeRequestFilter/ChangeRequestFilter.tsx","../../src/seller/components/change-requests/ChangeRequestFilter/index.ts","../../src/seller/components/change-requests/ChangeRequestFilterableList.tsx","../../src/seller/components/change-requests/ChangeRequestCreateDialog/ChangeRequestCreateDialog.tsx","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitChangeRequests.tsx","../../src/seller/components/residential-units/BuyerInviteResendDialog.tsx","../../src/seller/components/residential-units/ResidentialUnitInviteBuyerDialog.tsx","../../src/seller/components/residential-units/BuyerProfileInfoDialog.tsx","../../src/seller/components/residential-units/ResidentialUnitBuyerInfo/ResidentialUnitBuyerInfo.tsx","../../src/services/extra-costs.ts","../../src/seller/components/extra-costs/ExtraCostRow.tsx","../../src/seller/components/extra-costs/ExtraCostsDialog.tsx","../../src/seller/components/residential-units/ResidentialUnitInfoDialog.tsx","../../src/components/forms/MandatoryIndicator/MandatoryIndicator.tsx","../../src/seller/components/residential-units/ResidentialUnitEdit/ResidentialUnitEditUnit.tsx","../../src/components/SimpleBuyerOptionGroup/SimpleBuyerOptionGroup.tsx","../../src/seller/components/residential-units/ResidentialUnitEdit/ResidentialUnitEditPricingFieldsConfirm.tsx","../../src/seller/components/residential-units/ResidentialUnitEdit/ResidentialUnitEditTagsConfirm.tsx","../../src/seller/components/residential-units/ResidentialUnitEdit/ResidentialUnitEditPricingFieldsOrders.tsx","../../src/seller/components/residential-units/ResidentialUnitEdit/ResidentialUnitTagsOrders.tsx","../../src/seller/components/residential-units/ResidentialUnitEdit/ResidentialUnitEdit.tsx","../../src/seller/components/residential-units/ResidentialUnitContextMenu.tsx","../../src/seller/components/external-agreements/ExternalAgreementRejectDialog.tsx","../../src/seller/components/external-agreements/ExternalAgreementApproveWizard/ExternalAgreementApproveWizardChangeRequest.tsx","../../src/seller/components/external-agreements/ExternalAgreementApproveWizard/ExternalAgreementApproveWizardParticipants.tsx","../../src/seller/components/external-agreements/ExternalAgreementApproveWizard/ExternalAgreementApproveWizardOverrideOptions.tsx","../../src/seller/components/external-agreements/ExternalAgreementApproveWizard/ExternalAgreementApproveWizardOffer.tsx","../../src/seller/components/external-agreements/ExternalAgreementApproveWizard/ExternalAgreementApproveWizardSummary.tsx","../../src/seller/components/external-agreements/ExternalAgreementApproveWizard/ExternalAgreementApproveWizard.tsx","../../src/seller/components/external-agreements/ExternalAgreementApproveDialog.tsx","../../src/seller/components/external-agreements/ExternalAgreementEdit/ExternalAgreementEditPriceDialog.tsx","../../src/seller/components/external-agreements/ExternalAgreementEdit/ExternalAgreementEditParticipantsDialog.tsx","../../src/seller/components/external-agreements/ExternalAgreementDetails/ExternalAgreementDetails.tsx","../../src/seller/components/external-agreements/ExternalAgreementList/ExternalAgreementListItem.tsx","../../src/seller/components/external-agreements/ExternalAgreementList/ExternalAgreementList.tsx","../../src/seller/components/external-agreements/ExternalAgreementCreateWizard/ExternalAgreementCreateWizardStepMain.tsx","../../src/seller/components/external-agreements/ExternalAgreementCreateWizard/ExternalAgreementCreateWizardStepPrice.tsx","../../src/seller/components/external-agreements/ExternalAgreementCreateWizard/ExternalAgreementCreateWizardStepParticipants.tsx","../../src/seller/components/external-agreements/ExternalAgreementCreateWizard/ExternalAgreementCreateWizard.tsx","../../src/seller/components/external-agreements/CreateExternalAgreementDialog.tsx","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitExternalAgreements.tsx","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitDetailsQuickNav.tsx","../../src/seller/components/residential-units/ResidentialUnitDeadlineList/ResidentialUnitDeadlineList.tsx","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitDashboard/ResidentialUnitDashboardChangeRequests.tsx","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitDashboard/ResidentialUnitDashboardInfo.tsx","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitDashboard/ResidentialUnitDashboard.tsx","../../src/seller/components/comments/SendResidentialUnitMessageModal/SendResidentialUnitMessageModal.tsx","../../src/seller/components/comments/CommentsFilterable.tsx","../../src/components/Filter/SingleFilterDropDown.tsx","../../src/seller/components/HistoryLog/HistoryLogActions.ts","../../src/seller/components/HistoryLog/HistoryLogObjectType.ts","../../src/seller/components/HistoryLog/HistoryLogFilterPopOut.tsx","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitHistoryLog.tsx","../../src/seller/components/residential-units/ResidentialUnitDetails/ResidentialUnitDetails.tsx","../../src/components/RouterPrompt/RouterPrompt.tsx","../../src/seller/components/residential-units/ResidentialUnitImport/ResidentialUnitImportChangesModal.tsx","../../src/seller/components/residential-units/ResidentialUnitImport/ResidentialUnitImport.tsx","../../src/components/Autocomplete/ProfileAutocomplete.tsx","../../src/components/Autocomplete/CatalogProductAutocomplete.tsx","../../src/components/Autocomplete/ProjectCatalogProductAutocomplete.tsx","../../src/components/Autocomplete/ProfileUsersAutocomplete.tsx","../../src/seller/components/buyer-options/LinkedBuyerOptionList/LinkedBuyerOptionAddOptionDialog.tsx","../../src/seller/components/buyer-options/BuyerOptionGroupLinkDialog.tsx","../../src/seller/components/buyer-options/BuyerOptionGroupUnlinkDialog.tsx","../../src/seller/components/buyer-options/LinkedBuyerOptionList/LinkedBuyerOptionUnpublishDialog.tsx","../../src/seller/components/buyer-options/LinkedBuyerOptionList/LinkedBuyerOptionEditOptionDialog.tsx","../../src/seller/components/buyer-options/LinkedBuyerOptionList/EditableLinkedBuyerOption.tsx","../../src/seller/components/buyer-options/LinkedBuyerOptionList/LinkedBuyerOptionListItemDetails.tsx","../../src/seller/components/catalog-groups/LinkToUnit/LinkToUnitCompanyProfile.tsx","../../src/seller/components/project/ProjectSettings/ProjectDeadlineSelect.tsx","../../src/seller/components/buyer-options/LinkedBuyerOptionList/LinkedBuyerOptionEditDialog.tsx","../../src/seller/components/catalog-groups/LinkToUnit/LinkToUnitPriceModifier.tsx","../../src/seller/components/buyer-options/BuyerOptionGroupDuplicateDialog.tsx","../../src/seller/components/buyer-options/LinkedBuyerOptionList/LinkedBuyerOptionListItem.tsx","../../src/seller/components/buyer-options/LinkedBuyerOptionList/LinkedBuyerOptionList.tsx","../../src/seller/components/buyer-options/BuyerOptionsFilter.tsx","../../src/services/buyer-option-preset-groups.ts","../../src/seller/components/catalog/CatalogFilter.tsx","../../src/seller/components/buyer-options/BuyerOptionsFilterableList.tsx","../../src/seller/components/project-catalog/ProjectCatalogProductList.tsx","../../src/components/SuggestInput.tsx","../../src/seller/components/products/edit-product-wizard/EditProductWizardStepMain.tsx","../../src/seller/components/products/edit-product-wizard/EditProductWizardStepInfo.tsx","../../src/seller/components/products/ProductImageUploadBox.tsx","../../src/seller/components/products/edit-product-wizard/EditProductWizardStepImages.tsx","../../src/seller/components/products/edit-product-wizard/EditProductWizardStepPaintInfo.tsx","../../src/seller/components/products/edit-product-wizard/EditProductWizard.tsx","../../src/seller/components/project-catalog/ProjectCatalogProductEditDialog.tsx","../../src/seller/components/project-catalog/ProjectCatalogImportDialog/ProjectCatalogImportList.tsx","../../src/seller/components/project-catalog/ProjectCatalogImportDialog/ProjectCatalogImportDialog.tsx","../../src/seller/components/project-catalog/ProjectCatalogProducts.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetCard/BuyerOptionPresetCardImages.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetCard/BuyerOptionPresetCardEdit.tsx","../../src/components/ReorderableList/SortableHelpers.tsx","../../src/components/ReorderableList/ReorderableList.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetReorderDialog/BuyerOptionPresetReorderDialog.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetGroupEditDialog/BuyerOptionPresetGroupEditDialog.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetItemEditDialog/BuyerOptionPresetItemEditDialog.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetCard/BuyerOptionPresetCardOptions.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetCard/BuyerOptionPresetCardDetails.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetCard/BuyerOptionPresetCard.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetGroupCard/BuyerOptionPresetGroupCard.tsx","../../src/seller/components/buyer-option-presets/BuyerOptionPresetsPage.tsx","../../src/seller/components/buyer-options/Dependencies/DependenciesEdit/DependencyBox.tsx","../../src/seller/components/buyer-options/Dependencies/DependenciesEdit/DependenciesEdit.tsx","../../src/seller/components/buyer-options/Dependencies/DependenciesList/LinkGroupUnitsTooltip.tsx","../../src/seller/components/buyer-options/Dependencies/DependenciesList/DependenciesList.tsx","../../src/seller/components/buyer-options/Dependencies/DependenciesRouting.tsx","../../src/seller/components/buyer-options/BuyerOptionsPage.tsx","../../src/seller/components/change-requests/ProjectChangeRequestsIncomplete.tsx","../../src/seller/components/change-requests/ChangeRequestOverview/ChangeRequestOverviewUnitItem/ChangeRequestOverviewUnitItem.tsx","../../src/seller/components/change-requests/ChangeRequestOverview/ChangeRequestOverviewContractorItem/ChangeRequestOverviewContractorItem.tsx","../../src/seller/components/change-requests/ChangeRequestOverview/ChangeRequestOverview.tsx","../../src/seller/components/change-requests/ChangeRequestMessagesList.tsx","../../src/seller/components/change-requests/ChangeRequestsPage.tsx","../../src/seller/components/comments/CommentsPage.tsx","../../src/seller/components/comments/ProjectCommentThreadMobile.tsx","../../src/seller/components/comments/ResidentialUnitCommentThreadMobile.tsx","../../src/seller/components/documents/DocumentsFilter/DocumentsFilter.tsx","../../src/seller/components/documents/ProjectDocuments.tsx","../../src/seller/components/documents/UnitDocumentFilterableList.tsx","../../src/seller/components/documents/UnitDocuments.tsx","../../src/seller/components/documents/DocumentsPage.tsx","../../src/seller/components/external-agreements/ExternalAgreementFilter/ExternalAgreementFilter.tsx","../../src/seller/components/external-agreements/ExternalAgreementFilter/index.ts","../../src/seller/components/external-agreements/ExternalAgreementsFilterableList.tsx","../../src/seller/components/external-agreements/ExternalAgreementsPage.tsx","../../src/components/Pagination/Pagination.tsx","../../src/components/Pagination/index.ts","../../src/seller/components/Meetings/ExternalMeetings/Meeting.tsx","../../src/seller/components/Meetings/ExternalMeetings/MeetingsExternal.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingLetter/DialogModals/DateChangeDialog/DateChangeDialog.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingLetter/DialogModals/ReminderDialog/ReminderDialog.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingLetter/MeetingApartments/MeetingBottomBar.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingLetter/MeetingApartments/MeetingApartments.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingLetter/MeetingLetterSetup/MeetingLetterSetup.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingLetter/DialogModals/UnitsDialog/UnitsDialog.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingLetter/MeetingLetterText/MeetingLetterText.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingsFilter/MeetingsFilter.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingsFilter/index.ts","../../src/seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingOverview.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingTypes/ToggleNumberInput.tsx","../../src/seller/components/Meetings/InternalMeetings/MeetingTypes/MeetingTypes.tsx","../../src/seller/components/Meetings/Meetings.tsx","../../src/seller/components/orders/OrderRejectDialog.tsx","../../src/seller/components/project/ProjectOrderDetails/ApproveRejectButtons.tsx","../../src/seller/components/orders/OrderDetails/OrderDetails.tsx","../../src/seller/components/orders/OrderDetailsPage/OrderDetailsPage.tsx","../../src/seller/components/orders/OrderFilters/FilterDate.tsx","../../src/seller/components/orders/OrderFilters/OrderFilters.tsx","../../src/seller/components/orders/OrderFilters/index.ts","../../src/seller/components/orders/OrderExport/ExportColumnSelection.tsx","../../src/seller/components/orders/OrderExport/RoomFormExportConfiguration.tsx","../../src/seller/components/orders/OrderExport/SimpleExportConfiguration.tsx","../../src/seller/components/orders/OrderExport/InvoiceExportConfiguration.tsx","../../src/seller/components/orders/OrderExport/RoomFormByUnitExportConfiguration.tsx","../../src/seller/components/orders/OrderExport/OrderExportTypes.tsx","../../src/seller/components/orders/OrderExport/OrderExportModal.tsx","../../src/seller/components/orders/OrdersFilterableList.tsx","../../src/seller/components/orders/OrdersPage.tsx","../../src/seller/components/project-catalog/ProjectCatalog.tsx","../../src/components/MilestoneTimeline/MilestoneStep.tsx","../../src/components/MilestoneTimeline/MilestoneTimeline.tsx","../../src/seller/components/project/LandingPageSetup/LandingPageSetupMilestones/LandingPageSetupMilestones.tsx","../../src/seller/components/project/LandingPageSetup/LandingPageSetupImages/LandingPageSetupImagesModal.tsx","../../src/seller/components/project/LandingPageSetup/LandingPageSetupImages/LandingPageSetupImages.tsx","../../src/services/construction-phase.ts","../../src/seller/components/project/LandingPageSetup/LandingPageSetupMessagesWrapper.tsx","../../src/seller/components/project/LandingPageSetup/LandingPageSetup.tsx","../../src/seller/components/project-dashboard/ProjectDashboard.tsx","../../src/seller/components/project/ProjectHistoryLog/ProjectHistoryLog.tsx","../../src/seller/components/project/ProjectIntegrations/BokameraIntegration/BokameraIntegrationStatus.tsx","../../src/seller/components/project/ProjectIntegrations/BokameraIntegration/BokameraIntegrationServiceList.tsx","../../src/seller/components/project/ProjectIntegrations/BokameraIntegration/BookameraIntegration.tsx","../../src/seller/components/project/ProjectIntegrations/ProjectIntegrations.tsx","../../src/seller/components/project/ProjectMessageThread/ProjectMessageThread.tsx","../../src/services/currencies.ts","../../src/seller/components/project/ProjectSettings/ProjectSettingsGeneral.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsPricingFields/ProjectSettingsPricingFields.tsx","../../src/seller/components/project/ProjectSettings/SettingsSection/SettingsSection.tsx","../../src/seller/components/project/ProjectSettings/SettingsSection/SettingsSectionContent.tsx","../../src/seller/components/project/ProjectSettings/SettingsSection/SettingsSectionList.tsx","../../src/seller/components/project/ProjectSettings/SettingsSection/SettingsSectionListItem.tsx","../../src/seller/components/project/ProjectSettings/SettingsSection/SettingsSectionListAddButton.tsx","../../src/seller/components/project/ProjectSettings/SettingsSection/index.ts","../../src/seller/components/project/ProjectSettings/ProjectSettingsFeatures/ProjectSettingsFeatures.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsFees/ProjectFeeOverrideSettingsDialog.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsFees/ProjectFeeCreateDialog.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsFees/ProjectSettingsFees.tsx","../../src/components/TermsModal/TermsModal.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsTerms/ProjectSettingsTerms.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsDeadlineAlerts/ProjectSettingsDeadlineAlerts.tsx","../../src/components/Tags/EditTags.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsTags/ProjectSettingsTags.tsx","../../src/services/deadlines.ts","../../src/seller/components/project/ProjectSettings/ProjectSettingsComplexDeadlines/ProjectSettingsComplexDeadlinesTable.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsComplexDeadlines/ProjectSettingsComplexDeadlines.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsDeadlines/DeadlineForm.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsDeadlines/ProjectSettingsDeadlines.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettingsBuildingSteps/ProjectSettingsConstructionPhases.tsx","../../src/seller/components/project/ProjectSettings/ProjectSettings.tsx","../../src/seller/components/project/ProjectSurvey/ProjectSurvey.tsx","../../src/seller/components/project/ProjectWhiteLabelSettings/WhiteLabelSettings.tsx","../../src/components/generic-controls/CheckboxTableCell.tsx","../../src/seller/components/project/UserManagement/PermissionsMatrixView.tsx","../../src/seller/components/project/UserManagement/UserPermissionsView.tsx","../../src/seller/components/project/UserManagement/RemoveProjectMemberDialog/RemoveProjectMemberDialog.tsx","../../src/seller/components/project/UserManagement/ProjectMemberPermissionsList.tsx","../../src/components/permissions/CategoryPermissionsMatrixEditor.tsx","../../src/seller/components/project/UserManagement/ProjectFeeSetPermissionsEditor.tsx","../../src/seller/components/project/UserManagement/ProjectPermissionsEditor.tsx","../../src/seller/components/project/UserManagement/ProjectPermissionsEditDialog.tsx","../../src/seller/components/project/ProjectInvite/ProjectInviteIntro.tsx","../../src/seller/components/project/UserManagement/SelectCompanyMenu.tsx","../../src/seller/components/project/UserManagement/ProjectUserManagement.tsx","../../src/seller/components/project/ProjectDetails.tsx","../../src/seller/components/project/ProjectInvite/ProjectInviteExternalEmailInput.tsx","../../src/seller/components/project/ProjectInvite/ProjectInviteWrapper.tsx","../../src/seller/components/project/ProjectInvite/ProjectInviteExternal.tsx","../../src/seller/components/project/ProjectInvite/ProjectInviteInternal.tsx","../../src/seller/components/residential-units/ResidentialListItemBuyerSection/ResidentialListItemBuyerSection.tsx","../../src/seller/components/residential-units/ResidentialUnitList/ResidentialUnitListItem/ResidentialUnitListItem.tsx","../../src/seller/components/residential-units/ResidentialUnitList/ResidentialExpandedListItem/ResidentialExpandedListItem.tsx","../../src/seller/components/residential-units/ResidentialUnitList/ResidentialUnitList.tsx","../../src/seller/components/residential-units/ResidentialUnitList/index.ts","../../src/seller/components/residential-units/ResidentialUnitGroupEditDialog.tsx","../../src/seller/components/residential-units/ResidentialUnitsFilter/index.ts","../../src/seller/components/residential-units/ResidentialUnitsFilter/ResidentialUnitsFilter.tsx","../../src/seller/components/project/ProjectResidentialUnits/index.ts","../../src/seller/components/project/ProjectResidentialUnits/ResidentialUnitsGrouped.tsx","../../src/seller/components/project/ProjectResidentialUnits/ResidentialUnitsSorted.tsx","../../src/seller/components/project/ProjectResidentialUnits/ProjectResidentialUnits.tsx","../../src/seller/components/project/ProjectRouting.tsx","../../src/server-events/SellerSession.ts","../../src/seller/SellerListener.tsx","../../src/seller/components/SellerSidebar/SellerSidebarReportsPreview.tsx","../../src/services/project-member.ts","../../src/seller/components/SellerSidebar/SellerSidebarCustomerSurveyPreview.tsx","../../src/seller/components/SellerSidebar/AddButton.tsx","../../src/seller/components/SellerSidebar/SellerSidebar.tsx","../../src/services/profile-catalog-groups.ts","../../src/seller/components/catalog-groups/LinkToUnit/LinkToUnitChooseProject.tsx","../../src/seller/components/catalog-groups/LinkToUnit/LinkToUnitProducts.tsx","../../src/seller/components/catalog-groups/LinkToUnit/LinkToUnitFinishModal.tsx","../../src/seller/components/catalog-groups/LinkToUnit/LinkToUnitName.tsx","../../src/seller/components/catalog-groups/LinkToUnit/LinkToUnitPriceFeeSet.tsx","../../src/seller/components/catalog-groups/LinkToUnit/LinkToUnit.tsx","../../src/seller/components/catalog-products/CatalogProductList.tsx","../../src/seller/components/catalog-products/CatalogProductEditDialog.tsx","../../src/seller/components/catalog-groups/CatalogGroupEditDialog.tsx","../../src/seller/components/catalog/CatalogProducts.tsx","../../src/seller/components/catalog-groups/CatalogGroupListItemDetails.tsx","../../src/seller/components/products/ProductSearch.tsx","../../src/seller/components/catalog-groups/CatalogGroupAddProductDialog.tsx","../../src/seller/components/catalog-groups/CatalogGroupListItem.tsx","../../src/seller/components/catalog-groups/CatalogGroupList.tsx","../../src/seller/components/catalog/CatalogGroups.tsx","../../src/seller/components/catalog/Catalog.tsx","../../src/services/standard-replies.ts","../../src/seller/components/profiles/StandardReplies/EditStandardReplyModal.tsx","../../src/seller/components/profiles/StandardReplies/StandardRepliesEmpty.tsx","../../src/components/SearchInput/SearchInput.tsx","../../src/seller/components/profiles/StandardReplies/DeleteStandardReplyModal.tsx","../../src/seller/components/profiles/StandardReplies/StandardReplyCard.tsx","../../src/services/search.ts","../../src/seller/components/profiles/StandardReplies/StandardRepliesPage.tsx","../../src/services/analytics.ts","../../src/seller/components/profiles/Analytics/AnalyticsSettings.tsx","../../src/seller/components/profiles/SurveySetup/SurveySetup.tsx","../../src/seller/components/profiles/ProfileEdit.tsx","../../src/seller/components/project/CreateProject.tsx","../../src/seller/components/documents/ZipFileDownload/ZipFileDownload.tsx","../../src/components/Reporting/LazyReport.tsx","../../src/seller/components/reports/SellerReportsPage.tsx","../../src/seller/SellerRouting.tsx","../../src/components/app/ProfileRouting.tsx","../../src/services/user-invitations.jsx","../../src/components/application-user/RegisterFormEmailWrapper.tsx","../../src/components/application-user/UserPageSelect.tsx","../../src/components/application-user/RegisterForm.tsx","../../src/components/application-user/InvitationDetailsBuyerOrProfile.tsx","../../src/components/application-user/InvitationDetailsProject.tsx","../../src/components/application-user/InvitationDetails.tsx","../../src/components/app/ProfileSwitcher.tsx","../../src/components/app/BuyerImpersonation.tsx","../../src/components/app/ExternalLinkRouting/ExternalLinkMeetings.tsx","../../src/components/app/ExternalLinkRouting/ExternalLinkTasksRouting.tsx","../../src/components/app/ExternalLinkRouting/ExternalLinksRoutingChangeRequest.tsx","../../src/components/app/ExternalLinkRouting/ExternalLinksRoutingChangeRequestOffer.tsx","../../src/components/app/ExternalLinkRouting/ExternalLinksRoutingChat.tsx","../../src/components/app/ExternalLinkRouting/ExternalLinksRouting.tsx","../../src/components/application-user/ExternalUser/ExternalUserRequest.tsx","../../src/components/application-user/ExternalUser/ExternalUserValidate.tsx","../../src/components/application-user/ConfirmMeeting.tsx","../../src/components/app/MainRouting.tsx","../../src/services/terms.ts","../../src/components/TermsModal/TermsModalWrapper.tsx","../../src/components/app/WindowListener.tsx","../../src/state/seller/document-types/actions.ts","../../src/state/seller/document-types/creator.ts","../../src/components/app/ScrollToTop.tsx","../../src/components/layout/Header/PageTitleContainer.tsx","../../src/components/layout/Header/HeaderSearch/HeaderSearch.tsx","../../src/components/layout/Header/HeaderProfileThumbnail.tsx","../../src/components/layout/Header/HeaderProfileMenu.tsx","../../src/components/layout/Header/HeaderUserMenu.tsx","../../src/components/layout/Header/HeaderLanguageMenu.tsx","../../src/server-events/NotificationsSession.ts","../../src/components/layout/Header/HeaderNotificationsButton/HeaderNotificationsIcon.tsx","../../src/components/Icons/BackendIcon.tsx","../../src/components/notifications/NotificationRow/DeprecatedNotificationContent.tsx","../../src/components/notifications/NotificationRow/NotificationRow.tsx","../../src/components/layout/Header/HeaderNotificationsButton/HeaderNotificationsMenu.tsx","../../src/components/layout/Header/HeaderNotificationsButton/HeaderNotificationsButton.tsx","../../src/globals.ts","../../src/components/layout/Header/HelpkitButton.tsx","../../src/components/layout/Header/Header.tsx","../../src/components/layout/Content/Content.tsx","../../src/state/notifications/actions.ts","../../src/components/notifications/NotificationListener.ts","../../src/components/Comments/CommentListItemViews/CommentListEventItem.tsx","../../src/components/Comments/CommentListItemViews/CommentListEventBuyerAcceptedInvitation.tsx","../../src/components/Comments/CommentListItemViews/CommentListEventBuyerRemoved.tsx","../../src/components/Comments/CommentListItemViews/CommentListEventItemChangeRequest.tsx","../../src/components/Comments/CommentListItemViews/CommentListEventItemOffer.tsx","../../src/components/Comments/CommentListItemViews/CommentListEventChangeRequestEdited.tsx","../../src/components/Comments/CommentListItemViews/index.tsx","../../src/seller/components/data-tooltips/ChangeRequestTooltip.tsx","../../src/components/layout/Header/HeaderContextProvider.tsx","../../src/components/app/LocalizationForwarder.tsx","../../src/components/app/Contexts.tsx","../../src/components/app/App.tsx","../../src/utils/buildVersionMonitoring.tsx","../../src/index.tsx"],"sourcesContent":["import 'react-app-polyfill/ie11'; //This must be here for IE11 to not crash before the unsupported message.\r\nimport 'core-js/stable';\r\nimport 'regenerator-runtime/runtime';\r\n\r\nif (!HTMLCanvasElement.prototype.toBlob) {\r\n Object.defineProperty(HTMLCanvasElement.prototype, 'toBlob', {\r\n value: function(callback, type, quality) {\r\n var canvas = this;\r\n setTimeout(function() {\r\n var binStr = atob(canvas.toDataURL(type, quality).split(',')[1]),\r\n len = binStr.length,\r\n arr = new Uint8Array(len);\r\n\r\n for (var i = 0; i < len; i++) {\r\n arr[i] = binStr.charCodeAt(i);\r\n }\r\n\r\n callback(new Blob([arr], { type: type || 'image/png' }));\r\n });\r\n },\r\n });\r\n}\r\n\r\n//polyfill from: https://developer.mozilla.org/en-US/docs/Web/API/ChildNode/remove\r\n(function(arr) {\r\n arr.forEach(function(item) {\r\n if (item.hasOwnProperty('remove')) {\r\n return;\r\n }\r\n Object.defineProperty(item, 'remove', {\r\n configurable: true,\r\n enumerable: true,\r\n writable: true,\r\n value: function remove() {\r\n if (this.parentNode === null) {\r\n return;\r\n }\r\n this.parentNode.removeChild(this);\r\n },\r\n });\r\n });\r\n})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);\r\n ","import { LocationDescriptorObject } from 'history';\r\n\r\nexport function parseQueryString(queryString: string): any {\r\n const obj = {};\r\n\r\n if (!queryString) {\r\n return {};\r\n }\r\n\r\n if (queryString.charAt(0) === '?') {\r\n queryString = queryString.substring(1);\r\n }\r\n\r\n queryString.split('&').forEach((part) => {\r\n const parts = part.split('=');\r\n const key = decodeURIComponent(parts[0]);\r\n const value = decodeURIComponent(parts[1]);\r\n\r\n if (key in obj) {\r\n if (!Array.isArray(obj[key])) {\r\n obj[key] = [obj[key]];\r\n }\r\n\r\n obj[key].push(value);\r\n } else {\r\n obj[key] = value;\r\n }\r\n });\r\n\r\n return obj;\r\n}\r\n\r\n/**\r\n * Generates the url **after** the \"?\"\r\n */\r\nexport function getFilterQueryString(object: Partial) {\r\n return toQueryString(object as Object, { excludeEmptyArrays: true, excludeEmptyStrings: true });\r\n}\r\n\r\ninterface ToQueryStringOptions {\r\n excludeEmptyArrays: boolean;\r\n excludeEmptyStrings: boolean;\r\n}\r\nexport function toQueryString(\r\n obj: object,\r\n options: ToQueryStringOptions = {\r\n excludeEmptyArrays: false,\r\n excludeEmptyStrings: false,\r\n }\r\n): string {\r\n var parts: string[] = [];\r\n\r\n Object.keys(obj).forEach((key) => {\r\n const value = obj[key];\r\n const encodedKey = encodeURIComponent(key);\r\n\r\n if (value === null || value === undefined) {\r\n return;\r\n }\r\n if (value === '' && options.excludeEmptyStrings) {\r\n return;\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n const arrayValue = Array.from(value);\r\n\r\n if (arrayValue.length === 0) {\r\n if (!options.excludeEmptyArrays) {\r\n parts.push(encodedKey + '=');\r\n }\r\n return;\r\n }\r\n\r\n arrayValue.forEach((item) => {\r\n parts.push(encodedKey + '=' + encodeURIComponent(item));\r\n });\r\n } else {\r\n parts.push(encodedKey + '=' + encodeURIComponent(value));\r\n }\r\n });\r\n\r\n return parts.join('&');\r\n}\r\n\r\nexport function urlCombine(...parts: string[]) {\r\n return parts.map((x) => x.replace(/^\\/*(.*?)\\/*$/, '$1')).join('/');\r\n}\r\n\r\nexport function cacheBustParam(): string {\r\n return `__=${+new Date()}`;\r\n}\r\n\r\nexport function getRelativePath(location: LocationDescriptorObject): string {\r\n let url = location.pathname || '/';\r\n if (url && location.search) {\r\n url += location.search;\r\n }\r\n return url;\r\n}\r\n\r\nexport function urlHasProtocol(url: string) {\r\n return /^(https?:)?\\/\\//.test(url);\r\n}\r\n\r\nexport function ensureSafeReturnUrl(url: string) {\r\n // url.replace(/\\/+/gi, '/');\r\n\r\n if (!url) {\r\n return '';\r\n }\r\n\r\n return urlHasProtocol(url) ? '' : url;\r\n}\r\nexport function replaceUrlNumberIds(url: string) {\r\n return url.replace(/\\/[0-9]+\\//g, '/ID/');\r\n}\r\n\r\nexport function validateSubdomain(subdomain: string) {\r\n return /^[a-zA-Z0-9-]*$/.test(subdomain);\r\n}\r\n\r\ninterface UrlParts {\r\n path: string;\r\n search?: string;\r\n hash?: string;\r\n}\r\n\r\nfunction ensurePrefix(prefix: string, s: string) {\r\n if (!s.startsWith(prefix)) {\r\n return prefix + s;\r\n }\r\n\r\n return s;\r\n}\r\n\r\nexport function buildUrl(parts: UrlParts) {\r\n let result = parts.path;\r\n\r\n if (parts.search) {\r\n result += ensurePrefix('?', parts.search);\r\n }\r\n\r\n if (parts.hash) {\r\n result += ensurePrefix('#', parts.hash);\r\n }\r\n\r\n return result;\r\n}","import { isPlainObject } from 'lodash-es';\r\n\r\nexport function isPromise(obj: any): boolean {\r\n return obj != null && typeof obj.then === 'function';\r\n}\r\n\r\nexport function deepTraverse(obj: any, func: (item: any) => void) {\r\n var visitedMap = new Map();\r\n visit(obj, func, visitedMap);\r\n}\r\n\r\nfunction visit(item: any, func: (item: any) => void, visitedMap: Map) {\r\n const itemIsArray = Array.isArray(item);\r\n const itemIsObject = isPlainObject(item);\r\n\r\n if (itemIsArray || itemIsObject) {\r\n if (visitedMap.get(item)) {\r\n return;\r\n }\r\n\r\n visitedMap.set(item, true);\r\n }\r\n\r\n func(item);\r\n\r\n if (itemIsArray) {\r\n for (var i = 0; i < item.length; i++) {\r\n visit(item[i], func, visitedMap);\r\n }\r\n } else if (itemIsObject) {\r\n Object.keys(item).forEach((key) => {\r\n visit(item[key], func, visitedMap);\r\n });\r\n }\r\n}","import { CultureInfo } from 'utils/localization';\r\nimport { Profile, Project, User, ItemCategory, ProfileInfo, FrontEndConfiguration, ProjectTerms } from 'types';\r\n\r\nexport interface IGlobalReducer {\r\n readonly user: User | null;\r\n readonly activeProfile: Profile | null;\r\n readonly activeProject: Project | null;\r\n readonly itemCategories: ItemCategory[];\r\n readonly currentCulture: CultureInfo | null;\r\n readonly profiles: ProfileInfo[] | null;\r\n readonly windowWidth: number;\r\n readonly configuration: FrontEndConfiguration | null;\r\n readonly canScroll: boolean;\r\n readonly terms: ProjectTerms | null;\r\n}\r\n\r\nconst initialState: IGlobalReducer = {\r\n user: null,\r\n profiles: null,\r\n activeProfile: null,\r\n activeProject: null,\r\n itemCategories: [],\r\n currentCulture: null,\r\n windowWidth: window.innerWidth,\r\n configuration: null,\r\n canScroll: true,\r\n terms: null,\r\n};\r\n\r\nconst global = (state = initialState, action): IGlobalReducer => {\r\n switch (action.type) {\r\n case 'SET_GLOBAL_USER':\r\n return { ...state, user: action.data };\r\n case 'SET_GLOBAL_PROFILES':\r\n return { ...state, profiles: action.data };\r\n case 'SET_GLOBAL_ACTIVE_PROFILE':\r\n return { ...state, activeProfile: action.data };\r\n case 'SET_GLOBAL_ACTIVE_PROJECT':\r\n return { ...state, activeProject: action.data };\r\n case 'SET_GLOBAL_CATEGORIES':\r\n return { ...state, itemCategories: action.data };\r\n case 'SET_GLOBAL_CURRENT_CULTURE':\r\n return { ...state, currentCulture: action.data };\r\n case 'SET_WINDOW_WIDTH':\r\n return { ...state, windowWidth: action.data };\r\n case 'SET_GLOBAL_CONFIGURATION':\r\n return { ...state, configuration: action.data };\r\n case 'SET_GLOBAL_CAN_SCROLL':\r\n return { ...state, canScroll: action.data };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default global;","import { orderBy } from 'lodash-es';\r\nimport { NotificationResult, INotification } from 'types';\r\n\r\n\r\n\r\nconst initialState: NotificationResult = {\r\n totalCount: 0,\r\n notifications: [],\r\n};\r\n\r\nfunction mergeNotifications(\r\n existingNotifications: INotification[],\r\n notificationResult: NotificationResult\r\n): NotificationResult {\r\n const notificationsById = new Map();\r\n\r\n existingNotifications.forEach((n) => {\r\n notificationsById.set(n.id, n);\r\n });\r\n\r\n notificationResult.notifications.forEach((n) => {\r\n notificationsById.set(n.id, n);\r\n });\r\n\r\n return {\r\n totalCount: notificationResult.totalCount,\r\n notifications: orderBy(Array.from(notificationsById.values()), 'createDate', 'desc'),\r\n };\r\n}\r\n\r\nconst notification = (state: NotificationResult = initialState, action) => {\r\n switch (action.type) {\r\n case 'NOTIFICATION::SET':\r\n return action.data;\r\n case 'NOTIFICATION::ADD':\r\n return mergeNotifications(state.notifications, action.data);\r\n case 'NOTIFICATION::ADD_MANY':\r\n return mergeNotifications(state.notifications, action.data);\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default notification;","import { DocumentType } from 'types';\r\n\r\nexport type ISellerDocumentTypesReducer = DocumentType[] | null;\r\n\r\nconst initialState: ISellerDocumentTypesReducer = null;\r\n\r\nconst documentTypes = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'SELLER_SET_DOCUMENT_TYPES':\r\n return action.data;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default documentTypes;","import { keyBy } from 'lodash-es';\r\nimport { CommentThreadBase, LastCommentMessage, CommentParticipant, CommentThreadOverview } from 'types';\r\n\r\nexport interface ProjectOverview {\r\n projectId: number;\r\n tasks: ProjectTaskOverview | null;\r\n changeRequests: ProjectChangeRequestOverview;\r\n comments: CommentThreadOverview[] | null;\r\n total: number | null;\r\n}\r\nexport interface ProjectChangeRequestOverview {\r\n total: number | null;\r\n}\r\n\r\nexport interface ProjectTaskOverview {\r\n documents: number;\r\n optionGroups: number;\r\n orders: number;\r\n projectDocuments: number;\r\n externalAgreements: number;\r\n total: number;\r\n}\r\n\r\nconst initialState: ProjectOverview = {\r\n projectId: 0,\r\n tasks: null,\r\n changeRequests: {\r\n total: null,\r\n },\r\n comments: null,\r\n total: null,\r\n};\r\nfunction mergeComments(prevState: ProjectOverview, data: CommentThreadOverview[]) {\r\n const oldData = prevState?.comments ?? [];\r\n const newData = keyBy(data, 'threadId');\r\n const result = oldData.map((x) => {\r\n const newItem = newData[x.threadId];\r\n if (newItem) {\r\n delete newData[x.threadId];\r\n return newItem;\r\n }\r\n\r\n return x;\r\n });\r\n\r\n result.push(...Object.values(newData));\r\n return result;\r\n}\r\n\r\nconst projectOverview = (state = initialState, action): ProjectOverview => {\r\n switch (action.type) {\r\n case 'SELLER_PROJECT_OVERVIEW_CLEAR':\r\n return initialState;\r\n case 'SELLER_PROJECT_OVERVIEW_SET':\r\n return action.data;\r\n case 'SELLER_PROJECT_TASK_OVERVIEW_SET':\r\n return { ...state, tasks: action.data };\r\n case 'SELLER_PROJECT_CR_OVERVIEW_SET':\r\n return { ...state, changeRequests: action.data };\r\n case 'SELLER_PROJECT_COMMENTS_OVERVIEW_SET':\r\n return { ...state, comments: mergeComments(state, action.data) };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default projectOverview;\r\n","export enum SellerSidebarTab {\r\n ChooseProject,\r\n Project,\r\n Tasks,\r\n Products,\r\n ChangeRequests,\r\n Dialogs\r\n}\r\n\r\nexport interface ISellerSideBarReducer {\r\n isOpen: boolean;\r\n selectedTab: SellerSidebarTab | null;\r\n subLabel: string | null;\r\n}\r\n\r\nconst initialState: ISellerSideBarReducer = {\r\n selectedTab: null,\r\n isOpen: false,\r\n subLabel: null,\r\n};\r\n\r\nconst sellerSidebar = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'SELLER_SIDEBAR_SET_IS_OPEN':\r\n return { ...state, isOpen: action.data };\r\n case 'SELLER_SIDEBAR_SET_SUB_LABEL':\r\n return { ...state, subLabel: action.data };\r\n case 'SELLER_SIDEBAR_SET_SELECTED_TAB':\r\n return { ...state, selectedTab: action.data };\r\n // Think this was added to make the sellerSidebar collapse when changing to buyer?\r\n // Anyway. Not sure if it's needed anymore\r\n // case 'SET_GLOBAL_ACTIVE_PROFILE':\r\n // return { ...state, isOpen: false };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default sellerSidebar;","import { BudgetGroup } from 'types';\r\n\r\nconst tasks = (state: BudgetGroup[] | null = null, action) => {\r\n switch (action.type) {\r\n case 'SET_BUYER_BUDGET':\r\n return action.data;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default tasks;","import { ChangeRequestProgressInfo } from 'types';\r\n\r\nexport type ChangeRequestReducer = ChangeRequestProgressInfo[] | null;\r\n\r\nconst initialState: ChangeRequestReducer = null;\r\n\r\nconst changeRequests = (state: ChangeRequestReducer = initialState, action) => {\r\n switch (action.type) {\r\n case 'BUYER_SET_CHANGE_REQUESTS':\r\n return action.data;\r\n case 'BUYER_SET_CHANGE_REQUEST':\r\n if (state === null) {\r\n return [action.data];\r\n }\r\n if (state.some((cr) => cr.changeRequestId === action.data.changeRequestId)) {\r\n return state.map((cr) => (cr.changeRequestId === action.data.changeRequestId ? action.data : cr));\r\n }\r\n return [...state, action.data];\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default changeRequests;","import { BuyerCommentThreadOverview } from 'types';\r\n\r\nexport type CommentThreadReducer = BuyerCommentThreadOverview[];\r\n\r\nconst initialState: CommentThreadReducer = [];\r\n\r\nconst commentThreads = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'BUYER_SET_COMMENT_THREADS':\r\n return action.data;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default commentThreads;","import { BuyerMeetingDto } from 'services/booking';\r\n\r\nexport type MeetingsReducer = BuyerMeetingDto[] | null;\r\n\r\nconst meetings = (state: MeetingsReducer = null, action) => {\r\n switch (action.type) {\r\n case 'BUYER_SET_MEETINGS':\r\n return action.data;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default meetings;\r\n","import { TaskStatus } from 'types';\r\n\r\nexport interface IBuyerOptionFilter {\r\n statuses: TaskStatus[];\r\n deadline: number | null;\r\n categories: number[];\r\n tags: number[];\r\n showExpired: boolean;\r\n}\r\n\r\nconst initialState: IBuyerOptionFilter = {\r\n statuses: ['Default', 'Reviewed', 'Selected'],\r\n deadline: null,\r\n categories: [],\r\n tags: [],\r\n showExpired: true,\r\n};\r\n\r\nconst buyerSidebar = (state = initialState, action): IBuyerOptionFilter => {\r\n switch (action.type) {\r\n case 'BUYER_OPTION_FILTER_SET_CATEGORIES':\r\n return { ...state, categories: action.data };\r\n case 'BUYER_OPTION_FILTER_SET_STATUS':\r\n return { ...state, statuses: action.data };\r\n case 'BUYER_OPTION_FILTER_SET_DEADLINE':\r\n return { ...state, deadline: action.data };\r\n case 'BUYER_OPTION_FILTER_SET_TAGS':\r\n return { ...state, tags: action.data };\r\n case 'BUYER_OPTION_FILTER_RESET_STATUS':\r\n return { ...state, statuses: initialState.statuses };\r\n case 'BUYER_OPTION_FILTER_SET_SHOW_EXPIRED':\r\n return { ...state, showExpired: action.data };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default buyerSidebar;","import { BuyerProjectData } from 'types';\r\n\r\nexport type BuyerProjectDataReducer = Readonly | null;\r\n\r\n// const initialState: BuyerProjectDataReducer = {\r\n// unitType: 'Apartment',\r\n// sellerProfileName: '',\r\n// projectName: '',\r\n// projectId: 0,\r\n// deadlines: [],\r\n// unitName: '',\r\n// sellerProfileId: 0,\r\n// features: null,\r\n// changeRequestWarningText: null,\r\n// changeRequestDeadline: null,\r\n// currencyCode: '',\r\n// forceStyleSelection: false,\r\n// mainOptionPresetId: null,\r\n// sellerModules: [],\r\n// buyerModules: []\r\n// };\r\n\r\nconst initialState: BuyerProjectDataReducer = null;\r\n\r\nconst buyerData = (state: BuyerProjectDataReducer = initialState, action): BuyerProjectDataReducer => {\r\n switch (action.type) {\r\n case 'SET_PROJECT_DATA':\r\n return action.data;\r\n // case 'SET_SELECTED_MAIN_STYLE':\r\n // return { ...state! };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default buyerData;","import { BuyerTask } from 'types';\r\n\r\nexport type TaskReducer = BuyerTask[] | null;\r\n\r\nconst tasks = (state: TaskReducer = null, action) => {\r\n switch (action.type) {\r\n case 'SET_TASKS':\r\n return action.data;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default tasks;","import { DocumentType } from 'types';\r\n\r\nexport type IBuyerDocumentTypesReducer = DocumentType[] | null;\r\n\r\nconst initialState: IBuyerDocumentTypesReducer = null;\r\n\r\nconst documentTypes = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'BUYER_SET_DOCUMENT_TYPES':\r\n return action.data;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default documentTypes;","import { BuyerLandingPageData } from 'types';\r\n\r\nexport type BuyerLandingPageDataReducer = Readonly | null;\r\n\r\n// const initialState: BuyerLandingPageDataReducer = {\r\n// images: [],\r\n// messages: [],\r\n// milestones: [],\r\n// };\r\n\r\nconst landingPageData = (state: BuyerLandingPageDataReducer = null, action): BuyerLandingPageDataReducer => {\r\n switch (action.type) {\r\n case 'SET_LANDING_PAGE':\r\n return action.data;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default landingPageData;","import { BuyerPermissions } from 'types';\r\n\r\nexport type BuyerPermissionsReducer = Readonly | null;\r\n\r\nconst buyerData = (state = null, action) => {\r\n switch (action.type) {\r\n case 'SET_BUYER_PERMISSIONS':\r\n return action.data;\r\n case 'CLEAR_BUYER_PERMISSIONS':\r\n return null;\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default buyerData;","export interface BuyerSidebarReducer {\r\n isOpen: boolean;\r\n}\r\n\r\nconst initialState: BuyerSidebarReducer = {\r\n isOpen: false,\r\n};\r\n\r\nconst sellerSidebar = (state = initialState, action) => {\r\n switch (action.type) {\r\n case 'BUYER_SIDEBAR_SET_IS_OPEN':\r\n return { ...state, isOpen: action.data };\r\n case 'BUYER_SIDEBAR_TOGGLE_OPEN':\r\n return { ...state, isOpen: !state.isOpen };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default sellerSidebar;","import { DismissibleMessageKey } from \"services/message-dismissal\";\r\n\r\nexport interface MessageDismissalStatus {\r\n key: DismissibleMessageKey;\r\n projectId: number | null;\r\n value: boolean | null;\r\n}\r\n\r\nexport interface MessageDismissalReducer {\r\n readonly items: MessageDismissalStatus[];\r\n}\r\n\r\nconst initialState: MessageDismissalReducer = {\r\n items: [],\r\n};\r\n\r\nconst global = (state = initialState, action): MessageDismissalReducer => {\r\n switch (action.type) {\r\n case 'SET_ITEM':\r\n const newItems = state.items.filter(\r\n (x) => !(x.key === action.data.key && x.projectId === action.data.projectId)\r\n );\r\n\r\n newItems.push(action.data);\r\n\r\n return { ...state, items: newItems };\r\n default:\r\n return state;\r\n }\r\n};\r\n\r\nexport default global;","import { combineReducers } from 'redux';\r\n// import optionLayouts from './option-layouts/reducer'\r\nimport global from './global/reducer';\r\nimport notifications from './notifications/reducer';\r\n\r\nimport { default as sellerDocumentTypes } from './seller/document-types/reducer';\r\nimport projectOverview from './seller/project-overview/reducer';\r\nimport { default as sellerSidebar } from './seller/sidebar/reducer';\r\n\r\nimport budget from './buyer/budget/reducer';\r\nimport changeRequests from './buyer/changeRequests/reducer';\r\nimport commentThreads from './buyer/commentThreads/reducer';\r\nimport meetings from './buyer/meetings/reducer';\r\nimport optionFilter from './buyer/option-filter/reducer';\r\nimport projectData from './buyer/project-data/reducer';\r\nimport tasks from './buyer/tasks/reducer';\r\n\r\nimport { default as buyerDocumentTypes } from './buyer/document-types/reducer';\r\nimport landingPage from './buyer/landing-page/reducer';\r\n\r\nimport { default as buyerPermissions } from './buyer/permissions/reducer';\r\nimport { default as buyerSidebar } from './buyer/sidebar/reducer';\r\nimport { default as messageDismissals } from './message-dismissals/reducer';\r\n\r\nconst appReducer = combineReducers({\r\n buyer: combineReducers({\r\n sidebar: buyerSidebar,\r\n documentTypes: buyerDocumentTypes,\r\n optionFilter,\r\n projectData,\r\n landingPage,\r\n tasks,\r\n meetings,\r\n budget,\r\n permissions: buyerPermissions,\r\n commentThreads,\r\n changeRequests,\r\n }),\r\n seller: combineReducers({\r\n sidebar: sellerSidebar,\r\n documentTypes: sellerDocumentTypes,\r\n projectOverview,\r\n }),\r\n global,\r\n messageDismissals,\r\n notifications,\r\n});\r\n\r\nconst rootReducer = (state, action) => {\r\n if (action.type === 'USER_LOGOUT') {\r\n state = undefined;\r\n }\r\n\r\n return appReducer(state, action);\r\n};\r\n\r\nexport default rootReducer;\r\n","import { createStore, compose, applyMiddleware } from 'redux';\r\nimport rootReducer from 'state/rootReducer';\r\nimport thunk, { ThunkMiddleware } from 'redux-thunk';\r\nimport { IState } from 'state/IState';\r\n\r\n\r\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\r\ntype Actions = any;\r\n\r\nconst store = createStore(rootReducer, composeEnhancers(applyMiddleware(thunk as ThunkMiddleware)));\r\n\r\nexport function getStore() {\r\n return store;\r\n}","import { isPlainObject, isString } from 'lodash-es';\r\nimport { urlCombine, toQueryString } from 'utils/url';\r\nimport FileData from 'utils/FileData';\r\nimport { deepTraverse } from 'utils/objects';\r\nimport { getStore } from 'store';\r\n\r\nfunction isPrimitive(value: any) {\r\n return (typeof value !== 'object' && typeof value !== 'function') || value === null;\r\n}\r\n\r\nexport function getApiUrl(): string {\r\n return window['APP_CONFIG']['API_URL'];\r\n}\r\n\r\nexport function getCoreApiUrl() {\r\n return window.APP_CONFIG.API_CORE_URL;\r\n}\r\n\r\nexport function getChatApiUrl() {\r\n return window.APP_CONFIG.API_CHAT_URL;\r\n}\r\n\r\nfunction generateQueryString(data: object, includeLocale = true): string {\r\n const state = getStore().getState();\r\n\r\n if (includeLocale && state.global.currentCulture) {\r\n data = { ...data, __lang: state.global.currentCulture.locale };\r\n }\r\n\r\n return toQueryString(data);\r\n}\r\n\r\nexport function generateApiUrl(relativePath: string, query: object = {}, includeLocale = true) {\r\n const queryString = generateQueryString(query, includeLocale);\r\n\r\n let url = getApiUrl() + relativePath;\r\n\r\n if (queryString) {\r\n url += '?' + queryString;\r\n }\r\n\r\n return url;\r\n}\r\n\r\nlet errorHandler;\r\nexport function setAjaxErrorHandler(handler) {\r\n errorHandler = handler;\r\n}\r\n\r\nfunction handleAjaxError(response) {\r\n if (errorHandler) {\r\n errorHandler(response);\r\n }\r\n}\r\n\r\nexport function jsonOrEmpty(body) {\r\n return body.text().then((text) => {\r\n return text ? JSON.parse(text) : null;\r\n });\r\n}\r\n\r\nfunction getDefaultParams(): Partial {\r\n const state = getStore().getState();\r\n\r\n return {\r\n credentials: 'include',\r\n headers: {\r\n 'Bygr-Locale': state.global.currentCulture ? state.global.currentCulture.locale : '',\r\n },\r\n };\r\n}\r\n\r\ntype RequestParameters = RequestInit & {\r\n query?: object;\r\n json?: boolean;\r\n body: any;\r\n disableGlobalError?: boolean;\r\n};\r\n\r\n// class ExtendedPromise {\r\n// _promise: Promise;\r\n// constructor(promise: Promise) {\r\n// this._promise = promise;\r\n// }\r\n\r\n// catch(\r\n// onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null\r\n// ): ExtendedPromise {\r\n// return new ExtendedPromise(this._promise.catch(onrejected));\r\n// }\r\n\r\n// then(\r\n// onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null,\r\n// onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null\r\n// ): ExtendedPromise {\r\n// return new ExtendedPromise(this._promise.then(onfulfilled, onrejected));\r\n// }\r\n\r\n// finally(onfinally?: (() => void) | undefined | null): ExtendedPromise {\r\n// return new ExtendedPromise(this._promise.finally(onfinally));\r\n// }\r\n// }\r\n\r\nwindow.addEventListener('unhandledrejection', (e) => {\r\n const reason: Response = e.reason;\r\n if (reason && !reason.ok && reason.statusText) {\r\n handleAjaxError(e.reason.body);\r\n }\r\n});\r\n\r\nexport async function request(url: string, params: Partial = {}) {\r\n params = {\r\n ...getDefaultParams(),\r\n ...params,\r\n };\r\n\r\n if (!params.headers) {\r\n params.headers = {};\r\n }\r\n\r\n // params.headers[\"Authorization\"] = \"Bearer \" +\r\n\r\n let queryString = '';\r\n if (params.query && isPlainObject(params.query)) {\r\n queryString = toQueryString(params.query, { excludeEmptyArrays: true, excludeEmptyStrings: true });\r\n } else if (isString(params.query)) {\r\n queryString = params.query;\r\n }\r\n\r\n if (!/^(https?:)?\\/\\//gi.test(url)) {\r\n url = urlCombine(getApiUrl(), url);\r\n\r\n if (!/^(https?:)?\\/\\//gi.test(url)) {\r\n url = '/' + url;\r\n }\r\n }\r\n\r\n if (queryString) {\r\n url += '?' + queryString;\r\n }\r\n\r\n if (\r\n isPlainObject(params.body) ||\r\n Array.isArray(params.body) ||\r\n isPrimitive(params.body) ||\r\n params.body instanceof FileData\r\n ) {\r\n await Promise.all(getAllPromises(params.body));\r\n\r\n if (params.body) {\r\n params.body = params.json ? JSON.stringify(params.body) : toQueryString(params.body as object);\r\n }\r\n }\r\n\r\n if (params.json) {\r\n params.headers['Content-Type'] = 'application/json';\r\n }\r\n\r\n delete params.query;\r\n delete params.json;\r\n\r\n let promise = fetch(url, params);\r\n\r\n promise = promise.then((response) => {\r\n if (!response.ok) {\r\n return Promise.reject(response);\r\n }\r\n\r\n return response;\r\n });\r\n\r\n return promise;\r\n}\r\n\r\n// function makeAbortable(promise) {\r\n// new Promise\r\n\r\n// promise.controller = new AbortController();\r\n\r\n// promise.abort = function () {\r\n// this.controller.abort();\r\n// }\r\n\r\n// function passAbortable(func) {\r\n// return function (...args) {\r\n// makeAbortable(func(...args));\r\n// }\r\n// }\r\n\r\n// [\"then\", \"catch\", \"finally\"].forEach(functionName => {\r\n// promise[functionName] = passAbortable(promise[functionName]);\r\n// });\r\n\r\n// return promise;\r\n// }\r\n\r\nfunction getAllPromises(obj: any): Promise[] {\r\n var promises: Promise[] = [];\r\n deepTraverse(obj, (val) => {\r\n // if (isPromise(val)) {\r\n // promises.push(val);\r\n // }\r\n\r\n if (val instanceof FileData) {\r\n const promise = val.getDataPromise();\r\n if (promise) {\r\n promises.push(promise);\r\n }\r\n }\r\n });\r\n\r\n return promises;\r\n}\r\n","export function triggerHandler any>(handler: null | undefined, ...params: Parameters): void\r\nexport function triggerHandler any>(handler: TFunc, ...params: Parameters): ReturnType\r\nexport function triggerHandler any>(handler: TFunc | null | undefined, ...params: Parameters): ReturnType | undefined\r\n export function triggerHandler any>(handler: TFunc | null | undefined, ...params: Parameters): ReturnType | undefined {\r\n if (handler) {\r\n return handler(...params);\r\n }\r\n}\r\n\r\ntype EventHandler = (...args: T) => void;\r\n\r\nexport class Event {\r\n handlers: EventHandler[] = [];\r\n\r\n constructor() {\r\n this.handlers = [];\r\n }\r\n\r\n addHandler(handler: EventHandler) {\r\n if (typeof handler !== 'function') {\r\n throw new Error('handler must be a function');\r\n }\r\n\r\n this.handlers.push(handler);\r\n }\r\n\r\n removeHandler(handler: EventHandler) {\r\n this.handlers = this.handlers.filter((x) => x !== handler);\r\n }\r\n\r\n clear() {\r\n this.handlers = [];\r\n }\r\n\r\n trigger(...args: TArgs) {\r\n this.handlers.forEach((handler) => {\r\n handler(...args);\r\n });\r\n }\r\n}","import classnames from 'classnames';\r\nimport { remark } from \"remark\";\r\nimport remarkHtml from \"remark-html\";\r\n\r\nimport rehypeParse from \"rehype-parse\";\r\nimport rehypeRemark from \"rehype-remark\";\r\nimport remarkStringify from \"remark-stringify\";\r\n\r\nexport { classnames };\r\n\r\nlet currentId = 1;\r\n\r\nexport function getUniqueId() {\r\n return `id_${currentId++}`;\r\n}\r\nexport function getInputValue(input) {\r\n if (!input) {\r\n return null;\r\n }\r\n\r\n // if (input.tagName.toLowerCase() === 'textarea') {\r\n // return input.value;\r\n // }\r\n\r\n switch (input.type) {\r\n case 'checkbox':\r\n case 'radio':\r\n return input.checked;\r\n default:\r\n return input.value;\r\n }\r\n}\r\n\r\nexport function toNullableNumber(s: string) {\r\n if (s === '') {\r\n return null;\r\n }\r\n\r\n return +s;\r\n}\r\n\r\nexport function toOptionalNumber(s: string) {\r\n if (s === '') {\r\n return undefined;\r\n }\r\n\r\n return +s;\r\n}\r\n\r\nexport function markdownToHtml(markdownText: string) {\r\n const file = remark().use(remarkHtml).processSync(markdownText);\r\n return String(file);\r\n}\r\n\r\nexport function htmlToMarkdown(htmlText: string) {\r\n const file = remark()\r\n .use(rehypeParse, { emitParseErrors: true, duplicateAttribute: false })\r\n .use(rehypeRemark)\r\n .use(remarkStringify)\r\n .processSync(htmlText);\r\n\r\n return String(file);\r\n}\r\n\r\ninterface Font {\r\n weight: string;\r\n size: string;\r\n family: string;\r\n}\r\n\r\nconst defaultFont: Font = {\r\n weight: '400',\r\n size: '14px',\r\n family: 'Roboto',\r\n};\r\n\r\nlet cacheCanvas: HTMLCanvasElement | null = null;\r\nexport function measureTextWidth(text: string | number, font: Partial = defaultFont) {\r\n font = { ...defaultFont, ...font };\r\n\r\n if (!cacheCanvas) {\r\n cacheCanvas = document.createElement('canvas');\r\n var docFragment = document.createDocumentFragment();\r\n docFragment.appendChild(cacheCanvas);\r\n }\r\n const context = cacheCanvas!.getContext('2d')!;\r\n context.font = [font.weight, font.size, font.family].join(' ');\r\n\r\n return cacheCanvas!.getContext('2d')!.measureText(text.toString()).width;\r\n}\r\n\r\nexport const focusableElementsSelector =\r\n 'a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), [tabindex=\"0\"]';\r\n\r\nexport const scrollTo = (x: number, y: number) => {\r\n const supportsNativeSmoothScroll = 'scrollBehavior' in document.documentElement.style;\r\n if (supportsNativeSmoothScroll) {\r\n window.scrollTo({\r\n left: x,\r\n top: y,\r\n behavior: 'smooth',\r\n });\r\n } else {\r\n window.scrollTo(x, y);\r\n }\r\n};\r\n\r\n// export function getImageSize(image: HTMLImageElement) {\r\n// const { width, height } = image;\r\n\r\n// return {\r\n// width,\r\n// height,\r\n// aspectRatio: width / height,\r\n// };\r\n// }\r\n\r\nexport function getOuterHeight(el: HTMLElement) {\r\n let height = el.clientHeight;\r\n\r\n const style = window.getComputedStyle(el);\r\n\r\n height += parseInt(style.borderTopWidth, 10);\r\n height += parseInt(style.borderBottomWidth, 10);\r\n height += parseInt(style.marginTop, 10);\r\n height += parseInt(style.marginBottom, 10);\r\n\r\n return height;\r\n}\r\n","import React from 'react';\r\n\r\nexport type InputProps = React.InputHTMLAttributes;\r\n\r\nexport default React.forwardRef(({ ...rest }, ref) => {\r\n return ;\r\n});","import React from 'react';\r\nimport { classnames } from 'utils/html';\r\nimport { Input } from 'components/generic-controls';\r\nimport { ValidationRule } from './ValidationManager';\r\nimport { InputProps } from 'components/generic-controls/Input';\r\nimport { useInputValidation } from 'utils/hooks';\r\nimport { ValidationComponentProps } from '.';\r\n\r\nexport type ValidatingInputProps = InputProps & ValidationComponentProps;\r\n\r\nconst ValidatingInput = React.forwardRef(\r\n ({ value, min, max, maxLength, fieldName, placeholder, required = false, className = \"form-control\", validations, ...rest }, ref) => {\r\n const [invalid] = useInputValidation(\r\n value,\r\n (valueRef) => {\r\n const commonOptions = {\r\n getter: () => {\r\n return valueRef.current;\r\n },\r\n messageParameters: { field: fieldName || placeholder },\r\n };\r\n\r\n const rules: ValidationRule[] = (validations || []).map((x) => ({ ...commonOptions, ...x }));\r\n\r\n if (min != null) {\r\n rules.push({\r\n ...commonOptions,\r\n type: 'min',\r\n options: { limit: min },\r\n });\r\n }\r\n\r\n if (max != null) {\r\n rules.push({\r\n ...commonOptions,\r\n type: 'max',\r\n options: { limit: max },\r\n });\r\n }\r\n\r\n if (maxLength != null) {\r\n rules.push({\r\n ...commonOptions,\r\n type: 'maxLength',\r\n options: { limit: maxLength },\r\n });\r\n }\r\n\r\n if (required) {\r\n rules.push({\r\n ...commonOptions,\r\n type: 'required',\r\n });\r\n }\r\n\r\n return rules;\r\n },\r\n [fieldName, placeholder, validations]\r\n );\r\n\r\n return (\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default ValidatingInput;\r\n","import React from 'react';\r\nimport { classnames } from 'utils/html';\r\nimport { ValidationRule } from './ValidationManager';\r\nimport { useInputValidation } from 'utils/hooks';\r\nimport { ValidationComponentProps } from '.';\r\nimport { TextArea, TextAreaProps } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport type ValidatingTextAreaProps = TextAreaProps & ValidationComponentProps;\r\n\r\nconst ValidatingTextArea = React.forwardRef(\r\n ({ value, maxLength, fieldName, placeholder, required = false, className, validations, ...rest }, ref) => {\r\n const [invalid] = useInputValidation(\r\n value,\r\n (valueRef) => {\r\n const commonOptions = {\r\n getter: () => {\r\n return valueRef.current;\r\n },\r\n messageParameters: { field: fieldName || placeholder },\r\n };\r\n\r\n const rules: ValidationRule[] = (validations || []).map((x) => ({ ...commonOptions, ...x }));\r\n\r\n if (maxLength != null) {\r\n rules.push({\r\n ...commonOptions,\r\n type: 'maxLength',\r\n options: { limit: maxLength },\r\n });\r\n }\r\n\r\n if (required) {\r\n rules.push({\r\n ...commonOptions,\r\n type: 'required',\r\n });\r\n }\r\n\r\n return rules;\r\n },\r\n [fieldName, placeholder]\r\n );\r\n\r\n return (\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default ValidatingTextArea;\r\n","import React from 'react';\r\nimport { classnames } from 'utils/html';\r\nimport { useInputValidation } from 'utils/hooks';\r\nimport { ValidationRule } from './ValidationManager';\r\nimport { ValidationComponentProps } from '.';\r\n\r\nexport type ValidatingSelectProps = React.SelectHTMLAttributes & ValidationComponentProps;\r\n\r\nconst ValidatingSelect = React.forwardRef(\r\n ({ fieldName, className, required, onChange, value, children, validations, ...rest }, ref) => {\r\n const [invalid] = useInputValidation(\r\n value,\r\n (valueRef) => {\r\n const commonOptions = {\r\n getter: () => {\r\n return valueRef.current;\r\n },\r\n messageParameters: { field: fieldName },\r\n };\r\n\r\n const rules: ValidationRule[] = (validations || []).map((x) => ({ ...commonOptions, ...x }));\r\n\r\n if (required) {\r\n rules.push({\r\n ...commonOptions,\r\n type: 'required',\r\n });\r\n }\r\n\r\n return rules;\r\n },\r\n [fieldName, required]\r\n );\r\n\r\n // const { fieldName, className, onChange, validationManager, children, innerRef, ...rest } = this.props;\r\n // const { invalid } = this.state;\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n);\r\nexport default ValidatingSelect;","import { ReactNode } from 'react';\r\nimport {\r\n Address,\r\n COUNTRY_CODES,\r\n FileData,\r\n FileType,\r\n SortDirection,\r\n UserSalutation,\r\n UserTitle,\r\n} from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { HistoryLogActions } from 'seller/components/HistoryLog/HistoryLogActions';\r\nimport { ObjectHistoryLogObjectType } from 'seller/components/HistoryLog/HistoryLogObjectType';\r\nimport { HttpStatusCode } from 'HttpStatusCodes';\r\nimport { BackendIconNames } from 'components/Icons/BackendIcon';\r\n\r\ndeclare global {\r\n interface Window {\r\n __REDUX_DEVTOOLS_EXTENSION_COMPOSE__?: any;\r\n APP_CONFIG: {\r\n APP_DOMAIN: string;\r\n API_URL: string;\r\n API_CORE_URL: string;\r\n API_CHAT_URL: string;\r\n API_SURVEY_URL: string;\r\n ENVIRONMENT: string;\r\n ENABLE_SENTRY: boolean;\r\n\r\n CHANGE_MANAGEMENT_URL: string;\r\n AFTERMARKET_URL: string;\r\n QUALITY_MANAGEMENT_URL: string;\r\n };\r\n intlTelInputUtils: any;\r\n }\r\n}\r\n\r\n// export type Omit = Pick>;\r\n\r\nexport type TranslatableText = ReactNode;\r\n\r\nexport type PickType = { [P in keyof T]: T[P] extends PropType ? P : never }[keyof T];\r\nexport type Optional = Pick, K> & Omit;\r\n\r\ntype NonBooleansOnly = { [P in keyof T]: T[P] extends boolean ? never : P }[keyof T];\r\ntype OmitNonBooleans = Pick>>;\r\nexport type PermissionCheck = keyof OmitNonBooleans | ((permissions: T) => boolean);\r\n\r\nexport type OptionalId = Omit & { [P in 'id']?: T[P] }; // Partial\r\n\r\nexport type LocalUnsaved = OptionalId & { _internalId?: any };\r\n\r\nexport type ExtractProps = Type extends React.ComponentType ? X : never;\r\n\r\n//From https://stackoverflow.com/a/57044690\r\nexport type KeysMatching = {\r\n [K in keyof T]-?: T[K] extends V ? K : never;\r\n}[keyof T];\r\nexport type PickMatching = Pick>;\r\n\r\n// type ReactChild = ReactElement | boolean | null | undefined;\r\n// export type ReactChildren = ReactChild | ReactChild[];\r\n\r\n// export type OptionalId = Omit & { id?: } // Partial\r\n\r\nexport interface LocalizedEnum {\r\n value: string;\r\n textKey: string;\r\n}\r\n\r\nexport interface FilterItem {\r\n id: any;\r\n name: ReactNode;\r\n // itemCount: number | null;\r\n}\r\n\r\nexport interface IdNamePair {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport class ChangedItem {\r\n static fromMerge(original: T, changes: Partial) {\r\n return new ChangedItem(original, { ...original, ...changes });\r\n }\r\n\r\n constructor(original: T, modified: T) {\r\n this.original = original;\r\n this.modified = modified;\r\n }\r\n\r\n updateArray(array: T[]) {\r\n return array.map((item) => (item === this.original ? this.modified : item));\r\n }\r\n\r\n original: T;\r\n modified: T;\r\n}\r\n\r\ntype UpdatableItem = { id: any };\r\ntype GetIdType = T extends { id: infer U } ? U : never;\r\nexport type UpdateFields = Partial>;\r\n\r\nexport class Changes {\r\n readonly id: GetIdType;\r\n readonly changes: UpdateFields;\r\n\r\n constructor(id: GetIdType, changes: UpdateFields) {\r\n this.id = id;\r\n this.changes = changes;\r\n }\r\n\r\n updateArray(array: T[]) {\r\n return array.map((item) => (item.id === this.id ? { ...item, ...this.changes } : item));\r\n }\r\n}\r\n\r\nexport class BatchedChanges {\r\n static repeat(ids: GetIdType[], changes: UpdateFields) {\r\n return new BatchedChanges(ids.map((id) => new Changes(id, changes)));\r\n }\r\n\r\n static single(id: GetIdType, changes: UpdateFields) {\r\n return new BatchedChanges([new Changes(id, changes)]);\r\n }\r\n\r\n readonly changes: Changes[];\r\n\r\n constructor(changes: Changes[]) {\r\n this.changes = changes;\r\n }\r\n\r\n updateArray(array: T[]) {\r\n // const map = keyBy(this.changes, 'id');\r\n\r\n const changesById = new Map, Changes>();\r\n\r\n this.changes.forEach((item) => {\r\n changesById.set(item.id, item);\r\n });\r\n\r\n return array.map((item) => {\r\n const changes = changesById.get(item.id);\r\n\r\n if (changes) {\r\n return { ...item, ...changes.changes };\r\n }\r\n\r\n return item;\r\n });\r\n }\r\n}\r\n\r\nexport class FileMetadata {\r\n public static get unknown(): FileMetadata {\r\n return {\r\n extension: '',\r\n fileName: '',\r\n fileType: FileType.Unknown,\r\n size: 0,\r\n };\r\n }\r\n\r\n public static fromFileData(fileData: FileData): FileMetadata {\r\n return {\r\n extension: fileData.getExtension(),\r\n fileName: fileData.fileName,\r\n fileType: fileData.getFileType(),\r\n size: fileData.size,\r\n };\r\n }\r\n}\r\n\r\nexport interface FileMetadata {\r\n readonly fileName: string;\r\n readonly extension: string;\r\n readonly fileType: FileType;\r\n readonly size: number;\r\n}\r\n\r\nexport interface Attachment {\r\n id: number;\r\n name: string;\r\n fileMetadata: FileMetadata;\r\n}\r\n\r\nexport interface ObjectHistoryItem {\r\n localizationId: string;\r\n performedDate: Date;\r\n parameters: any;\r\n performedByUserId: number | null;\r\n performedByName: string;\r\n}\r\n\r\nexport enum MemberStatus {\r\n Active = 'Active',\r\n Inactive = 'Inactive',\r\n Invited = 'Invited',\r\n InviteCanceled = 'InviteCanceled',\r\n}\r\n\r\nexport enum TaskType {\r\n Order = 'Order',\r\n DocumentLink = 'DocumentLink',\r\n ChangeRequest = 'ChangeRequest',\r\n OptionGroup = 'OptionGroup',\r\n}\r\n\r\nexport interface BuyerOptionGroupOverride {\r\n buyerOptionGroupId: number;\r\n buyerOptionGroupName: string;\r\n}\r\n\r\n// export interface CommonProductFields {\r\n// name: string ;\r\n// description: string ;\r\n// productLink: string ;\r\n// itemCategoryId: number;\r\n// widthCm: number | null;\r\n// heightCm: number| null;\r\n// depthCm: number| null;\r\n// }\r\n\r\nexport interface User {\r\n isLoggedIn: boolean;\r\n email: string;\r\n displayName: string;\r\n locale: string;\r\n userId: number;\r\n uniqueId?: string;\r\n readOnly: boolean;\r\n}\r\n\r\nexport interface UserSettingsObject {\r\n email: string;\r\n emailConfirmed: boolean;\r\n firstName: string;\r\n lastName: string;\r\n phoneNumber: string;\r\n address: string;\r\n title: UserTitle | null;\r\n salutation: UserSalutation | null;\r\n}\r\n\r\nexport interface ITaskSelection {\r\n product: ProjectCatalogProduct;\r\n linkGroupItemId: number;\r\n isSelected: boolean;\r\n quantity: number;\r\n unitPrice: number;\r\n unitName: string;\r\n totalPrice: number;\r\n isDefault: boolean;\r\n isNone: boolean;\r\n hidePrice: boolean;\r\n isValidSelection: boolean;\r\n}\r\n\r\nexport interface BaseDocument {\r\n documentId: string;\r\n floor: number;\r\n documentTypeId: number;\r\n // documentTypeName: string;\r\n name: string;\r\n description: string;\r\n versionCount: number;\r\n lastVersionDate: Date;\r\n lastVersionId: number;\r\n lastVersionNumber: number;\r\n lastVersionFileMetadata: FileMetadata;\r\n uploadedByName: string;\r\n ownerProfileId: number;\r\n isSensitive: boolean;\r\n isArchived: boolean;\r\n hideFromBuyer: boolean;\r\n isProjectDocument: boolean;\r\n\r\n permissions: {\r\n canApprove: boolean;\r\n canReplace: boolean;\r\n canMarkAsSensitive: boolean;\r\n };\r\n}\r\n\r\nexport interface DocumentLink {\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n status: DocumentStatus;\r\n rejectReason: string;\r\n}\r\n\r\nexport interface ProjectDocument extends BaseDocument {\r\n linkedUnits: DocumentLink[];\r\n}\r\n\r\nexport interface ResidentialUnitDocument extends BaseDocument {\r\n residentialUnitId: number;\r\n status: DocumentStatus;\r\n lastVersionRejectReason: string | null;\r\n}\r\n\r\nexport enum ExternalAgreementStatus {\r\n Pending = 'Pending',\r\n Approved = 'Approved',\r\n Rejected = 'Rejected',\r\n Canceled = 'Canceled',\r\n}\r\n\r\nexport interface ExternalAgreement {\r\n id: number;\r\n documentTypeId: number;\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n name: string;\r\n participantsNote: string;\r\n projectId: number;\r\n tags: ProjectTag[];\r\n status: ExternalAgreementStatus;\r\n rejectReason: string;\r\n cancelReason: string;\r\n reviewedByUser: IdNamePair | null;\r\n reviewedDate: Date | string | null;\r\n commentThreadId: number;\r\n changeRequestId: number | null;\r\n\r\n createDate: Date | string | null;\r\n createdByUser: IdNamePair;\r\n createdByProfile: IdNamePair;\r\n\r\n files: ExternalAgreementFile[];\r\n lines: ExternalAgreementLine[];\r\n participants: ExternalAgreementParticipant[];\r\n\r\n readonly priceRedacted: boolean;\r\n readonly finalPrice: number | null;\r\n readonly basePrice: number | null;\r\n\r\n readonly priceOutdated: boolean;\r\n readonly updatedPrice: {\r\n readonly finalPrice: number | null;\r\n readonly basePrice: number | null;\r\n };\r\n\r\n readonly permissions: {\r\n canApprove: boolean;\r\n canEdit: boolean;\r\n };\r\n}\r\n\r\nexport interface ExternalAgreementParticipant {\r\n profileId: number;\r\n profileName: string;\r\n userId: number;\r\n userName: string;\r\n}\r\n\r\nexport interface ExternalAgreementFile {\r\n id: number;\r\n sortOrder: number;\r\n name: string;\r\n isSensitive: boolean;\r\n hideFromBuyer: boolean;\r\n fileMetadata: FileMetadata;\r\n}\r\n\r\nexport interface ExternalAgreementLine {\r\n id: number;\r\n description: string;\r\n projectFeeSetId: number;\r\n feeSetId: number;\r\n priceCalculation: PriceCalculationResult | null;\r\n priceRedacted: boolean;\r\n itemCategoryId: number | null;\r\n tags: ProjectTag[];\r\n readonly feeSetInfo: FeeSetConnectionInfo;\r\n}\r\n\r\nexport interface DocumentType {\r\n id: number;\r\n name: string;\r\n\r\n itemCategoryId: number | null;\r\n sortOrder: number;\r\n\r\n externalAgreementAllowed: boolean;\r\n isCroppable: boolean;\r\n\r\n allowedOnProject: boolean;\r\n allowedOnResidentialUnit: boolean;\r\n\r\n permissions: {\r\n canUploadDocuments: boolean;\r\n };\r\n}\r\n\r\nexport enum DocumentStatus {\r\n Pending = 'Pending',\r\n Approved = 'Approved',\r\n Rejected = 'Rejected',\r\n}\r\n\r\nexport interface DocumentVersion {\r\n versionId: number;\r\n documentId: string;\r\n floor: number;\r\n documentTypeId: number;\r\n name: string;\r\n description: string;\r\n versionNumber: number;\r\n uploadDate: Date | string;\r\n isSensitive: boolean;\r\n ownerProfileId: number | null;\r\n fileMetadata: FileMetadata;\r\n}\r\n\r\nexport interface ProjectDocumentVersion extends DocumentVersion {\r\n readonly hasPendingLinks: boolean;\r\n}\r\n\r\nexport interface ResidentialUnitDocumentVersion extends DocumentVersion {\r\n residentialUnitId: number;\r\n status: DocumentStatus;\r\n}\r\n\r\nexport enum ResidentialUnitType {\r\n Apartment = 'Apartment',\r\n Detached = 'Detached',\r\n SemiDetached = 'SemiDetached',\r\n Terraced = 'Terraced',\r\n CommonArea = 'CommonArea',\r\n}\r\n\r\nexport enum SellerChangeRequestStatus {\r\n Unassigned = 'Unassigned',\r\n AwaitingOffers = 'AwaitingOffers',\r\n ReadyToSend = 'ReadyToSend',\r\n SentToBuyer = 'SentToBuyer',\r\n AcceptedByBuyer = 'AcceptedByBuyer',\r\n // AcceptedBySeller =\"AcceptedBySeller\",\r\n Rejected = 'Rejected',\r\n CanceledBySeller = 'CanceledBySeller',\r\n Closed = 'Closed',\r\n Archived = 'Archived',\r\n}\r\n\r\nexport enum BuyerChangeRequestStatus {\r\n RequestSent = 'RequestSent',\r\n OfferReceived = 'OfferReceived',\r\n OfferAccepted = 'OfferAccepted',\r\n OfferRejected = 'OfferRejected',\r\n Closed = 'Closed',\r\n}\r\n\r\nexport interface ChangeRequestAttachment extends Attachment {\r\n isSensitive: boolean;\r\n hideFromBuyer: boolean;\r\n}\r\n\r\nexport interface ChangeRequestProgressInfoOfferGroup {\r\n providedByProfile: IdNamePair;\r\n providedByUser: IdNamePair;\r\n note: string;\r\n price: number | null;\r\n attachments: BuyerOfferAttachment[];\r\n offerLines: BuyerOfferLine[] | null;\r\n showSubtotalsToBuyers: boolean;\r\n}\r\n\r\nexport interface ChangeRequestProgressInfoOffer {\r\n id: number;\r\n // offerLines: ChangeRequestProgressInfoOfferLine[];\r\n note: string;\r\n sendDate: Date;\r\n status: BuyerOfferStatus;\r\n totalPrice: number;\r\n sentByProfile: IdNamePair;\r\n sentByUser: IdNamePair;\r\n groups: ChangeRequestProgressInfoOfferGroup[];\r\n}\r\n\r\nexport interface ChangeRequestProgressInfo {\r\n attachments: ChangeRequestAttachment[];\r\n changeRequestId: number;\r\n commentThreadId: number;\r\n description: string;\r\n offers: ChangeRequestProgressInfoOffer[];\r\n status: BuyerChangeRequestStatus;\r\n subject: string;\r\n submitDate: Date;\r\n closeNote: string;\r\n}\r\n\r\nexport enum BudgetItemSource {\r\n Option = 'Option',\r\n ChangeRequest = 'ChangeRequest',\r\n Sketch = 'Sketch',\r\n ExtraCost = 'ExtraCost',\r\n BuyerOptionOneTimeFee = 'BuyerOptionOneTimeFee',\r\n Preset = 'Preset',\r\n}\r\n\r\nexport enum BudgetGroupType {\r\n Normal = 'Normal',\r\n ChangeRequests = 'ChangeRequests',\r\n ExtraCosts = 'ExtraCosts',\r\n Presets = 'Presets',\r\n Other = 'Other',\r\n}\r\n\r\nexport enum BudgetItemPriceType {\r\n Unknown = 'Unknown',\r\n Unsigned = 'Unsigned',\r\n Signed = 'Signed',\r\n ExtraCost = 'ExtraCost',\r\n Expired = 'Expired',\r\n}\r\n\r\nexport interface BudgetItem {\r\n displayName: string;\r\n buyerOptionGroupId: number | null;\r\n buyerOptionGroupName: string;\r\n floorPlanSketchId: number | null;\r\n selectedBuyerOptionId: number;\r\n selectedBuyerOptionName: string;\r\n nonStandardSelection: boolean;\r\n canChangeSelection: boolean;\r\n unitPrice: number;\r\n totalPrice: number;\r\n quantity: number;\r\n itemCategoryId: number | null;\r\n rootCategoryId: number | null;\r\n selectedOptionImages: ProductFileImage[] | null;\r\n deadline: Date;\r\n deadlineName: string;\r\n source: BudgetItemSource;\r\n isNone: boolean;\r\n changeRequestId?: number;\r\n tags: ProjectTag[];\r\n providedByProfileId?: number;\r\n providedByProfileName: string;\r\n // documentTypeId: number | null;\r\n // documentVersionId: number | null;\r\n priceType: BudgetItemPriceType;\r\n description: string | null;\r\n customFieldData: string;\r\n}\r\n\r\nexport interface BudgetGroup {\r\n items: BudgetItem[];\r\n categoryId: number;\r\n type: BudgetGroupType;\r\n totalPrice: number;\r\n signedPrice: number;\r\n unsignedPrice: number;\r\n extraCostPrice: number;\r\n}\r\n\r\nexport enum OrderStatus {\r\n Pending = 'Pending',\r\n ReadyToStart = 'ReadyToStart',\r\n Rejected = 'Rejected',\r\n InProgress = 'InProgress',\r\n Completed = 'Completed',\r\n Canceled = 'Canceled',\r\n}\r\n\r\nexport enum PriceStepType {\r\n Fee = 'Fee',\r\n Tax = 'Tax',\r\n Base = 'Base',\r\n Final = 'Final',\r\n}\r\n\r\nexport interface PriceCalculationStep {\r\n name: string;\r\n price: number;\r\n type: PriceStepType;\r\n priceChangeAmount: number | null;\r\n priceChangePercent: number | null;\r\n\r\n changedFromPrevious: boolean;\r\n}\r\n\r\nexport interface PriceCalculationResult {\r\n steps: PriceCalculationStep[];\r\n quantity: number;\r\n\r\n baseUnitPrice: number;\r\n finalUnitPrice: number;\r\n\r\n basePrice: number;\r\n finalPrice: number;\r\n}\r\n\r\nexport interface Order {\r\n id: number;\r\n projectId: number;\r\n orderGroupId: number;\r\n\r\n orderNumber: string;\r\n\r\n buyerOptionGroupId: number | null;\r\n buyerOptionGroupName: string;\r\n buyerOptionId: number | null;\r\n buyerOptionName: string;\r\n\r\n changeRequestId: number | null;\r\n changeRequestName: string;\r\n\r\n buyerOfferId: number | null;\r\n\r\n buyerOptionPresetId: number | null;\r\n buyerOptionPresetName: string | null;\r\n\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n\r\n responsibleProfileId: number | null;\r\n responsibleProfileName: string;\r\n\r\n status: OrderStatus;\r\n rejectReason: string | null;\r\n\r\n commentThreadId: number;\r\n tags: ProjectTag[];\r\n\r\n permissions: {\r\n canApprove: boolean;\r\n canChangeResponsible: boolean;\r\n canExcludeFromRoomForm: boolean;\r\n };\r\n orderLines: OrderLine[];\r\n attachments: OrderAttachmentInfo[];\r\n pricingFieldId?: number;\r\n createDate: Date | string;\r\n}\r\n\r\nexport interface OrderLine {\r\n id: number;\r\n itemName: string;\r\n orderId: number;\r\n projectId: number;\r\n buyerOfferLineId: number | null;\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n responsibleUserId: number;\r\n responsibleUserName: string;\r\n priceCalculation: PriceCalculationResult | null;\r\n itemCategoryId: number | null;\r\n isStandard: boolean;\r\n productInfo: OrderLineProductInfo | null;\r\n quantity?: number;\r\n projectFeeSetName: string;\r\n excludeFromRoomForm: boolean;\r\n note: string;\r\n noteLastUpdatedByUserId: number | null;\r\n noteLastUpdatedByUserDisplayName: string;\r\n customFieldData: string;\r\n tags: ProjectTag[];\r\n}\r\n\r\nexport interface OrderLineProductInfo {\r\n sku: string;\r\n supplier: string;\r\n width: Measurement | null;\r\n height: Measurement | null;\r\n depth: Measurement | null;\r\n length: Measurement | null;\r\n}\r\nexport interface Measurement {\r\n totalCentimeters: number;\r\n totalMillimeters: number;\r\n}\r\nexport enum OrderAttachmentType {\r\n OfferGroup = 'OfferGroup',\r\n Option = 'Option',\r\n}\r\n\r\nexport interface OrderAttachmentInfo {\r\n name: string;\r\n id: number;\r\n createdByName: string;\r\n createdDate: Date;\r\n fileMetadata: FileMetadata;\r\n attachmentType: OrderAttachmentType;\r\n}\r\n\r\nexport interface OrderGroup {\r\n deadlineName: string;\r\n changeRequestId: number | null;\r\n changeRequestName: string | null;\r\n id: number;\r\n orders: Order[];\r\n deadlineDate: Date;\r\n signature: SignatureInfo | null;\r\n}\r\nexport interface SignatureInfo {\r\n signedByName: string;\r\n signedByPhoneNumber: string;\r\n signedAt: Date | string;\r\n}\r\n\r\nexport interface ResidentialUnit {\r\n id: number;\r\n name: string;\r\n projectId: number;\r\n type: ResidentialUnitType;\r\n residentialUnitGroupId: number | null;\r\n layoutType: string;\r\n floor: string;\r\n address: string;\r\n // publicCommentThreadId: number;\r\n // internalCommentThreadId: number;\r\n isReadOnlyForBuyers: boolean;\r\n}\r\n\r\nexport enum ResidentialUnitContractStatus {\r\n ActiveNotSigned = 'ActiveNotSigned',\r\n ActiveSigned = 'ActiveSigned',\r\n InvitedBuyer = 'InvitedBuyer',\r\n Canceled = 'Canceled',\r\n}\r\n\r\nexport interface ResidentialUnitExtraData extends ResidentialUnit {\r\n buyerInfo: BuyerInfo;\r\n projectTags: Omit[];\r\n deadlines: ResidentialUnitDeadlineData[];\r\n residentialUnitGroupName: string;\r\n pricingFields: PricingFieldValue[];\r\n constructionPhaseId: number | null;\r\n}\r\n\r\nexport interface ResidentialUnitDashboardData {\r\n numberOfDocuments: number;\r\n numberOfOrders: number;\r\n}\r\n\r\nexport interface ResidentialUnitDeadlineData {\r\n residentialUnitId: number;\r\n deadlineId: number;\r\n numberOfOptions: number;\r\n numberOfUnsentOptions: number;\r\n deadline: Date;\r\n name: string;\r\n}\r\n\r\nexport enum InvitationStatus {\r\n Pending = 'Pending',\r\n Sent = 'Sent',\r\n Registered = 'Registered',\r\n Failed = 'Failed',\r\n Canceled = 'Canceled',\r\n}\r\n\r\nexport interface ResidentialUnitGroup {\r\n id: number;\r\n name: string;\r\n projectId: number;\r\n constructionPhaseId: number | null;\r\n}\r\n\r\nexport enum ProfileType {\r\n Seller = 'Seller',\r\n Buyer = 'Buyer',\r\n}\r\n\r\nexport interface ProfilePermissions {\r\n profileId: number;\r\n isOwner: boolean;\r\n isAdministrator: boolean;\r\n isMember: boolean;\r\n isPaying: boolean;\r\n\r\n canCreateProject: boolean;\r\n canChangeProductCatalog: boolean;\r\n canViewProductCatalog: boolean;\r\n canManageUsers: boolean;\r\n canChangeProfileSettings: boolean;\r\n canViewAnalytics: boolean;\r\n canManageAnalytics: boolean;\r\n}\r\n\r\nexport interface Profile {\r\n id: number;\r\n name: string;\r\n type: ProfileType;\r\n isActive: boolean;\r\n currencyId: number | null;\r\n currencyCode: string | null;\r\n subdomain: string | null;\r\n permissions: ProfilePermissions;\r\n defaultUnitOfMeasurement: UnitOfMeasurement;\r\n countryCode: keyof typeof COUNTRY_CODES | null;\r\n}\r\n\r\nexport interface ProfileTooltipInfo {\r\n profileId: number;\r\n name: string;\r\n users: ProfileUser[];\r\n}\r\n\r\nexport interface ProfileUser {\r\n displayName: string;\r\n userId: number;\r\n email: string;\r\n}\r\n\r\nexport interface ProfileInfo {\r\n profileId: number;\r\n profileName: string;\r\n profileType: ProfileType;\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n projectId: number;\r\n projectName: string;\r\n}\r\n\r\nexport interface ProfileUnitInfo {\r\n profileId: number;\r\n profileName: string;\r\n profileType: ProfileType;\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n residentialUnitAddress: string;\r\n residentialUnitGroupId: number;\r\n residentialUnitGroupName: string;\r\n projectId: number;\r\n projectName: string;\r\n}\r\n\r\nexport interface ProjectCategoryPermissions {\r\n categoryId: number;\r\n\r\n canApproveDocuments: boolean;\r\n canApproveOptions: boolean;\r\n canApproveOrders: boolean;\r\n canLinkProducts: boolean;\r\n canUploadDocuments: boolean;\r\n canUseInChangeRequests: boolean;\r\n}\r\n\r\nexport interface ProjectPermissions {\r\n projectId: number;\r\n isOwner: boolean;\r\n isAdministrator: boolean;\r\n canAccessProject: boolean;\r\n canManageProject: boolean;\r\n canManageResidentialUnits: boolean;\r\n canChangeOrderResponsibles: boolean;\r\n canUploadDocuments: boolean;\r\n canInviteBuyers: boolean;\r\n canEditLandingPage: boolean;\r\n canViewDashboard: boolean;\r\n canAssignChangeRequests: boolean;\r\n canSendChangeRequests: boolean;\r\n canApproveUncategorizedOrders: boolean;\r\n canViewAsBuyer: boolean;\r\n canChangeBuyerSelections: boolean;\r\n canViewSensitiveData: boolean;\r\n\r\n canPostOnMainBuyerChat: boolean;\r\n canViewMainBuyerChat: boolean;\r\n canCreateInternalUnitChatThreads: boolean;\r\n canCreateBuyerUnitChatThreads: boolean;\r\n\r\n categoryPermissions: { [categoryId: number]: ProjectCategoryPermissions | undefined };\r\n}\r\n\r\ntype ProjectPilotFeature = 'Aftermarket';\r\n\r\nexport interface Project {\r\n id: number;\r\n name: string;\r\n description: string;\r\n sellerProfileId: number;\r\n sellerProfileName: string;\r\n // startDate: string;\r\n isPublished: boolean;\r\n currencyId: number;\r\n currencyCode: string;\r\n headerImageFileId: string;\r\n landingPageMarkdown: string;\r\n defaultLanguageCode: string;\r\n address: Address | null;\r\n countryCode: keyof typeof COUNTRY_CODES;\r\n autoAssignOrder: boolean;\r\n changeRequestWarningText: null | string;\r\n subdomain: string;\r\n defaultShowOfferSubtotalsToBuyers: boolean;\r\n showLandingPageBackgroundImage: boolean;\r\n showBackgroundImageOnMessages: boolean;\r\n emailContactInfo: null | string;\r\n buyerOptionOneTimeFee: number;\r\n forceStyleSelection: boolean;\r\n mainStyleOptionsFree: boolean;\r\n\r\n permissions: ProjectPermissions;\r\n pilotFeatures: ProjectPilotFeature[];\r\n modules: BygrModule[];\r\n defaultUnitOfMeasurement: UnitOfMeasurement;\r\n showDefaultTextOnOptions: boolean;\r\n decimalOption: ProjectDecimalOption;\r\n}\r\n\r\nexport enum ProjectDecimalOption {\r\n None = \"None\",\r\n Two = \"Two\",\r\n}\r\n\r\nexport interface ProjectDeadline {\r\n id: number;\r\n projectId: number;\r\n name: string;\r\n description: string;\r\n deadline: Date | string;\r\n isChangeRequestDeadline: boolean;\r\n}\r\n\r\nexport interface ProjectDeadlineWithReferenceCount extends ProjectDeadline {\r\n referenceCount: number;\r\n}\r\n\r\nexport interface ResidentialUnitGroupDeadline {\r\n projectDeadlineId: number;\r\n residentialUnitGroupId: number;\r\n name: string;\r\n deadline: Date;\r\n projectId: number;\r\n floor: string;\r\n residentialUnitGroupName: string;\r\n edited: boolean;\r\n isEnabled: boolean;\r\n residentialUnitNames: string[];\r\n}\r\n\r\nexport interface ResidentialUnitGroupAndUnitDeadlines {\r\n residentalUnitDeadlines: ResidentialUnitDeadline[] | null;\r\n residentialUnitGroupDeadlines: ResidentialUnitGroupDeadline[] | null;\r\n}\r\n\r\nexport interface ResidentialUnitDeadline {\r\n id: number;\r\n projectId: number;\r\n floor: string;\r\n residentialUnitGroupId: number | null;\r\n residentialUnitId: number | null;\r\n name: string;\r\n deadline: Date;\r\n isEdited: boolean;\r\n residentialUnitDeadlineId: number | null;\r\n}\r\n\r\nexport enum ProjectFeature {\r\n LandingPage = 'LandingPage',\r\n Options = 'Options',\r\n Budget = 'Budget',\r\n ChangeRequests = 'ChangeRequests',\r\n Documents = 'Documents',\r\n Chat = 'Chat',\r\n Dashboard = 'Dashboard',\r\n Meetings = 'Meetings',\r\n}\r\n\r\nexport enum ProjectFeatureMode {\r\n Enabled = 'Enabled',\r\n Disabled = 'Disabled',\r\n Hidden = 'Hidden',\r\n Unset = 'Unset',\r\n}\r\n\r\nexport interface ProjectFeatureConfiguration {\r\n feature: ProjectFeature;\r\n mode: ProjectFeatureMode;\r\n residentialUnitGroupId: number | null;\r\n floor: string | null;\r\n}\r\n\r\nexport interface EffectiveProjectFeatureConfiguration {\r\n feature: ProjectFeature;\r\n mode: ProjectFeatureMode;\r\n}\r\n\r\n//TODO: convert to enum?\r\nexport type ProjectPermissionType = string;\r\nexport type ProjectCategoryPermissionType = string;\r\n\r\nexport interface ProjectCategoryPermission {\r\n categoryId: number;\r\n permission: ProjectCategoryPermissionType;\r\n}\r\n\r\nexport interface ProjectMemberPermissions {\r\n projectPermissions: ProjectPermissionType[];\r\n categoryPermissions: ProjectCategoryPermission[];\r\n allowedProjectFeeSetIds: number[];\r\n isAdministrator: boolean;\r\n}\r\n\r\nexport interface ProjectMember {\r\n userId: number;\r\n userName: string;\r\n profileId: number;\r\n profileName: string;\r\n}\r\n\r\nexport interface ProjectProfile {\r\n profileId: number;\r\n profileName: string;\r\n}\r\n\r\nexport type ProjectMemberDetails = ProjectMemberPermissions & {\r\n projectMemberId: number;\r\n userId: number | null;\r\n inviteId: number | null;\r\n email: string;\r\n displayName: string;\r\n profileName: string;\r\n profileId: number | null;\r\n phoneNumber: string;\r\n status: MemberStatus;\r\n isOwner: boolean;\r\n};\r\n\r\nexport interface PricingField {\r\n id: number;\r\n name: string;\r\n description: string;\r\n isDeletable?: boolean;\r\n unit: string;\r\n}\r\n\r\nexport interface PricingFieldValue {\r\n pricingFieldId: number;\r\n name: string;\r\n value: number | null;\r\n}\r\n\r\n//TODO: convert to enum\r\nexport const taskStatusesArray = ['Default', 'Reviewed', 'Selected', 'Sent'] as const;\r\nexport type TaskStatus = (typeof taskStatusesArray)[number];\r\n\r\nexport interface BuyerTask {\r\n buyerOptionGroupId: number;\r\n buyerOptionGroupName: string;\r\n deadline: Date | string;\r\n projectDeadlineId: number;\r\n selectedItemId: number;\r\n selectedItemName: string;\r\n nonStandardSelection: boolean;\r\n isLocked: boolean;\r\n canChangeSelection: boolean;\r\n baseUnitPrice: number;\r\n unitPrice: number;\r\n totalPrice: number;\r\n quantity: number;\r\n showQuantity: boolean;\r\n categoryName: string;\r\n // pricingFieldId: number | null;\r\n itemCategoryId: number;\r\n //externalAgreementDocumentVersionId: number | null;\r\n rootItemCategoryId: number;\r\n selectedOptionImages: ProductFileImage[] | null;\r\n status: TaskStatus;\r\n description: string;\r\n providedByProfileId: number | null;\r\n providedByProfileName: string;\r\n tags: ProjectTag[];\r\n overriddenByOfferIds: number[];\r\n hidePrice: boolean;\r\n\r\n overridden: boolean;\r\n\r\n customFieldData: string;\r\n\r\n dependsOnBuyerOptionGroupIds: number[];\r\n dependentBuyerOptionGroupIds: number[];\r\n isInvalidDependencySelection: boolean;\r\n}\r\n\r\nexport interface ProductFile {\r\n id: number;\r\n sortOrder: number;\r\n name: string;\r\n fileMetadata: FileMetadata;\r\n}\r\n\r\nexport interface ProductFileUpload extends ProductFile {\r\n fileData: FileData;\r\n type: 'Image' | 'Attachment';\r\n}\r\n\r\nexport interface ProductFileImage extends ProductFile {}\r\n\r\nexport interface ProductFileAttachment extends ProductFile {}\r\n\r\nexport enum ProductSourceCatalog {\r\n Profile = 'Profile',\r\n Project = 'Project',\r\n}\r\n\r\nexport enum ProductType {\r\n Normal = 'Normal',\r\n CustomPaint = 'CustomPaint',\r\n}\r\n\r\nexport interface BaseProduct {\r\n name: string;\r\n description: string;\r\n productLink: string;\r\n sku: string;\r\n ownerProfileId: number;\r\n itemCategoryId: number | null;\r\n widthCm: number | null;\r\n heightCm: number | null;\r\n depthCm: number | null;\r\n lengthCm: number | null;\r\n isNone: boolean;\r\n supplier: string;\r\n commentForSite: string;\r\n\r\n images: ProductFileImage[];\r\n attachments: ProductFileAttachment[];\r\n type: ProductType;\r\n}\r\n\r\nexport interface CustomPaintProduct extends BaseProduct {\r\n sku: never;\r\n widthCm: never;\r\n heightCm: never;\r\n depthCm: never;\r\n lengthCm: never;\r\n isNone: never;\r\n type: ProductType.CustomPaint;\r\n}\r\n\r\nexport enum BuyerOptionGroupStatus {\r\n Pending = 'Pending',\r\n Approved = 'Approved',\r\n Rejected = 'Rejected',\r\n}\r\n\r\nexport interface BuyerOptionGroupOverrideInfo {\r\n changeRequestId: number;\r\n changeRequestSubject: string;\r\n isApproved: boolean;\r\n}\r\n\r\nexport interface BuyerOptionGroup {\r\n id: number;\r\n name: string;\r\n projectDeadlineId: number;\r\n residentialUnitId: number;\r\n sourceCatalogGroupId: number;\r\n status: BuyerOptionGroupStatus;\r\n rejectReason: string;\r\n linkGroupId: number;\r\n itemCategoryId: number;\r\n changedFromDefault: boolean;\r\n tags: ProjectTag[];\r\n description: string;\r\n providedByProfileId: number;\r\n providedByProfileName: string;\r\n selectedLinkGroupItemId: number | null;\r\n isSent: boolean;\r\n isNotApplicable: boolean;\r\n pricingFieldId: number | null;\r\n customFieldData: string;\r\n selectedOption: SelectedOption;\r\n overrideInfo: BuyerOptionGroupOverrideInfo[];\r\n permissions: { canApprove: boolean };\r\n}\r\n\r\nexport interface ProjectCatalogLinkGroup {\r\n id: number;\r\n name: string;\r\n itemCategoryId: number;\r\n tags: ProjectTag[];\r\n}\r\n\r\nexport interface ProjectCatalogLinkGroupItem {\r\n id: number;\r\n price: number;\r\n\r\n // projectId: number;\r\n // productName: string;\r\n // groupName: string;\r\n}\r\n\r\nexport interface SelectedOption {\r\n readonly id: number;\r\n readonly name: string;\r\n readonly imageId?: number;\r\n readonly priceCalculation: PriceCalculationResult;\r\n readonly pricingFieldName: string;\r\n}\r\n\r\nexport interface CatalogGroup {\r\n id: number;\r\n name: string;\r\n ownerProfileId: number;\r\n itemCategoryId?: number | null;\r\n floorPlanSketchTypeId?: number | null;\r\n hasNoneOption: boolean;\r\n noneOptionName?: string;\r\n noneOptionDescription?: string;\r\n}\r\n\r\nexport interface BuyerInfo {\r\n lastVisitDate: Date | null;\r\n users: BuyerInfoUser[];\r\n}\r\n\r\nexport interface BuyerInfoUser extends SimplifiedBuyerUser {\r\n inviteId: number;\r\n lastVisitDate: Date | string | null;\r\n invitedDate: Date | string | null;\r\n acceptedDate: Date | string | null;\r\n cancelable: boolean;\r\n inviteStatus: InvitationStatus;\r\n}\r\n\r\nexport interface SimplifiedBuyerUser {\r\n userId: number | null;\r\n firstName: string;\r\n lastName: string;\r\n displayName: string;\r\n email: string;\r\n phoneNumber: string;\r\n title: string | null;\r\n salutation: string | null;\r\n}\r\n\r\nexport interface SimplifiedOrder {\r\n categoryId: number;\r\n orderId: number;\r\n ownerName: string;\r\n productName: string;\r\n status: string;\r\n unitName: string;\r\n}\r\n\r\nexport interface ProfileCatalogProduct extends BaseProduct {\r\n id: number;\r\n defaultPrice: number | null;\r\n}\r\n\r\nexport interface ProjectCatalogProduct extends BaseProduct {\r\n id: number;\r\n projectId: number;\r\n\r\n linkGroupReferences: IdNamePair[] | null;\r\n permissions?: {\r\n canEdit: boolean;\r\n canDelete: boolean;\r\n };\r\n}\r\n\r\nexport interface LinkedResidentialUnit {\r\n id: number;\r\n name: string;\r\n isLocked: boolean;\r\n buyerOptionGroupStatus: BuyerOptionGroupStatus;\r\n rejectReason: string;\r\n isSent: boolean;\r\n isApplicable: boolean;\r\n}\r\n\r\nexport interface ProductGroupLinkOverview {\r\n linkGroupId: number;\r\n projectId: number;\r\n projectName: string;\r\n ownerProfileId: number;\r\n ownerProfileName: string;\r\n groupName: string;\r\n itemCategoryId: number;\r\n residentialUnits: LinkedResidentialUnit[];\r\n permissions: {\r\n canApprove: boolean;\r\n canEdit: boolean;\r\n canChangeOptions: boolean;\r\n canDuplicate: boolean;\r\n };\r\n description: string;\r\n providedByProfileId: number | null;\r\n deadlineName: string;\r\n deadline: Date | string;\r\n projectDeadlineId: number;\r\n linkedByUserName: string;\r\n linkDate: Date;\r\n tags: Omit[];\r\n pricingFieldId: number | null;\r\n\r\n showQuantityToBuyers: boolean;\r\n disableManualSelection: boolean;\r\n removePrices: boolean;\r\n}\r\n\r\nexport interface LinkOverviewFilters {\r\n projects: FilterItem[];\r\n}\r\n\r\nexport interface OrderHistory {\r\n localizationId: string;\r\n parameters: any; // not sure honestly\r\n performedByUserId: number;\r\n performedByName: string;\r\n performedDate: Date;\r\n}\r\n\r\nexport interface ChangeRequestAttachment extends Attachment {}\r\n\r\nexport interface FeeSetConnectionInfo {\r\n name: string;\r\n projectFeeSetId: number | null;\r\n feeSetId: number | null;\r\n feeSetOverridden: boolean;\r\n feeSetOutdated: boolean;\r\n}\r\n\r\nexport interface ChangeRequestParticipantLineInfo {\r\n id: number;\r\n price: number | null;\r\n description: string;\r\n projectFeeSetId: number;\r\n readonly priceCalculation: PriceCalculationResult | null | undefined;\r\n readonly feeSetInfo: FeeSetConnectionInfo;\r\n itemCategoryId: number | null;\r\n tags: ProjectTag[];\r\n}\r\n\r\nexport interface ChangeRequestParticipant {\r\n id: number;\r\n userId: number;\r\n profileId: number;\r\n priority: number;\r\n}\r\n\r\nexport interface ChangeRequestParticipantInfo extends ChangeRequestParticipant {\r\n displayName: string;\r\n email: string;\r\n profileName: string;\r\n isCurrentUser: boolean;\r\n isReadyToSend: boolean;\r\n offerPrice: number | null;\r\n offerFinalPrice: number | null;\r\n offerNote: string | null;\r\n offerAttachments: ChangeRequestAttachment[];\r\n offerLines: ChangeRequestParticipantLineInfo[] | null;\r\n hasLines: boolean;\r\n priceRedacted: boolean;\r\n lastModified: Date | string | null;\r\n permissions: ChangeRequestParticipantPermissions;\r\n availableCategories: number[];\r\n isAdministrator: boolean;\r\n}\r\n\r\nexport interface ChangeRequestAvailableParticipant {\r\n userId: number;\r\n isCurrentUser: boolean;\r\n profileId: number;\r\n displayName: string;\r\n email: string;\r\n profileName: string;\r\n availableCategories: number[];\r\n isAdministrator: boolean;\r\n}\r\n\r\nexport interface ChangeRequestParticipantPermissions {\r\n canChangeOffer: boolean;\r\n canModifyAttachmentFlags: boolean;\r\n}\r\n\r\nexport interface ChangeRequest {\r\n id: number;\r\n subject: string;\r\n description: string;\r\n internalDescription: string;\r\n\r\n projectId: number;\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n externalAgreementId: number | null;\r\n status: SellerChangeRequestStatus;\r\n submitDate: Date;\r\n publicCommentThreadId: number;\r\n privateCommentThreadId: number;\r\n attachments: ChangeRequestAttachment[];\r\n\r\n isClosed: boolean;\r\n isArchived: boolean;\r\n closeNote: string;\r\n\r\n rejectReason: string | null;\r\n createdByUser: IdNamePair | null;\r\n reviewedByUser: IdNamePair | null;\r\n closedByUser: IdNamePair | null;\r\n\r\n hasOffers: boolean;\r\n lastActiveOfferId: number | null;\r\n\r\n // readyToSend: boolean;\r\n hasParticipants: boolean;\r\n waitingForCurrentUser: boolean;\r\n tags: ProjectTag[];\r\n optionGroupOverrides: BuyerOptionGroupOverride[];\r\n}\r\n\r\nexport interface ChangeRequestWithChatInfo extends ChangeRequest {\r\n unreadMessages: number;\r\n lastMessageDate: Date | null;\r\n isFollowing: boolean;\r\n}\r\n\r\nexport enum InviteType {\r\n Buyer = 'Buyer',\r\n Profile = 'Profile',\r\n Project = 'Project',\r\n}\r\n\r\nexport interface Invitation {\r\n invitationId: number;\r\n invitedBy: string;\r\n invitedTo: string;\r\n inviteeProfileId: number;\r\n inviteeEmail: string;\r\n inviteeSalutation: UserSalutation | null;\r\n inviteeTitle: UserTitle | null;\r\n inviteType: InviteType;\r\n projectId: number | null;\r\n inviteeFirstName: string;\r\n inviteeLastName: string;\r\n inviteePhoneNumber: string;\r\n emailExists: boolean;\r\n countryCode: keyof typeof COUNTRY_CODES | null;\r\n}\r\n\r\nexport interface InvitationWithToken extends Invitation {\r\n token: string;\r\n}\r\n\r\nexport interface ItemCategory {\r\n id: number;\r\n name: string;\r\n iconName: string;\r\n subCategories: ItemCategory[];\r\n}\r\n\r\nexport interface FloorPlanSketchType {\r\n id: number;\r\n name: string;\r\n itemCategoryId: number;\r\n}\r\n\r\nexport type ProfilePermissionType = string;\r\n\r\nexport interface ProfileMemberPermissions {\r\n profilePermissions: ProfilePermissionType[];\r\n isAdministrator: boolean;\r\n}\r\n\r\nexport interface ProfileMember {\r\n applicationUserId: number;\r\n profileMemberId: number;\r\n displayName: string;\r\n email: string;\r\n}\r\n\r\nexport type ProfileMemberDetails = ProfileMemberPermissions & {\r\n applicationUserId: number;\r\n profileMemberId: number;\r\n displayName: string;\r\n email: string;\r\n status: MemberStatus;\r\n inviteId?: number;\r\n};\r\n\r\nexport interface ProjectMilestone {\r\n id: number;\r\n description: string;\r\n label: string;\r\n isCompleted: boolean;\r\n sortOrder: number;\r\n}\r\n\r\nexport interface LandingPageImageData {\r\n id: number;\r\n createDate: Date;\r\n text: string;\r\n sortOrder: number;\r\n}\r\n\r\nexport interface LandingPageMessageData {\r\n guid: string;\r\n header: string;\r\n message: string;\r\n createDate: Date;\r\n projectId: number;\r\n isEdited: boolean;\r\n profileId: number;\r\n files: LandingPageMessageFile[];\r\n isPinned: boolean;\r\n postDate: Date;\r\n}\r\n\r\nexport interface LandingPageMessageFile {\r\n id: number;\r\n fileMetadata: FileMetadata;\r\n name: string;\r\n sortOrder: number;\r\n text: string;\r\n}\r\n\r\nexport interface LandingPageMessageFileUpload extends LandingPageMessageFile {\r\n file?: FileData;\r\n}\r\n\r\nexport interface BuyerProjectData {\r\n projectId: number;\r\n projectName: string;\r\n deadlines: BuyerProjectDeadline[];\r\n unitName: string;\r\n address: string;\r\n floor: string;\r\n unitType: 'Apartment' | 'Detached' | 'SemiDetached' | 'Terraced' | 'CommonArea';\r\n isInReadOnlyMode: boolean;\r\n sellerProfileId: number;\r\n sellerProfileName: string;\r\n features: EffectiveProjectFeatureConfiguration[] | null;\r\n changeRequestWarningText: string | null;\r\n changeRequestDeadline: Date | string | null;\r\n currencyCode: string;\r\n sellerModules: BygrModule[];\r\n buyerModules: BygrModule[];\r\n useWhiteLabel: boolean;\r\n showBackgroundImageOnMessages: boolean;\r\n defaultUnitOfMeasurement: UnitOfMeasurement;\r\n optionsTerms: string;\r\n showDefaultTextOnOptions: boolean;\r\n decimalOption: ProjectDecimalOption;\r\n}\r\n\r\nexport interface BuyerProjectDeadline extends ProjectDeadline {\r\n hasOptionsAttached: boolean;\r\n}\r\n\r\nexport interface BuyerLandingPageData {\r\n projectId: number;\r\n showBackgroundImage: boolean;\r\n\r\n milestones: ProjectMilestone[];\r\n images: LandingPageImageData[];\r\n messages: LandingPageMessageData[];\r\n}\r\n\r\nexport enum CommentThreadType {\r\n Unknown = 'Unknown',\r\n ResidentialUnit = 'ResidentialUnit',\r\n ChangeRequest = 'ChangeRequest',\r\n Order = 'Order',\r\n ExternalAgreement = 'ExternalAgreement',\r\n Case = 'Case',\r\n Project = 'Project',\r\n ResidentialUnitAftermarket = 'ResidentialUnitAftermarket',\r\n}\r\n\r\nexport interface CommentThreadBase {\r\n threadId: number;\r\n name: string; //?\r\n // residentialUnitName: string;\r\n residentialUnitId: number | null;\r\n projectId: number | null;\r\n type: CommentThreadType;\r\n}\r\n\r\nexport interface CommentThreadOverview extends CommentThreadBase {\r\n unreadMessages: number;\r\n lastMessageDate: Date | null;\r\n lastMessage: LastCommentMessage | null;\r\n buyerIncluded: boolean;\r\n}\r\n\r\nexport interface CommentThreadOverviewTotals {\r\n projectId: number;\r\n unreadThreads: number;\r\n unreadMessages: number;\r\n}\r\n\r\n// export interface BuyerCommentThreadOverview extends CommentThreadBase {\r\n\r\n// buyerIncluded: boolean;\r\n// createDate: Date | string;\r\n// unreadMessages: number;\r\n// lastMessageDate: Date | string | null;\r\n// lastMessage: LastCommentMessage;\r\n// // participants: CommentParticipant[];\r\n// followers: CommentFollower[];\r\n// isMainThread: boolean;\r\n// hasFlaggedMessages: boolean;\r\n// }\r\nexport interface BuyerCommentThreadOverview {\r\n id: number;\r\n threadId: number;\r\n name: string;\r\n type: CommentThreadType;\r\n buyerIncluded: boolean;\r\n createDate: Date | string;\r\n projectId: number | null;\r\n residentialUnitId: number | null;\r\n unreadMessages: number;\r\n lastMessageDate: Date | string | null;\r\n lastMessage: LastCommentMessage;\r\n followers: CommentFollower[];\r\n hasFlaggedMessages: boolean;\r\n isMainThread: boolean;\r\n}\r\n\r\nexport interface CommentThreadSearchResult extends CommentThreadBase {\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n isFollowed: boolean;\r\n lastMessageDate: Date | string | null;\r\n unreadMessages: number;\r\n lastMessage: LastCommentMessage | null;\r\n followers: CommentFollower[];\r\n isMainThread: boolean;\r\n hasFlaggedMessages: boolean;\r\n buyerIncluded: boolean;\r\n}\r\n\r\nexport interface CommentFollower {\r\n applicationUserId: number;\r\n firstName: string;\r\n displayName: string;\r\n}\r\n\r\nexport interface LastCommentMessage {\r\n message: string;\r\n sentByUserId: number;\r\n hasAttachment: boolean;\r\n}\r\n\r\nexport interface CommentThreadBuyer {\r\n userId: number;\r\n displayName: string;\r\n}\r\n\r\nexport interface CommentMessageUserData {\r\n isFlagged: boolean;\r\n}\r\n\r\nexport interface CommentMessageContent {\r\n text: string;\r\n plainText: string;\r\n mentions: CommentMessageMention[];\r\n}\r\n\r\nexport interface CommentMessageMention {\r\n userId: number;\r\n profileId: number | null;\r\n text: string;\r\n index: number;\r\n length: number;\r\n}\r\n\r\nexport interface CommentAttachmentInfo {\r\n name: string;\r\n fileMetadata: FileMetadata;\r\n}\r\n\r\nexport interface CommentMentionable {\r\n applicationUserId: number;\r\n name: string;\r\n profileName: string;\r\n iconColor: string;\r\n email: string;\r\n}\r\n\r\nexport interface CommentParticipant extends CommentMentionable {\r\n isFollower: boolean;\r\n isBuyer: boolean;\r\n}\r\n\r\nexport interface PossibleChatFollower extends CommentMentionable {\r\n profileId: number;\r\n projectMemberId: number;\r\n}\r\n\r\nexport enum ExternalLoginProvider {\r\n Microsoft = 'Microsoft',\r\n Bbl = 'Bbl',\r\n Plyo = 'Plyo',\r\n}\r\n\r\nexport interface FrontEndConfiguration {\r\n loginProviders: ExternalLoginProvider[];\r\n valid: boolean;\r\n profileId: number | null;\r\n projectId: number | null;\r\n}\r\n\r\nexport interface FeeConfiguration {\r\n id: number;\r\n name: string;\r\n feePercentage: number;\r\n taxPercentage: number;\r\n sortOrder: number;\r\n}\r\n\r\nexport enum BuyerOfferStatus {\r\n Pending = 'Pending',\r\n Accepted = 'Accepted',\r\n Rejected = 'Rejected',\r\n Retracted = 'Retracted',\r\n Canceled = 'Canceled',\r\n}\r\n\r\nexport interface BuyerOfferAttachment extends Attachment {\r\n isSensitive: boolean;\r\n hideFromBuyer: boolean;\r\n}\r\n\r\nexport interface BuyerOfferLine {\r\n readonly id: number;\r\n readonly description: string;\r\n readonly basePrice: number | null;\r\n readonly finalPrice: number | null;\r\n readonly feeSetInfo: FeeSetConnectionInfo | null;\r\n readonly itemCategoryId: number | null;\r\n}\r\n\r\nexport interface BuyerOffer {\r\n id: number;\r\n status: BuyerOfferStatus;\r\n sendNote: string;\r\n sendDate: Date | string;\r\n lineGroups: BuyerOfferLineGroup[];\r\n\r\n sentByUserId: number;\r\n sentByUserName: string;\r\n sentByProfileId: number;\r\n sentByProfileName: string;\r\n\r\n readonly hasRedactedPrices: boolean;\r\n readonly totalBasePrice: number | null;\r\n readonly totalFinalPrice: number | null;\r\n\r\n rejectReason: string;\r\n reviewedByUserId: number | null;\r\n reviewedByUserName: string;\r\n retractNote: string;\r\n}\r\n\r\nexport interface BuyerOfferLineGroup {\r\n id: number;\r\n note: string;\r\n providedByUserId: number;\r\n providedByUserName: string;\r\n\r\n providedByProfileId: number;\r\n providedByProfileName: string;\r\n\r\n attachments: BuyerOfferAttachment[];\r\n offerLines: BuyerOfferLine[];\r\n\r\n readonly priceRedacted: boolean;\r\n readonly totalBasePrice: number;\r\n readonly totalFinalPrice: number;\r\n}\r\n\r\nexport enum ProjectTagType {\r\n Room = 'Room',\r\n}\r\n\r\nexport interface ProjectTag {\r\n id: number;\r\n label: string;\r\n type?: ProjectTagType;\r\n sortOrder: number;\r\n}\r\n\r\n// export interface ProjectTagWithNew extends Omit {\r\n// id?: number;\r\n// value: number | string;\r\n// }\r\n\r\nexport interface BuyerPermissions {\r\n residentialUnitId: number;\r\n canModify: boolean;\r\n impersonating?: boolean;\r\n isInReadOnlyMode: boolean;\r\n}\r\n\r\nexport interface ChangeRequestFilterData {\r\n units: UnitFilterData[];\r\n groups: FilterItem[];\r\n participants: FilterItem[];\r\n statuses: SellerChangeRequestStatus[];\r\n}\r\n\r\nexport interface ExternalAgreementFilterData {\r\n units: FilterItem[];\r\n groups: FilterItem[];\r\n status: ExternalAgreementStatus[];\r\n}\r\n\r\nexport interface CompanyProfileData {\r\n name: string;\r\n profileId: number;\r\n}\r\n\r\nexport interface ProjectFeeSet {\r\n id: number;\r\n name: string;\r\n isDefault: boolean;\r\n fees: FeeConfiguration[];\r\n}\r\n\r\nexport interface ProjectFeeSetWithReferenceCount extends ProjectFeeSet {\r\n referenceCount: number;\r\n}\r\n\r\nexport interface ResidentialUnitFilterData {\r\n layoutTypes: string[];\r\n floors: string[];\r\n tags: ProjectTag[];\r\n groups: ResidentialUnitFilterDataGroups[];\r\n}\r\n\r\nexport interface ResidentialUnitFilterDataGroups {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport interface ResidentialUnitLinkInfo {\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n residentialUnitGroupId: number | null;\r\n residentialUnitGroupName: string;\r\n layoutType: string;\r\n floor: string;\r\n tags: ProjectTag[];\r\n}\r\n\r\nexport interface LinkedCatalogGroup {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport enum EmailValidity {\r\n Checking = 'Checking',\r\n NotChecked = 'NotChecked',\r\n Valid = 'Valid',\r\n BadEmail = 'BadEmail',\r\n AlreadyExists = 'AlreadyExists',\r\n}\r\n\r\nexport interface TaskFilterData {\r\n tags: ProjectTag[];\r\n deadlineIds: number[];\r\n itemCategoryIds: number[];\r\n}\r\n\r\nexport interface ProjectTerms {\r\n termsAndConditions: string;\r\n externalPrivacyPolicyLink: string;\r\n optionsTermsText: string;\r\n optionsTermsEnabled: boolean;\r\n}\r\n\r\nexport interface ProjectDeadlineAlert {\r\n id: number;\r\n daysBeforeDeadline: number;\r\n sendEmail: boolean;\r\n sendSms: boolean;\r\n sendInApp: boolean;\r\n alertType: DeadlineAlertType;\r\n}\r\n\r\nexport enum DeadlineAlertType {\r\n BeforeDeadline = 'BeforeDeadline',\r\n AfterDeadline = 'AfterDeadline',\r\n}\r\n\r\nexport interface BuyerDocument {\r\n versionId: number;\r\n documentId: string;\r\n documentTypeId: number;\r\n name: string;\r\n versionNumber: number;\r\n uploadDate: Date;\r\n fileMetadata: FileMetadata;\r\n\r\n isProjectDocument: boolean;\r\n}\r\n\r\nexport interface BuyerResidentialUnitDocument {\r\n documentId: string;\r\n floor: number;\r\n documentTypeId: number;\r\n name: string;\r\n description: string;\r\n versionCount: number;\r\n lastVersionDate: Date | string;\r\n lastVersionId: number;\r\n lastVersionNumber: number;\r\n lastVersionRejectReason: string;\r\n lastVersionFileMetadata: FileMetadata;\r\n isProjectDocument: boolean;\r\n residentialUnitId: number;\r\n}\r\n\r\nexport interface BuyerOfferDocumentGroup {\r\n offerId: number;\r\n name: string;\r\n lastModified: Date;\r\n documents: BuyerOfferDocument[];\r\n changeRequestId: number | null;\r\n changeRequestSubject: string | null;\r\n}\r\n\r\nexport interface BuyerOfferDocument {\r\n buyerOfferAttachmentId: number;\r\n name: string;\r\n fileMetadata: FileMetadata;\r\n}\r\n\r\nexport interface ExtraCost {\r\n id: number;\r\n residentialUnitId: number;\r\n title: string;\r\n description: string;\r\n amount: number;\r\n projectFeeSetId: number | null;\r\n}\r\n\r\nexport interface OrderFilterData {\r\n units: UnitFilterData[];\r\n owners: OrderDataOwners[];\r\n categoryIds: number[];\r\n residentialUnitGroups: ResidentialUnitGroup[];\r\n statuses: OrderStatus[];\r\n deadlines: IdNamePair[];\r\n}\r\n\r\nexport interface UnitFilterData {\r\n id: number;\r\n name: string;\r\n groupName: string;\r\n buyers: BuyerFilterData[];\r\n}\r\n\r\nexport interface BuyerFilterData {\r\n userId: number | null;\r\n displayName: string;\r\n firstName: string;\r\n}\r\n\r\nexport interface OrderDataOwners {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport enum OrderType {\r\n ChangeRequest = 'ChangeRequest',\r\n BuyerOption = 'BuyerOption',\r\n}\r\n\r\nexport interface ProjectTagExtended extends ProjectTag {\r\n readonly residentialUnitTagCount: number;\r\n readonly linkGroupTagCount: number;\r\n readonly changeRequestTagCount: number;\r\n readonly orderTagCount: number;\r\n readonly externalAgreementCount: number;\r\n readonly caseTagCount: number;\r\n readonly documentTagCount: number;\r\n readonly totalCount: number;\r\n\r\n readonly canBeRenamed: boolean;\r\n readonly canBeDeleted: boolean;\r\n readonly aftermarketCount: number;\r\n}\r\n\r\nexport interface ChangeRequestOverview {\r\n changeRequestId: number;\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n description: string;\r\n subject: string;\r\n participants: ChangeRequestOverviewParticipant[];\r\n}\r\n\r\nexport interface ChangeRequestOverviewParticipant {\r\n userId: number;\r\n profileId: number;\r\n displayName: string;\r\n profileName: string;\r\n sentOffer: boolean;\r\n // timeToSendOfferInSeconds: number | null;\r\n}\r\n\r\nexport interface ChangeRequestUserOverview {\r\n userId: number;\r\n averageTimeToSendInSeconds: number | null;\r\n unsubmittedOffers: number;\r\n}\r\n\r\n/*\r\n Typings for NotificationTypes\r\n*/\r\nexport interface ChangeRequestCreatedData {\r\n UnitName: string;\r\n ProfileId: number;\r\n ChangeRequestId: number;\r\n ProjectName: string;\r\n ProjectId: number;\r\n ResidentialUnitId: number | undefined;\r\n}\r\n\r\nexport interface OfferOnChangeRequestToBuyerData {\r\n Name: string;\r\n ProfileId: number;\r\n ChangeRequestId: number;\r\n}\r\n\r\nexport interface DeadlineApproachingData {\r\n Name: string;\r\n ProfileId: String;\r\n}\r\n\r\nexport interface TaggedInChatData {\r\n IsBuyer: boolean;\r\n IsChangeRequest: boolean;\r\n IsResidentialUnit: boolean;\r\n IsSeller: boolean;\r\n ProfileId: number;\r\n ChangeRequestId: number;\r\n CommentThreadId: number;\r\n ProjectName: string;\r\n ProjectId: number;\r\n Version?: 1;\r\n}\r\n\r\nexport interface TaggedInChatVer2 {\r\n IsBuyer: boolean;\r\n IsSeller: boolean;\r\n ThreadType: CommentThreadType;\r\n ProfileId: number;\r\n ChangeRequestId: number | null;\r\n CommentThreadId: number;\r\n ProjectId: number | null;\r\n ProjectName: string;\r\n ResidentialUnitName: string;\r\n TaggedByName: string;\r\n IncludesBuyer: boolean;\r\n IsMainThread: boolean;\r\n ResidentialUnitId: number;\r\n Version: 2;\r\n}\r\n\r\nexport interface InvitedUserAcceptedData {\r\n Unit: string;\r\n Email: string;\r\n InviterProfileId: number;\r\n ResidentialUnitId: number;\r\n ProjectId: number;\r\n ProjectName: string;\r\n}\r\n\r\nexport interface ProjectInviteAcceptedData {\r\n Email: string;\r\n InviterProfileId: number;\r\n ProjectId: number;\r\n ProjectName: string;\r\n}\r\n\r\nexport interface NewLandingPageMessageData {\r\n Header: string;\r\n}\r\n\r\nexport interface TaskChangeData {\r\n Name: string;\r\n Approved: boolean;\r\n Rejected: boolean;\r\n Count: number;\r\n UnitName: string;\r\n ResidentialUnitId: number;\r\n DocumentId: number;\r\n IsProjectDocument: boolean;\r\n Type: TaskType;\r\n BuyerOptionGroupBatchId: number;\r\n ProjectId: number;\r\n ProjectName: string;\r\n}\r\n\r\nexport interface ChangeRequestAddedAttachmentData {\r\n ChangeRequestName: string;\r\n UnitName: string;\r\n ProjectId: number;\r\n ProjectName: string;\r\n ChangeRequestId: number;\r\n ResidentialUnitId: number | undefined;\r\n}\r\n\r\nexport interface ChangeRequestAddedParticipantData {\r\n ChangeRequestName: string;\r\n ProfileId: number;\r\n ProjectId: number;\r\n ProjectName: string;\r\n ChangeRequestId: number;\r\n UnitName: string;\r\n ResidentialUnitId: number | undefined;\r\n}\r\n\r\nexport interface DocumentAddedData {\r\n DocumentTypeName: string;\r\n DocumentName: string;\r\n VersionId: number | undefined;\r\n ProfileId: number;\r\n}\r\n\r\nexport interface OfferRejectedByBuyerData {\r\n ChangeRequestName: string;\r\n UnitName: number;\r\n ProfileId: number;\r\n ChangeRequestId: number;\r\n ProjectId: number;\r\n ProjectName: string;\r\n ResidentialUnitId: number | undefined;\r\n}\r\n\r\nexport interface ChangeRequestClosedData {\r\n UnitName: string;\r\n ChangeRequestName: string;\r\n ChangeRequestId: number;\r\n ProfileId: number;\r\n ProjectId: number;\r\n ProjectName: string;\r\n ResidentialUnitId: number | undefined;\r\n}\r\n\r\nexport interface ChangeRequestAcceptedData {\r\n ChangeRequestName: string;\r\n UnitName: string;\r\n ChangeRequestId: number;\r\n ProfileId: number;\r\n ProjectName: string;\r\n ProjectId: number;\r\n ResidentialUnitId: number | undefined;\r\n}\r\n\r\nexport interface DeadlineReminderAllSentData {\r\n Name: string;\r\n NumberOfDaysToDeadline: number;\r\n ApplicationUserId: number;\r\n ProfileId: number;\r\n}\r\n\r\nexport interface DeadlineReminderNoOptionsData {\r\n Name: string;\r\n NumberOfDaysToDeadline: number;\r\n ApplicationUserId: number;\r\n ProfileId: number;\r\n}\r\n\r\nexport interface DeadlineReminderWithUnsentData {\r\n Name: string;\r\n NumberOfDaysToDeadline: number;\r\n ApplicationUserId: number;\r\n ProfileId: number;\r\n}\r\n\r\nexport interface BuyerSignedOptionsData {\r\n UnitName: string;\r\n DeadlineName: string;\r\n Deadline: Date;\r\n ProjectId: number;\r\n ProjectName: string;\r\n BuyerOptionGroupIds: number[];\r\n ProfileId: number;\r\n ResidentialUnitId: number;\r\n}\r\n\r\nexport interface VideoConferenceData {\r\n callerId: number;\r\n callerName: string;\r\n callerCompanyName: string;\r\n receiverIds: number[];\r\n name: string;\r\n valid: Date;\r\n id: string;\r\n url: string;\r\n}\r\n\r\nexport interface ActiveUserData {\r\n id: number;\r\n name: string;\r\n}\r\n\r\nexport interface SendChangeRequestRequestedNewOffersData {\r\n ChangeRequestSubject: string;\r\n ChangeRequestId: number;\r\n ProjectId: number;\r\n ProjectName: string;\r\n ProfileId: number;\r\n ResidentialUnitId: number;\r\n}\r\n\r\nexport interface SendZippedFileReadyData {\r\n // DestinationKey: string;\r\n NumberOfFiles: number;\r\n Id: string;\r\n}\r\n\r\nexport interface BuyerOptionBatchFilterData {\r\n units: UnitFilterData[];\r\n deadlines: DeadlineFilterData[];\r\n}\r\n\r\nexport interface DeadlineFilterData {\r\n id: number;\r\n name: string;\r\n deadline: Date;\r\n}\r\n\r\nexport interface SimpleDocument {\r\n versionId: number;\r\n documentId: string;\r\n projectId: number;\r\n floor: number;\r\n documentTypeId: number;\r\n name: string;\r\n description: string;\r\n versionNumber: number;\r\n uploadDate: Date | string;\r\n uploadedByUserId: number;\r\n isProjectDocument: boolean;\r\n isSensitive: boolean;\r\n hideFromBuyer: boolean;\r\n isArchived: boolean;\r\n ownerProfileId: number | null;\r\n}\r\n\r\nexport enum BuyerOptionPresetGroupStatus {\r\n Pending = 'Pending',\r\n Published = 'Published',\r\n}\r\n\r\nexport enum BuyerOptionPresetStatus {\r\n Pending = 'Pending',\r\n Published = 'Published',\r\n}\r\n\r\nexport interface BuyerOptionPresetLinkedUnit {\r\n id: number;\r\n name: string;\r\n isSelected: boolean;\r\n}\r\n\r\nexport interface BuyerOptionPreset {\r\n id: number;\r\n projectId: number;\r\n name: string;\r\n description: string;\r\n createdByDisplayName: string;\r\n createDate: Date;\r\n status: BuyerOptionPresetStatus;\r\n groupedItems: BuyerOptionPresetItemsGrouped[];\r\n tags: ProjectTag[];\r\n images: BuyerOptionPresetImage[];\r\n hasDirectCost: boolean;\r\n price: number;\r\n projectFeeSetId: number;\r\n feeSetId: number;\r\n pricingFieldId: number | null;\r\n // linkedUnits: BuyerOptionPresetLinkedUnit[];\r\n}\r\n\r\nexport interface BuyerOptionPresetGroupLinkedUnit {\r\n id: number;\r\n name: string;\r\n selectedPreset: IdNamePair;\r\n // selectedPresetId: number | null;\r\n // selectedPresetName: string;\r\n}\r\n\r\nexport interface BuyerOptionPresetGroup {\r\n id: number;\r\n projectId: number;\r\n name: string;\r\n description: string;\r\n forceSelection: boolean;\r\n styleOptionsFree: boolean;\r\n createDate: Date | string | null;\r\n createdByDisplayName: string;\r\n sortOrder: number;\r\n status: BuyerOptionPresetGroupStatus;\r\n presets: BuyerOptionPreset[];\r\n tags: ProjectTag[];\r\n linkedUnits: BuyerOptionPresetGroupLinkedUnit[];\r\n legacyMode: boolean;\r\n}\r\n\r\nexport interface BuyerOptionPresetImage {\r\n id: number;\r\n buyerOptionPresetId: number;\r\n sortOrder: number;\r\n}\r\n\r\nexport interface BuyerOptionPresetItem {\r\n buyerOptionPresetItemId: number;\r\n projectCatalogLinkGroupItemId: number;\r\n isDefault: boolean;\r\n catalogProduct: ProjectCatalogProduct;\r\n}\r\n\r\nexport interface BuyerOptionPresetItemsGrouped {\r\n buyerOptionPresetId: number;\r\n projectCatalogLinkGroup: ProjectCatalogLinkGroup;\r\n\r\n items: BuyerOptionPresetItem[];\r\n}\r\n\r\nexport interface ResidentialUnitSpending {\r\n totalSpending: number;\r\n details: ResidentialUnitSpendingDetails[];\r\n}\r\n\r\nexport interface ResidentialUnitSpendingDetails {\r\n rootItemCategoryId: number;\r\n totalSpending: number;\r\n}\r\n\r\nexport interface ResidentialUnitSpendingRow {\r\n rootItemCategoryId: number;\r\n totalSpending: number;\r\n}\r\n\r\nexport enum BygrModule {\r\n ChangeManagement = 'ChangeManagement',\r\n Aftermarket = 'Aftermarket',\r\n QualityManagement = 'QualityManagement',\r\n}\r\n\r\nexport interface INotification {\r\n readonly id: number;\r\n readonly createDate: Date;\r\n readonly viewDate?: Date | null;\r\n readonly clickDate?: Date | null;\r\n readonly url?: string;\r\n readonly imageUrl?: string;\r\n readonly type?: string;\r\n readonly priority?: string;\r\n readonly message?: string;\r\n readonly status: 'New' | 'Viewed' | 'Clicked';\r\n readonly iconName: BackendIconNames | 'ProfileImage';\r\n readonly initiatedByProfileId?: number;\r\n readonly data: any;\r\n readonly templateType: NotificationTemplateType;\r\n}\r\n\r\nexport enum NotificationTemplateType {\r\n OldNotification = 'OldNotification',\r\n ChangeRequestCreated = 'ChangeRequestCreated',\r\n OfferOnChangeRequestToBuyer = 'OfferOnChangeRequestToBuyer',\r\n DeadlineApproaching = 'DeadlineApproaching',\r\n TaggedInChat = 'TaggedInChat',\r\n InvitedUserAccepted = 'InvitedUserAccepted',\r\n ProjectInviteAccepted = 'ProjectInviteAccepted',\r\n NewLandingPageMessage = 'NewLandingPageMessage',\r\n TaskChange = 'TaskChange',\r\n ChangeRequestAddedAttachment = 'ChangeRequestAddedAttachment',\r\n DocumentAdded = 'DocumentAdded',\r\n ChangeRequestAddedParticipant = 'ChangeRequestAddedParticipant',\r\n OfferRejectedByBuyer = 'OfferRejectedByBuyer',\r\n ChangeRequestClosed = 'ChangeRequestClosed',\r\n ChangeRequestAccepted = 'ChangeRequestAccepted',\r\n DeadlineReminderWithUnsent = 'DeadlineReminderWithUnsent',\r\n DeadlineReminderAllSent = 'DeadlineReminderAllSent',\r\n DeadlineReminderNoOptions = 'DeadlineReminderNoOptions',\r\n BuyerSignedOptions = 'BuyerSignedOptions',\r\n ChangeRequestRequestedNewOffers = 'ChangeRequestRequestedNewOffers',\r\n ZippedFileReady = 'ZippedFileReady',\r\n}\r\n\r\nexport interface NotificationResult {\r\n totalCount: number;\r\n notifications: INotification[];\r\n}\r\n\r\nexport interface RequestError {\r\n status: HttpStatusCode;\r\n}\r\n\r\nexport interface ObjectHistoryLog {\r\n id: number;\r\n objectType: ObjectHistoryLogObjectType;\r\n objectId: number;\r\n groupById: string;\r\n operationKey: HistoryLogActions['All'];\r\n parametersJson: object;\r\n objectName: string;\r\n performedDate: Date | string;\r\n performedBy: IdNamePair;\r\n projectId: number | null;\r\n residentialUnitId: number | null;\r\n relatedObjectType: ObjectHistoryLogObjectType;\r\n}\r\n\r\nexport interface PaginationResult {\r\n totalCount: number;\r\n items: T[];\r\n}\r\n\r\nexport interface PaginationRequest {\r\n pageSize: number;\r\n pageNumber: number;\r\n sortBy: string | number | symbol;\r\n sortDirection: SortDirection;\r\n}\r\n\r\nexport interface ObjectHistoryLogFilterData {\r\n performedBy: FilterItem[];\r\n}\r\n\r\nexport interface UserDetails {\r\n displayName: string;\r\n email: string;\r\n profileId: number;\r\n profileName: string;\r\n}\r\n\r\nexport interface ResidentialUnitPricingFieldValues {\r\n residentialUnitId: number;\r\n pricingFields: PricingFieldValue[];\r\n}\r\n\r\nexport interface ResidentialUnitCustomField {\r\n id: number;\r\n residentialUnitId: number;\r\n residentialUnitCustomFieldTypeId: number;\r\n value: string;\r\n}\r\n\r\nexport interface ResidentialUnitCustomFieldType {\r\n id: number;\r\n projectId: number;\r\n name: string;\r\n}\r\n\r\nexport interface StandardReply {\r\n id?: number;\r\n title: string;\r\n updateDate: Date | string;\r\n createDate: Date | string;\r\n text: string;\r\n comment: string;\r\n attachments: StandardReplyAttachmentDto[];\r\n}\r\nexport interface StandardReplyAttachmentDto {\r\n id: number;\r\n fileMetadata: FileMetadata;\r\n}\r\n\r\nexport interface ConstructionPhase {\r\n id: number;\r\n projectId: number;\r\n name: string;\r\n}\r\n\r\nexport enum UnitOfMeasurement {\r\n Millimeter = 'Millimeter',\r\n Centimeter = 'Centimeter',\r\n}\r\n\r\nexport interface PostBookingDto {\r\n from: Date | string;\r\n to: Date | string;\r\n}\r\n\r\nexport interface MeetingDto {\r\n id: number;\r\n title: string;\r\n description: string;\r\n from: Date;\r\n duration: number;\r\n imageUrl: string;\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n participantEmail: string;\r\n participantName: string;\r\n}\r\n\r\nexport interface MeetingListDto {\r\n meetings: MeetingDto[];\r\n totalCount: number;\r\n}\r\n\r\nexport interface ConfigDto {\r\n projectId?: number;\r\n apiKey: string;\r\n companyId: string;\r\n userName: string;\r\n password: string;\r\n}\r\n\r\nexport interface CatalogFilterData {\r\n suppliers: string[];\r\n}\r\n\r\nexport interface UploadedFile extends FileData {\r\n fileName: string;\r\n data: string | null;\r\n type: string;\r\n size: number;\r\n}\r\n\r\nexport interface ProjectMemberLiteDTO {\r\n projectId: number;\r\n bygrModules: BygrModule;\r\n}\r\n","import { env } from 'process';\r\n\r\nexport interface CultureInfo {\r\n readonly locale: string;\r\n readonly languageCode: string;\r\n readonly englishName: string;\r\n readonly localName: string;\r\n readonly rtl?: boolean;\r\n readonly dateFnsName: string;\r\n readonly showHelp: boolean;\r\n dateFnsImport(): Promise;\r\n}\r\n\r\nfunction cultureFilter(culture: CultureInfo) {\r\n if (['he-IL'].includes(culture.locale) && !['Development', 'Test', 'UAT'].includes(window.APP_CONFIG.ENVIRONMENT)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nconst SupportedCultures: readonly CultureInfo[] = [\r\n {\r\n locale: 'en-GB',\r\n languageCode: 'en',\r\n englishName: 'English',\r\n localName: 'English',\r\n dateFnsName: 'en-GB',\r\n showHelp: true,\r\n dateFnsImport: () => import('date-fns/locale/en-GB/index.js'),\r\n },\r\n {\r\n locale: 'de-DE',\r\n languageCode: 'de',\r\n englishName: 'German',\r\n localName: 'Deutsch',\r\n dateFnsName: 'de-DE',\r\n showHelp: false,\r\n dateFnsImport: () => import('date-fns/locale/de/index.js'),\r\n },\r\n {\r\n locale: 'nb-NO',\r\n languageCode: 'nb',\r\n englishName: 'Norwegian',\r\n localName: 'Norsk',\r\n dateFnsName: 'nb',\r\n showHelp: true,\r\n dateFnsImport: () => import('date-fns/locale/nb/index.js'),\r\n },\r\n {\r\n locale: 'he-IL',\r\n languageCode: 'he',\r\n englishName: 'Hebrew',\r\n localName: 'עברית',\r\n rtl: true,\r\n dateFnsName: 'he',\r\n showHelp: false,\r\n dateFnsImport: () => import('date-fns/locale/he/index.js'),\r\n },\r\n {\r\n locale: 'sv-SE',\r\n languageCode: 'sv',\r\n englishName: 'Swedish',\r\n localName: 'Svenska',\r\n dateFnsName: 'sv-SE',\r\n showHelp: true,\r\n dateFnsImport: () => import('date-fns/locale/sv/index.js'),\r\n },\r\n].filter(cultureFilter);\r\n\r\nconst DefaultCulture = getCultureInfo('en-GB');\r\nexport { SupportedCultures, DefaultCulture };\r\n\r\nexport function tryGetCultureInfo(locale: string) {\r\n var culture = SupportedCultures.find((x) => x.locale === locale);\r\n\r\n if (!culture) {\r\n return null;\r\n }\r\n\r\n return culture;\r\n}\r\n\r\nexport function getCultureInfo(locale: string): CultureInfo {\r\n var culture = tryGetCultureInfo(locale);\r\n\r\n if (!culture) {\r\n throw new Error(`Invalid language code ${locale}`);\r\n }\r\n\r\n return culture;\r\n}\r\n","import { FrontEndConfiguration } from 'types';\r\n\r\nexport const setUser = (data) => ({\r\n type: 'SET_GLOBAL_USER',\r\n data,\r\n});\r\n\r\nexport const setActiveProfile = (data) => ({\r\n type: 'SET_GLOBAL_ACTIVE_PROFILE',\r\n data,\r\n});\r\n\r\nexport const setActiveProject = (data) => ({\r\n type: 'SET_GLOBAL_ACTIVE_PROJECT',\r\n data,\r\n});\r\n\r\n// export const setCategories = (data) => ({\r\n// type: 'SET_GLOBAL_CATEGORIES',\r\n// data,\r\n// });\r\n\r\nexport const setProfiles = (data) => ({\r\n type: 'SET_GLOBAL_PROFILES',\r\n data,\r\n});\r\nexport const setWindowWidth = (data: number) => ({\r\n type: 'SET_WINDOW_WIDTH',\r\n data,\r\n});\r\n\r\nexport const setConfiguration = (data: FrontEndConfiguration) => ({\r\n type: 'SET_GLOBAL_CONFIGURATION',\r\n data,\r\n});\r\n\r\nexport const setCanScroll = (data: boolean) => ({\r\n type: 'SET_GLOBAL_CAN_SCROLL',\r\n data,\r\n});","import {\r\n BuyerResidentialUnitDocument,\r\n ITaskSelection,\r\n BuyerProjectData,\r\n PossibleChatFollower,\r\n SimplifiedBuyerUser,\r\n BuyerOptionPresetImage,\r\n BygrModule,\r\n} from 'types';\r\nimport { request, getApiUrl, generateApiUrl } from 'utils/ajax';\r\nimport {\r\n BudgetGroup,\r\n ChangeRequestAttachment,\r\n ChangeRequestProgressInfo,\r\n ResidentialUnitDocumentVersion,\r\n BuyerPermissions,\r\n TaskFilterData,\r\n BuyerTask,\r\n ProjectTerms,\r\n BuyerDocument,\r\n BuyerOfferDocumentGroup,\r\n} from 'types';\r\nimport { WhiteLabelColorsDto } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport function getBuyerPermissions(buyerProfileId: number): Promise {\r\n return request(`api/buyer`, { query: { profileId: buyerProfileId } }).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerDocuments(residentialUnitId: number, categories?: number[] | null): Promise {\r\n return request(`api/buyer/${residentialUnitId}/documents`, { query: { categories } }).then((x) => x.json());\r\n}\r\n\r\nexport function searchFullBuyerDocuments(\r\n residentialUnitId: number,\r\n categories?: number[] | null\r\n): Promise {\r\n return request(`api/buyer/${residentialUnitId}/residential-documents`, { query: { categories } }).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerOfferDocuments(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/offer-documents`).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerDocumentVersions(\r\n residentialUnitId: number,\r\n documentId: string\r\n): Promise {\r\n return request(`api/buyer/${residentialUnitId}/documents/${documentId}/versions`).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerTasks(\r\n residentialUnitId: number,\r\n categories,\r\n taskStatuses,\r\n projectDeadlineId,\r\n tags,\r\n showExpired: boolean\r\n): Promise {\r\n return request(`api/buyer/${residentialUnitId}/tasks`, {\r\n query: {\r\n categories,\r\n taskStatuses: taskStatuses ? taskStatuses.join(',') : null,\r\n projectDeadlineId,\r\n projectTagIds: tags ? tags.join(',') : null,\r\n showExpired,\r\n },\r\n }).then((x) => x.json());\r\n}\r\nexport function getBuyerTaskFilterData(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/tasks/filter-data`).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerTask(residentialUnitId: number, taskId: number) {\r\n return request(`api/buyer/${residentialUnitId}/tasks/${taskId}`).then((x) => x.json());\r\n}\r\n\r\nexport interface OptionSelectionValue {\r\n buyerOptionGroupId: number;\r\n selectedLinkGroupItemId: number;\r\n customFieldData: string;\r\n}\r\n\r\nexport function getTaskOptions(\r\n residentialUnitId: number,\r\n taskId: number,\r\n wizardSelections: OptionSelectionValue[]\r\n): Promise {\r\n return request(`api/buyer/${residentialUnitId}/tasks/${taskId}/options`, {\r\n json: true,\r\n query: {\r\n wizardSelections: wizardSelections.map((x) => `${x.buyerOptionGroupId}-${x.selectedLinkGroupItemId}`).join(','),\r\n },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function selectOptions(residentialUnitId: number, selections: OptionSelectionValue[]) {\r\n return request(`api/buyer/${residentialUnitId}/tasks/selections`, {\r\n method: 'PUT',\r\n json: true,\r\n body: selections,\r\n });\r\n}\r\n\r\nexport function getBuyerBudget(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/budget`).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerBudgetExportUrl(residentialUnitId: number) {\r\n return getApiUrl() + `/api/buyer/${residentialUnitId}/budget/export`;\r\n}\r\n\r\nexport function sendSelections(residentialUnitId: number, projectDeadlineId: number, oneTimeCode: string) {\r\n return request(`api/buyer/${residentialUnitId}/send-tasks`, {\r\n method: 'POST',\r\n json: true,\r\n body: { projectDeadlineId, oneTimeCode },\r\n });\r\n}\r\n\r\nexport function getOpenChangeRequestCount(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/change-requests/open-count`).then((x) => x.json());\r\n}\r\n\r\nexport function getClosedChangeRequestCount(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/change-requests/accepted-count`).then((x) => x.json());\r\n}\r\n\r\nexport function getChangeRequestsProgress(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/change-requests`).then((x) => x.json());\r\n}\r\n\r\nexport function getChangeRequestProgress(\r\n residentialUnitId: number,\r\n changeRequestId: number\r\n): Promise {\r\n return request(`api/buyer/${residentialUnitId}/change-requests/${changeRequestId}`).then((x) => x.json());\r\n}\r\n\r\nexport interface SubmitChangeRequestOptions {\r\n subject: string;\r\n description: string;\r\n\r\n attachments: ChangeRequestAttachment[];\r\n}\r\n\r\nexport function submitChangeRequest(residentialUnitId: number, changeRequest: SubmitChangeRequestOptions): Promise {\r\n return request(`api/buyer/${residentialUnitId}/change-requests`, {\r\n method: 'POST',\r\n json: true,\r\n body: changeRequest,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function acceptBuyerOffer(residentialUnitId: number, buyerOfferId: number, oneTimeCode: string) {\r\n return request(`api/buyer/${residentialUnitId}/offers/${buyerOfferId}/accept`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n oneTimeCode,\r\n },\r\n });\r\n}\r\n\r\nexport function rejectBuyerOffer(residentialUnitId: number, buyerOfferId: number, reason) {\r\n return request(`api/buyer/${residentialUnitId}/offers/${buyerOfferId}/reject`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n reason,\r\n },\r\n });\r\n}\r\n\r\nexport function getBuyerProjectInfo(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/project`).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerLandingPage(residentialUnitId: number) {\r\n return request(`api/buyer/${residentialUnitId}/landing-page`).then((x) => x.json());\r\n}\r\n\r\nexport function checkOneTimeCode(code: string) {\r\n return request(`api/buyer/check-one-time-code`, {\r\n method: 'POST',\r\n json: true,\r\n body: { code },\r\n });\r\n}\r\n\r\nexport function addAttachmentToChangeRequest(\r\n residentialUnitId: number,\r\n changeRequestId: number,\r\n attachments: ChangeRequestAttachment[]\r\n): Promise {\r\n return request(`api/buyer/${residentialUnitId}/change-requests/${changeRequestId}/attachment`, {\r\n method: 'POST',\r\n json: true,\r\n body: { attachments },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerDocumentTypes() {\r\n return request(`api/buyer/document-types`).then((x) => x.json());\r\n}\r\n\r\nexport function getOfferProfileName(residentialUnitId, buyerOfferId) {\r\n return request(`api/buyer/${residentialUnitId}/offers/${buyerOfferId}/profile-name`).then((x) => x.json());\r\n}\r\n\r\nexport interface OptionSignatureInfo {\r\n clientKey: string;\r\n options: BuyerTask[];\r\n presets: OptionPreset[];\r\n totalPrice: number;\r\n}\r\n\r\nexport interface OfferSignatureInfo {\r\n clientKey: string;\r\n buyerOfferId: number;\r\n}\r\n\r\nexport function prepareOptionSignature(residentialUnitId: number, deadlineId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/option-signature`, {\r\n method: 'POST',\r\n json: true,\r\n body: { projectDeadlineId: deadlineId },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function signOptionSignature(residentialUnitId: number, clientKey: string, oneTimeCode: string): Promise {\r\n return request(`api/buyer/${residentialUnitId}/option-signature/${clientKey}/sign`, {\r\n method: 'POST',\r\n json: true,\r\n body: { oneTimeCode },\r\n });\r\n}\r\n\r\nexport function prepareOfferSignature(residentialUnitId: number, buyerOfferId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/offer-signature`, {\r\n method: 'POST',\r\n json: true,\r\n body: { buyerOfferId },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function signOfferSignature(residentialUnitId: number, clientKey: string, oneTimeCode: string): Promise {\r\n return request(`api/buyer/${residentialUnitId}/offer-signature/${clientKey}/sign`, {\r\n method: 'POST',\r\n json: true,\r\n body: { oneTimeCode },\r\n });\r\n}\r\n\r\nexport function getProjectTermsAsBuyer(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/terms`).then((x) => x.json());\r\n}\r\nexport interface OptionPresetGroup {\r\n id: number;\r\n name: string;\r\n description: string;\r\n canChange: boolean;\r\n presets: OptionPreset[];\r\n forceSelection: boolean;\r\n}\r\n\r\nexport interface OptionPreset {\r\n id: number;\r\n name: string;\r\n description: string;\r\n images: BuyerOptionPresetImage[];\r\n selected: boolean;\r\n price?: number;\r\n}\r\n\r\nexport interface OptionPresetItem {\r\n task: BuyerTask;\r\n presetOption: ITaskSelection;\r\n presetOptions: ITaskSelection[];\r\n}\r\n\r\nexport function getOptionPresets(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/option-presets`).then((x) => x.json());\r\n}\r\n\r\nexport function getOptionPresetItems(\r\n residentialUnitId: number,\r\n optionPresetId: number,\r\n changesOnly: boolean\r\n): Promise {\r\n return request(`api/buyer/${residentialUnitId}/option-presets/${optionPresetId}/items`, {\r\n query: { changesOnly },\r\n }).then((x) => x.json());\r\n}\r\n\r\n// export function getCanChangePreset(residentialUnitId: number): Promise {\r\n// return request(`api/buyer/${residentialUnitId}/option-presets/can-change`).then((x) => x.json());\r\n// }\r\n\r\nexport function applyOptionPreset(\r\n residentialUnitId: number,\r\n optionPresetId: number,\r\n extraSelections: OptionSelectionValue[]\r\n): Promise {\r\n return request(`api/buyer/${residentialUnitId}/option-presets/${optionPresetId}/apply`, {\r\n method: 'POST',\r\n json: true,\r\n body: extraSelections,\r\n });\r\n}\r\n\r\nexport function getPossibleChatFollowersAsBuyer(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/chat-followers`).then((x) => x.json());\r\n}\r\n\r\nexport function addCommentThreadAsBuyer(\r\n residentialUnitId: number,\r\n name: string,\r\n followerProjectMemberIds: number[]\r\n): Promise {\r\n return request(`api/buyer/${residentialUnitId}/chat-thread`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n name,\r\n followerProjectMemberIds,\r\n },\r\n }).then((x) => x.json());\r\n}\r\nexport function getResidentialUnitBuyerUsers(residentialUnitId: number): Promise {\r\n return request(`api/buyer/${residentialUnitId}/buyer-users`).then((x) => x.json());\r\n}\r\nexport interface BuyerWhiteLabelInfo {\r\n isEnabled: boolean;\r\n colors: WhiteLabelColorsDto;\r\n editable: boolean;\r\n}\r\nexport function getBuyerThemeInfo(residentialUnitId: number, module: BygrModule): Promise {\r\n return request(`api/buyer/${residentialUnitId}/theme/new`, {\r\n method: 'GET',\r\n json: true,\r\n query: {\r\n bygrModule: module,\r\n },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerWhiteLabelCssUrl(residentialUnitId: number) {\r\n return generateApiUrl(`/api/buyer/${residentialUnitId}/css`);\r\n}\r\n","import { request, getApiUrl, generateApiUrl } from 'utils/ajax';\r\nimport {\r\n Project,\r\n PricingField,\r\n ProjectDeadline,\r\n LocalizedEnum,\r\n ProjectMemberDetails,\r\n ProjectMemberPermissions,\r\n ProjectFeatureConfiguration,\r\n FeeConfiguration,\r\n ProjectMember,\r\n CompanyProfileData,\r\n ProjectFeeSet,\r\n OptionalId,\r\n ResidentialUnitFilterData,\r\n ProjectTerms,\r\n EmailValidity,\r\n ProjectDeadlineAlert,\r\n ProjectFeeSetWithReferenceCount,\r\n ResidentialUnitGroupDeadline,\r\n ProjectDeadlineWithReferenceCount,\r\n ProjectProfile,\r\n BygrModule,\r\n ResidentialUnitPricingFieldValues,\r\n UnitOfMeasurement,\r\n ResidentialUnitCustomFieldType,\r\n ResidentialUnitDeadline,\r\n ProjectDecimalOption,\r\n} from 'types';\r\nimport { UserSalutation, UserTitle } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport FileData from 'utils/FileData';\r\nimport { memoize } from 'lodash-es';\r\nimport { ProjectOverview } from 'state/seller/project-overview/reducer';\r\n\r\nexport function getProjectsByProfileId(profileId: number): Promise {\r\n return request(`api/profile/${profileId}/projects`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectOverview(projectId: number): Promise {\r\n return request(`api/project/${projectId}/overview`).then((x) => x.json());\r\n}\r\n\r\nexport function getProject(projectId: number, disableGlobalError: boolean = false): Promise {\r\n return request(`api/project/${projectId}`, { disableGlobalError: disableGlobalError }).then((x) => x.json());\r\n}\r\n\r\nexport interface UpdateProjectRequest {\r\n id?: number;\r\n name: string;\r\n description: string;\r\n sellerProfileId: number;\r\n currencyCode: string | null;\r\n image: FileData | null;\r\n defaultLanguageCode: string;\r\n address: Project[\"address\"] | null;\r\n countryCode: Project[\"countryCode\"];\r\n autoAssignOrder: boolean;\r\n changeRequestWarningText: string | null;\r\n subdomain: string;\r\n defaultShowOfferSubtotalsToBuyers: boolean;\r\n showLandingPageBackgroundImage: boolean;\r\n showBackgroundImageOnMessages: boolean;\r\n emailContactInfo: string | null;\r\n buyerOptionOneTimeFee: number | null;\r\n modules: BygrModule[];\r\n // forceStyleSelection: boolean;\r\n // mainStyleOptionsFree: boolean;\r\n defaultUnitOfMeasurement: UnitOfMeasurement;\r\n // landingPageMarkdown: string;\r\n // pricingFields: PricingField[];\r\n // deadlines: ProjectDeadline[];\r\n showDefaultTextOnOptions: boolean;\r\n decimalOption: ProjectDecimalOption;\r\n}\r\n\r\nfunction createProject(project: UpdateProjectRequest): Promise {\r\n return request(`api/project`, {\r\n method: 'POST',\r\n json: true,\r\n body: project,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport async function copyProject(projectId: number, newProjectName: string): Promise {\r\n const x = await request(`api/project/${projectId}/copy`, {\r\n method: 'POST',\r\n json: true,\r\n body: newProjectName,\r\n });\r\n return await x.json();\r\n}\r\n\r\nfunction updateProject(projectId: number, project: UpdateProjectRequest): Promise {\r\n return request(`api/project/${projectId}`, {\r\n method: 'PUT',\r\n json: true,\r\n body: project,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function createOrUpdateProject(project: UpdateProjectRequest) {\r\n return project.id ? updateProject(project.id, project) : createProject(project);\r\n}\r\n\r\nexport function getProjectDeadlines(projectId): Promise {\r\n return request(`api/project/${projectId}/deadlines`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectDeadlinesWithReferenceCount(projectId): Promise {\r\n return request(`api/project/${projectId}/deadlines/with-reference-count`).then((x) => x.json());\r\n}\r\n\r\nexport function GetResidentialUnitsDeadlinesForProjectDeadline(projectDeadlineId): Promise {\r\n return request(`api/deadline/unit-deadlines/${projectDeadlineId}`).then((x) => x.json());\r\n}\r\nexport function revertAllDeadlines(projectDeadlineId) {\r\n return request(`api/deadline/project-deadlines/${projectDeadlineId}`, {\r\n method: 'DELETE',\r\n });\r\n}\r\nexport function revertUnitDeadlines(unitDeadlineId, projectDeadlineId) {\r\n return request(`api/deadline/unit-deadlines/${unitDeadlineId}/${projectDeadlineId}`, {\r\n method: 'DELETE',\r\n });\r\n}\r\n\r\nexport interface ProjectDeadlineUpdateInfo {\r\n id: number | null;\r\n projectId: number;\r\n name: string;\r\n description: string;\r\n deadline: Date | string;\r\n isChangeRequestDeadline: boolean;\r\n}\r\n\r\nexport async function getComplexProjectDeadlines(projectId): Promise {\r\n const x = await request(`api/project/${projectId}/complex-deadlines`);\r\n return await x.json();\r\n}\r\n\r\nexport async function saveComplexProjectDeadline(\r\n projectId: number,\r\n deadlines: ResidentialUnitGroupDeadline[]\r\n): Promise {\r\n const x = await request(`api/project/${projectId}/complex-deadlines`, {\r\n method: 'POST',\r\n json: true,\r\n body: deadlines,\r\n });\r\n return await x.json();\r\n}\r\n\r\nexport async function deleteComplexProjectDeadline(\r\n projectId: number,\r\n deadline: ResidentialUnitGroupDeadline\r\n): Promise {\r\n await request(`api/project/${projectId}/complex-deadlines`, {\r\n method: 'Delete',\r\n json: true,\r\n body: deadline,\r\n });\r\n}\r\n\r\nexport function getProjectHeaderImageUrl(projectId: number): string {\r\n return getApiUrl() + `/api/project/${projectId}/header-image`;\r\n}\r\n\r\nexport function getProjectHeaderImageThumbnailUrl(projectId: number): string {\r\n return getApiUrl() + `/api/project/${projectId}/header-image/thumbnail`;\r\n}\r\n\r\nexport function getProjectRoles() {\r\n return request(`api/project/roles`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectPermissions(): Promise {\r\n return request(`api/project/permission-types`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectAcl(projectId: number): Promise {\r\n return request(`api/project/${projectId}/acl`).then((x) => x.json());\r\n}\r\n\r\nexport function setProjectMemberAcl(projectMemberId: number, userPermissionDetails: ProjectMemberPermissions) {\r\n return request(`api/project-member/${projectMemberId}/acl`, {\r\n method: 'PUT',\r\n json: true,\r\n body: userPermissionDetails,\r\n });\r\n}\r\n\r\nexport function removeProjectMember(projectMemberId: number) {\r\n return request(`api/project-member/${projectMemberId}`, {\r\n method: 'DELETE',\r\n });\r\n}\r\n\r\n// export function setProjectFeeSetAcl(projectMemberId: number, userPermissionDetails: number[]) {\r\n// return request(`api/project-member/${projectMemberId}/fee-acl`, {\r\n// method: 'PUT',\r\n// json: true,\r\n// body: userPermissionDetails,\r\n// });\r\n// }\r\n\r\n// export function getProjectFeeSetAcl(projectMemberId: number) {\r\n// return request(`api/project-member/${projectMemberId}/fee-acl`).then((x) => x.json());\r\n// }\r\n\r\nexport function getProjectMembers(projectId: number): Promise {\r\n return request(`api/project/${projectId}/members`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectProfiles(projectId: number): Promise {\r\n return request(`api/project/${projectId}/profiles`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectSensitiveViewerMembers(projectId: number, profileId: number): Promise {\r\n return request(`api/project/${projectId}/members/sensitive-viewers`, { query: { profileId } }).then((x) => x.json());\r\n}\r\n\r\ntype ProjectMemberOptions = ProjectMemberPermissions & {\r\n inviterProfileId: number;\r\n inviteeProfileId: number;\r\n inviteeEmail: string;\r\n projectId: number;\r\n};\r\n\r\nexport function addProjectMember(projectMemberOptions: ProjectMemberOptions) {\r\n return request(`api/project/${projectMemberOptions.projectId}/add-member`, {\r\n method: 'POST',\r\n json: true,\r\n body: projectMemberOptions,\r\n });\r\n}\r\n\r\nexport function checkInviteExternalEmail(\r\n projectId: number,\r\n email: string,\r\n inviteeProfileId: number\r\n): Promise {\r\n return request(`api/project-invitation/check-email`, {\r\n query: { projectId, email, inviteeProfileId },\r\n }).then((r) => r.json());\r\n}\r\n\r\nexport function addProjectMemberInternal(projectId: number, email: string, permissions: ProjectMemberPermissions) {\r\n return request(`api/project/${projectId}/members`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n email,\r\n permissions,\r\n },\r\n });\r\n}\r\n\r\nexport function cancelProjectInvite(projectInviteId: number) {\r\n return request(`api/project-invitation/${projectInviteId}/cancel`, {\r\n method: 'POST',\r\n });\r\n}\r\n\r\nexport function resendProjectInvite(projectInviteId: number) {\r\n return request(`api/project-invitation/${projectInviteId}/resend`, {\r\n method: 'POST',\r\n });\r\n}\r\n\r\nexport function getPricingFields(projectId: number | string): Promise {\r\n return request(`api/project/${projectId}/pricing-fields`).then((x) => x.json());\r\n}\r\n\r\nexport function getPricingFieldValuesForResidentialUnits(projectId: number): Promise {\r\n return request(`api/project/${projectId}/residential-units-pricing-field-values`).then((x) => x.json());\r\n}\r\n\r\nexport function savePricingFields(\r\n projectId: number | string,\r\n pricingFields: OptionalId[]\r\n): Promise {\r\n return request(`api/project/${projectId}/pricing-fields`, {\r\n method: 'PUT',\r\n json: true,\r\n body: { pricingFields },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getCustomFieldTypes(projectId: number): Promise {\r\n return request(`api/project/${projectId}/residential-unit-custom-field-types`).then((x) => x.json());\r\n}\r\n\r\nexport function getResidentialUnitImportTemplate(projectId: number, forUpdate: boolean): string {\r\n return generateApiUrl(`/api/project/${projectId}/residential-unit-import/template`, {\r\n forUpdate,\r\n showPricingVariables: true,\r\n showCustomFields: false,\r\n });\r\n}\r\n\r\nexport function getBuyerList(projectId: number) {\r\n return generateApiUrl(`/api/project/${projectId}/buyer-list`);\r\n}\r\n\r\nexport function getProjectFeatures(projectId: number | string): Promise {\r\n return request(`api/project/${projectId}/features`).then((x) => x.json());\r\n}\r\n\r\nexport function saveProjectFeatures(projectId: number | string, features: ProjectFeatureConfiguration[]) {\r\n return request(`api/project/${projectId}/features`, {\r\n method: 'PUT',\r\n json: true,\r\n body: features,\r\n });\r\n}\r\n\r\nexport function getProjectFees(projectId: number): Promise {\r\n return request(`api/project/${projectId}/fees`).then((x) => x.json());\r\n}\r\n\r\nexport interface ProjectFeeOverrideSettings {\r\n orders?: boolean;\r\n options?: boolean;\r\n offers?: boolean;\r\n changeRequests?: boolean;\r\n externalAgreements?: boolean;\r\n optionPresets?: boolean;\r\n}\r\n\r\nexport function saveProjectFees(\r\n projectId: number,\r\n fees: FeeConfiguration[],\r\n overrideSettings: ProjectFeeOverrideSettings | null\r\n) {\r\n return request(`api/project/${projectId}/fees`, {\r\n method: 'PUT',\r\n json: true,\r\n body: { rows: fees, overrideSettings },\r\n });\r\n}\r\n\r\nexport function getCompanyProfilesFromProjectId(projectId: number): Promise {\r\n return request(`api/project/${projectId}/company-profiles`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectFeeSets(projectId: number): Promise {\r\n return request(`api/project/${projectId}/fee-sets`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectFeeSetsWithReferenceCount(projectId: number): Promise {\r\n return request(`api/project/${projectId}/fee-sets/with-reference-count`).then((x) => x.json());\r\n}\r\n\r\nexport function saveProjectFeeSet(\r\n projectId: number,\r\n projectFeeSet: OptionalId,\r\n overrideSettings: ProjectFeeOverrideSettings | null\r\n): Promise {\r\n return request(`api/project/${projectId}/fee-sets`, {\r\n method: 'POST',\r\n json: true,\r\n body: { projectFeeSet, overrideSettings },\r\n }).then((x) => x.json());\r\n}\r\nexport async function deleteProjectFeeSet(projectId: number, projectFeeSetId: number) {\r\n await request(`api/project/${projectId}/fee-sets/${projectFeeSetId}`, {\r\n method: 'DELETE',\r\n });\r\n}\r\n\r\nexport function getResidentialUnitFilterDataByProject(projectId: number): Promise {\r\n return request(`api/project/${projectId}/residential-unit-filter-data`).then((x) => x.json());\r\n}\r\nexport function setProjectTerms(projectId: number, terms: ProjectTerms) {\r\n return request(`api/project/${projectId}/terms`, {\r\n method: 'PUT',\r\n json: true,\r\n body: terms,\r\n });\r\n}\r\n\r\nexport function getProjectTerms(projectId: number): Promise {\r\n return request(`api/project/${projectId}/terms`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectDeadlineAlerts(projectId: number): Promise {\r\n return request(`api/project/${projectId}/deadline-alerts`).then((x) => x.json());\r\n}\r\nexport function saveProjectDeadlineAlerts(\r\n projectId: number,\r\n projectDeadlineAlerts: OptionalId[]\r\n): Promise {\r\n return request(`api/project/${projectId}/deadline-alerts`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n projectDeadlineAlerts,\r\n },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport enum ParsedBuyerImportRowStatus {\r\n Ok = 'Ok',\r\n InvalidUnit = 'InvalidUnit',\r\n AlreadyHasBuyer = 'AlreadyHasBuyer',\r\n}\r\nexport enum BuyerImportPhoneNumberStatus {\r\n Ok = 'Ok',\r\n CountryCodeNotValid = 'CountryCodeNotValid',\r\n PhoneNumberNotValid = 'PhoneNumberNotValid',\r\n}\r\nexport interface ParsedBuyerImportRow {\r\n residentialUnitId: number;\r\n residentialUnitName: string;\r\n residentialUnitGroupName: string;\r\n firstName: string;\r\n lastName: string;\r\n salutation: UserSalutation | null;\r\n title: UserTitle | null;\r\n email: string;\r\n phoneNumber: string;\r\n inviteSms: boolean;\r\n inviteEmail: boolean;\r\n status: ParsedBuyerImportRowStatus;\r\n phoneNumberStatus: BuyerImportPhoneNumberStatus;\r\n}\r\nexport function getBuyerImportTemplateUrl(projectId: number): string {\r\n return generateApiUrl(`/api/project/${projectId}/buyer-import/template`);\r\n}\r\n\r\nexport function parseBuyerImportExcel(projectId: number, file: FileData): Promise {\r\n return request(`api/project/${projectId}/buyer-import/parse`, {\r\n method: 'POST',\r\n json: true,\r\n body: file,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport interface ProjectStyleSettings {\r\n forceStyleSelection: boolean;\r\n mainStyleOptionsFree: boolean;\r\n styleSelectionText: string;\r\n}\r\n\r\nexport function getProjectStyleSettings(projectId: number): Promise {\r\n return request(`api/project/${projectId}/style-settings`).then((x) => x.json());\r\n}\r\n\r\nexport function saveProjectStyleSettings(projectId: number, settings: ProjectStyleSettings): Promise {\r\n return request(`api/project/${projectId}/style-settings`, {\r\n method: 'PUT',\r\n body: settings,\r\n json: true,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport interface UserDetails {\r\n displayName: string;\r\n email: string;\r\n profileId: number | null;\r\n profileName: string;\r\n}\r\n\r\n/**\r\n * Return info about the user,\r\n * ## NB: is cached!\r\n */\r\nexport const getUserDetails = memoize(\r\n (projectId: number, userId: number): Promise => {\r\n return request(`api/project/${projectId}/user-details/${userId}`).then((x) => x.json());\r\n },\r\n (projectId: number, userId: number) => `${projectId}_${userId}`\r\n);\r\n","function ensureLeadingSlash(url) {\r\n if (!url.startsWith('/')) {\r\n return '/' + url;\r\n }\r\n\r\n return url;\r\n}\r\n\r\nfunction prefixTo(to, prefix) {\r\n if (!to) {\r\n return prefix;\r\n }\r\n\r\n if (typeof to === 'object') {\r\n return {\r\n ...to,\r\n pathname: urlCombine(prefix, to.pathname),\r\n };\r\n } else {\r\n return urlCombine(prefix, to);\r\n }\r\n}\r\n\r\nfunction urlCombine(...parts) {\r\n if (parts.length === 0) {\r\n return '';\r\n }\r\n\r\n const startsWithSlash = parts[0].startsWith('/');\r\n\r\n let url = parts.map((part) => part.replace(/(^\\/)|(\\/$)/, '')).join('/');\r\n\r\n if (startsWithSlash) {\r\n url = ensureLeadingSlash(url);\r\n }\r\n\r\n return url;\r\n}\r\n\r\nexport { prefixTo, ensureLeadingSlash };","import { request } from 'utils/ajax';\r\n\r\nexport enum DismissibleMessageKey {\r\n SensitiveInfo = 'SensitiveInfo',\r\n}\r\n\r\nexport function setMessageDismissal(key: DismissibleMessageKey, value: boolean, projectId: number | null) {\r\n return request(`api/message-dismissal/${encodeURIComponent(key)}`, {\r\n method: 'PUT',\r\n json: true,\r\n body: {\r\n projectId,\r\n value,\r\n },\r\n });\r\n}\r\n\r\nexport function getMessageDismissalValue(key: DismissibleMessageKey, projectId: number | null): Promise {\r\n return request(`api/message-dismissal/${encodeURIComponent(key)}`, { query: { projectId } }).then((x) => x.json());\r\n}\r\n","import { MessageDismissalStatus } from './reducer';\r\n\r\nexport const setMessageDismissalItem = (data: MessageDismissalStatus) => ({\r\n type: 'SET_ITEM',\r\n data,\r\n});\r\n","import { Dispatch } from 'redux';\r\nimport { IState } from 'state/IState';\r\nimport { DismissibleMessageKey, setMessageDismissal, getMessageDismissalValue } from 'services/message-dismissal';\r\nimport { setMessageDismissalItem } from './actions';\r\n\r\nexport function loadMessageDismissal(key: DismissibleMessageKey, projectId: number | null) {\r\n return async function (dispatch: Dispatch, getState: () => IState) {\r\n const existingItem = getState().messageDismissals.items.find((x) => x.key === key && x.projectId === projectId);\r\n\r\n if (!existingItem) {\r\n dispatch(setMessageDismissalItem({ key, projectId, value: null }));\r\n const result = await getMessageDismissalValue(key, projectId);\r\n dispatch(setMessageDismissalItem({ key, projectId, value: result }));\r\n }\r\n };\r\n}\r\n\r\nexport function updateMessageDismissal(key: DismissibleMessageKey, value: boolean, projectId: number | null) {\r\n return async function (dispatch: Dispatch, getState: () => IState) {\r\n await setMessageDismissal(key, value, projectId);\r\n dispatch(setMessageDismissalItem({ key, projectId, value }));\r\n };\r\n}","import { HubConnectionManager } from '@ygtechnologies/bygr-frontend-chat';\r\nimport { getApiUrl } from 'utils/ajax';\r\n\r\nlet chatConnectionManagerInstance: HubConnectionManager;\r\nlet cmConnectionManagerInstance: HubConnectionManager;\r\ncreateConnections();\r\n\r\nfunction cleanConnections() {\r\n if (cmConnectionManagerInstance) {\r\n cmConnectionManagerInstance.dispose();\r\n }\r\n\r\n if (chatConnectionManagerInstance) {\r\n chatConnectionManagerInstance.dispose();\r\n }\r\n}\r\n\r\nfunction createConnections() {\r\n chatConnectionManagerInstance = new HubConnectionManager(window.APP_CONFIG.API_CHAT_URL + '/hub');\r\n cmConnectionManagerInstance = new HubConnectionManager(getApiUrl() + '/hub');\r\n}\r\n\r\nexport function resetConnections() {\r\n cleanConnections();\r\n createConnections();\r\n}\r\n\r\nexport function getCMConnectionManager() {\r\n return cmConnectionManagerInstance;\r\n}\r\n\r\nexport function getChatConnectionManager() {\r\n return chatConnectionManagerInstance;\r\n}","import { getCMConnectionManager } from 'server-events/connections';\r\nimport { ActiveUserData } from 'types';\r\n\r\nexport class ProjectUsers {\r\n async getActiveBuyers() {\r\n return await getCMConnectionManager().invoke('GetActiveBuyers');\r\n }\r\n\r\n addReceiveActiveBuyersHandler(handler: (users: ActiveUserData[]) => void) {\r\n getCMConnectionManager().on('ReceiveActiveBuyers', handler);\r\n }\r\n\r\n removeReceiveActiveBuyersHandler(handler: (users: ActiveUserData[]) => void) {\r\n getCMConnectionManager().off('ReceiveActiveBuyers', handler);\r\n }\r\n}","import { request, getApiUrl } from 'utils/ajax';\r\nimport { UserSettingsObject, EmailValidity } from 'types';\r\nimport { UserSalutation, UserTitle } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport function getCurrentUserInfo() {\r\n return request(`api/user/current`).then((x) => x.json());\r\n}\r\n\r\nexport function approveExternalLogin(approvalToken: string): Promise {\r\n return request(`api/user/approve-external`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n body: {\r\n approvalToken,\r\n },\r\n });\r\n}\r\n\r\nexport function login(email: string, password: string, remember = false, inviteToken: string | null = null): Promise {\r\n return request(`api/user/login/cookie`, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n body: {\r\n email,\r\n password,\r\n remember,\r\n inviteToken: inviteToken || '',\r\n },\r\n });\r\n}\r\n\r\nexport function logout() {\r\n return request(`api/user/logout/cookie`, {\r\n method: 'POST',\r\n });\r\n}\r\n\r\nexport interface RegisterData {\r\n email: string;\r\n password: string;\r\n firstName: string;\r\n lastName: string;\r\n phoneNumber: string;\r\n salutation: UserSalutation | null;\r\n title: UserTitle | null;\r\n inviteToken: string | null;\r\n}\r\n\r\nexport function register(data: RegisterData) {\r\n return request(`api/user/register/cookie`, {\r\n method: 'POST',\r\n json: true,\r\n body: data,\r\n });\r\n}\r\n\r\nexport function getUserSettings(): Promise {\r\n return request(`api/user/current/settings`).then((x) => x.json());\r\n}\r\n\r\nexport function updateUserSettings(\r\n firstName: string,\r\n lastName: string,\r\n phoneNumber,\r\n title: UserTitle | null,\r\n salutation: UserSalutation | null\r\n) {\r\n return request(`api/user/current/settings`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n firstName,\r\n lastName,\r\n phoneNumber,\r\n title,\r\n salutation,\r\n // address\r\n },\r\n });\r\n}\r\n\r\nexport function requestPasswordReset(email) {\r\n return request(`api/user/request-password-reset`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n email,\r\n },\r\n });\r\n}\r\n\r\nexport function resetPassword(token, newPassword) {\r\n return request(`api/user/password-reset`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n token,\r\n newPassword,\r\n },\r\n });\r\n}\r\n\r\nexport function getLoginExternalAccountUrl(provider, returnUrl) {\r\n return (\r\n getApiUrl() +\r\n `/api/user/login/external?provider=${encodeURIComponent(provider)}&returnUrl=${encodeURIComponent(returnUrl || '')}`\r\n );\r\n}\r\n\r\nexport function getLinkExternalAccountUrl(provider, returnUrl) {\r\n return (\r\n getApiUrl() +\r\n `/api/user/current/link-account?provider=${encodeURIComponent(provider)}&returnUrl=${encodeURIComponent(\r\n returnUrl || ''\r\n )}`\r\n );\r\n}\r\n\r\nexport enum ConfirmEmailResult {\r\n Success = 'Success',\r\n InvalidToken = 'InvalidToken',\r\n AlreadyConfirmed = 'AlreadyConfirmed',\r\n}\r\n\r\ninterface ConfirmEmailResponse {\r\n result: ConfirmEmailResult;\r\n}\r\n\r\nexport function confirmEmail(token): Promise {\r\n return request('api/user/confirm-email', {\r\n method: 'POST',\r\n json: true,\r\n body: { token },\r\n }).then((x) => x.json());\r\n}\r\nexport function changePassword(currentPassword, newPassword) {\r\n return request('api/user/current/change-password', {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n currentPassword,\r\n newPassword,\r\n },\r\n });\r\n}\r\nexport function sendConfirmationEmail() {\r\n return request('api/user/send-confirm-email', {\r\n method: 'POST',\r\n });\r\n}\r\n/**\r\n * @param identification Either email or applicationUserId\r\n */\r\nexport function getUserAvatarUrl(identification: string | number = 'current') {\r\n return getApiUrl() + `/api/user/${identification}/avatar`;\r\n}\r\n/**\r\n * @param identification Either email or applicationUserId\r\n */\r\nexport function getUserAvatarThumbnailUrl(identification: number | 'current' = 'current') {\r\n return getApiUrl() + `/api/user/${identification}/avatar/thumbnail`;\r\n}\r\n\r\nexport function changeAvatar(fileData) {\r\n return request('api/user/current/avatar', {\r\n method: 'POST',\r\n json: true,\r\n body: fileData,\r\n });\r\n}\r\n\r\nexport function setUserLocale(locale) {\r\n return request('api/user/current/locale', {\r\n method: 'PUT',\r\n json: true,\r\n body: locale,\r\n });\r\n}\r\n\r\nexport function acceptTerms(projectId?: number) {\r\n return request(`api/user/accept-terms`, {\r\n json: true,\r\n body: {\r\n projectId: projectId ? projectId : null,\r\n },\r\n method: 'POST',\r\n });\r\n}\r\ninterface RegisterWithProfileData extends RegisterData {\r\n companyName: string;\r\n companyHomepage: string;\r\n}\r\nexport function registerWithProfile(data: RegisterWithProfileData) {\r\n return request('api/user/register-with-profile', {\r\n method: 'POST',\r\n body: data,\r\n json: true,\r\n });\r\n}\r\n\r\nexport function newContactRequest(email: string) {\r\n return request('api/user/contact-request', {\r\n method: 'POST',\r\n body: { email },\r\n json: true,\r\n });\r\n}\r\n\r\nexport function logVisit() {\r\n return request('api/user/log-visit', {\r\n method: 'POST',\r\n });\r\n}\r\nexport function checkRegisterEmailAddress(email: string): Promise {\r\n return request(`api/user/check-email`, {\r\n query: { email },\r\n }).then((x) => x.json());\r\n}\r\n","import { getApiUrl } from 'utils/ajax';\r\nimport { COUNTRY_CODES, request, UserSalutation, UserTitle } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport {\r\n Profile,\r\n LocalizedEnum,\r\n ProfileMemberPermissions,\r\n ProfileMember,\r\n ProfileMemberDetails,\r\n ProfileInfo,\r\n ExternalLoginProvider,\r\n ProfileTooltipInfo,\r\n BygrModule,\r\n UnitOfMeasurement,\r\n ProfileUnitInfo,\r\n} from 'types';\r\nimport FileData from 'utils/FileData';\r\nimport { getCoreApiUrl } from 'utils/ajax';\r\n\r\nexport function getMyProfiles(): Promise {\r\n return request(`api/profile`).then((x) => x.json());\r\n}\r\n\r\nexport async function getMyUnitProfiles(): Promise {\r\n const retur = await request(\r\n `v1/profile/buyer`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\n\r\nexport function getProfile(profileId: number): Promise {\r\n return request(`api/profile/${profileId}`).then((x) => x.json());\r\n}\r\n\r\nexport function getProfileTooltipInfo(profileId: number): Promise {\r\n return request(`api/profile/${profileId}/tooltip-info`).then((x) => x.json());\r\n}\r\n\r\nexport interface ProfileConfiguration {\r\n name: string;\r\n subdomain: string;\r\n loginProviders: ExternalLoginProvider[];\r\n currencyId: number | null;\r\n defaultUnitOfMeasurement: UnitOfMeasurement;\r\n countryCode: keyof typeof COUNTRY_CODES;\r\n}\r\nexport function getProfileConfiguration(profileId: number): Promise {\r\n return request(`api/profile/${profileId}/configuration`).then((x) => x.json());\r\n}\r\n\r\nexport function searchProfiles(options: { text: string }): Promise {\r\n return request(`api/profile/public/search`, { query: options }).then((x) => x.json());\r\n}\r\n\r\nexport interface UpdateProfileOptions {\r\n name: string;\r\n subdomain: string;\r\n loginProviders?: ExternalLoginProvider[];\r\n image?: FileData | null;\r\n backgroundImage?: FileData | null;\r\n defaultUnitOfMeasure?: UnitOfMeasurement;\r\n}\r\n\r\nfunction createProfile(options: UpdateProfileOptions): Promise {\r\n return request(`api/profile`, {\r\n method: 'POST',\r\n json: true,\r\n body: options,\r\n }).then((x) => x.json());\r\n}\r\n\r\nfunction updateProfile(profileId: number, options: UpdateProfileOptions): Promise {\r\n return request(`api/profile/${profileId}`, {\r\n method: 'PUT',\r\n json: true,\r\n body: options,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function createOrUpdateProfile(profileId: number | null, options: UpdateProfileOptions): Promise {\r\n return profileId ? updateProfile(profileId, options) : createProfile(options);\r\n}\r\n\r\nexport function getProfilePermissions(): Promise {\r\n return request(`api/profile/permission-types`).then((x) => x.json());\r\n}\r\n\r\nexport function searchProfileMembers(profileId: number, query): Promise {\r\n return request(`api/profile/${profileId}/members`, {\r\n method: 'GET',\r\n json: true,\r\n query: { query },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport type ProfileInvitationOptions = ProfileMemberPermissions & {\r\n inviterProfileId: number;\r\n inviteeEmail: string;\r\n inviteePhoneNumber?: string;\r\n inviteeFirstName?: string;\r\n inviteeLastName?: string;\r\n inviteeSalutation?: UserSalutation | null;\r\n inviteeTitle?: UserTitle | null;\r\n};\r\n\r\nexport function inviteProfileMember(invitation: ProfileInvitationOptions) {\r\n return request(`api/profile-invitation`, {\r\n method: 'POST',\r\n json: true,\r\n body: invitation,\r\n });\r\n}\r\n\r\nexport function cancelProfileInvite(profileInviteId: number) {\r\n return request(`api/profile-invitation/${profileInviteId}/cancel`, {\r\n method: 'POST',\r\n });\r\n}\r\n\r\nexport function resendProfileInvite(profileInviteId: number) {\r\n return request(`api/profile-invitation/${profileInviteId}/resend`, {\r\n method: 'POST',\r\n });\r\n}\r\n\r\nexport function getProfileAcl(profileId: number): Promise {\r\n return request(`api/profile/${profileId}/acl`).then((x) => x.json());\r\n}\r\n\r\nexport function patchProfileAcl(profileMemberId: number, userPermissionDetails: ProfileMemberPermissions) {\r\n return request(`api/profile-member/${profileMemberId}/acl`, {\r\n method: 'PUT',\r\n json: true,\r\n body: userPermissionDetails,\r\n });\r\n}\r\n\r\nexport function getProfileImageUrl(profileId: number) {\r\n return getApiUrl() + `/api/profile/${profileId}/image`;\r\n}\r\nexport function getProfileBackgroundImageUrl(profileId: number) {\r\n return getApiUrl() + `/api/profile/${profileId}/background-image`;\r\n}\r\n\r\nexport function getProfileImageThumbnailUrl(profileId: number) {\r\n return getApiUrl() + `/api/profile/${profileId}/image/thumbnail`;\r\n}\r\n\r\nexport interface BygrModuleInfo {\r\n module: BygrModule;\r\n projectCount: number;\r\n canCreateProjects: boolean;\r\n}\r\n\r\nexport function getProfileModules(profileId: number): Promise {\r\n return request(`api/profile/${profileId}/modules`).then((x) => x.json());\r\n}\r\n","import { request } from 'utils/ajax'\r\nimport { LocalizedEnum, ItemCategory } from 'types';\r\n\r\nexport function getAllItemCategories(): Promise {\r\n return request(`api/item-category`).then(x => x.json());\r\n}\r\n\r\nexport function getProjectCategoryPermissionTypes(): Promise {\r\n return request(`api/item-category/permission-types`).then(x => x.json());\r\n}","\r\nfunction setNullable(key: string, value: any) {\r\n if(value === null || value === undefined) {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n localStorage.setItem(key, value);\r\n}\r\n\r\nenum StorageKeys {\r\n LastProfileId = \"lastProfileId\",\r\n LastProjectId = \"lastProjectId\",\r\n}\r\n\r\nclass ClientStorage {\r\n\r\n get lastProfileId() : number | null {\r\n return +localStorage.getItem(StorageKeys.LastProfileId)! || null;\r\n }\r\n\r\n set lastProfileId(profileId: number | null) {\r\n setNullable(StorageKeys.LastProfileId, profileId);\r\n }\r\n\r\n get lastProjectId() : number | null {\r\n return +localStorage.getItem(StorageKeys.LastProjectId)! || null;\r\n }\r\n\r\n set lastProjectId(projectId: number | null) {\r\n setNullable(StorageKeys.LastProjectId, projectId);\r\n }\r\n}\r\n\r\n\r\nexport default new ClientStorage();","import { request } from 'utils/ajax';\r\nimport { FrontEndConfiguration } from 'types';\r\n\r\nexport function getConfiguration(): Promise {\r\n return request(`api/configuration/frontend`, {\r\n query: { domain: window.location.hostname },\r\n }).then((x) => x.json());\r\n}","import { CommentThreadBase, CommentThreadType } from 'types';\r\n\r\nexport const cmThreadTypes = [\r\n CommentThreadType.ResidentialUnit,\r\n CommentThreadType.ChangeRequest,\r\n CommentThreadType.Order,\r\n CommentThreadType.ExternalAgreement,\r\n CommentThreadType.Project,\r\n];\r\n\r\nfunction isCmThreadType(threadType: CommentThreadType) {\r\n return cmThreadTypes.includes(threadType);\r\n}\r\n\r\nexport function removeIrrelevantThreads(data: T[] | null): T[] | null {\r\n if (!data) {\r\n return data;\r\n }\r\n\r\n return data.filter((x) => isCmThreadType(x.type));\r\n}\r\n\r\n// export function fixCommentsWorkaround(commentsOverview: ProjectCommentsOverview): ProjectCommentsOverview {\r\n// const threads = removeIrrelevantThreads(commentsOverview.threads);\r\n// return {\r\n// threads,\r\n// total: threads?.reduce((acc, curr) => acc + (curr.unreadMessages > 0 ? 1 : 0), 0) ?? 0,\r\n// };\r\n// }\r\n","import { Dispatch } from 'redux';\r\nimport { ProjectOverview, ProjectTaskOverview, ProjectChangeRequestOverview } from './reducer';\r\nimport { removeIrrelevantThreads } from 'utils/comment-workaround';\r\nimport { CommentThreadOverview } from 'types';\r\n\r\nexport const setProjectOverview = (dispatch: Dispatch, overview: ProjectOverview) => {\r\n overview = {\r\n ...overview,\r\n comments: removeIrrelevantThreads(overview.comments),\r\n };\r\n\r\n dispatch({ type: 'SELLER_PROJECT_OVERVIEW_SET', data: overview });\r\n};\r\n\r\nexport const setProjectOverviewEmpty = (dispatch: Dispatch) => {\r\n dispatch({ type: 'SELLER_PROJECT_OVERVIEW_CLEAR' });\r\n};\r\n\r\nexport const setProjectTaskOverview = (dispatch: Dispatch, overview: ProjectTaskOverview) => {\r\n dispatch({ type: 'SELLER_PROJECT_TASK_OVERVIEW_SET', data: overview });\r\n};\r\n\r\nexport const setProjectChangeRequestOverview = (dispatch: Dispatch, overview: ProjectChangeRequestOverview) => {\r\n dispatch({ type: 'SELLER_PROJECT_CR_OVERVIEW_SET', data: overview });\r\n};\r\n\r\nexport const setProjectCommentsOverview = (dispatch: Dispatch, overview: CommentThreadOverview[]) => {\r\n dispatch({ type: 'SELLER_PROJECT_COMMENTS_OVERVIEW_SET', data: removeIrrelevantThreads(overview) });\r\n};","import {\r\n BuyerCommentThreadOverview,\r\n BygrModule,\r\n CommentThreadOverview,\r\n CommentThreadOverviewTotals,\r\n PossibleChatFollower,\r\n} from './../types';\r\nimport { request, getChatApiUrl } from 'utils/ajax';\r\nimport { CommentThreadSearchResult, CommentThreadType } from 'types';\r\nimport FileData from 'utils/FileData';\r\n\r\nexport function getProjectCommentThread(projectId: number): Promise {\r\n return request(getChatApiUrl() + `/api/comment-threads/project-thread/${projectId}`, {\r\n method: 'GET',\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function addCommentThread(\r\n residentialUnitId: number,\r\n name: string,\r\n IncludesBuyer: boolean,\r\n followerProjectMemberIds: number[]\r\n): Promise {\r\n return request(getChatApiUrl() + `/api/comment-threads/`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n residentialUnitId,\r\n name,\r\n IncludesBuyer,\r\n followerProjectMemberIds,\r\n },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getPossibleChatFollowers(projectId: number, includesBuyer: boolean): Promise {\r\n return request(getChatApiUrl() + `/api/follower/possible-followers`, {\r\n method: 'GET',\r\n query: { projectId, includesBuyer, module: BygrModule.ChangeManagement },\r\n json: true,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport interface AddMultiCommentOptions {\r\n residentialUnitIds: number[];\r\n profileId: number;\r\n message: string;\r\n attachment: FileData | null;\r\n notifyBySms: boolean;\r\n notifyByEmail: boolean;\r\n}\r\n\r\nexport function sendMultiMessage(options: AddMultiCommentOptions) {\r\n return request(getChatApiUrl() + `/api/comment-threads/multi-message`, {\r\n method: 'POST',\r\n body: options,\r\n json: true,\r\n });\r\n}\r\n\r\nexport function getCommentOverviewForBuyer(residentialUnitId: number): Promise {\r\n return request(getChatApiUrl() + `/api/comment-threads/buyer`, {\r\n query: { residentialUnitId },\r\n }).then((x) => x.json());\r\n}\r\nexport function getCommentsOverview(options: CommentsOverviewOptions): Promise {\r\n if (options.projectIds.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n return request(getChatApiUrl() + `/api/comment-threads/overview`, {\r\n query: options,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getCommentsOverviewTotals(options: CommentsOverviewOptions): Promise {\r\n if (options.projectIds.length === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n return request(getChatApiUrl() + `/api/comment-threads/overview/totals`, {\r\n query: options,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport interface CommentsOverviewOptions {\r\n projectIds: number[];\r\n threadTypes?: CommentThreadType[];\r\n}\r\n\r\nexport interface ThreadRelationInfo {\r\n projectId: number;\r\n residentialUnitId: number;\r\n entityId: number;\r\n threadType: CommentThreadType;\r\n buyerIncluded: boolean;\r\n}\r\n\r\nexport function getCommentThreadRelationInfo(threadId: number): Promise {\r\n return request(getChatApiUrl() + `/api/comment-threads/${threadId}/relation`).then((x) => x.json());\r\n}\r\n","import { getProjectOverview } from 'services/projects';\r\nimport { Dispatch } from 'redux';\r\nimport { setProjectOverview } from './actions';\r\nimport { getCommentsOverview } from 'services/comments';\r\n\r\nexport const loadProjectOverview = async (dispatch: Dispatch, projectId: number) => {\r\n const projectOverview = await getProjectOverview(projectId);\r\n const commentsOverview = await getCommentsOverview({ projectIds: [projectId] });\r\n setProjectOverview(dispatch, {\r\n changeRequests: projectOverview.changeRequests,\r\n tasks: projectOverview.tasks,\r\n comments: commentsOverview,\r\n projectId: projectId,\r\n total: 0,\r\n });\r\n};\r\n","import { setUser, setActiveProfile, setActiveProject, setProfiles, setConfiguration } from './actions';\r\nimport { getCurrentUserInfo, logout as logoutService } from 'services/users';\r\nimport { getProfile, getMyProfiles } from 'services/profiles';\r\nimport { getProject } from 'services/projects';\r\nimport { getAllItemCategories } from 'services/item-categories';\r\nimport { Dispatch } from 'redux';\r\nimport { CultureInfo } from 'utils/localization';\r\nimport ClientStorage from 'ClientStorage';\r\nimport { Profile } from 'types';\r\nimport { getConfiguration } from 'services/configuration';\r\nimport { loadProjectOverview } from 'state/seller/project-overview/creator';\r\nimport { setProjectOverviewEmpty } from 'state/seller/project-overview/actions';\r\n\r\nexport const loadConfiguration = async (dispatch: Dispatch) => {\r\n const configuration = await getConfiguration();\r\n\r\n dispatch(setConfiguration(configuration));\r\n};\r\n\r\nexport const loadUser = async (dispatch: Dispatch) => {\r\n const user = await getCurrentUserInfo();\r\n if (user.isLoggedIn) {\r\n localStorage.setItem('lastLocale', user.locale);\r\n const profiles = await getMyProfiles();\r\n const activeProfile = profiles.find((x) => x.profileId === ClientStorage.lastProfileId);\r\n if (activeProfile) {\r\n await setActiveProfileId(dispatch, activeProfile.profileId);\r\n }\r\n dispatch(setProfiles(profiles));\r\n } else {\r\n dispatch(setProfiles([]));\r\n }\r\n const lsLocale = localStorage.getItem(\"lastLocale\");\r\n if(!user.isLoggedIn && lsLocale){\r\n user.locale = lsLocale;\r\n }\r\n\r\n dispatch(setUser(user));\r\n};\r\n\r\nexport const logout = async (dispatch: Dispatch) => {\r\n dispatch({ type: 'USER_LOGOUT' });\r\n\r\n await logoutService();\r\n\r\n loadUser(dispatch);\r\n};\r\n\r\nexport const loadActiveProfile = (dispatch, activeProfile: Profile | null) => {\r\n // if (activeProfile && activeProfile.type === ProfileType.Buyer) {\r\n // loadBuyerDocumentTypes(dispatch);\r\n // }\r\n dispatch(setActiveProfile(activeProfile));\r\n};\r\n\r\nexport const setActiveProfileId = async (dispatch: Dispatch, profileId: number | null) => {\r\n const profile = profileId ? await getProfile(profileId) : null;\r\n return loadActiveProfile(dispatch, profile);\r\n};\r\n\r\nexport const setActiveProjectId = async (\r\n dispatch: Dispatch,\r\n projectId: number | null,\r\n disableGlobalError: boolean = false\r\n) => {\r\n const project = projectId ? await getProject(projectId, disableGlobalError) : null;\r\n if (projectId) {\r\n loadProjectOverview(dispatch, projectId);\r\n } else {\r\n setProjectOverviewEmpty(dispatch);\r\n }\r\n\r\n // const documentTypes = projectId ? await getResidentialUnitDocumentTypes(projectId) : null;\r\n\r\n // dispatch(setSellerDocumentTypes(documentTypes));\r\n dispatch(setActiveProject(project));\r\n};\r\n\r\nexport const setCurrentCulture = async (dispatch: Dispatch, newCultureInfo: CultureInfo) => {\r\n dispatch({\r\n type: 'SET_GLOBAL_CURRENT_CULTURE',\r\n data: newCultureInfo,\r\n });\r\n\r\n loadCatagories(dispatch, true);\r\n};\r\n\r\nlet categoriesRequest: Promise | null = null;\r\nexport const loadCatagories = async (dispatch: Dispatch, force = false) => {\r\n if (force || !categoriesRequest) {\r\n categoriesRequest = getAllItemCategories();\r\n\r\n dispatch({\r\n type: 'SET_GLOBAL_CATEGORIES',\r\n data: await categoriesRequest,\r\n });\r\n }\r\n};","import Bowser from 'bowser';\r\n\r\nconst browser = Bowser.getParser(window.navigator.userAgent);\r\n\r\nexport function isiPad() {\r\n return (\r\n /iPad|iPhone|iPod/.test(navigator.userAgent) || (navigator.userAgent === 'MacIntel' && navigator.maxTouchPoints > 1)\r\n );\r\n}\r\n\r\nexport function isOldEdge(): boolean {\r\n const currentBrowser = browser.getBrowser();\r\n if (currentBrowser.name === 'Microsoft Edge') {\r\n if (currentBrowser.version && parseInt(currentBrowser.version) < 30) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n//TODO: use bowser for this\r\nexport function isiOS() {\r\n var is_safari = navigator.userAgent.toLowerCase().indexOf('safari/') > -1;\r\n if (is_safari) {\r\n try {\r\n document.createEvent('TouchEvent');\r\n return true;\r\n } catch (e: any) {\r\n return false;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nexport { browser };\r\n","import {\r\n useEffect,\r\n useState,\r\n DependencyList,\r\n useRef,\r\n Dispatch,\r\n SetStateAction,\r\n useCallback,\r\n RefObject,\r\n useContext,\r\n RefCallback,\r\n EffectCallback,\r\n useMemo,\r\n} from 'react';\r\nimport { getUniqueId } from './html';\r\nimport { ValidationRule, ValidationManager, ValidationContext, ValidationError } from 'components/forms/validation';\r\nimport { Location } from 'history';\r\nimport { parseQueryString, buildUrl, getFilterQueryString } from './url';\r\nimport { debounce, throttle as throttleFunction } from 'lodash-es';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { ProfileType, ProjectTerms, VideoConferenceData, ActiveUserData, CommentThreadType, BudgetGroupType } from 'types';\r\nimport { DefaultCulture, CultureInfo, SupportedCultures } from './localization';\r\nimport { setCanScroll } from 'state/global/actions';\r\nimport { useParams, useHistory, useLocation, useRouteMatch, generatePath } from 'react-router';\r\nimport { getOptionPresets, getProjectTermsAsBuyer } from 'services/buyer-dashboard';\r\nimport { getProjectTerms } from 'services/projects';\r\nimport { prefixTo } from 'components/navigation/helpers';\r\nimport { DismissibleMessageKey } from 'services/message-dismissal';\r\nimport { loadMessageDismissal, updateMessageDismissal } from 'state/message-dismissals/creators';\r\nimport { ProjectUsers } from 'services/projectUsers';\r\n\r\nimport { isEmpty } from 'lodash-es';\r\nimport { setCurrentCulture } from 'state/global/creators';\r\nimport { isOldEdge } from './browser';\r\nimport { useLingui } from '@lingui/react';\r\n\r\n// export const asyncUseEffect = (func) => {\r\n// useEffect(() => {\r\n// const a = async () => {\r\n// await func();\r\n// };\r\n// a();\r\n// });\r\n// };\r\n\r\nexport function useEffectDebounced(func: () => void, deps: DependencyList, delay: number) {\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n const callback = useCallback(debounce(func, delay), deps);\r\n\r\n useEffect(() => {\r\n callback();\r\n\r\n return function cleanup() {\r\n callback.cancel();\r\n };\r\n }, [callback]);\r\n}\r\n\r\n//Modified from https://dev.to/gabe_ragland/debouncing-with-react-hooks-jci\r\nexport function useDebounce(value: T, delay: number): T {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n }, [value, delay]);\r\n\r\n return debouncedValue;\r\n}\r\n\r\nexport function useForceUpdate() {\r\n const [, setCounter] = useState(1);\r\n\r\n return useCallback(() => {\r\n setCounter((counter) => counter + 1);\r\n }, []);\r\n}\r\n\r\n//Modified from https://overreacted.io/making-setinterval-declarative-with-react-hooks/\r\nexport function useInterval(callback: () => void, delay: number) {\r\n const savedCallback = useRef<() => void>();\r\n\r\n // Remember the latest callback.\r\n useEffect(() => {\r\n savedCallback.current = callback;\r\n }, [callback]);\r\n\r\n // Set up the interval.\r\n useEffect(() => {\r\n function tick() {\r\n if (savedCallback.current) {\r\n savedCallback.current();\r\n }\r\n }\r\n\r\n if (delay !== null) {\r\n const intervalId = setInterval(tick, delay);\r\n return () => clearInterval(intervalId);\r\n }\r\n }, [delay]);\r\n}\r\n\r\nexport function useUniqueId(): string {\r\n const uniqueId = useRef(getUniqueId());\r\n\r\n return uniqueId.current;\r\n}\r\n\r\nexport function useTimestamp(deps?: DependencyList): number {\r\n const [cacheKey, setCacheKey] = useState(new Date().valueOf());\r\n\r\n useEffect(() => {\r\n setCacheKey(new Date().valueOf());\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, deps);\r\n\r\n return cacheKey;\r\n}\r\n\r\nexport function useCacheBuster(url: string, deps?: DependencyList): string {\r\n const cacheKey = useTimestamp(deps);\r\n const urlParam = '__=' + encodeURIComponent(cacheKey);\r\n\r\n if (url.indexOf('?') > -1) {\r\n return url + '&' + urlParam;\r\n }\r\n\r\n return url + '?' + urlParam;\r\n}\r\n\r\nexport function useValidationManager(rules: ValidationRule[] = []) {\r\n const [validationManager] = useState(new ValidationManager());\r\n\r\n useEffect(() => {\r\n rules.forEach((rule) => {\r\n validationManager.addRule(rule);\r\n });\r\n\r\n return function cleanup() {\r\n rules.forEach((rule) => {\r\n validationManager.removeRule(rule);\r\n });\r\n };\r\n }, [rules, validationManager]);\r\n\r\n return validationManager;\r\n}\r\n\r\n// export function useValidationManager2(func: (v: ValidationManager) => void) {\r\n// const validationManager = new ValidationManager();\r\n\r\n// useEffect(() => {\r\n// return func(validationManager);\r\n// }, [validationManager]);\r\n\r\n// return validationManager;\r\n// }\r\n\r\nexport function useQueryString(location: Location): T {\r\n const [queryParams, setQueryParams] = useState(parseQueryString(location.search));\r\n const firstRunRef = useRef(true);\r\n\r\n useEffect(() => {\r\n if (!firstRunRef.current) {\r\n setQueryParams(parseQueryString(location.search));\r\n }\r\n\r\n firstRunRef.current = false;\r\n }, [location]);\r\n\r\n return queryParams;\r\n}\r\n\r\nexport function useMergeState(\r\n initialState: T\r\n): [T, Dispatch>, Dispatch>] {\r\n const [value, setValue] = useState(initialState);\r\n\r\n const mergeValue = useCallback((updates: Partial) => setValue((oldValue) => ({ ...oldValue, ...updates })), []);\r\n\r\n return [value, mergeValue, setValue];\r\n}\r\n\r\nclass CancellationToken {\r\n private canceled = false;\r\n\r\n cancel() {\r\n this.canceled = true;\r\n }\r\n\r\n isCanceled() {\r\n return this.canceled;\r\n }\r\n}\r\n\r\nexport function useAsyncStateWithIsLoading(\r\n func: () => Promise,\r\n deps: DependencyList,\r\n initialValue: T\r\n): [T, Dispatch>, () => void, boolean] {\r\n const [data, setData] = useState(initialValue);\r\n const loadingCounter = useRef(0);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const loadData = useCallback(async function loadData(cancelToken?: CancellationToken) {\r\n function shouldCancel() {\r\n if (cancelToken && cancelToken instanceof CancellationToken && cancelToken.isCanceled()) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n loadingCounter.current = loadingCounter.current + 1;\r\n setIsLoading(loadingCounter.current > 0);\r\n const data = await func();\r\n if (!shouldCancel()) {\r\n setData(data);\r\n }\r\n loadingCounter.current = loadingCounter.current - 1;\r\n setIsLoading(loadingCounter.current > 0);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, deps);\r\n\r\n useEffect(() => {\r\n const cancelToken = new CancellationToken();\r\n\r\n loadData(cancelToken);\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [loadData]);\r\n\r\n return [data, setData, loadData, isLoading];\r\n}\r\n\r\nexport function useAsyncState(\r\n func: () => Promise,\r\n deps: DependencyList,\r\n initialValue: T\r\n): [T, Dispatch>, () => Promise] {\r\n const [data, setData] = useState(initialValue);\r\n\r\n const loadData = useCallback(async function loadData(cancelToken?: CancellationToken) {\r\n function shouldCancel() {\r\n if (cancelToken && cancelToken instanceof CancellationToken && cancelToken.isCanceled()) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const data = await func();\r\n if (!shouldCancel()) {\r\n setData(data);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, deps);\r\n\r\n useEffect(() => {\r\n const cancelToken = new CancellationToken();\r\n\r\n loadData(cancelToken);\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [loadData]);\r\n\r\n return [data, setData, loadData];\r\n}\r\n\r\nexport function useAsyncStateDebounced(\r\n func: () => Promise,\r\n deps: DependencyList,\r\n initialValue: T,\r\n delay: number\r\n): [T, Dispatch>, () => void, boolean] {\r\n const [data, setData] = useState(initialValue);\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const loadData = useCallback(async function loadData() {\r\n setData(await func());\r\n setIsLoading(false);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, deps);\r\n\r\n useEffect(() => {\r\n setIsLoading(true);\r\n }, [loadData]);\r\n\r\n useEffectDebounced(\r\n () => {\r\n loadData();\r\n },\r\n [loadData],\r\n delay\r\n );\r\n\r\n return [data, setData, loadData, isLoading];\r\n}\r\n\r\n/**\r\n * Gets markdown from file\r\n * @param path\r\n */\r\nexport function useGetMarkdown(path: string) {\r\n const [md] = useAsyncState(\r\n () =>\r\n fetch(path).then((response) => {\r\n return response.text();\r\n }),\r\n [path],\r\n ''\r\n );\r\n return md;\r\n}\r\n\r\nexport function useClickOutside(\r\n ref: RefObject,\r\n handler: (e: MouseEvent) => void,\r\n capture: boolean = false\r\n) {\r\n useEffect(() => {\r\n const eventName = isOldEdge() ? 'mouseup' : 'click';\r\n function onClick(e: MouseEvent) {\r\n if (e.target && ref.current && e.target instanceof Node && ref.current.contains(e.target)) {\r\n return;\r\n }\r\n\r\n handler(e);\r\n }\r\n document.addEventListener(eventName, onClick, capture);\r\n\r\n return function cleanup() {\r\n document.removeEventListener(eventName, onClick, capture);\r\n };\r\n }, [ref, handler, capture]);\r\n}\r\n\r\n// export function useClickOutside2(refs: RefObject[], handler: () => void, capture: boolean = false) {\r\n// useEffect(() => {\r\n// function onClick(e: MouseEvent) {\r\n// if (refs.some((ref) => e.target && ref.current && e.target instanceof Node && ref.current.contains(e.target))) {\r\n// return;\r\n// }\r\n// // if () {\r\n// // return;\r\n// // }\r\n\r\n// handler();\r\n// }\r\n// document.addEventListener('click', onClick, capture);\r\n\r\n// return function cleanup() {\r\n// document.removeEventListener('click', onClick, capture);\r\n// };\r\n// }, [refs, handler, capture]);\r\n// }\r\n\r\n// export function useOnWindowScroll(ref: RefObject, handler: () => void, throttle: number | null = null) {\r\n// useEffect(() => {\r\n// let onScroll = (e: Event) => {\r\n// handler();\r\n// };\r\n\r\n// if (throttle) {\r\n// onScroll = throttleFunction(onScroll, throttle);\r\n// }\r\n\r\n// window.addEventListener('scroll', onScroll);\r\n\r\n// return function cleanup() {\r\n// window.removeEventListener('scroll', onScroll);\r\n// };\r\n// }, [ref.current, handler]);\r\n// }\r\n\r\nexport function useOnWindowResize(handler: () => void, throttle: number | null = null) {\r\n useEffect(() => {\r\n let onResize = (e: UIEvent) => {\r\n handler();\r\n };\r\n\r\n if (throttle) {\r\n onResize = throttleFunction(onResize, throttle);\r\n }\r\n\r\n window.addEventListener('resize', onResize);\r\n\r\n return function cleanup() {\r\n window.removeEventListener('resize', onResize);\r\n };\r\n }, [handler, throttle]);\r\n}\r\n\r\nexport function useIsMobile() {\r\n return useSelector((state: IState) => state.global.windowWidth < 769);\r\n}\r\n\r\nfunction useProfileType() {\r\n return useSelector((state: IState) => state.global.activeProfile && state.global.activeProfile.type);\r\n}\r\n\r\nexport function useIsSeller() {\r\n const impersonationInfo = useImpersonationInfo();\r\n const profileType = useProfileType();\r\n\r\n return profileType === ProfileType.Seller && impersonationInfo === null;\r\n}\r\n\r\nexport function useIsBuyer() {\r\n const impersonationInfo = useImpersonationInfo();\r\n const profileType = useProfileType();\r\n\r\n return profileType === ProfileType.Buyer || impersonationInfo !== null;\r\n}\r\n\r\nexport function useImpersonationInfo(): { loading: boolean; unitName: string } | null {\r\n const buyerPermissions = useSelector((state: IState) => state.buyer?.permissions);\r\n const projectData = useSelector((state: IState) => state.buyer?.projectData);\r\n\r\n if (!buyerPermissions || !buyerPermissions.impersonating) {\r\n return null;\r\n }\r\n\r\n if (!projectData) {\r\n return {\r\n loading: true,\r\n unitName: '',\r\n };\r\n }\r\n\r\n return {\r\n loading: false,\r\n unitName: projectData.unitName,\r\n };\r\n}\r\n\r\nexport function useCurrentCulture(): [CultureInfo | null, (cultureOrLocale: CultureInfo | string) => CultureInfo] {\r\n const currentCulture = useSelector((state: IState) => state.global.currentCulture);\r\n const dispatch = useDispatch();\r\n\r\n const setter = (cultureOrLocale: CultureInfo | string) => {\r\n let culture: CultureInfo | null | undefined = null;\r\n if (typeof cultureOrLocale === 'string') {\r\n culture = SupportedCultures.find((x) => x.locale === cultureOrLocale);\r\n } else {\r\n culture = cultureOrLocale;\r\n }\r\n if (!culture) {\r\n culture = DefaultCulture;\r\n }\r\n localStorage.setItem('lastLocale', culture.locale);\r\n setCurrentCulture(dispatch, culture);\r\n\r\n return culture;\r\n };\r\n\r\n return [currentCulture, setter];\r\n}\r\n\r\nexport function useDocumentTypes() {\r\n return useSelector((state: IState) => {\r\n if (!state.global.activeProfile) {\r\n return null;\r\n }\r\n\r\n if (state.global.activeProfile.type === ProfileType.Seller && state.seller.documentTypes) {\r\n return state.seller.documentTypes;\r\n }\r\n\r\n if (state.global.activeProfile.type === ProfileType.Buyer && state.buyer.documentTypes) {\r\n return state.buyer.documentTypes;\r\n }\r\n\r\n return null;\r\n });\r\n}\r\n\r\nexport function useDocumentType(documentTypeId: number | null) {\r\n return useSelector((state: IState) => {\r\n if (!documentTypeId) {\r\n return null;\r\n }\r\n\r\n if (!state.global.activeProfile) {\r\n return null;\r\n }\r\n\r\n if (state.global.activeProfile.type === ProfileType.Seller && state.seller.documentTypes) {\r\n return state.seller.documentTypes.find((x) => x.id === documentTypeId) || null;\r\n }\r\n\r\n if (state.global.activeProfile.type === ProfileType.Buyer && state.buyer.documentTypes) {\r\n return state.buyer.documentTypes.find((x) => x.id === documentTypeId) || null;\r\n }\r\n\r\n return null;\r\n });\r\n}\r\n\r\nexport function useRequestLanguage(func: (localeName: string, localeData: Locale) => void) {\r\n const [langCode, setLangCode] = useState('en-GB');\r\n const currentCulture = useSelector((state: IState) => state.global.currentCulture);\r\n\r\n useEffect(() => {\r\n (async function () {\r\n const dateFnsImport = currentCulture ? currentCulture.dateFnsImport : DefaultCulture.dateFnsImport;\r\n const dateFnsName = currentCulture ? currentCulture.dateFnsName : DefaultCulture.dateFnsName;\r\n // if (langCode !== 'en') {\r\n const locale = await dateFnsImport();\r\n // const locale = await import(`date-fns/locale/${dateFnsName}/index.js`);\r\n func(dateFnsName, locale);\r\n // }\r\n setLangCode(dateFnsName);\r\n })();\r\n }, [currentCulture, func]);\r\n\r\n return langCode;\r\n}\r\n\r\nexport function useFocusElement() {\r\n const ref = useCallback((node) => {\r\n if (node !== null) {\r\n node.focus();\r\n }\r\n }, []);\r\n\r\n return ref;\r\n}\r\n/**\r\n * Will try and only make it scroll on load, and on change of Id, and not on reload of items.\r\n * @param scrollToId Id of expand/select item - the on that should be scrolled to\r\n */\r\nexport function useCanScroll(scrollToId: number | string | undefined) {\r\n const [prevId, setPrevId] = useState(scrollToId);\r\n const rCanScroll = useSelector((state: IState) => state.global.canScroll);\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n // When we change Id, we can scroll again.\r\n if (prevId !== scrollToId) {\r\n setPrevId(scrollToId);\r\n dispatch(setCanScroll(true));\r\n }\r\n\r\n return () => {\r\n dispatch(setCanScroll(true));\r\n };\r\n }, [scrollToId, prevId, dispatch]);\r\n // useEffect(() => {\r\n // // on initial load, will set it to false. This should be after the first scroll\r\n // if (canScroll) {\r\n // setCanScroll(false);\r\n // }\r\n // }, []);\r\n // useEffect(() => {\r\n // // Set can scroll to false, again hopefully after we've scrolled.\r\n // if (canScroll) {\r\n // setCanScroll(false);\r\n // }\r\n // }, [canScroll]);\r\n return rCanScroll;\r\n}\r\n\r\nexport function useDefaultScrollToId(paramName = 'id') {\r\n const [defaultExpandedId, setDefaultExpandedId] = useState(undefined);\r\n\r\n let { [paramName]: paramId } = useParams();\r\n\r\n useEffect(() => {\r\n if (paramId && !isNaN(+paramId)) setDefaultExpandedId(+paramId);\r\n else setDefaultExpandedId(undefined);\r\n }, [paramId]);\r\n\r\n return defaultExpandedId;\r\n}\r\nexport function useDefaultScrollToStringId(paramName = 'id') {\r\n const [defaultExpandedId, setDefaultExpandedId] = useState(undefined);\r\n\r\n let { [paramName]: paramId } = useParams();\r\n\r\n useEffect(() => {\r\n if (paramId) setDefaultExpandedId(paramId);\r\n else setDefaultExpandedId(undefined);\r\n }, [paramId]);\r\n\r\n return defaultExpandedId;\r\n}\r\n\r\nexport function useGetTerms() {\r\n const isBuyer = useIsBuyer();\r\n const isSeller = useIsSeller();\r\n const permissions = useSelector((state: IState) => state.buyer.permissions);\r\n const activeProject = useSelector((state: IState) => state.global.activeProject);\r\n const [terms, setTerms] = useState(null);\r\n\r\n useEffect(() => {\r\n const setTermsAsBuyer = async () => {\r\n setTerms(await getProjectTermsAsBuyer(permissions!.residentialUnitId));\r\n };\r\n const setTermsAsSeller = async () => {\r\n setTerms(await getProjectTerms(activeProject!.id));\r\n };\r\n\r\n if (isSeller && activeProject) {\r\n setTermsAsSeller();\r\n }\r\n\r\n if (isBuyer && permissions) {\r\n setTermsAsBuyer();\r\n }\r\n }, [isSeller, isBuyer, permissions, activeProject]);\r\n\r\n return terms;\r\n}\r\n\r\nexport function useGetActiveProfileName() {\r\n const projectData = useSelector((state: IState) => state.buyer.projectData);\r\n const activeProject = useSelector((state: IState) => state.global.activeProject);\r\n\r\n return activeProject ? activeProject.sellerProfileName : projectData ? projectData.sellerProfileName : null;\r\n}\r\n\r\nexport function useGetProjectId() {\r\n const projectData = useSelector((state: IState) => state.buyer.projectData);\r\n const activeProject = useSelector((state: IState) => state.global.activeProject);\r\n if (projectData) return projectData.projectId;\r\n if (activeProject) return activeProject.id;\r\n}\r\n\r\nexport function useGetActiveProjectId() {\r\n const activeProject = useSelector((state: IState) => state.global.activeProject);\r\n if (activeProject) return activeProject.id;\r\n}\r\n\r\nexport function usePageVisibility() {\r\n const [visible, setVisible] = useState(!document.hidden);\r\n\r\n useEffect(() => {\r\n function handleVisibilityChange() {\r\n setVisible(!document.hidden);\r\n }\r\n\r\n document.addEventListener('visibilitychange', handleVisibilityChange, false);\r\n\r\n return function cleanup() {\r\n document.removeEventListener('visibilitychange', handleVisibilityChange, false);\r\n };\r\n });\r\n\r\n return visible;\r\n}\r\n\r\nexport function useWindowFocus() {\r\n const [visible, setVisible] = useState(!document.hidden && document.hasFocus());\r\n\r\n useEffect(() => {\r\n function handleFocusChange() {\r\n setVisible(document.hasFocus());\r\n }\r\n\r\n window.addEventListener('focus', handleFocusChange, false);\r\n window.addEventListener('blur', handleFocusChange, false);\r\n\r\n return function cleanup() {\r\n window.removeEventListener('focus', handleFocusChange, false);\r\n window.removeEventListener('blur', handleFocusChange, false);\r\n };\r\n });\r\n\r\n return visible;\r\n}\r\n\r\nexport function useInputValidation(\r\n value: T,\r\n func: (valueRef: RefObject) => ValidationRule[],\r\n deps: DependencyList\r\n) {\r\n const [invalid, setInvalid] = useState(false);\r\n const currentValueRef = useRef(value);\r\n const componentRef = useRef(Symbol('Validation'));\r\n\r\n const context = useContext(ValidationContext);\r\n const validationManager = context.validationManager;\r\n\r\n useEffect(() => {\r\n currentValueRef.current = value;\r\n }, [value]);\r\n\r\n useEffect(() => {\r\n if (!validationManager) {\r\n return;\r\n }\r\n\r\n function handleClear() {\r\n setInvalid(false);\r\n }\r\n\r\n function handleValidate(errors: ValidationError[]) {\r\n setInvalid(errors.filter((x) => x.component === componentRef.current).length > 0);\r\n }\r\n\r\n validationManager.onValidate.addHandler(handleValidate);\r\n validationManager.onClear.addHandler(handleClear);\r\n\r\n const rules = func(currentValueRef).map((x) => ({ ...x, component: componentRef.current }));\r\n\r\n validationManager.addRules(rules);\r\n\r\n return function () {\r\n validationManager.removeRules(rules);\r\n validationManager.onValidate.removeHandler(handleValidate);\r\n validationManager.onClear.removeHandler(handleClear);\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [func, validationManager, ...deps]);\r\n\r\n return [invalid];\r\n}\r\n\r\nexport function usePrevious(value: T) {\r\n const ref = useRef();\r\n useEffect(() => {\r\n ref.current = value;\r\n });\r\n return ref.current;\r\n}\r\n\r\nexport function useProjectRelativeRedirect() {\r\n const project = useSelector((state: IState) => state.global.activeProject!);\r\n const history = useHistory();\r\n\r\n return (to: string) => history.push(prefixTo(to, `/projects/${project.id}`));\r\n}\r\n\r\n// const IntersectionObserverSupported = typeof IntersectionObserver !== 'undefined';\r\n// export function useIntersectionObserver(element: RefObject) {\r\n// const observer = useRef();\r\n// const [visible, setVisible] = useState(false);\r\n\r\n// console.log('element', element);\r\n\r\n// useEffect(() => {\r\n// const observedElement = element.current;\r\n// console.log('observedElement', observedElement);\r\n\r\n// if (IntersectionObserverSupported && observedElement) {\r\n// const handleObserve = (entries, observer) => {\r\n// console.log('entries', entries);\r\n// if (!observer) {\r\n// return;\r\n// }\r\n\r\n// setVisible(entries[0].isIntersecting);\r\n// };\r\n\r\n// observer.current = new IntersectionObserver(handleObserve, {\r\n// rootMargin: '0px',\r\n// threshold: 0.1,\r\n// });\r\n\r\n// if (observer.current) {\r\n// observer.current.observe(observedElement);\r\n// }\r\n// } else {\r\n// setVisible(true);\r\n// }\r\n\r\n// return function cleanup() {\r\n// if (observer.current) {\r\n// if (observedElement) {\r\n// observer.current.unobserve(observedElement);\r\n// }\r\n// observer.current = undefined;\r\n// }\r\n// };\r\n// }, []);\r\n\r\n// return visible;\r\n// }\r\nexport const IntersectionObserverSupported = typeof IntersectionObserver !== 'undefined';\r\nexport function useIntersectionObserver(): [RefCallback, boolean, RefObject] {\r\n const currentElement = useRef(null);\r\n const [visible, setVisible] = useState(false);\r\n\r\n const observer = useRef();\r\n\r\n useEffect(() => {\r\n return function () {\r\n if (observer.current) {\r\n observer.current.disconnect();\r\n }\r\n };\r\n }, []);\r\n\r\n function createObserver(element: T) {\r\n if (observer.current && currentElement.current && element !== currentElement.current) {\r\n observer.current.unobserve(currentElement.current);\r\n }\r\n\r\n if (IntersectionObserverSupported) {\r\n if (!observer.current) {\r\n observer.current = new IntersectionObserver(\r\n (entries, observer) => {\r\n if (!observer) {\r\n return;\r\n }\r\n\r\n setVisible(entries[0].isIntersecting);\r\n },\r\n {\r\n rootMargin: '0px',\r\n threshold: 0.1,\r\n }\r\n );\r\n }\r\n\r\n if (element) {\r\n observer.current.observe(element);\r\n }\r\n } else {\r\n setVisible(true);\r\n }\r\n\r\n currentElement.current = element;\r\n }\r\n\r\n return [createObserver, visible, currentElement];\r\n}\r\n\r\nexport function useMessageDismissal(key: DismissibleMessageKey, projectId: number | null): [boolean | null, () => void] {\r\n const dispatch = useDispatch();\r\n\r\n const initialLoad = useRef(true);\r\n useEffect(() => {\r\n if (initialLoad) {\r\n dispatch(loadMessageDismissal(key, projectId));\r\n }\r\n initialLoad.current = false;\r\n }, [key, projectId, dispatch]);\r\n\r\n const items = useSelector((state: IState) => state.messageDismissals.items);\r\n const item = items.find((x) => x.key === key && x.projectId === projectId);\r\n\r\n // const [value, setValue] = useAsyncState(() => getMessageDismissalValue(key, projectId), [key, projectId], null);\r\n\r\n const dismiss = useCallback(() => {\r\n dispatch(updateMessageDismissal(key, true, projectId));\r\n }, [key, projectId, dispatch]);\r\n\r\n return [item?.value ?? null, dismiss];\r\n}\r\n\r\nexport function useActiveProjectBuyer(): ActiveUserData[] {\r\n const [activeUsers, setActiveUsers] = useState([]);\r\n\r\n useEffect(() => {\r\n var userApi = new ProjectUsers();\r\n const receiveActiveBuyersHandler = (users: ActiveUserData[]) => {\r\n setActiveUsers(users);\r\n };\r\n\r\n (async () => {\r\n setActiveUsers(await userApi.getActiveBuyers());\r\n })();\r\n\r\n userApi.addReceiveActiveBuyersHandler(receiveActiveBuyersHandler);\r\n return () => {\r\n userApi.removeReceiveActiveBuyersHandler(receiveActiveBuyersHandler);\r\n };\r\n }, []);\r\n\r\n return activeUsers;\r\n}\r\n\r\nconst fixQueryStringArrays = (parseData, defaultState) => {\r\n let returnData = { ...defaultState };\r\n if (!isEmpty(parseData)) {\r\n for (const propertyName in defaultState) {\r\n if (typeof defaultState[propertyName] === 'boolean') {\r\n returnData[propertyName] = parseData[propertyName] === 'true';\r\n } else if (\r\n parseData[propertyName] &&\r\n Array.isArray(returnData[propertyName]) &&\r\n !Array.isArray(parseData[propertyName])\r\n ) {\r\n returnData[propertyName] = [parseData[propertyName]];\r\n } else if (propertyName in parseData) {\r\n returnData[propertyName] = parseData[propertyName];\r\n }\r\n }\r\n }\r\n\r\n return returnData;\r\n};\r\n\r\n/**\r\n * NB: Only use number[] | string[] | string | number\r\n *\r\n * Enumerations also works.\r\n * Basically only stuff that will work fine in the URL\r\n */\r\nexport function useQueryState(initialState: T): [T, (v: T) => void] {\r\n const frozenInitialState = useRef(initialState);\r\n\r\n const parsedData = parseQueryString(window.location.search);\r\n const fixedData = fixQueryStringArrays(parsedData, initialState);\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const [data, setData] = useState(fixedData);\r\n\r\n const previousLocation = usePrevious(location.search);\r\n useEffectSkipFirst(() => {\r\n if (previousLocation !== location.search) {\r\n const newData = parseQueryString(location.search);\r\n setData(fixQueryStringArrays(newData, frozenInitialState.current));\r\n }\r\n }, [location]);\r\n\r\n const onSetData = useCallback(\r\n (newValue: T) => {\r\n // setData(newValue);\r\n const qs = getFilterQueryString(newValue as Object);\r\n\r\n if (qs !== location.search) {\r\n history.push(\r\n buildUrl({\r\n path: location.pathname,\r\n search: qs,\r\n hash: location.hash,\r\n })\r\n );\r\n }\r\n },\r\n [history, location]\r\n );\r\n\r\n return [data, onSetData];\r\n}\r\n\r\nexport function useEffectSkipFirst(effect: EffectCallback, deps: DependencyList) {\r\n const skipped = useRef(false);\r\n\r\n useEffect(() => {\r\n if (skipped.current) {\r\n return effect();\r\n }\r\n\r\n skipped.current = true;\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [...deps, skipped]);\r\n}\r\n\r\nexport function useAsRef(value: T) {\r\n const ref = useRef(value);\r\n ref.current = value;\r\n return ref;\r\n}\r\n\r\nexport function useParamReplace(path?: string) {\r\n const params = useParams();\r\n const match = useRouteMatch();\r\n const location = useLocation();\r\n\r\n const paramsRef = useAsRef(params);\r\n const locationRef = useAsRef(location);\r\n const matchRef = useAsRef(match);\r\n\r\n return useCallback(\r\n (replacementParams: T) => {\r\n return buildUrl({\r\n path: generatePath(path ?? matchRef.current.path, { ...paramsRef.current, ...replacementParams }),\r\n search: locationRef.current.search,\r\n hash: locationRef.current.hash,\r\n });\r\n },\r\n [paramsRef, matchRef, locationRef, path]\r\n );\r\n}\r\n\r\n// export function useParamReplace(path?: string) {\r\n// const params = useParams();\r\n// const match = useRouteMatch();\r\n// const location = useLocation();\r\n\r\n// return (replacementParams: T) => {\r\n// return buildUrl({\r\n// path: generatePath(path ?? match.path, { ...params, ...replacementParams }),\r\n// search: location.search,\r\n// hash: location.hash,\r\n// });\r\n// };\r\n// }\r\n\r\ntype UnreadMessageCount = { [key in keyof typeof CommentThreadType]: number } & {\r\n readonly total: number;\r\n};\r\n\r\nexport function useThreadUnreadMessageCount(threadId: number): number | undefined {\r\n const profileType = useProfileType();\r\n const buyerThreads = useSelector((state: IState) => state.buyer.commentThreads);\r\n const sellerThreads = useSelector((state: IState) => state.seller.projectOverview.comments);\r\n\r\n return useMemo(() => {\r\n if (profileType === ProfileType.Buyer && buyerThreads) {\r\n return buyerThreads.find((x) => x.threadId === threadId)?.unreadMessages;\r\n } else if (profileType === ProfileType.Seller && sellerThreads) {\r\n return sellerThreads.find((x) => x.threadId === threadId)?.unreadMessages;\r\n }\r\n }, [threadId, profileType, buyerThreads, sellerThreads]);\r\n}\r\n\r\nexport function useUnreadThreadCount(): UnreadMessageCount {\r\n const commentThreads = useSelector((state: IState) => {\r\n if (state.global.activeProfile?.type === ProfileType.Buyer) {\r\n return state.buyer.commentThreads.map((x) => ({ unreadMessages: x.unreadMessages, type: x.type }));\r\n } else if (state.global.activeProfile?.type === ProfileType.Seller) {\r\n return state.seller.projectOverview.comments?.map((x) => ({\r\n unreadMessages: x.unreadMessages,\r\n type: x.type,\r\n }));\r\n }\r\n\r\n return null;\r\n });\r\n\r\n return useMemo(() => {\r\n const unreadThreads = commentThreads?.filter((x) => x.unreadMessages) ?? [];\r\n return Object.values(CommentThreadType).reduce(\r\n (acc, current) => {\r\n acc[current] = unreadThreads.filter((x) => x.type === current).length;\r\n return acc;\r\n },\r\n { total: unreadThreads.length }\r\n ) as UnreadMessageCount;\r\n }, [commentThreads]);\r\n}\r\nexport function useIsWhiteLabel() {\r\n const isBuyer = useIsBuyer();\r\n return useSelector((state: IState) => state.buyer.projectData?.useWhiteLabel ?? false) && isBuyer;\r\n}\r\n\r\nexport function useGetActiveProfile() {\r\n const activeProfile = useSelector((state: IState) => state.global.activeProfile);\r\n return activeProfile;\r\n}\r\nexport function useGetActiveProject() {\r\n const activeProject = useSelector((state: IState) => state.global.activeProject);\r\n if (activeProject) return activeProject;\r\n}\r\n\r\nexport function useGetDefaultProjectUnitOfMeasurement() {\r\n const projectData = useSelector((state: IState) => state.buyer.projectData);\r\n const activeProject = useSelector((state: IState) => state.global.activeProject);\r\n if (projectData) return projectData.defaultUnitOfMeasurement;\r\n if (activeProject) return activeProject.defaultUnitOfMeasurement;\r\n}\r\nexport function useShouldDisplayDefaultTextOnOptions() {\r\n const isBuyer = useIsBuyer();\r\n const projectData = useSelector((state: IState) => state.buyer.projectData);\r\n if (!isBuyer) return true;\r\n if (projectData) return projectData.showDefaultTextOnOptions;\r\n}\r\n\r\nexport function useBuyerHasUnselectedForcedPreset() {\r\n const { residentialUnitId } = useSelector((state: IState) => state.buyer.permissions!);\r\n const [presetsGroups, , reload] = useAsyncState(() => getOptionPresets(residentialUnitId), [residentialUnitId], null);\r\n\r\n if (presetsGroups === null) return null;\r\n\r\n return presetsGroups.some((x) => x.forceSelection && !x.presets.some((x) => x.selected));\r\n}\r\n\r\nexport function useFilteredBudget() {\r\n const buyerHasForcedPreset = useBuyerHasUnselectedForcedPreset();\r\n const unfilteredBudget = useSelector((state: IState) => state.buyer.budget);\r\n return useMemo(() => {\r\n if (!unfilteredBudget) {\r\n return null;\r\n }\r\n\r\n //If buyer has not signed a forced style, remove it from budget as the price is probably not correct\r\n if (buyerHasForcedPreset) {\r\n return unfilteredBudget.filter((x) => x.type !== BudgetGroupType.Normal);\r\n }\r\n\r\n return unfilteredBudget;\r\n }, [unfilteredBudget, buyerHasForcedPreset]);\r\n}\r\n\r\nexport function useCategories() {\r\n const itemCategories = useSelector((state: IState) => state.global.itemCategories);\r\n\r\n return itemCategories;\r\n}\r\n\r\nexport const useGetCorrectLanguageCodeForPhoneInput = (): 'se' | 'no' => {\r\n const [cultureInfo] = useCurrentCulture();\r\n const currentLanguage = cultureInfo?.languageCode;\r\n return currentLanguage === 'sv' ? 'se' : 'no';\r\n};\r\n\r\nconst defaultTitle = window.document.title;\r\nexport function usePageTitle(title: string | null | undefined) {\r\n const { i18n } = useLingui();\r\n // const project = useSelector((state: IState) => state.global.activeProject);\r\n useEffect(() => {\r\n // const parts = [project?.name, title]\r\n window.document.title = title ?? defaultTitle;\r\n\r\n return () => {\r\n window.document.title = defaultTitle;\r\n };\r\n }, [title, i18n.locale]);\r\n}\r\n\r\nexport function useGetRubustechIoUrl(path: string) {\r\n const getLanguagePathFromCulture = (culture: CultureInfo | null) => {\r\n switch (culture?.languageCode) {\r\n case 'en':\r\n return '';\r\n case 'sv':\r\n return '/sv';\r\n case 'nb':\r\n return '/no';\r\n case 'de':\r\n return '/de';\r\n default:\r\n return '';\r\n }\r\n };\r\n\r\n const [currentCulture] = useCurrentCulture();\r\n return `https://www.rubustech.io${getLanguagePathFromCulture(currentCulture)}/${path}`;\r\n}\r\n","import React, {\r\n useRef,\r\n useEffect,\r\n useState,\r\n KeyboardEventHandler,\r\n MouseEventHandler,\r\n useCallback,\r\n CSSProperties,\r\n} from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport theme from './Modal.module.scss';\r\nimport { useTransition, animated } from 'react-spring';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { classnames, focusableElementsSelector } from 'utils/html';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTimes } from '@fortawesome/pro-light-svg-icons';\r\nimport { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\r\nimport { useLocation } from 'react-router';\r\nimport { usePrevious } from 'utils/hooks';\r\n\r\nconst scrollOptions = {\r\n reserveScrollBarGap: true,\r\n};\r\n\r\ninterface ModalProps {\r\n isOpen: boolean;\r\n toggle?(): void;\r\n onOpened?(): void;\r\n onClosed?(): void;\r\n onOpen?(): void;\r\n onClose?(): void;\r\n size?: 'auto' | 'md' | 'lg' | 'xl';\r\n className?: string;\r\n backdrop?: 'normal' | 'static' | 'none';\r\n autoFocus?: boolean;\r\n enableCloseButton?: boolean;\r\n closeOnEscape?: boolean;\r\n style?: CSSProperties;\r\n name?: string;\r\n}\r\n\r\nfunction elementHasOpenSelects(element: HTMLElement) {\r\n return !!element.querySelector('.r-s__control--is-focused.r-s__control--menu-is-open');\r\n}\r\n\r\nlet openDialogs: Symbol[] = [];\r\n\r\ntype FocusableElement = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;\r\n\r\nlet currentId = 1;\r\nconst Modal: React.FC = ({\r\n toggle,\r\n isOpen,\r\n children,\r\n onOpened,\r\n onClosed,\r\n onOpen,\r\n onClose,\r\n className,\r\n size = 'md',\r\n backdrop = 'static',\r\n autoFocus = true,\r\n enableCloseButton = true,\r\n closeOnEscape = true,\r\n style,\r\n name,\r\n}) => {\r\n const location = useLocation();\r\n const portalRef = useRef(document.createElement('div'));\r\n const backgroundRef = useRef(null);\r\n const contentRef = useRef(null);\r\n const [enableScroll, setEnableScroll] = useState(true);\r\n const lastFocusedElementRef = useRef();\r\n\r\n const [loaded, setLoaded] = useState(false);\r\n\r\n useEffect(() => {\r\n setLoaded(true);\r\n }, [isOpen]);\r\n\r\n const dialogReference = useRef(Symbol('Modal-' + currentId++));\r\n const [index, setIndex] = useState(0);\r\n\r\n const mountPortal = useCallback(() => {\r\n document.body.appendChild(portalRef.current);\r\n }, []);\r\n\r\n const unmountPortal = useCallback(() => {\r\n portalRef.current.remove();\r\n }, []);\r\n\r\n const handleBackdropClick: MouseEventHandler = (e) => {\r\n if (toggle && isOpen && backdrop !== 'static' && e.target === e.currentTarget) {\r\n toggle();\r\n }\r\n };\r\n\r\n const doAutoFocus = useCallback(() => {\r\n if (!autoFocus || !contentRef.current) {\r\n return;\r\n }\r\n\r\n const focusElement = contentRef.current.querySelector(focusableElementsSelector);\r\n if (focusElement) {\r\n focusElement.focus();\r\n }\r\n }, [autoFocus]);\r\n\r\n const saveFocus = () => {\r\n lastFocusedElementRef.current = document.activeElement as HTMLElement;\r\n };\r\n\r\n const revertFocus = () => {\r\n if (lastFocusedElementRef.current && lastFocusedElementRef.current.parentElement) {\r\n lastFocusedElementRef.current.focus();\r\n }\r\n lastFocusedElementRef.current = null;\r\n };\r\n\r\n const onKeyDown: KeyboardEventHandler = (e) => {\r\n if (!isOpen) {\r\n return;\r\n }\r\n\r\n if (\r\n closeOnEscape &&\r\n e.keyCode === 27 &&\r\n toggle &&\r\n openDialogs[openDialogs.length - 1] === dialogReference.current &&\r\n contentRef.current &&\r\n !elementHasOpenSelects(contentRef.current)\r\n ) {\r\n toggle();\r\n }\r\n\r\n if (e.keyCode === 9 && contentRef.current) {\r\n const focusElements = contentRef.current.querySelectorAll(focusableElementsSelector);\r\n\r\n if (focusElements.length > 0) {\r\n const first = focusElements[0];\r\n const last = focusElements[focusElements.length - 1];\r\n\r\n if (document.activeElement === first && e.shiftKey) {\r\n last.focus();\r\n e.preventDefault();\r\n } else if (document.activeElement === last && !e.shiftKey) {\r\n first.focus();\r\n e.preventDefault();\r\n }\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n return function cleanup() {\r\n unmountPortal();\r\n };\r\n }, [unmountPortal]);\r\n\r\n useEffect(() => {\r\n if (isOpen) {\r\n mountPortal();\r\n saveFocus();\r\n } else {\r\n revertFocus();\r\n }\r\n }, [isOpen, mountPortal]);\r\n\r\n const setModalOpen = () => {\r\n setEnableScroll(false);\r\n };\r\n\r\n const setModalClosed = () => {\r\n setEnableScroll(true);\r\n };\r\n\r\n useEffect(() => {\r\n const background = backgroundRef.current;\r\n\r\n if (!background) {\r\n return;\r\n }\r\n\r\n if (enableScroll) {\r\n enableBodyScroll(background);\r\n } else if (background) {\r\n disableBodyScroll(background, scrollOptions);\r\n }\r\n\r\n return function cleanup() {\r\n enableBodyScroll(background);\r\n };\r\n }, [enableScroll]);\r\n\r\n const previousIsOpen = usePrevious(isOpen);\r\n useEffect(() => {\r\n if (previousIsOpen === isOpen) {\r\n return;\r\n }\r\n\r\n if (isOpen) {\r\n triggerHandler(onOpen);\r\n openDialogs = [...openDialogs.filter((x) => x !== dialogReference.current), dialogReference.current];\r\n // openDialogsNew.push(dialogReference.current);\r\n setIndex(openDialogs.findIndex((x) => x === dialogReference.current));\r\n setModalOpen();\r\n setTimeout(doAutoFocus, 0); //Make it run after render\r\n } else {\r\n openDialogs = openDialogs.filter((x) => x !== dialogReference.current);\r\n triggerHandler(onClose);\r\n setModalClosed();\r\n }\r\n }, [isOpen, previousIsOpen, location, name, onClose, onOpen, doAutoFocus]);\r\n\r\n const transitions = useTransition(isOpen, null, {\r\n from: { opacity: 0, transform: 'translate3d(0,-40px,0)' },\r\n enter: { opacity: 1, transform: 'translate3d(0,0,0)' },\r\n leave: { opacity: 0, transform: 'translate3d(0,40px,0)' },\r\n unique: true,\r\n // reset: isOpen,\r\n config: {\r\n duration: 250,\r\n },\r\n onRest: () => {\r\n if (isOpen) {\r\n triggerHandler(onOpened);\r\n } else {\r\n triggerHandler(onClosed);\r\n setIndex(openDialogs.findIndex((x) => x === dialogReference.current));\r\n unmountPortal();\r\n }\r\n },\r\n onStart: () => {},\r\n } as any);\r\n\r\n const isTopModal = openDialogs.length > 0 && openDialogs[0] === dialogReference.current;\r\n\r\n if (!loaded) {\r\n return null;\r\n }\r\n\r\n const content = (\r\n <>\r\n {transitions.map(({ item, key, props }) => {\r\n if (!item) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n e.stopPropagation()}\r\n style={{ ...style, transform: props.transform }}\r\n className={classnames(className, theme.modal, theme[size])}\r\n ref={contentRef}\r\n role=\"document\">\r\n {enableCloseButton && toggle && (\r\n
\r\n \r\n
\r\n )}\r\n {children}\r\n \r\n \r\n );\r\n })}\r\n \r\n );\r\n return ReactDOM.createPortal(content, portalRef.current);\r\n};\r\n\r\nexport default Modal;\r\n","import React from 'react';\r\nimport theme from './Modal.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface ModalHeaderProps {\r\n toggle?(): void;\r\n className?: string;\r\n}\r\n\r\nconst ModalHeader: React.FC = ({ toggle, className, children }) => {\r\n return
{children}
;\r\n};\r\n\r\nexport default ModalHeader;\r\n","import React from 'react';\r\nimport theme from './Modal.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface ModalBodyProps {\r\n className?: string;\r\n}\r\n\r\nconst ModalBody: React.FC = ({ children, className }) => {\r\n return
{children}
;\r\n};\r\n\r\nexport default ModalBody;\r\n","import React from 'react';\r\nimport theme from './Modal.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface ModalFooterProps {\r\n className?: string;\r\n}\r\n\r\nconst ModalFooter: React.FC = ({ className, children }) => {\r\n return
{children}
;\r\n};\r\n\r\nexport default ModalFooter;\r\n","import React, { useState, useRef, MutableRefObject, RefAttributes, Ref, useEffect, useCallback } from 'react';\r\nimport theme from './Tooltip.module.scss';\r\nimport { useDebounce } from 'utils/hooks';\r\nimport { classnames } from 'utils/html';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCaretUp } from '@fortawesome/free-solid-svg-icons';\r\nimport { usePopper } from 'react-popper';\r\nimport { TooltipProps, TooltipChildren, TooltipQuestionMark } from '.';\r\nimport { triggerHandler } from 'utils/events';\r\n\r\nfunction combineRefs(node: T, ...refs: (Ref | null | undefined)[]): void {\r\n refs.forEach((ref) => {\r\n if (typeof ref === 'function') {\r\n ref(node);\r\n } else if (ref !== null) {\r\n (ref as MutableRefObject).current = node;\r\n }\r\n });\r\n // Call the original ref, if any\r\n // if (typeof originalRef === 'function') {\r\n // originalRef(originalRef);\r\n // } else if (originalRef) {\r\n // (originalRef as MutableRefObject).current = node;\r\n // }\r\n}\r\n\r\nconst Tooltip = React.forwardRef(\r\n (\r\n {\r\n children,\r\n content,\r\n placement,\r\n color = 'dark',\r\n dynamicWidth = false,\r\n forceOpen = false,\r\n showOnHover = true,\r\n interactive = true,\r\n noPadding = false,\r\n delay = 0,\r\n onShow,\r\n onHide,\r\n title,\r\n className,\r\n includeQuestionMark,\r\n minWidthPx: minWidth,\r\n },\r\n tooltipRef\r\n ) => {\r\n const child = React.Children.only(\r\n includeQuestionMark ? (\r\n \r\n {children} {' '}\r\n \r\n ) : (\r\n (children as TooltipChildren)\r\n )\r\n );\r\n const hideTimeoutRef = useRef(null);\r\n\r\n const [visible, setVisible] = useState(false);\r\n let shouldRender = useDebounce(visible || forceOpen, 250);\r\n\r\n const [referenceElement, setReferenceElement] = useState(null);\r\n const [popperElement, setPopperElement] = useState(null);\r\n const { styles, attributes, state } = usePopper(referenceElement, popperElement, {\r\n placement: placement,\r\n modifiers: [\r\n {\r\n name: 'computeStyles',\r\n options: {\r\n gpuAcceleration: false,\r\n },\r\n },\r\n {\r\n name: 'offset',\r\n options: {\r\n offset: [0, 8],\r\n },\r\n },\r\n ],\r\n });\r\n\r\n const hideTooltip = useCallback(() => {\r\n if (hideTimeoutRef.current) {\r\n window.clearTimeout(hideTimeoutRef.current);\r\n }\r\n\r\n if (!showOnHover) {\r\n return;\r\n }\r\n\r\n hideTimeoutRef.current = window.setTimeout(() => {\r\n triggerHandler(onHide);\r\n setVisible(false);\r\n }, 150);\r\n }, [showOnHover, onHide]);\r\n\r\n const showTooltip = useCallback(() => {\r\n if (hideTimeoutRef.current) {\r\n window.clearTimeout(hideTimeoutRef.current);\r\n }\r\n\r\n if (!showOnHover) {\r\n return;\r\n }\r\n\r\n hideTimeoutRef.current = window.setTimeout(() => {\r\n triggerHandler(onShow);\r\n setVisible(true);\r\n }, delay);\r\n }, [showOnHover, onShow, delay]);\r\n\r\n useEffect(() => {\r\n const el = referenceElement;\r\n\r\n if (el) {\r\n el.addEventListener('mouseenter', showTooltip);\r\n el.addEventListener('mouseleave', hideTooltip);\r\n }\r\n\r\n return function cleanup() {\r\n if (el) {\r\n el.removeEventListener('mouseenter', showTooltip);\r\n el.removeEventListener('mouseleave', hideTooltip);\r\n }\r\n };\r\n }, [referenceElement, showTooltip, hideTooltip]);\r\n\r\n if (forceOpen) {\r\n shouldRender = true;\r\n }\r\n\r\n if (!content) {\r\n return <>{children};\r\n }\r\n\r\n return (\r\n <>\r\n {React.cloneElement(child, {\r\n // ref: ref,\r\n ref: (node) => {\r\n const childWithRef = child as typeof child & RefAttributes;\r\n const { ref: outerRef } = childWithRef;\r\n\r\n combineRefs(node, setReferenceElement, outerRef);\r\n },\r\n className: (child.props.className || '') + ' ' + theme.triggerElement,\r\n // onMouseEnter: (e: SyntheticEvent) => showTooltip(),\r\n // onMouseLeave: (e: SyntheticEvent) => hideTooltip(),\r\n })}\r\n {shouldRender && (\r\n combineRefs(node, setPopperElement, tooltipRef)}\r\n style={styles.popper as any}\r\n onClick={(e) => e.stopPropagation()}\r\n onMouseEnter={(e) => {\r\n if (visible) showTooltip();\r\n }}\r\n onMouseLeave={(e) => hideTooltip()}>\r\n \r\n \r\n {title &&
{title}
}\r\n {content}\r\n \r\n \r\n )}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default Tooltip;","import React from 'react';\r\nimport theme from './Tooltip.module.scss';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faQuestionCircle } from '@fortawesome/pro-light-svg-icons';\r\n\r\ninterface TooltipQuestionMarkProps {}\r\n\r\nconst TooltipQuestionMark: React.FC = (props) => {\r\n return ;\r\n};\r\n\r\nexport default TooltipQuestionMark;\r\n","import React, { Ref } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { useUniqueId } from 'utils/hooks';\r\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons';\r\nimport { IconProp, RotateProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { TranslatableText } from 'types';\r\nimport theme from './Button.module.scss';\r\nimport { Tooltip } from 'components/Tooltip';\r\n\r\nexport type ButtonColor = 'primary' | 'secondary' | 'tertiary' | 'success' | 'danger' | 'warning' | 'info' | 'link' | 'text';\r\n\r\nexport type ButtonSize = 'xsmall' | 'small' | 'normal' | 'large' | 'xlarge';\r\n\r\nexport interface ButtonElementProps {\r\n color?: ButtonColor;\r\n icon?: IconProp;\r\n iconRotation?: RotateProp;\r\n iconPosition?: 'left' | 'right';\r\n disabled?: boolean;\r\n loading?: boolean;\r\n block?: boolean;\r\n tooltip?: TranslatableText | null;\r\n spanClassName?: string;\r\n size?: ButtonSize;\r\n className?: string;\r\n rounded?: boolean;\r\n outline?: boolean;\r\n ref?: Ref;\r\n}\r\n\r\ntype Props = ButtonElementProps & { tag: keyof React.ReactHTML | React.ComponentType; [key: string]: any };\r\nconst ButtonElement = React.forwardRef(\r\n (\r\n {\r\n children,\r\n color,\r\n className,\r\n icon,\r\n iconPosition = 'right',\r\n iconRotation,\r\n disabled,\r\n loading,\r\n block = false,\r\n tooltip = null,\r\n spanClassName,\r\n size = 'medium',\r\n rounded = false,\r\n tag,\r\n outline = false,\r\n ...rest\r\n },\r\n ref\r\n ) => {\r\n // const themeClassName = theme ? `button button-${theme}` : '';\r\n const uniqueId = useUniqueId();\r\n const classNames: string[] = [theme[size]];\r\n\r\n if (color) {\r\n classNames.push(theme.button, theme[color]);\r\n }\r\n\r\n if (outline) {\r\n classNames.push(theme.outline);\r\n }\r\n\r\n if (block) {\r\n classNames.push(theme.block);\r\n }\r\n\r\n if (loading) {\r\n classNames.push(theme.loading);\r\n }\r\n\r\n if (className) {\r\n classNames.push(className);\r\n }\r\n\r\n const iconElement = icon ? (\r\n \r\n ) : null;\r\n\r\n const props = {\r\n id: uniqueId,\r\n className: classNames.join(' '),\r\n disabled: disabled || loading,\r\n ref: ref,\r\n ...rest,\r\n };\r\n\r\n const buttonElement = React.createElement(tag, props, [\r\n // loading && ,\r\n iconPosition === 'left' && iconElement,\r\n children &&\r\n (loading ? (\r\n \r\n ) : (\r\n \r\n {children}\r\n \r\n )),\r\n iconPosition === 'right' && iconElement,\r\n ]);\r\n\r\n if (tooltip) {\r\n return (\r\n \r\n {buttonElement}\r\n \r\n );\r\n }\r\n\r\n return buttonElement;\r\n }\r\n);\r\n\r\nexport default ButtonElement;","import React from 'react';\r\nimport ButtonElement, { ButtonElementProps } from './ButtonElement';\r\n\r\nexport type ButtonProps = ButtonElementProps &\r\n React.HTMLAttributes & {\r\n type?: 'button' | 'submit' | 'reset';\r\n };\r\n\r\nconst Button: React.FC = React.forwardRef(({ type = 'button', ...props }, ref) => {\r\n return ;\r\n});\r\n\r\nexport default Button;","import React from 'react';\r\nimport {\r\n Link,\r\n NavLink,\r\n Redirect,\r\n NavLinkProps,\r\n LinkProps,\r\n RedirectProps,\r\n} from 'react-router-dom';\r\nimport { parseQueryString, toQueryString } from 'utils/url';\r\nimport { LocationDescriptorObject, Path } from 'history';\r\nimport { classnames } from 'utils/html';\r\n\r\nfunction addQuerySupport(to) {\r\n if (to != null && typeof to === 'object' && to.query) {\r\n const query = {\r\n ...parseQueryString(to.search),\r\n ...to.query,\r\n };\r\n\r\n to = {\r\n ...to,\r\n search: toQueryString(query),\r\n };\r\n }\r\n\r\n return to;\r\n}\r\n\r\nexport type CustomLinkProps = LinkProps & {\r\n to: LocationDescriptorWithQuery\r\n}\r\n\r\n\r\nexport const CustomLink:React.FC = React.forwardRef(({ to, children, className, ...rest }, ref) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n});\r\n\r\nexport type CustomNavLinkProps = NavLinkProps & {\r\n to: LocationDescriptorWithQuery\r\n}\r\n\r\nexport const CustomNavLink:React.FC = ({ to, children, activeClassName, className, ...rest }) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\ntype LocationDescriptorWithQuery = Path | (LocationDescriptorObject & {\r\n query?: any\r\n});\r\n\r\ntype RedirectPropsWithQuery = RedirectProps & {\r\n to: LocationDescriptorWithQuery\r\n}\r\n\r\n\r\nexport const CustomRedirect:React.FC = ({ to, ...rest }) => ;\r\n\r\n\r\n// export const RedirectWithReturnUrl = withRouter(({ location, path }: RouteComponentProps & { path: string }) => (\r\n// \r\n// ));\r\n","import React from 'react';\r\nimport { CustomRedirect, CustomNavLink } from './base';\r\nimport { prefixTo } from './helpers';\r\nimport { connect, DispatchProp } from 'react-redux';\r\nimport { RedirectProps } from 'react-router';\r\nimport { NavLinkProps } from 'react-router-dom';\r\nimport { IState } from 'state/IState';\r\n\r\nconst mapStateToProps = (state: IState) => ({\r\n profile: state.global.activeProfile,\r\n});\r\n\r\ntype ICommonProps = ReturnType & DispatchProp;\r\n\r\nexport const ProfileRelativeRedirect = connect(mapStateToProps)(({ profile, to, dispatch, ...rest }: ICommonProps & RedirectProps) => (\r\n \r\n));\r\n\r\nexport const ProfileRelativeLink = connect(mapStateToProps)(({ profile, to, children, dispatch, ...rest }: ICommonProps & NavLinkProps) => (\r\n \r\n {children}\r\n \r\n));","import React from 'react';\r\nimport { CustomRedirect, CustomNavLink } from './base';\r\nimport { prefixTo } from './helpers';\r\nimport { connect, DispatchProp } from 'react-redux';\r\nimport { RedirectProps } from 'react-router';\r\nimport { NavLinkProps } from 'react-router-dom';\r\nimport { IState } from 'state/IState';\r\n\r\nconst mapStateToProps = (state: IState) => ({\r\n project: state.global.activeProject,\r\n} as { project: any });\r\n\r\ntype ICommonProps = ReturnType & DispatchProp;\r\n\r\nexport const ProjectRelativeRedirect = connect(mapStateToProps)(\r\n ({ project, to, dispatch, ...rest }: ICommonProps & RedirectProps) => (\r\n project ? : null\r\n )\r\n);\r\n\r\nexport const ProjectRelativeLink = connect(mapStateToProps)(\r\n ({ project, to, children, dispatch, ...rest }: ICommonProps & NavLinkProps) => (\r\n \r\n {children}\r\n \r\n )\r\n);","import React from 'react';\r\nimport { toQueryString } from 'utils/url';\r\n\r\ntype EmailAddresses = string | string[];\r\n\r\ninterface MailToProps {\r\n to: EmailAddresses;\r\n cc?: EmailAddresses;\r\n bcc?: EmailAddresses;\r\n subject?: string;\r\n body?: string;\r\n}\r\n\r\nfunction formatEmailAddresses(addresses: EmailAddresses | null | undefined) {\r\n if (!addresses) {\r\n return '';\r\n }\r\n\r\n if (typeof addresses === 'string') {\r\n return addresses;\r\n }\r\n\r\n return addresses.join(',');\r\n}\r\n\r\nconst MailTo: React.FC = ({ to, cc, bcc, subject, body, children }) => {\r\n const query = toQueryString({\r\n cc: formatEmailAddresses(cc) || undefined,\r\n bcc: formatEmailAddresses(bcc) || undefined,\r\n subject: subject || undefined,\r\n body: body || undefined,\r\n });\r\n\r\n const href = 'mailto:' + encodeURIComponent(formatEmailAddresses(to)) + (query ? '?' + query : '');\r\n\r\n return {children || formatEmailAddresses(to)};\r\n};\r\n\r\nexport default MailTo;\r\n","import React from 'react';\r\n\r\ninterface TelLinkProps {\r\n to: string;\r\n}\r\n\r\nconst TelLink: React.FC = ({ to, children }) => {\r\n const href = 'tel:' + encodeURIComponent(to);\r\n\r\n return {children || to};\r\n};\r\n\r\nexport default TelLink;\r\n","import React from 'react';\r\nimport ButtonElement, { ButtonElementProps } from './ButtonElement';\r\nimport { CustomLink } from 'components/navigation';\r\nimport { LinkProps } from 'react-router-dom';\r\n\r\nexport type InternalLinkButtonProps = ButtonElementProps & LinkProps;\r\n\r\nconst InternalLinkButton: React.FC = (props) => {\r\n return \r\n}\r\n\r\n\r\nexport default InternalLinkButton;","import React from 'react';\r\nimport ButtonElement, { ButtonElementProps } from './ButtonElement';\r\n\r\nexport type ExternalLinkButtonProps = ButtonElementProps & React.AnchorHTMLAttributes;\r\n\r\nconst ExternalLinkButton: React.FC = (props) => {\r\n return \r\n}\r\n\r\nexport default ExternalLinkButton;","import React, { ReactNode } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Button } from 'components/Buttons';\r\nimport { ButtonColor } from 'components/Buttons/ButtonElement';\r\nimport { TranslatableText } from 'types';\r\n\r\ninterface YesNoDialogProps {\r\n title: ReactNode;\r\n body: ReactNode;\r\n show: boolean;\r\n onAccept(): void;\r\n onClose(): void;\r\n onCancel?(): void;\r\n confirmButtonColor?: ButtonColor;\r\n cancelButtonColor?: ButtonColor;\r\n confirmButtonText?: TranslatableText;\r\n cancelButtonText?: TranslatableText;\r\n /**\r\n * This is the \"x\" on top right\r\n */\r\n onCloseClick?(): void;\r\n}\r\n\r\nconst YesNoDialog: React.FC = ({\r\n title,\r\n body,\r\n show,\r\n onAccept,\r\n onClose,\r\n onCancel,\r\n onCloseClick = onCancel,\r\n confirmButtonColor = 'primary',\r\n cancelButtonColor = 'tertiary',\r\n confirmButtonText = Yes,\r\n cancelButtonText = No,\r\n}) => {\r\n const handleAcceptClick = () => {\r\n triggerHandler(onAccept);\r\n triggerHandler(onClose);\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onCancel);\r\n triggerHandler(onClose);\r\n };\r\n\r\n return (\r\n \r\n {title}\r\n {body}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default YesNoDialog;","import React, { useState, ReactNode } from 'react';\r\nimport YesNoDialog from 'components/dialogs/YesNoDialog';\r\nimport { Button } from 'components/Buttons';\r\nimport { ButtonProps } from './Button';\r\nimport { ButtonColor } from './ButtonElement';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { TranslatableText } from 'types';\r\n\r\nexport interface ConfirmButtonProps extends ButtonProps {\r\n onConfirm(): any;\r\n dialogTitle: ReactNode;\r\n dialogBody: ReactNode;\r\n dialogConfirmButtonColor?: ButtonColor;\r\n dialogCancelButtonColor?: ButtonColor;\r\n skipDialog?: boolean;\r\n confirmButtonText?: TranslatableText;\r\n cancelButtonText?: TranslatableText;\r\n}\r\n\r\nconst ConfirmButton: React.FC = React.forwardRef(\r\n (\r\n {\r\n onConfirm,\r\n dialogTitle,\r\n dialogBody,\r\n dialogConfirmButtonColor,\r\n dialogCancelButtonColor,\r\n onClick,\r\n skipDialog = false,\r\n confirmButtonText,\r\n cancelButtonText,\r\n ...buttonProps\r\n },\r\n ref\r\n ) => {\r\n const [showDialog, setShowDialog] = useState(false);\r\n\r\n const handleClick = (e) => {\r\n if (skipDialog) {\r\n onConfirm();\r\n } else {\r\n setShowDialog(true);\r\n triggerHandler(onClick, e);\r\n }\r\n };\r\n\r\n const handleDialogClose = () => {\r\n setShowDialog(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n {loaded && (\r\n e.stopPropagation()}\r\n className={classnames(\r\n theme.dropdown,\r\n { [theme.loaded]: uiReady, [theme.open]: open },\r\n dropdownClassName\r\n )}\r\n style={styles.popper as any}\r\n {...attributes.popper}>\r\n {children}\r\n
\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Dropdown);","import React from 'react';\r\nimport theme from './Dropdown.module.scss';\r\nimport { Button, ButtonProps } from 'components/Buttons';\r\nimport { classnames } from 'utils/html';\r\nimport { useDropdownCloseHandler } from './DropdownContext';\r\n\r\ntype DropdownButtonItemProps = ButtonProps & {\r\n keepOpenAfterClick?: boolean;\r\n};\r\n\r\nconst DropdownButtonItem = React.forwardRef(\r\n ({ children, iconPosition = 'left', className, onClick, keepOpenAfterClick = false, spanClassName, ...rest }, ref) => {\r\n const closeHandler = useDropdownCloseHandler(onClick);\r\n const handleClick = keepOpenAfterClick ? onClick : closeHandler;\r\n\r\n return (\r\n \r\n {children}\r\n {/* {icon && } */}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default DropdownButtonItem;","import React from 'react';\r\nimport theme from './Dropdown.module.scss';\r\nimport { ExternalLinkButton, ExternalLinkButtonProps } from 'components/Buttons';\r\nimport { useDropdownCloseHandler } from './DropdownContext';\r\n\r\ntype DropdownExternalLinkItemProps = ExternalLinkButtonProps & {\r\n};\r\n\r\nconst DropdownExternalLinkItem: React.FC = ({\r\n children,\r\n iconPosition = 'left',\r\n onClick,\r\n ...rest\r\n}) => {\r\n const handleClick = useDropdownCloseHandler(onClick);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default DropdownExternalLinkItem;","import React from 'react';\r\nimport theme from './Dropdown.module.scss';\r\nimport { InternalLinkButton, InternalLinkButtonProps } from 'components/Buttons';\r\nimport { useDropdownCloseHandler } from './DropdownContext';\r\n\r\ntype DropdownInternalLinkItemProps = InternalLinkButtonProps & {\r\n};\r\n\r\nconst DropdownInternalLinkItem: React.FC = ({\r\n children,\r\n iconPosition = 'left',\r\n onClick,\r\n ...rest\r\n}) => {\r\n const handleClick = useDropdownCloseHandler(onClick);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default DropdownInternalLinkItem;","import React from 'react';\r\nimport theme from './Dropdown.module.scss';\r\nimport { ConfirmButton, ConfirmButtonProps } from 'components/Buttons';\r\nimport { useDropdownCloseHandler } from './DropdownContext';\r\n\r\ntype DropdownConfirmButtonItemProps = ConfirmButtonProps & {\r\n};\r\n\r\nconst DropdownConfirmButtonItem = React.forwardRef(\r\n ({ children, iconPosition = 'left', icon, onClick, ...rest }, ref) => {\r\n const handleClick = useDropdownCloseHandler(onClick);\r\n\r\n return (\r\n \r\n {children}\r\n {/* {icon && } */}\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default DropdownConfirmButtonItem;","import React, { ReactNode } from 'react';\r\nimport theme from './Dropdown.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ntype DropdownGroupItemProps = {\r\n label: ReactNode;\r\n className?: string;\r\n children: ReactNode | ReactNode[];\r\n};\r\n\r\nconst DropdownGroupItem = React.forwardRef(({ label, children, className }, ref) => {\r\n return (\r\n
\r\n
\r\n {label}\r\n
\r\n
{children}
\r\n
\r\n );\r\n});\r\n\r\nexport default DropdownGroupItem;","import React, { useEffect, useState } from 'react';\r\nimport { ButtonElementProps } from './ButtonElement';\r\nimport FileData, { FileType } from 'utils/FileData';\r\nimport { DropdownExternalLinkItem } from 'components/Dropdown';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { SingleImageLightbox } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport type FileDataPreviewLinkButtonProps = ButtonElementProps &\r\n Omit, 'href' | 'download'> & {\r\n value: FileData;\r\n lightboxTitle?: string;\r\n lightboxDescription?: string;\r\n };\r\n\r\nconst FileDataPreviewLinkButton: React.FC = ({\r\n value,\r\n lightboxTitle,\r\n lightboxDescription,\r\n onClick,\r\n ...rest\r\n}) => {\r\n const [url, setUrl] = useState(null);\r\n const [showLightbox, setShowLightBox] = useState(false);\r\n\r\n useEffect(() => {\r\n // async function load() {\r\n // setData(await value.getDataPromise());\r\n // }\r\n\r\n // load();\r\n\r\n var objectUrl = value.createObjectUrl();\r\n\r\n setUrl(objectUrl.value);\r\n\r\n return function () {\r\n objectUrl.revoke();\r\n };\r\n }, [value]);\r\n\r\n const handleClick = (e) => {\r\n if (value.getFileType() === FileType.Image) {\r\n e.preventDefault();\r\n setShowLightBox(true);\r\n }\r\n\r\n triggerHandler(onClick, e);\r\n };\r\n\r\n const handleCloseLightbox = () => {\r\n setShowLightBox(false);\r\n };\r\n\r\n return (\r\n <>\r\n {showLightbox && url && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(FileDataPreviewLinkButton);","import React from 'react';\r\n\r\ntype ComponentObject = { [key: string]: any };\r\n\r\nexport function withSubComponents, TSub extends ComponentObject>(\r\n mainComponent: TMain,\r\n subComponents: TSub\r\n): TMain & TSub {\r\n for (const key of Object.keys(subComponents)) {\r\n (mainComponent as any)[key] = subComponents[key];\r\n }\r\n\r\n return mainComponent as TMain & TSub;\r\n}","import React from 'react';\r\nimport theme from './NotificationBadge.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface NotificationBadgeProps {\r\n value: number;\r\n className?: string;\r\n size?: 'small' | 'medium' | 'large';\r\n}\r\n\r\nconst NotificationBadge: React.FC = ({ value, className, size = 'small' }) => {\r\n if (value === 0) {\r\n return null;\r\n }\r\n\r\n return
{value}
;\r\n};\r\n\r\nexport default NotificationBadge;\r\n","import React, { ReactElement } from 'react';\r\nimport theme from './Button.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { Button, InternalLinkButtonProps, InternalLinkButton } from 'components/Buttons';\r\nimport { ButtonElementProps } from 'components/Buttons/ButtonElement';\r\nimport { withSubComponents } from 'utils/react';\r\nimport NotificationBadge from 'components/NotificationBadge';\r\n\r\ninterface CommonChildProps {\r\n notificationBadgeNumber?: number;\r\n isActive?: boolean;\r\n}\r\n\r\ntype ToggleButtonProps = ButtonElementProps &\r\n CommonChildProps & {\r\n children: ReactElement | string;\r\n onClick?: (e: React.MouseEvent) => void;\r\n icon?: IconProp;\r\n };\r\n\r\nconst ToggleButton: React.FC = ({\r\n isActive = false,\r\n className,\r\n notificationBadgeNumber = 0,\r\n children,\r\n ...rest\r\n}) => {\r\n return (\r\n \r\n );\r\n};\r\ntype InternalToggleLinkButtonProps = InternalLinkButtonProps & CommonChildProps & {};\r\n\r\nconst ToggleInternalLinkButton: React.FC = ({\r\n isActive = false,\r\n className,\r\n notificationBadgeNumber = 0,\r\n children,\r\n ...rest\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n \r\n );\r\n};\r\n\r\ntype ToggleButtonsProps = {\r\n className?: string;\r\n};\r\nconst ToggleButtons: React.FC = ({ className, children }) => {\r\n return (\r\n
\r\n
{children}
\r\n
\r\n );\r\n};\r\n\r\n// ToggleButtons.Button = ToggleButton;\r\n// ToggleButtons.InternalLink = ToggleInternalLinkButton;\r\nexport default withSubComponents(ToggleButtons, { Button: ToggleButton, InternalLink: ToggleInternalLinkButton });\r\n","import React from 'react';\r\nimport ToggleButtons from './ToggleButtons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { TranslatableText } from 'types';\r\n\r\ninterface EnumToggleButtonsProps {\r\n enumerationName: string;\r\n enumeration: T;\r\n value: T[keyof T] | null;\r\n urlGenerator(value: T[keyof T] | null): string;\r\n excludeValues?: T[keyof T][];\r\n includeValues?: T[keyof T][];\r\n allOptionText?: TranslatableText;\r\n showAllOption?: boolean;\r\n}\r\n\r\nfunction EnumToggleButtons({\r\n enumerationName,\r\n enumeration,\r\n urlGenerator,\r\n value,\r\n excludeValues,\r\n includeValues,\r\n allOptionText = All,\r\n showAllOption = false,\r\n}: EnumToggleButtonsProps) {\r\n let values = Object.values(enumeration);\r\n\r\n if (includeValues && excludeValues) {\r\n throw new Error('excludeValues and includeValues are mutually exclusive');\r\n } else if (excludeValues) {\r\n values = values.filter((x) => !excludeValues.includes(x));\r\n } else if (includeValues) {\r\n values = values.filter((x) => includeValues.includes(x));\r\n }\r\n\r\n return (\r\n \r\n {showAllOption ? (\r\n \r\n {allOptionText}\r\n \r\n ) : null}\r\n\r\n {values.map((x) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n );\r\n}\r\n\r\nexport default EnumToggleButtons;\r\n","import React from 'react';\r\nimport theme from './Button.module.scss';\r\nimport { withSubComponents } from 'utils/react';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface ButtonBarProps {\r\n className?: string;\r\n}\r\n\r\nconst Right: React.FC = ({ children, className }) => {\r\n return
{children}
;\r\n};\r\n\r\nconst Left: React.FC = ({ children, className }) => {\r\n return
{children}
;\r\n};\r\n\r\nconst Separator: React.FC = ({ children, className }) => {\r\n return
;\r\n};\r\n\r\nconst ButtonBar: React.FC = ({ children, className }) => {\r\n return
{children}
;\r\n};\r\n\r\n\r\nexport default withSubComponents(ButtonBar, { Right, Left, Separator });\r\n\r\n","import React, { ReactElement } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Button } from 'components/Buttons';\r\n\r\ninterface ErrorDialogProps {\r\n title: ReactElement;\r\n body: ReactElement;\r\n show: boolean;\r\n onClose(): void;\r\n}\r\n\r\nconst ErrorDialog: React.FC = ({ title, body, show, onClose }) => {\r\n return (\r\n \r\n {title || Error!}\r\n {body || An unexpected error has occurred.}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ErrorDialog;","//FROM https://gist.github.com/FabianLauer/a8bafdc59bf20c1d1fad02b95d32656d\r\n//\r\n// Copyright (C) Fabian Lauer, 2018\r\n//\r\n// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r\n// “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NO\r\n// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r\n// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\r\n// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r\n// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r\n// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\r\n// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\r\n// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r\n// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN\r\n// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\r\n// POSSIBILITY OF SUCH DAMAGE.\r\n//\r\n\r\nexport enum HttpStatusCode {\r\n\tContinue = 100,\r\n\tSwitchingProtocols = 101,\r\n\tProcessing = 102,\r\n\tEarlyHints = 103,\r\n\r\n\t/**\r\n\t * All `1xx` status codes.\r\n\t */\r\n\tInformationalResponses = Continue | SwitchingProtocols | Processing | EarlyHints,\r\n\r\n\r\n\tOK = 200,\r\n\tCreated = 201,\r\n\tAccepted = 202,\r\n\tNonAuthoritativeInformation = 203,\r\n\tNoContent = 204,\r\n\tResetContent = 205,\r\n\tPartialContent = 206,\r\n\tMultiStatus = 207,\r\n\tAlreadyReported = 208,\r\n\tIMUsed = 226,\r\n\r\n\t/**\r\n\t * All `2xx` status codes.\r\n\t */\r\n\tSuccess = (\r\n\t\tOK | Created | Accepted | NonAuthoritativeInformation | NoContent | ResetContent | PartialContent | MultiStatus |\r\n\t\tAlreadyReported | IMUsed\r\n\t),\r\n\r\n\r\n\tMultipleChoices = 300,\r\n\tMovedPermanently = 301,\r\n\tFound = 302,\r\n\tSeeOther = 303,\r\n\tNotModified = 304,\r\n\tUseProxy = 305,\r\n\tSwitchProxy = 306,\r\n\tTemporaryRedirect = 307,\r\n\tPermanentRedirect = 308,\r\n\r\n\t/**\r\n\t * All `3xx` status codes.\r\n\t */\r\n\tRedirection = (\r\n\t\tMultipleChoices | MovedPermanently | Found | SeeOther | NotModified | UseProxy | SwitchProxy | TemporaryRedirect |\r\n\t\tPermanentRedirect\r\n\t),\r\n\r\n\r\n\tBadRequest = 400,\r\n\tUnauthorized = 401,\r\n\tPaymentRequired = 402,\r\n\tForbidden = 403,\r\n\tNotFound = 404,\r\n\tMethodNotAllowed = 405,\r\n\tNotAcceptable = 406,\r\n\tProxyAuthenticationRequired = 407,\r\n\tRequestTimeout = 408,\r\n\tConflict = 409,\r\n\tGone = 410,\r\n\tLengthRequired = 411,\r\n\tPreconditionFailed = 412,\r\n\tPayloadTooLarge = 413,\r\n\tURITooLong = 414,\r\n\tUnsupportedMediaType = 415,\r\n\tRangeNotSatisfiable = 416,\r\n\tExpectationFailed = 417,\r\n\tImATeapot = 418,\r\n\tMisdirectedRequest = 421,\r\n\tUnprocessableEntity = 422,\r\n\tLocked = 423,\r\n\tFailedDependency = 424,\r\n\tUpgradeRequired = 426,\r\n\tPreconditionRequired = 428,\r\n\tTooManyRequests = 429,\r\n\tRequestHeaderFieldsTooLarge = 431,\r\n\tUnavailableForLegalReasons = 451,\r\n\r\n\t/**\r\n\t * All `4xx` error codes.\r\n\t */\r\n\tClientErrors = (\r\n\t\tBadRequest | Unauthorized | PaymentRequired | Forbidden | NotFound | MethodNotAllowed | NotAcceptable |\r\n\t\tProxyAuthenticationRequired | RequestTimeout | Conflict | Gone | LengthRequired | PreconditionFailed |\r\n\t\tPayloadTooLarge | URITooLong | UnsupportedMediaType | RangeNotSatisfiable | ExpectationFailed | ImATeapot |\r\n\t\tMisdirectedRequest | UnprocessableEntity | Locked | FailedDependency | UpgradeRequired | PreconditionRequired |\r\n\t\tTooManyRequests | RequestHeaderFieldsTooLarge | UnavailableForLegalReasons\r\n\t),\r\n\r\n\r\n\tInternalServerError = 500,\r\n\tNotImplemented = 501,\r\n\tBadGateway = 502,\r\n\tServiceUnavailable = 503,\r\n\tGatewayTimeout = 504,\r\n\tHTTPVersionNotSupported = 505,\r\n\tVariantAlsoNegotiates = 506,\r\n\tInsufficientStorage = 507,\r\n\tLoopDetected = 508,\r\n\tNotExtended = 510,\r\n\tNetworkAuthenticationRequired = 511,\r\n\r\n\t/**\r\n\t * All `5xx` error codes.\r\n\t */\r\n\tServerErrors = (\r\n\t\tInternalServerError | NotImplemented | BadGateway | ServiceUnavailable | GatewayTimeout | HTTPVersionNotSupported |\r\n\t\tVariantAlsoNegotiates | InsufficientStorage | LoopDetected | NotExtended | NetworkAuthenticationRequired\r\n\t)\r\n}\r\n","import React from 'react';\r\nimport { withRouter } from 'react-router-dom';\r\nimport { setAjaxErrorHandler } from 'utils/ajax';\r\nimport ErrorDialog from 'components/dialogs/ErrorDialog';\r\nimport { getRelativePath } from 'utils/url';\r\nimport { HttpStatusCode } from 'HttpStatusCodes';\r\n\r\nclass AjaxErrorHandler extends React.Component {\r\n state = {\r\n showErrorDialog: false,\r\n };\r\n\r\n componentDidMount() {\r\n setAjaxErrorHandler(this.handleAjaxError);\r\n }\r\n\r\n componentWillUnmount() {\r\n setAjaxErrorHandler(null);\r\n }\r\n\r\n handleAjaxError = (response) => {\r\n const { history, location } = this.props;\r\n if (response.status === HttpStatusCode.Unauthorized /*|| response.status === 403*/) {\r\n if (!location.pathname.toLowerCase().startsWith('/login')) {\r\n let returnUrl = getRelativePath(location);\r\n\r\n let redirectTo = `/login`;\r\n\r\n if (returnUrl) {\r\n redirectTo = redirectTo + '?returnUrl=' + encodeURIComponent(returnUrl);\r\n }\r\n\r\n history.push(redirectTo);\r\n }\r\n // } else if (response.status === HttpStatusCode.BadRequest || response.status === HttpStatusCode.Conflict) {\r\n //Do nothing\r\n } else {\r\n this.setState({\r\n showErrorDialog: true,\r\n });\r\n }\r\n };\r\n\r\n handleCloseErrorDialog = () => {\r\n this.setState({\r\n showErrorDialog: false,\r\n });\r\n };\r\n\r\n render() {\r\n // const { errorCode } = this.state;\r\n\r\n // if (errorCode === ErrorCodes.UNAUTHORIZED) {\r\n // return ()\r\n // }\r\n\r\n const { showErrorDialog } = this.state;\r\n\r\n return ;\r\n }\r\n}\r\n\r\nexport default withRouter(AjaxErrorHandler); ","import React, { useEffect } from 'react';\r\nimport { I18nProvider } from '@lingui/react';\r\nimport { i18n } from '@lingui/core';\r\nimport { en, nb, he, sv, de} from 'make-plural/plurals';\r\nimport { setComponentLibraryLang } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { CultureInfo } from 'utils/localization';\r\n\r\ni18n.loadLocaleData({\r\n en: { plurals: en },\r\n nb: { plurals: nb },\r\n he: { plurals: he },\r\n sv: { plurals: sv },\r\n de: { plurals: de },\r\n});\r\n\r\ninterface I18nLoaderProps {\r\n language: CultureInfo;\r\n}\r\n\r\nexport async function dynamicActivate(locale: string) {\r\n const { messages } = await import(`../../locales/${locale}/messages.mjs`);\r\n i18n.load(locale, messages);\r\n i18n.activate(locale);\r\n\r\n if (window.document && window.document.body) {\r\n window.document.body.dir = locale === 'he' ? 'rtl' : 'ltr';\r\n }\r\n}\r\n\r\nconst I18nLoader: React.FC = ({ language, children }) => {\r\n useEffect(() => {\r\n dynamicActivate(language.languageCode);\r\n setComponentLibraryLang(language.locale);\r\n }, [language]);\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\nexport default I18nLoader;\r\n","export default \"__VITE_ASSET__62e5caf9__\"","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport img from './404.png';\r\nimport theme from './NotFound.module.scss';\r\nimport { Thumbnail } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nconst NotFound: React.FC<{}> = () => {\r\n return (\r\n
\r\n

\r\n 404 - Page not found\r\n

\r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default NotFound;","import { PermissionCheck } from 'types';\r\n\r\nexport function checkCondition(permissionsObject: T, condition: PermissionCheck) {\r\n if (typeof condition === 'string' && permissionsObject[condition] === true) {\r\n return true;\r\n } else if (typeof condition === 'function' && condition(permissionsObject) === true) {\r\n return true;\r\n }\r\n\r\n return false;\r\n}","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport NotFound from 'components/error-pages/NotFound';\r\nimport { Route, RouteProps } from 'react-router-dom';\r\nimport { checkCondition } from 'components/permissions/helpers';\r\nimport { PermissionCheck, ProfilePermissions, ProjectPermissions } from 'types';\r\nimport { IState } from 'state/IState';\r\n\r\nexport interface AuthRouteConditions {\r\n profile?: PermissionCheck;\r\n project?: PermissionCheck;\r\n}\r\n\r\ntype AuthRouteProps = Omit & {\r\n component: React.ComponentType;\r\n fallbackComponent?: React.ComponentType;\r\n conditions?: AuthRouteConditions;\r\n extraProps?: Partial;\r\n};\r\n\r\nfunction AuthRoute({\r\n component: Component,\r\n fallbackComponent: FallbackComponent,\r\n conditions,\r\n extraProps,\r\n ...rest\r\n}: AuthRouteProps) {\r\n const profile = useSelector((state: IState) => state.global.activeProfile);\r\n const project = useSelector((state: IState) => state.global.activeProject);\r\n\r\n function isPermitted() {\r\n let permitted = false;\r\n\r\n if (!conditions) {\r\n return true;\r\n }\r\n\r\n const { profile: profileCondition, project: projectCondition } = conditions;\r\n\r\n if (profile && profileCondition) {\r\n if (checkCondition(profile.permissions, profileCondition)) {\r\n permitted = true;\r\n }\r\n }\r\n\r\n if (project && projectCondition) {\r\n if (checkCondition(project.permissions, projectCondition)) {\r\n permitted = true;\r\n }\r\n }\r\n\r\n return permitted;\r\n }\r\n\r\n return (\r\n {\r\n const mergedProps = {\r\n profileId: profile ? profile.id : null,\r\n ...props,\r\n ...props.match.params,\r\n ...extraProps,\r\n };\r\n\r\n if (isPermitted()) {\r\n const Comp = Component as any; //Workaround\r\n return ;\r\n } else if (FallbackComponent) {\r\n return ;\r\n }\r\n\r\n return ;\r\n }}\r\n />\r\n );\r\n}\r\n\r\nexport default AuthRoute;","import { faEye, faEyeSlash } from '@fortawesome/pro-solid-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { t } from '@lingui/macro';\r\nimport { classnames } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { ValidatingInput, ValidatingInputProps } from 'components/forms/validation';\r\nimport React, { useState } from 'react';\r\nimport { TranslatableText } from 'types';\r\nimport theme from './UserPageInput.module.scss';\r\n\r\ninterface WrapperProps {\r\n label: TranslatableText;\r\n}\r\n\r\nexport const UserPageInputWrapper: React.FC = ({ label, children }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\ntype OwnProps = ValidatingInputProps & WrapperProps;\r\nconst UserPageInput = React.forwardRef(\r\n ({ label, fieldName, placeholder, ...inputProps }, ref) => {\r\n const [showPassword, setShowPassword] = useState(false);\r\n\r\n return (\r\n \r\n
\r\n \r\n {inputProps.type === 'password' && (\r\n {\r\n setShowPassword(!showPassword);\r\n }}>\r\n \r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default UserPageInput;\r\n","import React from 'react';\r\n\r\ntype ExternalLinkProps = React.AnchorHTMLAttributes & {};\r\n\r\nconst ExternalLink: React.FC = ({ href, rel = 'noreferrer noopener', children, ...rest }) => {\r\n if (href && !/(^https?:\\/\\/)|(^\\/)/gi.test(href)) {\r\n href = 'http://' + href;\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ExternalLink;\r\n","export default \"__VITE_ASSET__a824c38f__\"","export default \"__VITE_ASSET__c2b3a5f0__\"","export default \"__VITE_ASSET__5a3fb24d__\"","export default \"__VITE_ASSET__2f0d6bc6__\"","import React from 'react';\r\n\r\nimport { ReactComponent as IconLogoSmall } from './assets/logo-small.svg';\r\nimport { ReactComponent as IconLogo } from './assets/logo.svg';\r\nimport { ReactComponent as IconOverview } from './assets/overview.svg';\r\nimport { ReactComponent as IconBig } from './assets/logo-big.svg';\r\n\r\nenum ColorMode {\r\n STROKE = 'stroke',\r\n FILL = 'fill',\r\n BOTH = 'both',\r\n}\r\n\r\nclass IconData {\r\n component: React.ComponentType;\r\n viewBox: string;\r\n colorMode: ColorMode;\r\n\r\n constructor(component: React.ComponentType, viewBox: string, colorMode = ColorMode.STROKE) {\r\n this.component = component;\r\n this.viewBox = viewBox;\r\n this.colorMode = colorMode;\r\n }\r\n\r\n hasColorMode(colorMode) {\r\n if (this.colorMode === ColorMode.BOTH) {\r\n return true;\r\n }\r\n\r\n return this.colorMode === colorMode;\r\n }\r\n}\r\n\r\nconst iconMap = {\r\n 'logo-small': new IconData(IconLogoSmall, '-2 -2 232.02 223.03999', ColorMode.FILL),\r\n 'logo-big': new IconData(IconBig, '0 0 1492 600', ColorMode.FILL),\r\n\r\n logo: new IconData(IconLogo, '0 0 2000 2000', ColorMode.FILL),\r\n overview: new IconData(IconOverview, '0 0 27 24', ColorMode.STROKE),\r\n\r\n};\r\n//viewBox=\"0 0 20 21\"\r\n\r\nexport type IconName = keyof typeof iconMap;\r\n\r\ninterface IconProps {\r\n name: IconName;\r\n /**\r\n * #### Color\r\n */\r\n fill?: string;\r\n /**\r\n * #### Color\\\r\n */\r\n stroke?: string;\r\n fontScale?: boolean;\r\n className?: string;\r\n rotate?: any;\r\n indicator?: boolean;\r\n}\r\n\r\nconst Icon: React.FC = ({ name, stroke, fill, fontScale = true, className = 'icon', rotate }) => {\r\n const iconProperties = iconMap[name];\r\n if (!iconProperties) {\r\n console.warn(`Icon ${name} not found`);\r\n return null;\r\n // throw `Icon ${name} not found`;\r\n }\r\n\r\n const IconComponent = iconProperties.component;\r\n\r\n const svgStyle: any = {\r\n height: fontScale ? '1em' : '100%',\r\n width: fontScale ? '1em' : '100%',\r\n verticalAlign: '-.125em',\r\n };\r\n if (rotate > 0) {\r\n svgStyle.transform = `rotate(${rotate}deg)`;\r\n }\r\n\r\n const groupStyle = {\r\n stroke: stroke || (iconProperties.hasColorMode(ColorMode.STROKE) ? 'currentColor' : 'transparent'),\r\n fill: fill || (iconProperties.hasColorMode(ColorMode.FILL) ? 'currentColor' : 'transparent'),\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Icon;","import React, { MouseEventHandler, ReactElement, ReactNode, DependencyList } from 'react';\r\nimport theme from './EntityIcon.module.scss';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faUser } from '@fortawesome/pro-light-svg-icons';\r\nimport { classnames } from 'utils/html';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { Optional } from 'types';\r\nimport { useCacheBuster } from 'utils/hooks';\r\nimport { Thumbnail } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport interface EntityIconProps {\r\n url: string | null;\r\n sizeInPx?: number;\r\n className?: string;\r\n emptyIcon?: IconProp;\r\n onClick?: MouseEventHandler;\r\n customFallback?: ReactElement | null;\r\n transparent?: boolean;\r\n shape: 'circle' | 'square';\r\n fit: 'contain' | 'cover';\r\n cacheDependencies?: DependencyList;\r\n}\r\n\r\nexport type ExternalEntityIconProps = Optional, 'shape' | 'fit'>;\r\n\r\nconst EntityIcon = React.forwardRef(\r\n (\r\n {\r\n url,\r\n sizeInPx = 50,\r\n className,\r\n transparent = false,\r\n emptyIcon = faUser as any,\r\n onClick,\r\n customFallback = ,\r\n shape,\r\n fit,\r\n cacheDependencies,\r\n },\r\n ref\r\n ) => {\r\n let content: ReactNode = customFallback;\r\n\r\n const cacheBustedUrl = useCacheBuster(url || '', cacheDependencies || []);\r\n\r\n if (url) {\r\n const actualUrl = cacheDependencies ? cacheBustedUrl : url;\r\n content = ;\r\n }\r\n\r\n return (\r\n \r\n {content}\r\n
\r\n );\r\n }\r\n);\r\n\r\nexport default EntityIcon;\r\n","import React from 'react';\r\nimport theme from './EntityIcon.module.scss';\r\nimport EntityIcon, { ExternalEntityIconProps } from './EntityIcon';\r\nimport { faUsers } from '@fortawesome/pro-light-svg-icons';\r\nimport { getProfileImageThumbnailUrl } from 'services/profiles';\r\nimport { classnames } from 'utils/html';\r\n\r\nexport type ProfileIconProps = ExternalEntityIconProps & {\r\n profileId: number | null;\r\n};\r\n\r\nconst ProfileIcon = React.forwardRef(\r\n ({ profileId, emptyIcon = faUsers as any, className, shape = 'square', fit = 'contain', ...rest }, ref) => {\r\n return (\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default ProfileIcon;\r\n","import React from 'react';\r\nimport EntityIcon, { ExternalEntityIconProps } from './EntityIcon';\r\nimport { faUser } from '@fortawesome/pro-light-svg-icons';\r\nimport { getProjectHeaderImageThumbnailUrl } from 'services/projects';\r\n\r\nexport type ProjectIconProps = ExternalEntityIconProps & {\r\n projectId: number;\r\n};\r\n\r\nconst ProjectIcon = React.forwardRef(\r\n ({ projectId, emptyIcon = faUser as any, shape = 'circle', fit = 'cover', ...rest }, ref) => {\r\n return (\r\n \r\n );\r\n }\r\n);\r\n\r\nexport default ProjectIcon;\r\n","import React from 'react';\r\nimport EntityIcon, { ExternalEntityIconProps } from './EntityIcon';\r\nimport { faUserAlt } from '@fortawesome/pro-light-svg-icons';\r\nimport { getUserAvatarThumbnailUrl } from 'services/users';\r\nimport { useCacheBuster } from 'utils/hooks';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { User } from 'types';\r\n\r\nexport type UserIconProps = ExternalEntityIconProps & {\r\n userId?: number | null | 'current';\r\n};\r\n\r\nconst UserIcon = React.forwardRef(\r\n ({ userId, emptyIcon = faUserAlt as any, sizeInPx = 50, shape = 'circle', fit = 'contain', ...rest }, ref) => {\r\n const user = useSelector((state) => state.global.user!);\r\n\r\n const trigger = userId === 'current' || userId === undefined ? user : userId;\r\n\r\n let url = useCacheBuster(userId ? getUserAvatarThumbnailUrl(userId) : '', [trigger]);\r\n\r\n if (!userId) {\r\n url = '';\r\n }\r\n\r\n return ;\r\n }\r\n);\r\n\r\nexport default UserIcon;\r\n","import React, { ReactElement } from 'react';\r\nimport theme from './EntityIcon.module.scss';\r\nimport { EntityIconProps } from './EntityIcon';\r\n\r\ninterface StackedIconsProps {\r\n children: ReactElement[];\r\n}\r\n\r\nconst StackedIcons = React.forwardRef(({ children }, ref) => {\r\n const sizes = React.Children.map(children, (x) => x.props.sizeInPx);\r\n let maxSize = Math.max(...sizes);\r\n\r\n if (!isFinite(maxSize)) {\r\n maxSize = 0;\r\n }\r\n\r\n return (\r\n \r\n {React.Children.toArray(children).reverse()}\r\n \r\n );\r\n});\r\n\r\nexport default StackedIcons;\r\n","import React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { login } from 'services/users';\r\nimport { CustomLink } from 'components/navigation';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ValidationForm, ValidationSummary } from 'components/forms/validation';\r\nimport { loadUser } from 'state/global/creators';\r\nimport { Dispatch } from 'redux';\r\nimport { IState } from 'state/IState';\r\nimport { TranslatableText } from 'types';\r\nimport UserPageInput from './UserPageInput';\r\nimport theme from './LoginForm.module.scss';\r\nimport { HttpStatusCode } from 'HttpStatusCodes';\r\nimport ExternalLink from 'components/navigation/ExternalLink';\r\nimport { Icon } from 'components/Icons';\r\nimport { Banner } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { faArrowRight } from '@fortawesome/pro-light-svg-icons';\r\nimport { Checkbox, Label, Button as RubusButton } from '@ygtechnologies/rubus-ui';\r\n\r\nconst mapStateToProps = (state: IState) => ({});\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n loadUser: () => loadUser(dispatch),\r\n});\r\n\r\ntype OwnProps = ReturnType & {\r\n initialEmail?: string;\r\n inviteToken?: string;\r\n onLogin?: () => void;\r\n};\r\n\r\nconst LoginForm: React.FC = ({ inviteToken, loadUser, onLogin, initialEmail = '' }) => {\r\n const [email, setEmail] = useState(initialEmail);\r\n const [password, setPassword] = useState('');\r\n const [remember, setRemember] = useState(false);\r\n const [serverErrors, setServerErrors] = useState([]);\r\n const [saving, setSaving] = useState(false);\r\n\r\n const handleFormSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n setSaving(true);\r\n setServerErrors([]);\r\n\r\n try {\r\n await login(email, password, remember, inviteToken);\r\n await loadUser();\r\n\r\n setSaving(false);\r\n\r\n onLogin && onLogin();\r\n } catch (e: any) {\r\n setSaving(false);\r\n\r\n if (e.status === HttpStatusCode.Unauthorized) {\r\n setServerErrors([Invalid username or password]);\r\n } else {\r\n throw e;\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n

\r\n Log in\r\n

\r\n\r\n \r\n Email and password\r\n \r\n Email}\r\n type=\"email\"\r\n value={email}\r\n onChange={(e) => setEmail(e.target.value)}\r\n autoFocus\r\n />\r\n Password}\r\n required\r\n type=\"password\"\r\n value={password}\r\n onChange={(e) => setPassword(e.target.value)}\r\n />\r\n setRemember(e.target.checked)}>\r\n
\r\n \r\n \r\n
\r\n \r\n {serverErrors.length > 0 && }\r\n \r\n Log in\r\n \r\n \r\n Forgot password?\r\n \r\n \r\n Find out more about Rubus?\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LoginForm);\r\n","import React from 'react';\r\n\r\nexport type HeaderContextData = {\r\n container: HTMLElement | null;\r\n transparent: boolean;\r\n setTransparent(flag: boolean): void;\r\n isInProject: boolean;\r\n // setContainer(container: HTMLElement): void;\r\n};\r\n\r\nconst HeaderContext = React.createContext({\r\n container: null,\r\n transparent: false,\r\n setTransparent: (flag) => {},\r\n isInProject: false,\r\n // setContainer: () => {},\r\n});\r\n\r\nexport default HeaderContext;\r\n\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport theme from './PageTitleProjectName.module.scss';\r\n\r\ninterface PageTitleProjectNameProps {}\r\n\r\nconst PageTitleProjectName: React.FC = (props) => {\r\n const activeProject = useSelector((state: IState) => state.global.activeProject);\r\n return {activeProject?.name};\r\n};\r\nexport default PageTitleProjectName;\r\n","import React, { useContext, useEffect, useMemo } from 'react';\r\nimport HeaderContext from '../Header/HeaderContext';\r\nimport ReactDOM from 'react-dom';\r\nimport { useGetActiveProject, useIsSeller, usePageTitle } from 'utils/hooks';\r\nimport PageTitleProjectName from './PageTitleProjectName';\r\n\r\ninterface PageTitleProps {\r\n transparent?: boolean;\r\n}\r\n\r\nexport const PageTitle: React.FC = ({ children, transparent = false }) => {\r\n const context = useContext(HeaderContext);\r\n const isSeller = useIsSeller();\r\n useEffect(() => {\r\n context.setTransparent(transparent);\r\n }, [transparent, context]);\r\n\r\n if (!context.container) {\r\n return null;\r\n }\r\n\r\n return ReactDOM.createPortal(\r\n <>\r\n
{children}
\r\n {isSeller && context.isInProject && }\r\n ,\r\n\r\n context.container\r\n );\r\n};\r\n\r\ninterface SimplePageTitleProps {\r\n title: string;\r\n transparent?: boolean;\r\n}\r\n\r\nexport const SimplePageTitle: React.FC = ({ title, transparent = false }) => {\r\n const project = useGetActiveProject();\r\n const context = useContext(HeaderContext);\r\n\r\n const generateDocumentTitle = () => {\r\n if (context.isInProject && project) {\r\n return `${title} (${project?.name})`;\r\n }\r\n\r\n return title;\r\n };\r\n\r\n usePageTitle(generateDocumentTitle());\r\n\r\n return {title};\r\n};\r\n","import React, { useState } from 'react';\r\nimport theme from './SplashPage.module.scss';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { FrontEndConfiguration } from 'types';\r\nimport { getProjectHeaderImageUrl } from 'services/projects';\r\nimport { getProfileBackgroundImageUrl } from 'services/profiles';\r\nimport { PageTitle } from 'components/layout/PageTitle';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface SplashPageProps {\r\n backgroundImageUrl?: string | null;\r\n}\r\n\r\nfunction getBackgroundImageUrl(configuration: FrontEndConfiguration | null) {\r\n if (!configuration) {\r\n return null;\r\n }\r\n\r\n if (configuration.projectId) {\r\n return getProjectHeaderImageUrl(configuration.projectId);\r\n }\r\n\r\n if (configuration.profileId) {\r\n return getProfileBackgroundImageUrl(configuration.profileId);\r\n }\r\n\r\n return null;\r\n}\r\n\r\nconst SplashPage: React.FC = ({ children, backgroundImageUrl }) => {\r\n const config = useSelector((state: IState) => state.global.configuration);\r\n const [imageHasLoaded, setImageHasLoaded] = useState(false);\r\n\r\n\r\n if (!backgroundImageUrl) {\r\n backgroundImageUrl = getBackgroundImageUrl(config);\r\n }\r\n return (\r\n
\r\n \r\n {/* \r\n \r\n \r\n \r\n */}\r\n\r\n {backgroundImageUrl ? (\r\n
\r\n setImageHasLoaded(true)} alt=\"Background\" src={backgroundImageUrl} />\r\n
\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n
{children}
\r\n
\r\n );\r\n};\r\n\r\nexport default SplashPage;\r\n{\r\n /* \r\n\r\n */\r\n}\r\n","import { BygrModule } from 'types';\r\nimport { ensureSafeReturnUrl, urlCombine, urlHasProtocol } from './url';\r\nimport { useLocation, useHistory } from 'react-router';\r\nimport { useQueryString } from './hooks';\r\nimport { useMemo } from 'react';\r\n\r\ninterface UrlConfig {\r\n CHANGE_MANAGEMENT_URL: string;\r\n AFTERMARKET_URL: string;\r\n QUALITY_MANAGEMENT_URL: string;\r\n}\r\n\r\nfunction ensureProtocol(url: string) {\r\n if (!url) {\r\n return null;\r\n }\r\n\r\n if (!urlHasProtocol(url)) {\r\n return window.location.protocol + '//' + url;\r\n }\r\n\r\n return url;\r\n}\r\n\r\nfunction getModuleBaseUrl(module: BygrModule | null, config: UrlConfig) {\r\n switch (module) {\r\n case BygrModule.ChangeManagement:\r\n return config.CHANGE_MANAGEMENT_URL;\r\n case BygrModule.Aftermarket:\r\n return config.AFTERMARKET_URL;\r\n case BygrModule.QualityManagement:\r\n return config.QUALITY_MANAGEMENT_URL;\r\n default:\r\n return window.location.origin;\r\n }\r\n}\r\n\r\nexport const getModuleUrl = (module: BygrModule, config: UrlConfig) => {\r\n const url = ensureProtocol(getModuleBaseUrl(module, config));\r\n return url || window.location.origin;\r\n};\r\n\r\nfunction parseModule(s: string | undefined): BygrModule | null {\r\n const defaultModule = BygrModule.ChangeManagement;\r\n\r\n if (!s) {\r\n return null;\r\n }\r\n\r\n if (BygrModule[s]) {\r\n return BygrModule[s];\r\n }\r\n\r\n const aliasMapping = {\r\n am: BygrModule.Aftermarket,\r\n cm: BygrModule.ChangeManagement,\r\n qm: BygrModule.QualityManagement,\r\n };\r\n\r\n const mappedAlias = aliasMapping[s.toLowerCase()];\r\n\r\n if (mappedAlias) {\r\n return mappedAlias;\r\n }\r\n\r\n return defaultModule;\r\n}\r\n\r\nfunction getReturnUrl(returnUrl: string | undefined, returnModule: string | undefined) {\r\n const module = parseModule(returnModule);\r\n\r\n const root = {\r\n module: null,\r\n relativeUrl: '/',\r\n absoluteUrl: window.location.origin,\r\n };\r\n\r\n if (!returnUrl) {\r\n return root;\r\n }\r\n\r\n const safeReturnUrl = ensureSafeReturnUrl(returnUrl);\r\n\r\n const moduleUrl = ensureProtocol(getModuleBaseUrl(module, window.APP_CONFIG));\r\n\r\n if (!moduleUrl) {\r\n return root;\r\n }\r\n\r\n return {\r\n module: module,\r\n relativeUrl: safeReturnUrl,\r\n absoluteUrl: urlCombine(moduleUrl, safeReturnUrl),\r\n };\r\n}\r\n\r\nexport function useReturnUrl(currentModule: BygrModule) {\r\n const location = useLocation();\r\n const history = useHistory();\r\n const { returnUrl, returnModule } = useQueryString(location);\r\n\r\n const navigate = useMemo(() => {\r\n const ret = getReturnUrl(returnUrl, returnModule);\r\n if (!ret.module || ret.module === currentModule) {\r\n return () => {\r\n history.push(ret.relativeUrl);\r\n };\r\n }\r\n\r\n return () => {\r\n window.location.href = ret.absoluteUrl;\r\n };\r\n }, [returnUrl, returnModule, currentModule, history]);\r\n\r\n return navigate;\r\n}\r\n","import React from 'react';\r\nimport { RouteComponentProps, withRouter } from 'react-router';\r\nimport LoginForm from './LoginForm';\r\nimport SplashPage from './SplashPage';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { useReturnUrl } from 'utils/returnUrl';\r\nimport { BygrModule } from 'types';\r\n\r\ntype OwnProps = RouteComponentProps & {};\r\n\r\nconst Login: React.FC = ({ history, match, location }) => {\r\n const user = useSelector((state: IState) => state.global.user);\r\n const isRegister = history.location.pathname.includes('register');\r\n const navigateToReturnUrl = useReturnUrl(BygrModule.ChangeManagement);\r\n const handleLogin = () => {\r\n navigateToReturnUrl();\r\n };\r\n\r\n if (user && user.isLoggedIn) {\r\n navigateToReturnUrl();\r\n }\r\n\r\n return (\r\n \r\n
\r\n \r\n {/* Register}>\r\n \r\n */}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default withRouter(Login);\r\n","import React, { useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { CustomRedirect } from 'components/navigation';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { logout } from 'state/global/creators';\r\nimport { withRouter, RouteComponentProps } from 'react-router';\r\nimport { useQueryString } from 'utils/hooks';\r\nimport { ensureSafeReturnUrl } from 'utils/url';\r\nimport { resetConnections } from 'server-events/connections';\r\n\r\nconst mapStateToProps = (state) => ({\r\n user: state.global.user,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n logout: () => logout(dispatch),\r\n});\r\n\r\ntype OwnProps = ReturnType & ReturnType & RouteComponentProps & {};\r\n\r\nconst Logout: React.FC = ({ logout, user, location }) => {\r\n useEffect(() => {\r\n logout();\r\n resetConnections();\r\n });\r\n\r\n const { returnUrl } = useQueryString(location);\r\n\r\n if (!user || user.isLoggedIn) {\r\n return ;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(Logout));\r\n","import React, { useState } from 'react';\r\nimport theme from './LoginForm.module.scss';\r\nimport { requestPasswordReset } from 'services/users';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ValidationForm, ValidationSummary } from 'components/forms/validation';\r\nimport UserPageInput from './UserPageInput';\r\nimport SplashPage from './SplashPage';\r\nimport { CustomLink } from 'components/navigation';\r\nimport { Button as RubusButton } from '@ygtechnologies/rubus-ui';\r\n\r\ninterface OwnProps {}\r\n\r\nconst ForgotPassword: React.FC = () => {\r\n const [email, setEmail] = useState('');\r\n const [saving, setSaving] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n\r\n const handleFormSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n setSaving(true);\r\n\r\n try {\r\n await requestPasswordReset(email);\r\n setSuccess(true);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n if (success) {\r\n return (\r\n \r\n

\r\n \r\n If there is a user with this mail, a mail was sent to that address. When you receive the mail -\r\n follow the instructions in it.\r\n \r\n
\r\n \r\n Back to sign in page\r\n \r\n

\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n

\r\n Forgot Password\r\n

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

\r\n Enter your email address and we’ll send you a link you can use to reset your password.\r\n

\r\n Email}\r\n required\r\n type=\"text\"\r\n value={email}\r\n onChange={(e) => setEmail(e.target.value)}\r\n />\r\n\r\n \r\n\r\n \r\n Reset password\r\n \r\n \r\n Back to login page\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ForgotPassword;\r\n","import React from 'react';\r\nimport { toast, ToastOptions } from 'react-toastify';\r\nimport { ReactElement } from 'react';\r\nimport { faThumbsUp, faInfo, faExclamation, faThumbsDown } from '@fortawesome/pro-light-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nfunction getDefaultOptions(): ToastOptions {\r\n return {\r\n position: window.document.body.dir === 'rtl' ? 'top-left' : 'top-right',\r\n rtl: window.document.body.dir === 'rtl',\r\n };\r\n}\r\n\r\nexport const iconToast = {\r\n success: (msg: string | ReactElement, icon = null, options: ToastOptions = getDefaultOptions()) =>\r\n toast.success(\r\n <>\r\n \r\n {msg}\r\n ,\r\n options\r\n ),\r\n info: (msg: string | ReactElement, icon = null, options: ToastOptions = getDefaultOptions()) =>\r\n toast.info(\r\n <>\r\n \r\n {msg}\r\n ,\r\n options\r\n ),\r\n warn: (msg: string | ReactElement, icon = null, options: ToastOptions = getDefaultOptions()) =>\r\n toast.warn(\r\n <>\r\n \r\n {msg}\r\n ,\r\n options\r\n ),\r\n error: (msg: string | ReactElement, icon = null, options: ToastOptions = { ...getDefaultOptions(), autoClose: 10000 }) =>\r\n toast.error(\r\n <>\r\n \r\n {msg}\r\n ,\r\n options\r\n ),\r\n};\r\n\r\n","\r\nexport interface IPasswordValidationRequirement {\r\n readonly type: string;\r\n isMatch(password: string): boolean;\r\n}\r\n\r\nexport class RequireLength implements IPasswordValidationRequirement {\r\n type = 'min-length';\r\n\r\n constructor(minLength: number) {\r\n this.minLength = minLength;\r\n }\r\n\r\n readonly minLength: number;\r\n\r\n isMatch(password: string): boolean {\r\n return password.length >= this.minLength;\r\n }\r\n}\r\n\r\nexport class RequireLowercase implements IPasswordValidationRequirement {\r\n type = 'lowercase';\r\n\r\n private readonly _regex: RegExp = /[a-z]/;\r\n isMatch(password: string): boolean {\r\n return this._regex.test(password);\r\n }\r\n}\r\n\r\nexport class RequireUppercase implements IPasswordValidationRequirement {\r\n type = 'uppercase';\r\n\r\n private readonly _regex: RegExp = /[A-Z]/;\r\n isMatch(password: string): boolean {\r\n return this._regex.test(password);\r\n }\r\n}\r\n\r\nexport class RequireNumber implements IPasswordValidationRequirement {\r\n type = 'number';\r\n private readonly _regex: RegExp = /[0-9]/;\r\n\r\n isMatch(password: string): boolean {\r\n return this._regex.test(password);\r\n }\r\n}\r\n\r\nclass PasswordValidationResult {\r\n constructor(unmetRequirements: IPasswordValidationRequirement[]) {\r\n this.unmetRequirements = unmetRequirements;\r\n this.valid = unmetRequirements.length === 0;\r\n }\r\n\r\n readonly unmetRequirements: IPasswordValidationRequirement[];\r\n readonly valid: boolean;\r\n}\r\n\r\nexport class PasswordValidator {\r\n constructor(requirements: IPasswordValidationRequirement[]) {\r\n this.requirements = [...requirements];\r\n }\r\n\r\n requirements: IPasswordValidationRequirement[];\r\n\r\n validate(password: string): PasswordValidationResult {\r\n const unmetRequirements: IPasswordValidationRequirement[] = [];\r\n\r\n for (const req of this.requirements) {\r\n if (!req.isMatch(password)) {\r\n unmetRequirements.push(req);\r\n }\r\n }\r\n return new PasswordValidationResult(unmetRequirements);\r\n }\r\n}\r\n\r\nexport function getDefaultPasswordRequirements() {\r\n return [new RequireLength(8), new RequireLowercase(), new RequireUppercase(), new RequireNumber()];\r\n}","import React from 'react';\r\nimport theme from './PasswordValidation.module.scss';\r\nimport {\r\n PasswordValidator,\r\n RequireLength,\r\n RequireLowercase,\r\n RequireUppercase,\r\n RequireNumber,\r\n IPasswordValidationRequirement,\r\n} from 'utils/password';\r\nimport { Trans } from '@lingui/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCheck, faTimes } from '@fortawesome/pro-light-svg-icons';\r\n\r\nconst requirementTexts = {\r\n 'min-length': (req: RequireLength) => Be at least {req.minLength} characters long,\r\n lowercase: (req: RequireLowercase) => Have a lowercase character,\r\n uppercase: (req: RequireUppercase) => Have an uppercase character,\r\n number: (req: RequireNumber) => Have a number,\r\n};\r\n\r\ninterface PasswordValidationProps {\r\n password: string;\r\n validator: PasswordValidator;\r\n}\r\n\r\nconst PasswordValidation: React.FC = ({ password, validator }) => {\r\n const result = validator.validate(password);\r\n\r\n const isRequirementMet = (req: IPasswordValidationRequirement) => {\r\n return !result.unmetRequirements.includes(req);\r\n };\r\n\r\n return (\r\n
\r\n The password must:\r\n
    \r\n {validator.requirements.map((x, i) => (\r\n
  • \r\n {isRequirementMet(x) ? (\r\n \r\n ) : (\r\n \r\n )}{' '}\r\n {requirementTexts[x.type](x)}\r\n
  • \r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PasswordValidation;\r\n","import React, { useState, useMemo } from 'react';\r\nimport { resetPassword } from 'services/users';\r\nimport { CustomLink } from 'components/navigation';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ValidationSummary, ValidationForm } from 'components/forms/validation';\r\nimport { Button } from 'components/Buttons';\r\nimport { useValidationManager, useQueryString } from 'utils/hooks';\r\nimport { withRouter, RouteComponentProps } from 'react-router';\r\nimport UserPageInput from './UserPageInput';\r\nimport SplashPage from './SplashPage';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport { TranslatableText } from 'types';\r\nimport { PasswordValidator, getDefaultPasswordRequirements } from 'utils/password';\r\nimport PasswordValidation from './PasswordValidation';\r\nimport { Button as RubusButton } from '@ygtechnologies/rubus-ui';\r\n\r\ntype OwnProps = RouteComponentProps & {};\r\n\r\ninterface QueryStringParams {\r\n token: string;\r\n}\r\n\r\nconst ResetPassword: React.FC = ({ location }) => {\r\n const [externalErrors, setExternalErrors] = useState([]);\r\n const [password, setPassword] = useState('');\r\n const [confirmPassword, setConfirmPassword] = useState('');\r\n const [saving, setSaving] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n const { token } = useQueryString(location);\r\n const validator = useMemo(() => new PasswordValidator(getDefaultPasswordRequirements()), []);\r\n\r\n const validationManager = useValidationManager([\r\n {\r\n isValid: () => password === confirmPassword,\r\n message: () => Passwords must match,\r\n summaryMessage: () => Passwords must match,\r\n },\r\n {\r\n isValid: (value, options) => validator.validate(password).valid,\r\n message: ({ field }) => Password does not fulfill complexity rules,\r\n summaryMessage: ({ field }) => Password does not fulfill complexity rules,\r\n },\r\n ]);\r\n\r\n const handleFormSubmit = async (e) => {\r\n e.preventDefault();\r\n setSaving(true);\r\n\r\n try {\r\n await resetPassword(token, password);\r\n setSuccess(true);\r\n } catch (e: any) {\r\n if (e.status === 400) {\r\n iconToast.error(This invitation link is either invalid, or has already been used., null, {\r\n autoClose: false,\r\n });\r\n }\r\n setExternalErrors([This invitation link is either invalid, or has already been used.]);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n if (success) {\r\n return (\r\n \r\n

\r\n Your password was reset.\r\n

\r\n \r\n Continue to sign in\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n

\r\n Create a new password\r\n

\r\n\r\n \r\n New password}\r\n value={password}\r\n onChange={(e) => setPassword(e.target.value)}\r\n />\r\n\r\n Confirm new password}\r\n value={confirmPassword}\r\n onChange={(e) => setConfirmPassword(e.target.value)}\r\n />\r\n\r\n \r\n\r\n \r\n\r\n \r\n Reset password\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default withRouter(ResetPassword);\r\n","import React, { useState, useEffect } from 'react';\r\nimport { confirmEmail, ConfirmEmailResult } from 'services/users';\r\nimport { Trans } from '@lingui/macro';\r\nimport { CustomRedirect } from '../navigation';\r\nimport SplashPage from './SplashPage';\r\nimport { useQueryString } from 'utils/hooks';\r\nimport { withRouter, RouteComponentProps } from 'react-router';\r\nimport { InternalLinkButton } from 'components/Buttons';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\n\r\ntype OwnProps = RouteComponentProps;\r\n\r\ninterface QueryStringParams {\r\n token: string;\r\n}\r\n\r\nconst ConfirmEmail: React.FC = ({ location }) => {\r\n const [result, setResult] = useState(null);\r\n const { token } = useQueryString(location);\r\n const user = useSelector((state: IState) => state.global.user);\r\n\r\n useEffect(() => {\r\n const loadData = async () => {\r\n const response = await confirmEmail(token);\r\n setResult(response.result);\r\n };\r\n\r\n loadData();\r\n }, [token]);\r\n\r\n const renderMessage = () => {\r\n switch (result) {\r\n case ConfirmEmailResult.Success:\r\n return Your email is confirmed.;\r\n case ConfirmEmailResult.InvalidToken:\r\n return Invalid token.;\r\n case ConfirmEmailResult.AlreadyConfirmed:\r\n return your email has been confirmed earlier. You can continue to log in.;\r\n case null:\r\n return Confirming email.;\r\n }\r\n };\r\n\r\n if (result === ConfirmEmailResult.AlreadyConfirmed && user && user.isLoggedIn) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n

{renderMessage()}

\r\n\r\n {result !== null && (\r\n \r\n Proceed to login\r\n \r\n )}\r\n
\r\n );\r\n};\r\nexport default withRouter(ConfirmEmail);\r\n","import { ChangedItem } from 'types';\r\n\r\nexport function arrayReplace(array: any[], oldItem: any, newItem: any) {\r\n //TODO: change to ChangedItem\r\n const index = array.indexOf(oldItem);\r\n const newArray = [...array];\r\n newArray[index] = newItem;\r\n\r\n return newArray;\r\n}\r\n\r\nconst defaultComparer = (a: any, b: any) => a === b;\r\nexport function arrayReplaceMany(\r\n array: T[],\r\n changes: ChangedItem[],\r\n comparer: (a: T, b: T) => boolean = defaultComparer\r\n): T[] {\r\n return array.map((item) => {\r\n const change = changes.find((x) => comparer(item, x.original));\r\n if (change) {\r\n return change.modified;\r\n }\r\n\r\n return item;\r\n });\r\n}\r\n\r\nexport function toggleValue(array: any[], value: any, flag: boolean | null = null) {\r\n const valueIndex = array.indexOf(value);\r\n const valueInArray = valueIndex > -1;\r\n\r\n if (flag == null) {\r\n flag = !valueInArray;\r\n }\r\n\r\n if (!flag && valueInArray) {\r\n const newArray = [...array];\r\n newArray.splice(valueIndex, 1);\r\n return newArray;\r\n }\r\n\r\n if (flag && !valueInArray) {\r\n return [...array, value];\r\n }\r\n\r\n return [...array];\r\n}\r\n\r\nexport function arraySwap(array: any[], index1: number, index2: number) {\r\n const item1 = array[index1];\r\n const item2 = array[index2];\r\n\r\n array[index2] = item1;\r\n array[index1] = item2;\r\n}\r\n\r\nexport function arrayGroupBy(\r\n data: T[],\r\n keySelector: (item: T) => TKey,\r\n valueSelector: (item: T) => TValue\r\n): Map {\r\n const map = new Map();\r\n\r\n // if (!valueSelector) {\r\n // valueSelector = (item: T) => item;\r\n // }\r\n\r\n data.forEach((element) => {\r\n const key = keySelector(element);\r\n\r\n const currentGroup: TValue[] = map.get(key) ?? [];\r\n\r\n const newGroup = [...currentGroup, valueSelector(element)];\r\n\r\n map.set(key, newGroup);\r\n });\r\n\r\n return map;\r\n}\r\n\r\n// interface test {\r\n// [s: string]: any;\r\n// }\r\n\r\n// export function getMergedArrayObjects(source: test, updates: test, propName: string) {\r\n// const keyedUpdates = keyBy(updates, propName);\r\n\r\n// return source.map((sourceItem) => {\r\n// const key = sourceItem[propName];\r\n// const update = keyedUpdates[key];\r\n\r\n// return { ...sourceItem, ...update };\r\n// });\r\n// }\r\n\r\nexport function notEmptyPredicate(value: TValue | null | undefined): value is TValue {\r\n return value !== null && value !== undefined;\r\n}\r\n\r\n","import React from 'react';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { toggleValue } from 'utils/arrays';\r\nimport { Trans } from '@lingui/macro';\r\nimport { LocalizedEnum } from 'types';\r\nimport { Checkbox } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface PermissionsEditorProps {\r\n permissions: LocalizedEnum[];\r\n value: T[];\r\n onChange(value: T[]): void;\r\n isAdministrator: boolean;\r\n}\r\n\r\nfunction PermissionsEditor({ permissions, value, onChange, isAdministrator }: PermissionsEditorProps) {\r\n const isPermissionSelected = (permission) => {\r\n return !!value.find((x) => x === permission.value);\r\n };\r\n\r\n const handlePermissionChange = (e, permission) => {\r\n const isChecked = e.target.checked;\r\n\r\n const newPermissions = toggleValue(value, permission.value, isChecked);\r\n triggerHandler(onChange, newPermissions);\r\n };\r\n\r\n return (\r\n
\r\n {permissions.map((p) => (\r\n
\r\n handlePermissionChange(e, p)}>\r\n \r\n \r\n
\r\n ))}\r\n
\r\n );\r\n}\r\n\r\nexport default PermissionsEditor;","import React from 'react';\r\nimport theme from './Banner.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { faQuestionCircle, faExclamationCircle } from '@fortawesome/pro-light-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\ntype BannerType = 'info' | 'success' | 'warning' | 'danger';\r\nconst getDefaultIcon = (bannerType: BannerType) => {\r\n switch (bannerType) {\r\n case 'info':\r\n return faQuestionCircle;\r\n case 'warning':\r\n return faExclamationCircle;\r\n case 'danger':\r\n return faExclamationCircle;\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\ninterface BannerProps {\r\n type: BannerType;\r\n icon?: IconProp | null;\r\n className?: string;\r\n contentClassName?: string;\r\n stretch?: boolean;\r\n}\r\n\r\nconst Banner: React.FC = ({ type, children, icon, className, contentClassName, stretch }) => {\r\n const fixedIcon = icon === undefined ? (getDefaultIcon(type) as any) : icon;\r\n\r\n return (\r\n
\r\n {fixedIcon && }\r\n
{children}
\r\n
\r\n );\r\n};\r\n\r\nexport default Banner;","import React, { MouseEventHandler, Ref } from 'react';\r\nimport theme from './Radio.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\nexport type RadioProps = React.InputHTMLAttributes & {\r\n labelClassName?: string;\r\n boxClassName?: string;\r\n contentClassName?: string;\r\n inline?: boolean;\r\n inputRef?: Ref;\r\n onMouseEnter?: MouseEventHandler;\r\n onMouseLeave?: MouseEventHandler;\r\n //TODO: fix for all events?\r\n};\r\n\r\nconst preventSelection: MouseEventHandler = (e) => {\r\n if (e.nativeEvent.detail > 1) {\r\n e.preventDefault();\r\n }\r\n};\r\n\r\nconst Radio: React.FC = React.forwardRef(\r\n (\r\n { children, inline, labelClassName, boxClassName, contentClassName, inputRef, onMouseEnter, onMouseLeave, ...rest },\r\n ref\r\n ) => {\r\n return (\r\n \r\n \r\n
\r\n \r\n {children}\r\n \r\n \r\n );\r\n }\r\n);\r\n\r\nexport default Radio;","import React from 'react';\r\nimport theme from './DescriptiveRadio.module.scss';\r\nimport Radio, { RadioProps } from './Radio';\r\nimport { TranslatableText } from 'types';\r\n\r\ninterface DescriptiveRadioProps extends RadioProps {\r\n text: TranslatableText;\r\n description?: TranslatableText;\r\n}\r\n\r\nconst DescriptiveRadio: React.FC = ({ text, description, ...rest }) => {\r\n return (\r\n \r\n {text}\r\n {description && {description}}\r\n \r\n );\r\n};\r\n\r\nexport default DescriptiveRadio;\r\n","import React from 'react';\r\nimport theme from './LargeRadio.module.scss';\r\nimport { Radio } from '.';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface LargeRadioProps {\r\n onChange?(): void;\r\n checked?: boolean;\r\n disabled?: boolean;\r\n}\r\n/**\r\n * Use strong for the header!\r\n * @param param0\r\n */\r\nconst LargeRadio: React.FC = ({ onChange, disabled, checked, children }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default LargeRadio;\r\n","import React from 'react';\r\nimport { triggerHandler } from 'utils/events';\r\nimport PermissionsEditor from 'components/permissions/PermissionsEditor';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { ProfileMemberPermissions, ProfilePermissionType } from 'types';\r\nimport { getProfilePermissions } from 'services/profiles';\r\nimport { Trans } from '@lingui/macro';\r\nimport Banner from 'components/Banner';\r\nimport { Radio } from 'components/forms/Radio';\r\n\r\ninterface OwnProps {\r\n value: ProfileMemberPermissions;\r\n onChange(newValue: ProfileMemberPermissions): void;\r\n}\r\n\r\nconst ProfilePermissionsEditor: React.FC = ({ value, onChange }) => {\r\n const [permissions] = useAsyncState(() => getProfilePermissions(), [], null);\r\n function triggerChange(obj: Partial) {\r\n const newValue = {\r\n ...value,\r\n ...obj,\r\n };\r\n\r\n triggerHandler(onChange, newValue);\r\n }\r\n\r\n const handleProjectPermissionChange = (profilePermissions) => {\r\n triggerChange({ profilePermissions });\r\n };\r\n\r\n if (!permissions) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n

\r\n User type\r\n

\r\n
\r\n triggerChange({ isAdministrator: true })} checked={value.isAdministrator}>\r\n Admin\r\n \r\n
\r\n
\r\n triggerChange({ isAdministrator: false })} checked={!value.isAdministrator}>\r\n Member\r\n \r\n
\r\n {value.isAdministrator && (\r\n \r\n \r\n Making a user an admin on this profile would provide the user access to the project dashboard in all\r\n projects created by anyone in this company profile.\r\n \r\n \r\n )}\r\n\r\n
\r\n \r\n isAdministrator={value.isAdministrator}\r\n permissions={permissions}\r\n value={value.profilePermissions || []}\r\n onChange={handleProjectPermissionChange}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default ProfilePermissionsEditor;\r\n","import React, { ReactNode } from 'react';\r\nimport theme from './SimpleFormPage.module.scss';\r\nimport { PageTitle, SimplePageTitle } from 'components/layout/PageTitle';\r\nimport { classnames } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface SimpleFormPageProps {\r\n header?: string;\r\n cardClassName?: string;\r\n}\r\n\r\nconst SimpleFormPage: React.FC = ({ children, header, cardClassName }) => {\r\n return (\r\n <>\r\n {header && }\r\n
\r\n
{children}
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SimpleFormPage;","import React from 'react';\r\nimport theme from './Breadcrumbs.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface BreadcrumbsProps {\r\n className?: string;\r\n}\r\n\r\nconst Breadcrumbs: React.FC = ({ className, children }) => {\r\n return
{children}
;\r\n};\r\n\r\nexport default Breadcrumbs;\r\n","import React from 'react';\r\nimport theme from './Breadcrumbs.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ntype BreadcrumbsItemProps = React.HTMLAttributes & {};\r\n\r\nconst BreadcrumbsItem: React.FC = ({ className, ...rest }) => {\r\n return ;\r\n};\r\n\r\nexport default BreadcrumbsItem;\r\n","import React from 'react';\r\nimport theme from './Breadcrumbs.module.scss';\r\nimport { CustomLink, CustomLinkProps } from 'components/navigation';\r\nimport { BreadcrumbsItemProps } from '.';\r\nimport { classnames } from 'utils/html';\r\n\r\ntype BreadcrumbsLinkProps = CustomLinkProps & BreadcrumbsItemProps & {};\r\n\r\nconst BreadcrumbsLink: React.FC = ({ className, ...rest }) => {\r\n return ;\r\n};\r\n\r\nexport default BreadcrumbsLink;\r\n","import React from 'react';\r\nimport theme from './Breadcrumbs.module.scss';\r\nimport { CustomLinkProps, ProjectRelativeLink } from 'components/navigation';\r\nimport { BreadcrumbsItemProps } from '.';\r\nimport { classnames } from 'utils/html';\r\n\r\ntype BreadcrumbsProjectLinkProps = CustomLinkProps & BreadcrumbsItemProps & {};\r\n\r\nconst BreadcrumbsProjectLink: React.FC = ({ className, ...rest }) => {\r\n return ;\r\n};\r\n\r\nexport default BreadcrumbsProjectLink;\r\n","import { withSubComponents } from 'utils/react';\r\nimport Breadcrumbs from './Breadcrumbs';\r\nimport BreadcrumbsItem from './BreadcrumbsItem';\r\nimport BreadcrumbsLink from './BreadcrumbsLink';\r\nimport BreadcrumbsProjectLink from './BreadcrumbsProjectLink';\r\n\r\nexport interface BreadcrumbsItemProps {\r\n className?: string;\r\n}\r\n\r\nexport default withSubComponents(Breadcrumbs, {\r\n Item: BreadcrumbsItem,\r\n Link: BreadcrumbsLink,\r\n ProjectLink: BreadcrumbsProjectLink,\r\n});","import React, { useState } from 'react';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { ProfileRelativeLink } from 'components/navigation';\r\nimport { ValidationSummary, ValidatingInput, ValidationForm } from 'components/forms/validation';\r\nimport { inviteProfileMember } from 'services/profiles';\r\nimport { Button, InternalLinkButton } from 'components/Buttons';\r\nimport { useSelector } from 'react-redux';\r\nimport { ProfileMemberPermissions } from 'types';\r\nimport ProfilePermissionsEditor from 'components/profile/ProfilePermissionsEditor';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport SimpleFormPage from 'components/SimpleFormPage/SimpleFormPage';\r\nimport { IState } from 'state/IState';\r\nimport Breadcrumbs from 'components/layout/Breadcrumbs';\r\nimport { SalutationAndTitleInputs, WithSalutationAndTitle } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { useGetActiveProject } from 'utils/hooks';\r\n\r\nconst Wrapper: React.FC<{ profileName: string }> = ({ children, profileName }) => {\r\n return (\r\n <>\r\n \r\n \r\n {profileName} users and permissions\r\n \r\n\r\n \r\n Invite a user\r\n \r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\ninterface ProfileInviteProps {}\r\n\r\nconst ProfileInvite: React.FC = () => {\r\n const activeProfile = useSelector((state: IState) => state.global.activeProfile!);\r\n const profileId = activeProfile.id;\r\n\r\n const [email, setEmail] = useState('');\r\n const [firstName, setFirstName] = useState('');\r\n const [lastName, setLastName] = useState('');\r\n const [saving, setSaving] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n\r\n const [permissions, setPermissions] = useState({\r\n profilePermissions: [],\r\n isAdministrator: false,\r\n });\r\n\r\n const [salutationAndTitle, setSalutationAndTitle] = useState({\r\n inviteeSalutation: null,\r\n inviteeTitle: null,\r\n });\r\n\r\n const project = useGetActiveProject();\r\n\r\n const returnUrl = `/profile-users/`;\r\n\r\n const handleFormSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n const invitation = {\r\n ...permissions,\r\n ...salutationAndTitle,\r\n inviteeFirstName: firstName,\r\n inviteeLastName: lastName,\r\n inviteeEmail: email,\r\n inviterProfileId: profileId,\r\n };\r\n\r\n setSaving(true);\r\n\r\n try {\r\n await inviteProfileMember(invitation);\r\n setSuccess(true);\r\n } catch (e: any) {\r\n if (e.status === 400) {\r\n iconToast.error(Invalid email address.);\r\n } else {\r\n throw e;\r\n }\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n if (success) {\r\n return (\r\n \r\n

\r\n Your invitation has been sent.\r\n

\r\n \r\n \r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n setSalutationAndTitle({ ...salutationAndTitle, ...change })}\r\n />\r\n\r\n \r\n \r\n \r\n
\r\n Permissions\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Cancel\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ProfileInvite;\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { getProfilePermissions, patchProfileAcl } from 'services/profiles';\r\nimport { Button } from 'components/Buttons';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { ProfileMemberDetails, ProfileMemberPermissions } from 'types';\r\nimport ProfilePermissionsEditor from 'components/profile/ProfilePermissionsEditor';\r\n\r\ninterface ProfilePermissionsEditDialogProps {\r\n show: boolean;\r\n memberDetails: ProfileMemberDetails | null;\r\n onAccept(newPermissions: ProfileMemberPermissions): void;\r\n onClose(): void;\r\n}\r\n\r\nconst ProfilePermissionsEditDialog: React.FC = ({\r\n show,\r\n onAccept,\r\n onClose,\r\n memberDetails,\r\n}) => {\r\n const [saving, setSaving] = useState(false);\r\n const [newPermissions, setNewPermissions] = useState(null);\r\n const [permissions] = useAsyncState(() => getProfilePermissions(), [], null);\r\n\r\n const handleOpen = () => {\r\n setNewPermissions(\r\n memberDetails\r\n ? {\r\n profilePermissions: memberDetails.profilePermissions,\r\n isAdministrator: memberDetails.isAdministrator,\r\n }\r\n : {\r\n profilePermissions: [],\r\n isAdministrator: false,\r\n }\r\n );\r\n setSaving(false);\r\n };\r\n\r\n const handleClosed = () => {\r\n setNewPermissions(null);\r\n };\r\n\r\n const handleAcceptClick = async () => {\r\n if (!memberDetails || !newPermissions) {\r\n return;\r\n }\r\n\r\n setSaving(true);\r\n\r\n try {\r\n await patchProfileAcl(memberDetails.profileMemberId, newPermissions);\r\n triggerHandler(onAccept, newPermissions);\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n const handleChange = (permissions) => {\r\n setNewPermissions(permissions);\r\n };\r\n\r\n const renderBody = () => {\r\n if (!permissions || !newPermissions) {\r\n return ;\r\n }\r\n\r\n return ;\r\n };\r\n\r\n return (\r\n \r\n \r\n Edit {memberDetails ? memberDetails.displayName : ''} permissions\r\n \r\n {renderBody()}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ProfilePermissionsEditDialog;","import React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTimes, faCheck, faMinus } from '@fortawesome/free-solid-svg-icons';\r\n\r\nconst PermissionModeIcon: React.FC<{ value: 'Allow' | 'Deny' | 'Inherit' }> = ({ value }) => {\r\n switch (value) {\r\n case 'Allow':\r\n return ;\r\n case 'Deny':\r\n return ;\r\n case 'Inherit':\r\n return ;\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\nexport default PermissionModeIcon;","import React from 'react';\r\nimport theme from './Cards.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { SimpleCardProps } from '.';\r\nimport NotificationBadge from 'components/NotificationBadge';\r\n\r\nconst SimpleCard: React.FC = ({\r\n className,\r\n children,\r\n highlight = false,\r\n onClick,\r\n variant = 'shadow',\r\n wrap = false,\r\n notificationBadgeNumber = 0,\r\n}) => {\r\n return (\r\n \r\n \r\n {children}\r\n
\r\n );\r\n};\r\n\r\nexport default SimpleCard;\r\n","import React from 'react';\r\n\r\nexport type StickyContextData = {\r\n currentOffset: number;\r\n stickyHeight: number;\r\n setHeight(height: number): void;\r\n zIndex: number;\r\n};\r\n\r\nconst StickyContext = React.createContext({\r\n stickyHeight: 0,\r\n currentOffset: 0,\r\n setHeight: () => {},\r\n zIndex: 960,\r\n});\r\n\r\nexport default StickyContext;\r\n\r\n","import React, { useState, useEffect, useContext, useCallback } from 'react';\r\nimport { classnames } from 'utils/html';\r\nimport StickyContext from './StickyContext';\r\nimport { useOnWindowResize } from 'utils/hooks';\r\n\r\nexport interface StickyProps {\r\n stickyClassName?: string;\r\n className?: string;\r\n offsetTop?: number;\r\n enabled?: boolean;\r\n}\r\n\r\nconst IntersectionObserverSupported = typeof IntersectionObserver !== 'undefined';\r\n\r\nconst Sticky: React.FC = ({\r\n children,\r\n className,\r\n stickyClassName,\r\n offsetTop: offsetTopOverride,\r\n enabled = true,\r\n}) => {\r\n const [sticking, setSticking] = useState(false);\r\n const [wrapperElement, setWrapperElement] = useState(null);\r\n const [topSentinelElement, setTopSentinelElement] = useState(null);\r\n const context = useContext(StickyContext);\r\n\r\n let offsetTop = offsetTopOverride === undefined ? context.currentOffset : offsetTopOverride;\r\n\r\n if (offsetTop > 0) {\r\n offsetTop -= 1; //Fix for \"holes\" when using scaling on Chrome\r\n }\r\n\r\n const contextSetHeight = context.setHeight;\r\n\r\n const setElement = useCallback(\r\n (element: HTMLDivElement) => {\r\n setWrapperElement(element);\r\n\r\n if (element) {\r\n contextSetHeight(element.clientHeight);\r\n }\r\n },\r\n [contextSetHeight]\r\n );\r\n\r\n const updateSize = useCallback(() => {\r\n if (wrapperElement) {\r\n contextSetHeight(wrapperElement.clientHeight);\r\n }\r\n }, [wrapperElement, contextSetHeight]);\r\n\r\n useOnWindowResize(updateSize, 500);\r\n\r\n useEffect(() => {\r\n if (!IntersectionObserverSupported) {\r\n return;\r\n }\r\n\r\n const topSentinelLocal = topSentinelElement;\r\n\r\n function observeHeaders() {\r\n const observer = new IntersectionObserver(\r\n (records, observer) => {\r\n for (const record of records) {\r\n const targetInfo = record.boundingClientRect;\r\n const rootBoundsInfo = record.rootBounds!;\r\n\r\n // Started sticking.\r\n if (targetInfo.bottom < rootBoundsInfo.top) {\r\n setSticking(true);\r\n }\r\n\r\n // Stopped sticking.\r\n if (targetInfo.bottom >= rootBoundsInfo.top && targetInfo.bottom < rootBoundsInfo.bottom) {\r\n setSticking(false);\r\n }\r\n }\r\n },\r\n\r\n { threshold: 0, rootMargin: '0px' }\r\n );\r\n\r\n observer.observe(topSentinelLocal!);\r\n return observer;\r\n }\r\n\r\n let topObserver: IntersectionObserver | null = null;\r\n if (topSentinelLocal) {\r\n topObserver = observeHeaders();\r\n }\r\n\r\n return function () {\r\n if (topObserver) {\r\n topObserver.unobserve(topSentinelLocal!);\r\n topObserver = null;\r\n }\r\n };\r\n }, [topSentinelElement]);\r\n\r\n if (!enabled || !IntersectionObserverSupported) {\r\n //This needs to return the same structure as if it's enabled to not destroy and recreate the elements\r\n return (\r\n <>\r\n
\r\n
{children}
\r\n \r\n );\r\n }\r\n\r\n const classes = [className];\r\n if (sticking) {\r\n classes.push(stickyClassName);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {children}\r\n \r\n {/* setBottomSentinelElement(el)}\r\n style={{ position: 'absolute', left: 0, right: 0, visibility: 'hidden', height: '40px', bottom: 0 }}\r\n /> */}\r\n \r\n );\r\n};\r\n\r\nexport default Sticky;\r\n","import React, { useContext, useState, useEffect } from 'react';\r\nimport StickyContext, { StickyContextData } from './StickyContext';\r\n\r\ninterface StickyContainerProps {}\r\n\r\nexport type StickyContextItem = {\r\n order: number;\r\n height: number;\r\n id: any;\r\n};\r\n\r\nconst StickyContainer: React.FC = ({ children }) => {\r\n const parentContext = useContext(StickyContext);\r\n\r\n const [value, setValue] = useState({\r\n currentOffset: parentContext.currentOffset,\r\n zIndex: parentContext.zIndex - 1,\r\n stickyHeight: 0,\r\n setHeight: (height) =>\r\n setValue((v) => {\r\n if (v.stickyHeight !== height) {\r\n return { ...v, stickyHeight: height };\r\n }\r\n\r\n return v;\r\n }),\r\n });\r\n\r\n useEffect(() => {\r\n const newOffset = parentContext.currentOffset + parentContext.stickyHeight;\r\n setValue((v) => {\r\n if (v.currentOffset !== newOffset) {\r\n return { ...v, currentOffset: newOffset };\r\n }\r\n\r\n return v;\r\n });\r\n }, [parentContext.currentOffset, parentContext.stickyHeight]);\r\n\r\n return {children};\r\n};\r\n\r\nexport default StickyContainer;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport theme from './Cards.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { ExpandableCardProps } from '.';\r\nimport SimpleCard from './SimpleCard';\r\nimport AnimateHeight from 'react-animate-height';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Sticky, StickyContainer } from 'components/Sticky';\r\n\r\nconst ExpandableCard: React.FC = ({\r\n children,\r\n expanded,\r\n lazy = true,\r\n expandableContent,\r\n className,\r\n type = 'outside',\r\n stickyMode = 'none',\r\n //expandHandleComponent = ExpandableCardHandle,\r\n\r\n containerClassName,\r\n ...rest\r\n}) => {\r\n const [loaded, setLoaded] = useState(!lazy);\r\n const expandContainerRef = useRef(null);\r\n const shouldAnimate = useRef(!expanded);\r\n\r\n useEffect(() => {\r\n if (expanded && !loaded) {\r\n setLoaded(true);\r\n }\r\n }, [expanded, loaded]);\r\n\r\n // useEffect(() => {\r\n // if (expanded && expandContainerRef.current) {\r\n // expandContainerRef.current.scrollIntoView();\r\n // }\r\n // }, [expanded]);\r\n\r\n const isSticky = stickyMode === 'always' || (stickyMode === 'expanded' && expanded);\r\n\r\n if (type === 'inside' || type === 'inside-bordered') {\r\n return (\r\n \r\n \r\n {/* \r\n
{children}
\r\n */}\r\n {/*
\r\n {children}\r\n
*/}\r\n\r\n \r\n
{children}
\r\n
\r\n\r\n
\r\n (shouldAnimate.current = true)}>\r\n
\r\n {loaded ? expandableContent : }\r\n
\r\n \r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n {children}\r\n \r\n\r\n \r\n (shouldAnimate.current = true)}>\r\n
{loaded ? expandableContent : }
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ExpandableCard;","import React from 'react';\r\nimport theme from './Cards.module.scss';\r\nimport { ExpandableCardHandleProps } from '.';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Trans } from '@lingui/macro';\r\nimport { faAngleDown } from '@fortawesome/pro-light-svg-icons';\r\n\r\nconst ExpandableCardHandle: React.FC = ({\r\n expanded,\r\n expandText = Show details,\r\n collapseText = Hide details,\r\n onExpandToggle,\r\n width = '130px',\r\n disabled = false,\r\n}) => {\r\n return (\r\n
\r\n onExpandToggle(!expanded)}\r\n disabled={disabled}\r\n type=\"button\">\r\n {expanded ? collapseText : expandText}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ExpandableCardHandle;","import React from 'react';\r\nimport theme from './Cards.module.scss';\r\nimport { NoResultsCardProps } from '.';\r\nimport SimpleCard from './SimpleCard';\r\nimport { classnames } from 'utils/html';\r\nimport { Trans } from '@lingui/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\n\r\nconst NoResultsCard: React.FC = ({\r\n children = No results,\r\n className,\r\n icon,\r\n title,\r\n ...rest\r\n}) => {\r\n return (\r\n \r\n {icon && (\r\n
\r\n \r\n
\r\n )}\r\n {title &&

{title}

}\r\n
{children}
\r\n
\r\n );\r\n};\r\n\r\nexport default NoResultsCard;","import React from 'react';\r\nimport theme from './Cards.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\nconst CardGroup: React.FC<{ flat?: boolean; className?: string }> = ({ children, flat, className }) => {\r\n return
{children}
;\r\n};\r\n\r\nexport default CardGroup;","import React from 'react';\r\nimport theme from './Cards.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { Thumbnail, ThumbnailProps } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ntype CardThumbnailProps = ThumbnailProps & {\r\n imageClassName?: string;\r\n};\r\n\r\nconst CardThumbnail: React.FC = ({ className, imageClassName, ...rest }) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CardThumbnail;","import React from 'react';\r\nimport theme from './Cards.module.scss';\r\n\r\nconst CardHeader: React.FC> = ({ children, ...rest }) => {\r\n return (\r\n
\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nexport default CardHeader;","import React, { ReactNode, CSSProperties } from 'react';\r\nimport theme from './Cards.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface CardSectionProps {\r\n caption?: ReactNode;\r\n width?: string;\r\n minWidth?: string;\r\n shrink?: boolean;\r\n right?: boolean;\r\n className?: string;\r\n strong?: boolean;\r\n contentClassName?: string;\r\n grow?: boolean;\r\n}\r\n\r\nconst CardSection: React.FC = ({\r\n className,\r\n contentClassName,\r\n caption,\r\n children,\r\n width,\r\n minWidth,\r\n right = false,\r\n strong = false,\r\n grow = false,\r\n shrink,\r\n}) => {\r\n const style: CSSProperties = {};\r\n\r\n if (shrink === undefined) {\r\n shrink = !width;\r\n }\r\n\r\n if (minWidth) {\r\n style.minWidth = minWidth;\r\n }\r\n\r\n if (width) {\r\n style.width = width;\r\n }\r\n\r\n if (grow) {\r\n style.flexGrow = 1;\r\n }\r\n\r\n if (!shrink) {\r\n style.flexShrink = 0;\r\n }\r\n\r\n return (\r\n \r\n {caption &&
{caption}
}\r\n
{children}
\r\n \r\n );\r\n};\r\n\r\nexport default CardSection;","import React, { useState } from 'react';\r\nimport theme from './EllipsisDropdown.module.scss';\r\nimport { Dropdown } from 'components/Dropdown';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEllipsisV } from '@fortawesome/pro-light-svg-icons';\r\nimport { classnames } from 'utils/html';\r\n\r\n// type ChildType = (params: { close: () => void }) => ReactNode;\r\n\r\nexport interface EllipsisDropdownProps {\r\n // children: ChildType;\r\n className?: string;\r\n}\r\n\r\n// type test = (params: { close: typeof close }) => ReactNode;\r\n\r\nconst EllipsisDropdown: React.FC = ({ children, className }) => {\r\n const [dropdownOpen, setDropdownOpen] = useState(false);\r\n\r\n return (\r\n }>\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default EllipsisDropdown;\r\n","import React from 'react';\r\nimport theme from './Cards.module.scss';\r\nimport { CardSection } from '.';\r\nimport EllipsisDropdown, { EllipsisDropdownProps } from 'components/EllipsisDropdown';\r\nimport { classnames } from 'utils/html';\r\n\r\ntype CardDropdownMenuProps = EllipsisDropdownProps & {\r\n right?: boolean;\r\n hidden?: boolean;\r\n disableMobile?: boolean;\r\n className?: string;\r\n};\r\n\r\nconst CardDropdownMenu: React.FC = ({\r\n children,\r\n right,\r\n hidden,\r\n className,\r\n disableMobile = false,\r\n}) => {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default CardDropdownMenu;\r\n","import React from 'react';\r\nimport theme from './Cards.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface CardRowProps {\r\n className?: string;\r\n bordered?: boolean;\r\n}\r\n\r\nconst CardRow: React.FC = ({ children, className, bordered = false }) => {\r\n return
{children}
;\r\n};\r\n\r\nexport default CardRow;\r\n","import { request } from 'utils/ajax';\r\nimport { ProjectTag, ProjectTagType, OptionalId, ProjectTagExtended } from 'types';\r\n\r\nexport const getProjectTags = (projectId: number, type: ProjectTagType): Promise => {\r\n return request(`api/project/${projectId}/tags/${type}`).then((x) => x.json());\r\n};\r\n\r\nexport const addProjectTags = (projectId: number, text: string, type: ProjectTagType): Promise => {\r\n return request(`api/project/${projectId}/tags/${type}`, {\r\n method: 'POST',\r\n body: {\r\n text,\r\n },\r\n json: true,\r\n }).then((x) => x.json());\r\n};\r\n\r\nexport interface UpdateTagsRequestItem {\r\n id?: number;\r\n label: string;\r\n type?: ProjectTagType;\r\n sortOrder: number;\r\n}\r\n\r\nexport const editProjectTags = (projectId: number, tags: UpdateTagsRequestItem[]): Promise => {\r\n return request(`api/project/${projectId}/tags/multiple`, {\r\n method: 'POST',\r\n body: {\r\n tags,\r\n },\r\n json: true,\r\n }).then((x) => x.json());\r\n};\r\n\r\nexport const getProjectTagsExtended = (projectId: number): Promise => {\r\n return request(`api/project/${projectId}/tags/extended`).then((x) => x.json());\r\n};","import React, { useState, useEffect } from 'react';\r\nimport theme from './TagInput.module.scss';\r\nimport { getProjectTags } from 'services/project-tags';\r\nimport { ProjectTag, ProjectTagType, TranslatableText, OptionalId } from 'types';\r\nimport { components, createFilter } from 'react-select';\r\nimport { ValueType } from 'react-select/src/types';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faTag } from '@fortawesome/pro-light-svg-icons';\r\nimport Creatable from 'react-select/creatable';\r\nimport Select from 'react-select';\r\nimport { classnames } from 'utils/html';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { t, Trans } from '@lingui/macro';\r\n\r\ninterface TagInputProps {\r\n projectId?: number | null;\r\n onTagsChange: (tags: ProjectTag[]) => void;\r\n type?: ProjectTagType;\r\n className?: string;\r\n defaultValue?: ProjectTag[];\r\n value?: OptionalId[] | number[];\r\n placeholder?: TranslatableText;\r\n canCreate?: boolean;\r\n}\r\n\r\nconst MultiValueLabel = (props) => {\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst TagInput: React.FC = ({\r\n projectId,\r\n onTagsChange,\r\n type = ProjectTagType.Room,\r\n className,\r\n defaultValue,\r\n value,\r\n placeholder = eg. \"bathroom\", \"bedroom 1\" or \"whole unit\",\r\n canCreate = true,\r\n}) => {\r\n const [tags, setTags] = useState(null);\r\n\r\n //Why are we using redux here??\r\n const reduxProjectId = useSelector((state: IState) =>\r\n state.global.activeProject ? state.global.activeProject.id : null\r\n );\r\n\r\n const filter = createFilter({\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n matchFrom: 'any',\r\n stringify: (option) => `${option.label}`,\r\n trim: true,\r\n });\r\n\r\n useEffect(() => {\r\n const load = async () => {\r\n if (projectId) {\r\n setTags(await getProjectTags(projectId, type));\r\n } else if (reduxProjectId) {\r\n setTags(await getProjectTags(reduxProjectId, type));\r\n } else {\r\n setTags([]);\r\n }\r\n };\r\n load();\r\n }, [projectId, reduxProjectId, type]);\r\n\r\n const handleChange = (newValue, actionMeta: any) => {\r\n if (!newValue || !Array.isArray(newValue)) {\r\n triggerHandler(onTagsChange, []);\r\n } else {\r\n triggerHandler(onTagsChange, newValue);\r\n }\r\n };\r\n\r\n let fixedValue: { id: number; value: number; label: string }[] = [];\r\n // Is number\r\n if (tags && value && value.length) {\r\n if ((value as ProjectTag[])[0].label === undefined) {\r\n fixedValue = (value as number[]).map((id) => {\r\n const foundTag = tags.find((t) => t.id === +id);\r\n return { ...foundTag!, value: foundTag!.id };\r\n });\r\n //Should be ProjectTag[] here\r\n } else if ((value as ProjectTag[])[0].label) {\r\n fixedValue = (value as any[]).map((t) => ({ ...t, value: t.id || t.value }));\r\n }\r\n }\r\n const tagOptions = (tags || []).map((t) => ({ ...t, value: t.id }));\r\n\r\n const props = {\r\n classNamePrefix: 'r-s',\r\n className: classnames('react-select', className),\r\n components: { MultiValueLabel },\r\n placeholder: placeholder,\r\n onChange: handleChange,\r\n defaultValue: defaultValue ? defaultValue.map((pt) => ({ ...pt, value: pt.id })) : undefined,\r\n options: tagOptions,\r\n closeMenuOnSelect: false,\r\n isMulti: true,\r\n value: fixedValue,\r\n isDisabled: !tags,\r\n filterOption: filter,\r\n };\r\n\r\n return (\r\n <>\r\n {canCreate ? (\r\n t`No tags`} />\r\n ) : (\r\n \r\n \r\n \r\n \r\n
\r\n Users\r\n
\r\n
\r\n {acl.map((user) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n {/* */}\r\n setIsOpen(false)} />\r\n \r\n );\r\n};\r\n\r\nexport default UnitSettings;\r\n","import React, { useState } from 'react';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { ValidationSummary, ValidationForm, ValidatingInput } from 'components/forms/validation';\r\nimport { changePassword } from 'services/users';\r\nimport { Button } from 'components/Buttons';\r\nimport { useValidationManager } from 'utils/hooks';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\n\r\nconst ChangePassword: React.FC<{}> = () => {\r\n const [saving, setSaving] = useState(false);\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [currentPassword, setCurrentPassword] = useState('');\r\n const [newPassword, setNewPassword] = useState('');\r\n const [confirmPassword, setConfirmPassword] = useState('');\r\n\r\n const validationManager = useValidationManager([\r\n {\r\n isValid: (value, options) => newPassword === confirmPassword,\r\n message: ({ field }) => Passwords must match,\r\n summaryMessage: ({ field }) => Passwords must match,\r\n },\r\n ]);\r\n\r\n const reset = () => {\r\n setConfirmPassword('');\r\n setCurrentPassword('');\r\n setNewPassword('');\r\n };\r\n\r\n const onSave = async (e) => {\r\n e.preventDefault();\r\n setSaving(true);\r\n\r\n try {\r\n await changePassword(currentPassword, newPassword);\r\n\r\n setIsEdit(false);\r\n iconToast.success(Password updated successfully);\r\n reset();\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n if (!isEdit) {\r\n return (\r\n <>\r\n
\r\n Password\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n Password\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n reset();\r\n setIsEdit(false);\r\n }}>\r\n Cancel\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\nexport default ChangePassword;\r\n","import React, { useEffect } from 'react';\r\nimport FileData, { FileType } from 'utils/FileData';\r\nimport ReactCrop from 'react-image-crop';\r\nimport { useForceUpdate } from 'utils/hooks';\r\n\r\ntype LocalImageCropProps = Omit & {\r\n fileData: FileData;\r\n height?: string;\r\n};\r\n\r\nconst LocalImageCrop: React.FC = ({ fileData, ...rest }) => {\r\n const forceUpdate = useForceUpdate();\r\n useEffect(() => {\r\n let mounted = true;\r\n\r\n if (!fileData) {\r\n return;\r\n }\r\n\r\n if (fileData.getFileType() === FileType.Image) {\r\n fileData.getDataPromise().then((x) => {\r\n if (mounted) {\r\n forceUpdate();\r\n }\r\n });\r\n }\r\n\r\n return function cleanup() {\r\n mounted = false;\r\n };\r\n }, [fileData, forceUpdate]);\r\n\r\n if (!fileData || !fileData.data) {\r\n return null;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default React.memo(LocalImageCrop);","import FileData from './FileData';\r\nimport ExifReader, { NumberTag } from 'exifreader';\r\n\r\nexport interface CropLike {\r\n x: number;\r\n y: number;\r\n height: number;\r\n width: number;\r\n}\r\n\r\ninterface ExtendedBlob extends Blob {\r\n name: string;\r\n}\r\n\r\nexport function isValidCrop(crop: CropLike): boolean {\r\n if (!crop || (!crop.x && !crop.y && !crop.width && !crop.height)) {\r\n return false;\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport async function rotateImage(fileData: FileData): Promise {\r\n if (fileData.getExtension() !== 'jpg') {\r\n return Promise.resolve(fileData);\r\n }\r\n\r\n const buffer = await new Response(fileData.originalFile).arrayBuffer();\r\n const tags = ExifReader.load(buffer);\r\n const orientation = tags.Orientation as NumberTag;\r\n if (!orientation || orientation.value === 1) {\r\n return Promise.resolve(fileData);\r\n }\r\n\r\n const result = await resetOrientation(fileData, orientation.value);\r\n\r\n return new FileData(result);\r\n}\r\n// https://stackoverflow.com/questions/20600800/js-client-side-exif-orientation-rotate-and-mirror-jpeg-images?answertab=votes#tab-top\r\nasync function resetOrientation(fileData: FileData, srcOrientation: number): Promise {\r\n var image = new Image();\r\n const base64Data = await fileData.getDataPromise();\r\n\r\n return new Promise((resolve, reject) => {\r\n image.onload = function () {\r\n var width = image.width,\r\n height = image.height,\r\n canvas = document.createElement('canvas'),\r\n ctx = canvas.getContext('2d');\r\n\r\n // set proper canvas dimensions before transform & export\r\n if (4 < srcOrientation && srcOrientation < 9) {\r\n canvas.width = height;\r\n canvas.height = width;\r\n } else {\r\n canvas.width = width;\r\n canvas.height = height;\r\n }\r\n\r\n // transform context before drawing image\r\n switch (srcOrientation) {\r\n case 2:\r\n ctx!.transform(-1, 0, 0, 1, width, 0);\r\n break;\r\n case 3:\r\n ctx!.transform(-1, 0, 0, -1, width, height);\r\n break;\r\n case 4:\r\n ctx!.transform(1, 0, 0, -1, 0, height);\r\n break;\r\n case 5:\r\n ctx!.transform(0, 1, 1, 0, 0, 0);\r\n break;\r\n case 6:\r\n ctx!.transform(0, 1, -1, 0, height, 0);\r\n break;\r\n case 7:\r\n ctx!.transform(0, -1, -1, 0, height, width);\r\n break;\r\n case 8:\r\n ctx!.transform(0, -1, 1, 0, 0, width);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n // draw image\r\n ctx!.drawImage(image, 0, 0);\r\n\r\n // export base64\r\n canvas.toBlob((blob) => {\r\n if (!blob) {\r\n throw new Error('Error cropping image, blob is null');\r\n }\r\n\r\n (blob as ExtendedBlob).name = fileData.fileName;\r\n resolve(blob);\r\n\r\n image.src = '';\r\n }, fileData.type || 'image/jpeg');\r\n };\r\n\r\n image.src = base64Data!;\r\n });\r\n}\r\n\r\nexport async function getImageData(fileData: FileData): Promise {\r\n var image = new Image();\r\n const base64Data = await fileData.getDataPromise();\r\n\r\n return new Promise((resolve, reject) => {\r\n image.onload = function () {\r\n resolve(image);\r\n };\r\n image.src = base64Data!;\r\n });\r\n}\r\n\r\nexport async function cropImage(fileData: FileData, pixelCrop: CropLike, image?: HTMLImageElement) {\r\n const canvas = document.createElement('canvas');\r\n\r\n if (!isValidCrop(pixelCrop)) {\r\n throw new Error('Invalid crop');\r\n }\r\n\r\n if (image) {\r\n const scaleX = image.naturalWidth / image.width;\r\n const scaleY = image.naturalHeight / image.height;\r\n\r\n pixelCrop = {\r\n width: pixelCrop.width * scaleX,\r\n height: pixelCrop.height * scaleY,\r\n x: pixelCrop.x * scaleX,\r\n y: pixelCrop.y * scaleY,\r\n };\r\n }\r\n\r\n canvas.width = pixelCrop.width;\r\n canvas.height = pixelCrop.height;\r\n\r\n const originalFileData = await fileData.getDataPromise();\r\n\r\n const ctx = canvas.getContext('2d');\r\n\r\n return new Promise((resolve, reject) => {\r\n const image: HTMLImageElement = new Image();\r\n\r\n image.onload = function () {\r\n ctx!.drawImage(\r\n image,\r\n pixelCrop.x,\r\n pixelCrop.y,\r\n pixelCrop.width,\r\n pixelCrop.height,\r\n 0,\r\n 0,\r\n pixelCrop.width,\r\n pixelCrop.height\r\n );\r\n\r\n canvas.toBlob((blob) => {\r\n if (!blob) {\r\n throw new Error('Error cropping image, blob is null');\r\n }\r\n\r\n (blob as ExtendedBlob).name = fileData.fileName;\r\n resolve(blob);\r\n\r\n image.src = '';\r\n }, fileData.type || 'image/jpeg');\r\n };\r\n\r\n image.src = originalFileData!;\r\n });\r\n\r\n // As Base64 string\r\n // const base64Image = canvas.toDataURL('image/jpeg');\r\n\r\n // As a blob\r\n // return new Promise((resolve, reject) => {\r\n // canvas.toBlob(blob => {\r\n // blob.name = fileData.fileName;\r\n // resolve(blob);\r\n // }, \"image/jpeg\");\r\n // });\r\n}\r\n\r\n// function blobify(canvas: HTMLCanvasElement) {\r\n// canvas.toBlob((blob) => {\r\n// if (!blob) {\r\n// throw new Error('Error cropping image, blob is null');\r\n// }\r\n\r\n// (blob as ExtendedBlob).name = fileData.fileName;\r\n// resolve(blob);\r\n\r\n// image.src = '';\r\n// }, fileData.type || 'image/jpeg');\r\n// }","export class Point {\r\n x: number;\r\n y: number;\r\n\r\n constructor(x: number, y: number) {\r\n this.x = x;\r\n this.y = y;\r\n }\r\n\r\n static equals(a: Point, b: Point) {\r\n if (a === b) {\r\n return true;\r\n }\r\n\r\n if (!a || !b) {\r\n return false;\r\n }\r\n\r\n return a.x === b.x && a.y === b.y;\r\n }\r\n}\r\n\r\nexport class Rect {\r\n x: number;\r\n y: number;\r\n width: number;\r\n height: number;\r\n\r\n constructor(x: number, y: number, width: number, height: number) {\r\n this.x = x;\r\n this.y = y;\r\n this.width = width;\r\n this.height = height;\r\n }\r\n}\r\n\r\nexport interface Size {\r\n width: number;\r\n height: number;\r\n}\r\n\r\nexport function getImageUnscaledSize(image: HTMLImageElement): Size {\r\n return {\r\n width: image.naturalWidth,\r\n height: image.naturalHeight,\r\n };\r\n}\r\n\r\nexport function calculateSizeFit(size: Size, maxSize: Size, scaleUp: boolean = false): Size & { scaleRatio: number } {\r\n const imageSize = { width: size.width, height: size.height };\r\n let resizeRatio = Math.min(maxSize.width / imageSize.width, maxSize.height / imageSize.height);\r\n\r\n if (!scaleUp && resizeRatio > 1) {\r\n resizeRatio = 1;\r\n }\r\n\r\n return {\r\n width: imageSize.width * resizeRatio,\r\n height: imageSize.height * resizeRatio,\r\n scaleRatio: resizeRatio,\r\n };\r\n}\r\n\r\n","import React, { useState, useEffect, CSSProperties, useCallback, useRef } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { triggerHandler } from 'utils/events';\r\nimport LocalImageCrop from './LocalImageCrop';\r\nimport { cropImage, rotateImage } from 'utils/files';\r\nimport FileData from 'utils/FileData';\r\nimport theme from './ImageCropDialog.module.scss';\r\nimport { Button } from 'components/Buttons';\r\nimport { Crop } from 'react-image-crop';\r\nimport { classnames } from 'utils/html';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { calculateSizeFit, getImageUnscaledSize } from 'utils/graphics';\r\nimport { useOnWindowResize } from 'utils/hooks';\r\ninterface ImageCropDialogProps {\r\n show: boolean;\r\n fileData: FileData;\r\n onClose?(): void;\r\n onAccept?(file: FileData): void;\r\n onCancel?(): void;\r\n aspect: number;\r\n}\r\n\r\nconst ImageCropDialog: React.FC = ({ show, fileData, onClose, onAccept, onCancel, aspect }) => {\r\n const [displayCrop, setDisplayCrop] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [fixedRotationFileData, setFixedRotationFileData] = useState();\r\n const [imageStyle, setImageStyle] = useState({});\r\n const imageRef = useRef();\r\n\r\n useEffect(() => {\r\n async function loadFixedRotatedImage() {\r\n setFixedRotationFileData(await rotateImage(fileData));\r\n }\r\n if (fileData) {\r\n loadFixedRotatedImage();\r\n }\r\n }, [fileData]);\r\n\r\n const updateModalStyle = useCallback(() => {\r\n if (!imageRef.current) {\r\n return;\r\n }\r\n\r\n const maxSize = {\r\n width: window.innerWidth * 0.9,\r\n height: window.innerHeight * 0.9 - 200,\r\n };\r\n\r\n const modalSize = calculateSizeFit(getImageUnscaledSize(imageRef.current), maxSize);\r\n\r\n setImageStyle(modalSize);\r\n }, []);\r\n\r\n useOnWindowResize(updateModalStyle, 50);\r\n\r\n const handleLoaded = useCallback(\r\n (image: HTMLImageElement) => {\r\n imageRef.current = image;\r\n\r\n if (!image) {\r\n return;\r\n }\r\n\r\n const imageSize = { width: image.naturalWidth, height: image.naturalHeight };\r\n const imageAspect = imageSize.width / imageSize.height;\r\n\r\n const crop: Crop = {\r\n aspect,\r\n unit: '%',\r\n };\r\n\r\n if (imageAspect / aspect <= 1) {\r\n const cropRatio = imageAspect / aspect;\r\n crop.width = 100;\r\n crop.y = (((imageSize.height - imageSize.height * cropRatio) / imageSize.height) * 100) / 2;\r\n crop.x = 0;\r\n } else {\r\n const cropRatio = aspect / imageAspect;\r\n crop.height = 100;\r\n crop.y = 0;\r\n crop.x = (((imageSize.width - imageSize.width * cropRatio) / imageSize.width) * 100) / 2;\r\n }\r\n\r\n updateModalStyle();\r\n setDisplayCrop(crop);\r\n\r\n return false;\r\n },\r\n [updateModalStyle, aspect]\r\n );\r\n\r\n const handleAcceptClick = async () => {\r\n if (!displayCrop || !imageRef.current) {\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n\r\n const imageSize = getImageUnscaledSize(imageRef.current);\r\n const cropInPx = {\r\n width: ((displayCrop.width || 0) / 100) * imageSize.width,\r\n height: ((displayCrop.height || 0) / 100) * imageSize.height,\r\n x: ((displayCrop.x || 0) / 100) * imageSize.width,\r\n y: ((displayCrop.y || 0) / 100) * imageSize.height,\r\n };\r\n\r\n try {\r\n const croppedImage = await cropImage(fileData, cropInPx);\r\n triggerHandler(onAccept, new FileData(croppedImage));\r\n triggerHandler(onClose);\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onCancel);\r\n triggerHandler(onClose);\r\n };\r\n\r\n const handleClose = () => {\r\n setDisplayCrop(undefined);\r\n setFixedRotationFileData(null);\r\n setImageStyle({});\r\n imageRef.current = undefined;\r\n };\r\n\r\n const handleChange = useCallback((newCrop, newPercentCrop) => {\r\n setDisplayCrop(newPercentCrop);\r\n }, []);\r\n\r\n const renderContent = () => {\r\n if (!fixedRotationFileData) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n

\r\n Cropping allows you to adjust how your image will appear in Rubus.\r\n

\r\n \r\n

\r\n Click and adjust the size of the dotted square in order to crop your image\r\n

\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n Crop image\r\n \r\n {renderContent()}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ImageCropDialog;","import React, { useState, ReactNode } from 'react';\r\nimport theme from './FileUpload.module.scss';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faUpload } from '@fortawesome/pro-light-svg-icons';\r\nimport { Trans } from '@lingui/macro';\r\nimport Dropzone, { DropEvent, FileRejection } from 'react-dropzone';\r\nimport { classnames } from 'utils/html';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\n\r\nexport type FileDropEventHandler = (\r\n acceptedFiles: T[],\r\n fileRejections: FileRejection[],\r\n event: DropEvent\r\n) => void;\r\n\r\ntype Props = {\r\n onDrop?: FileDropEventHandler;\r\n containerClassName?: string;\r\n children?: ReactNode;\r\n single?: boolean;\r\n fileType?: 'all' | 'image';\r\n unstyled?: boolean;\r\n};\r\nconst AcceptedFileTypes = [\r\n 'pdf',\r\n 'txt',\r\n 'doc',\r\n 'docx',\r\n 'xls',\r\n 'xlsx',\r\n 'ppt',\r\n 'pptx',\r\n 'webm',\r\n 'mp4',\r\n 'avi',\r\n 'mkv',\r\n 'ifc',\r\n 'dxf',\r\n 'dwg',\r\n 'xml',\r\n 'smi',\r\n 'smil',\r\n 'mov',\r\n 'mp3',\r\n 'wav',\r\n 'm4a',\r\n 'msg',\r\n 'eml',\r\n].map((ft) => '.' + ft);\r\n\r\nconst FileUpload: React.FC = ({ fileType = 'all', unstyled = false, ...props }) => {\r\n const [isDragging, setIsDragging] = useState(false);\r\n\r\n return (\r\n \r\n \r\n fileType === 'image'\r\n ? iconToast.error(Can only upload image files here.)\r\n : iconToast.error(That is an unsupported file type.)\r\n }\r\n accept={fileType === 'image' ? 'image/*' : `image/*,${AcceptedFileTypes.join(',')}`}\r\n multiple={!props.single}\r\n onDragEnter={() => setIsDragging(true)}\r\n onDragLeave={() => setIsDragging(false)}\r\n onDrop={(a, r, e) => {\r\n setIsDragging(false);\r\n if (props.onDrop) {\r\n if (a.some((f) => f.size === 0)) {\r\n iconToast.error(\r\n Cannot drag and drop files directly from compressed folders (.ZIP)\r\n );\r\n return;\r\n }\r\n props.onDrop(a, r, e);\r\n }\r\n }}>\r\n {({ getRootProps, getInputProps }) => (\r\n
\r\n \r\n {!unstyled && }\r\n {props.children ? props.children : Drag files or click here to upload}\r\n
\r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default FileUpload;\r\n","import React, { useState } from 'react';\r\nimport theme from './ImageUpload.module.scss';\r\nimport FileData from 'utils/FileData';\r\nimport ImageCropDialog from './ImageCropDialog';\r\nimport FileUpload from './FileUpload';\r\nimport { rotateImage } from 'utils/files';\r\nimport { AspectRatioContainer, Thumbnail } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface ImageUploadProps {\r\n onChange(image: any): void;\r\n currentImage: string | FileData | null;\r\n aspectRatio: number;\r\n previewSize?: number;\r\n previewClassName?: string;\r\n readonly?: boolean;\r\n containerClassName?: string;\r\n shouldCrop?: boolean;\r\n}\r\n\r\nconst ImageUpload: React.FC = ({\r\n onChange,\r\n currentImage,\r\n aspectRatio,\r\n previewSize = 1,\r\n previewClassName = null,\r\n readonly = false,\r\n shouldCrop = true,\r\n containerClassName,\r\n}) => {\r\n // const [uniqueId] = useState(() => getUniqueId());\r\n\r\n const [uploadedImage, setUploadedImage] = useState(null);\r\n\r\n const handleFileSelect = async (files) => {\r\n const file = files[0];\r\n\r\n if (!file) {\r\n return;\r\n }\r\n if (shouldCrop) {\r\n setUploadedImage(new FileData(file));\r\n }\r\n if (!shouldCrop) {\r\n setUploadedImage(null);\r\n const flipped = await rotateImage(new FileData(file));\r\n onChange(flipped);\r\n }\r\n };\r\n\r\n const handleCropAccept = (croppedImage) => {\r\n setUploadedImage(null);\r\n onChange(croppedImage);\r\n };\r\n\r\n return (\r\n <>\r\n setUploadedImage(null)}\r\n onAccept={handleCropAccept}\r\n />\r\n \r\n \r\n \r\n \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 ImageUpload;\r\n","import React, { useState, useRef, useEffect } from 'react';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { ValidationSummary, ValidationForm, ValidatingInput } from 'components/forms/validation';\r\nimport {\r\n updateUserSettings,\r\n // sendConfirmationEmail,\r\n getUserAvatarThumbnailUrl,\r\n changeAvatar,\r\n getUserSettings,\r\n} from 'services/users';\r\nimport { Button } from 'components/Buttons';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { classnames } from 'utils/html';\r\nimport theme from './UserChangeInfo.module.scss';\r\nimport { useAsyncState, useGetCorrectLanguageCodeForPhoneInput, useTimestamp } from 'utils/hooks';\r\nimport ImageUpload from 'components/generic-controls/ImageUpload';\r\nimport { loadUser } from 'state/global/creators';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n LoadingIndicator,\r\n UserSalutation,\r\n USER_SALUTATION_OPTOIONS,\r\n UserTitle,\r\n USER_TITLE_OPTIONS,\r\n ValidatingSelect,\r\n} from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { IState } from 'state/IState';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport { PhoneInput } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nconst UserChangeInfo: React.FC = () => {\r\n const [userSettings, , reloadUserSettings] = useAsyncState(() => getUserSettings(), [], null);\r\n const [saving, setSaving] = useState(false);\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [firstName, setFirstName] = useState(userSettings ? userSettings.firstName : '');\r\n const [lastName, setLastName] = useState(userSettings ? userSettings.lastName : '');\r\n const [phoneNumber, setPhoneNumber] = useState(userSettings ? userSettings.phoneNumber : '');\r\n const [title, setTitle] = useState(userSettings ? userSettings.title : null);\r\n const [salutation, setSalutation] = useState(userSettings ? userSettings.salutation : null);\r\n const currentLanguagePhoneLang = useGetCorrectLanguageCodeForPhoneInput();\r\n // const [address, setAddress] = useState(userSettings ? userSettings.address : '');\r\n // const [confirmResent, setConfirmResent] = useState(false);\r\n const focusRef = useRef(null);\r\n\r\n const user = useSelector((state: IState) => state.global.user);\r\n\r\n const cacheBuster = useTimestamp([user]);\r\n\r\n const dispatch = useDispatch();\r\n useEffect(() => {\r\n if (userSettings != null) {\r\n setFirstName(userSettings.firstName || '');\r\n setLastName(userSettings.lastName || '');\r\n setPhoneNumber(userSettings.phoneNumber || '');\r\n // setAddress(userSettings.address || '');\r\n setTitle(userSettings.title || null);\r\n setSalutation(userSettings.salutation || null);\r\n }\r\n }, [userSettings]);\r\n\r\n useEffect(() => {\r\n if (focusRef.current) {\r\n focusRef.current.focus();\r\n }\r\n }, [isEdit]);\r\n\r\n const reset = () => {\r\n setFirstName(userSettings ? userSettings.firstName : '');\r\n setLastName(userSettings ? userSettings.lastName : '');\r\n setPhoneNumber(userSettings ? userSettings.phoneNumber : '');\r\n setTitle(userSettings ? userSettings.title : null);\r\n setSalutation(userSettings ? userSettings.salutation : null);\r\n // setAddress(userSettings ? userSettings.address : '');\r\n };\r\n\r\n const onSave = async (e) => {\r\n e.preventDefault();\r\n setSaving(true);\r\n\r\n try {\r\n await updateUserSettings(firstName, lastName, phoneNumber, title || null, salutation || null);\r\n\r\n triggerHandler(reloadUser);\r\n\r\n iconToast.success(Settings updated successfully);\r\n setIsEdit(false);\r\n reset();\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n // const resendConfirmationEmail = async () => {\r\n // setConfirmResent(true);\r\n // await sendConfirmationEmail();\r\n // iconToast.success(Email sent);\r\n // };\r\n\r\n const enabledInputProps = {\r\n className: 'form-control',\r\n };\r\n\r\n const disabledInputProps = {\r\n className: 'form-control-plaintext',\r\n disabled: true,\r\n };\r\n\r\n const inputProps = isEdit ? enabledInputProps : disabledInputProps;\r\n\r\n if (!userSettings) {\r\n return ;\r\n }\r\n\r\n // const renderResendConfirm = () => {\r\n // if (userSettings.emailConfirmed) {\r\n // return null;\r\n // }\r\n\r\n // if (confirmResent) {\r\n // return (\r\n //
\r\n // Confirmation email has been sent.\r\n //
\r\n // );\r\n // }\r\n\r\n // return (\r\n //
\r\n // Email is not confirmed.\r\n // \r\n //
\r\n // );\r\n // };\r\n\r\n const handleHeaderImageChange = async (image) => {\r\n await changeAvatar(image);\r\n reloadUser();\r\n };\r\n\r\n const reloadUser = () => {\r\n loadUser(dispatch);\r\n reloadUserSettings();\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n Personal information \r\n {!isEdit && (\r\n \r\n )}\r\n
\r\n \r\n
\r\n
\r\n User picture\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {user?.locale === 'de-DE' && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n\r\n {/* {renderResendConfirm()} */}\r\n
\r\n\r\n
\r\n \r\n
\r\n {/*
\r\n \r\n
*/}\r\n\r\n {isEdit && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n {\r\n reset();\r\n setIsEdit(false);\r\n }}>\r\n Cancel\r\n \r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\nexport default UserChangeInfo;\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { SupportedCultures, getCultureInfo } from 'utils/localization';\r\nimport { setUserLocale } from 'services/users';\r\nimport { setCurrentCulture } from 'state/global/creators';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { Button } from 'components/Buttons';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport Select, { SelectOption } from 'components/Select/Select';\r\n\r\ntype Props = {\r\n // OwnProps\r\n};\r\n\r\nconst LanguageSettings: React.FC = (props) => {\r\n const [isEditing, setIsEditing] = useState(false);\r\n const [isSaving, setIsSaving] = useState(false);\r\n const user = useSelector((state: IState) => state.global.user!);\r\n const currentCulture = useSelector((state: IState) => state.global.currentCulture);\r\n const [selectedLanguage, setSelectedLanguage] = useState(currentCulture!.locale);\r\n\r\n const dispatch = useDispatch();\r\n const save = async () => {\r\n setIsSaving(true);\r\n const culture = getCultureInfo(selectedLanguage);\r\n if (user.isLoggedIn) {\r\n await setUserLocale(culture.locale);\r\n }\r\n\r\n setCurrentCulture(dispatch, culture);\r\n setIsSaving(false);\r\n setIsEditing(false);\r\n iconToast.success(Language updated successfully);\r\n };\r\n\r\n const languageOptions: SelectOption[] = SupportedCultures.map((culture) => ({\r\n label: culture.localName,\r\n value: culture.locale,\r\n }));\r\n return (\r\n
\r\n
\r\n \r\n Language settings\r\n \r\n {!isEditing && (\r\n \r\n )}\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n {isEditing && (\r\n <>\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 LanguageSettings;\r\n","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { useGetTerms, useGetActiveProfileName, useGetRubustechIoUrl } from 'utils/hooks';\r\nimport ExternalLink from 'components/navigation/ExternalLink';\r\n\r\ninterface LegalProps {}\r\n\r\nconst LegalSummary: React.FC = (props) => {\r\n const terms = useGetTerms();\r\n const profileName = useGetActiveProfileName();\r\n const termsLink = useGetRubustechIoUrl('terms-of-use');\r\n const privacyLink = useGetRubustechIoUrl('privacy-policy');\r\n return (\r\n <>\r\n
\r\n Legal summary\r\n
\r\n
\r\n \r\n View terms and conditions\r\n \r\n \r\n View Rubus privacy policy\r\n \r\n {terms && terms.externalPrivacyPolicyLink && (\r\n \r\n View {profileName} Privacy policy\r\n \r\n )}\r\n
\r\n {/* null}\r\n profileName={profileName}\r\n terms={terms}\r\n onAcceptClick={() => setIsTermsVisible(false)}\r\n /> */}\r\n \r\n );\r\n};\r\n\r\nexport default LegalSummary;\r\n","import React from 'react';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport ChangePassword from 'components/user-settings/ChangePassword';\r\nimport UserChangeInfo from 'components/user-settings/UserChangeInfo';\r\nimport theme from './UserSettings.module.scss';\r\nimport LanguageSettings from 'components/user-settings/LanguageSettings';\r\nimport SimpleFormPage from 'components/SimpleFormPage/SimpleFormPage';\r\nimport LegalSummary from './LegalSummary';\r\nimport { useIsBuyer } from 'utils/hooks';\r\n\r\ninterface UserSettingsProps {}\r\n\r\nconst UserSettings: React.FC = () => {\r\n const isBuyer = useIsBuyer();\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\nexport default UserSettings;","import { ChangeRequestProgressInfo } from 'types';\r\n\r\nexport const setBuyerChangeRequests = (data: ChangeRequestProgressInfo[]) => ({\r\n type: 'BUYER_SET_CHANGE_REQUESTS',\r\n data,\r\n});\r\nexport const setBuyerChangeRequest = (data: ChangeRequestProgressInfo) => ({\r\n type: 'BUYER_SET_CHANGE_REQUEST',\r\n data,\r\n});\r\n","import { getChangeRequestsProgress } from 'services/buyer-dashboard';\r\nimport { IState } from 'state/IState';\r\nimport { Dispatch } from 'redux';\r\nimport { setBuyerChangeRequests } from './actions';\r\n\r\n// export const loadBuyerCommentThreads = async (dispatch) => {\r\n// const residentialUnitId = useSelector((state: IState) => state.buyer.permissions!.residentialUnitId);\r\n// const data = await getBuyerCommentThreads(residentialUnitId);\r\n// dispatch(setBuyerCommentThreads(data));\r\n// };\r\n\r\nexport function loadBuyerChangeRequests() {\r\n return async function (dispatch: Dispatch, getState: () => IState) {\r\n const residentialUnitId = getState().buyer.permissions!.residentialUnitId;\r\n const data = await getChangeRequestsProgress(residentialUnitId);\r\n dispatch(setBuyerChangeRequests(data));\r\n };\r\n}","import { BuyerCommentThreadOverview } from 'types';\r\nimport { removeIrrelevantThreads } from 'utils/comment-workaround';\r\n\r\nexport const setBuyerCommentThreads = (data: BuyerCommentThreadOverview[]) => {\r\n const filteredThreads = removeIrrelevantThreads(data);\r\n\r\n return {\r\n type: 'BUYER_SET_COMMENT_THREADS',\r\n data: filteredThreads,\r\n };\r\n};\r\n","import { IState } from 'state/IState';\r\nimport { setBuyerCommentThreads } from './actions';\r\nimport { Dispatch } from 'redux';\r\nimport { getCommentOverviewForBuyer } from 'services/comments';\r\n\r\n// export const loadBuyerCommentThreads = async (dispatch) => {\r\n// const residentialUnitId = useSelector((state: IState) => state.buyer.permissions!.residentialUnitId);\r\n// const data = await getBuyerCommentThreads(residentialUnitId);\r\n// dispatch(setBuyerCommentThreads(data));\r\n// };\r\n\r\nexport function loadBuyerCommentThreads() {\r\n return async function(dispatch: Dispatch, getState: () => IState) {\r\n const residentialUnitId = getState().buyer.permissions!.residentialUnitId;\r\n const data = await getCommentOverviewForBuyer(residentialUnitId);\r\n dispatch(setBuyerCommentThreads(data));\r\n };\r\n}","export const setBuyerDocumentTypes = (data) => ({\r\n type: 'BUYER_SET_DOCUMENT_TYPES',\r\n data,\r\n});\r\n","import { setBuyerDocumentTypes } from './actions';\r\nimport { getBuyerDocumentTypes } from 'services/buyer-dashboard';\r\n\r\nexport const loadBuyerDocumentTypes = async (dispatch) => {\r\n const data = await getBuyerDocumentTypes();\r\n dispatch(setBuyerDocumentTypes(data));\r\n};","import { request } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { LetterSetupData } from 'seller/components/Meetings/InternalMeetings/MeetingOverview/MeetingOverview';\r\n\r\nimport { ConfigDto, MeetingListDto, PostBookingDto } from 'types';\r\nimport { getCoreApiUrl } from 'utils/ajax';\r\nimport FileData from 'utils/FileData';\r\n\r\nexport async function getServices(residentialUnitId: number): Promise {\r\n const retur = await request(\r\n `v1/BookMeeting/${residentialUnitId}/services`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur.results;\r\n}\r\nexport async function getAllServices(projectId: number): Promise {\r\n const retur = await request(\r\n `v1/BookMeeting/${projectId}/all-services`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur.results;\r\n}\r\n\r\nexport async function getProjectServices(projectId: number): Promise {\r\n const retur = await request(\r\n `v1/BookMeeting/${projectId}/project-services`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur.Results;\r\n}\r\n\r\nexport async function getAvailableTimesServices(\r\n residentialUnitId: number,\r\n serviceId: number,\r\n from: Date,\r\n to: Date\r\n): Promise {\r\n const retur = await request(\r\n `v1/BookMeeting/${residentialUnitId}/services/${serviceId}/availableTimes`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n query: {\r\n from: from.toJSON(),\r\n to: to.toJSON(),\r\n },\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\n\r\nexport async function getNextFreeTimesServices(\r\n residentialUnitId: number,\r\n serviceId: number,\r\n from: Date\r\n): Promise {\r\n const retur = await request(\r\n `v1/BookMeeting/${residentialUnitId}/services/${serviceId}/nextFreeTime`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n query: {\r\n from: from.toJSON(),\r\n },\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\n\r\nexport async function getBookings(residentialUnitId: number): Promise {\r\n const retur = await request(\r\n `v1/BookMeeting/${residentialUnitId}/bookings`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\n\r\nexport async function getProjectBookings(projectId: number, serviceId: number): Promise {\r\n const retur = await request(\r\n `v1/BookMeeting/project/${projectId}/bookings?serviceId=${serviceId}`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\n\r\nexport async function postBooking(residentialUnitId: number, serviceId: number, data: PostBookingDto) {\r\n await request(\r\n `v1/BookMeeting/${residentialUnitId}/services/${serviceId}/book`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function deleteBooking(residentialUnitId: number, bookingId) {\r\n await request(\r\n `v1/BookMeeting/${residentialUnitId}/bookings/${bookingId}`,\r\n {\r\n method: 'DELETE',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function hasConfig(projectId: number): Promise {\r\n const retur = await request(\r\n `v1/BookMeeting/${projectId}/config`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\n\r\nexport async function saveConfig(projectId: number, config: ConfigDto) {\r\n return await request(\r\n `v1/BookMeeting/${projectId}/config`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: config,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function saveAllServices(projectId: number, config: Service[]) {\r\n return await request(\r\n `v1/BookMeeting/${projectId}/all-services`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: config,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function deleteConfig(projectId: number) {\r\n await request(\r\n `v1/BookMeeting/${projectId}/config`,\r\n {\r\n method: 'DELETE',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function getAvailableRecipicants(projectId: number, meetingTypeId: number): Promise {\r\n const retur = await request(\r\n `v1/MeetingBooking/${projectId}/availableRecipicants/${meetingTypeId}`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\n\r\nexport async function getAllInternalMeetingsTypes(projectId: number): Promise {\r\n const retur = await request(\r\n `v1/MeetingBooking/${projectId}/meetingType`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\n\r\nexport async function silentSendMeetings(projectId: number, meetingTypeId: number, data: number[]) {\r\n await request(\r\n `v1/MeetingBooking/${projectId}/meetingType/${meetingTypeId}/silentSend`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function sendMeetings(projectId: number, meetingTypeId: number, data: number[]) {\r\n await request(\r\n `v1/MeetingBooking/${projectId}/meetingType/${meetingTypeId}/send`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function updateMeetingType(projectId: number, meetingTypeId: number, data: MeetingType) {\r\n await request(\r\n `v1/MeetingBooking/${projectId}/meetingType/${meetingTypeId}`,\r\n {\r\n method: 'PUT',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function updateMeetingTypes(projectId: number, data: MeetingType[]) {\r\n await request(\r\n `v1/MeetingBooking/${projectId}/meetingType/updateMany`,\r\n {\r\n method: 'PUT',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function adminAcceptMeeting(data: number[]) {\r\n await request(\r\n `v1/MeetingBooking/`,\r\n {\r\n method: 'PUT',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function createMeetingType(projectId: number, data: MeetingType) {\r\n await request(\r\n `v1/MeetingBooking/${projectId}/meetingType`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\nexport async function sendReminder(data: number[]) {\r\n await request(\r\n `v1/MeetingBooking/reminder`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function getAllInternalMeetings(projectId: number): Promise {\r\n const retur = await request(\r\n `v1/MeetingBooking/${projectId}`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\nexport async function getAllLetterSetupData(projectId: number): Promise {\r\n const retur = await request(\r\n `v1/MeetingBooking/${projectId}/letterSetupData`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\nexport async function updateLetterSetupData(projectId: number, letterSetupDataId: number, data: LetterSetupData) {\r\n await request(\r\n `v1/MeetingBooking/${projectId}/letterSetupData/${letterSetupDataId}`,\r\n {\r\n method: 'PUT',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\nexport async function postMultipleInternalMeetings(data: MeetingBooking[]) {\r\n await request(\r\n `v1/MeetingBooking/create-multiple`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: data,\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\nexport async function postFile(data: any): Promise {\r\n const noe = await request(\r\n `v1/File/`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: { fileData: data },\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.text());\r\n console.log(noe);\r\n return noe;\r\n}\r\n\r\nexport function getFileThumbnail(fileId: string): string {\r\n return getCoreApiUrl() + `/v1/File/${fileId}/thumbnail`;\r\n}\r\n\r\nexport async function getFile(fileId: string): Promise {\r\n const retur = await request(\r\n `v1/File/${fileId}/thumbnail`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n return retur;\r\n}\r\n\r\nexport async function getInternalBuyerMeetings(residentialUnitId: number): Promise {\r\n var data = await request(\r\n `v1/MeetingBooking/ResidentialUnit/${residentialUnitId}`,\r\n {\r\n method: 'Get',\r\n },\r\n getCoreApiUrl()\r\n ).then((response) => response.json());\r\n data.forEach((meeting) => {\r\n if (meeting.imageUrl) {\r\n meeting.imageUrl = getCoreApiUrl() + meeting.imageUrl;\r\n }\r\n if (meeting.fileUrl) {\r\n meeting.fileUrl = getCoreApiUrl() + meeting.fileUrl;\r\n }\r\n });\r\n return data;\r\n}\r\n\r\nexport async function confirmMeetingForBuyer(confirmationToken: string): Promise {\r\n await request(\r\n `v1/MeetingBooking/confirm/${confirmationToken}`,\r\n {\r\n method: 'Get',\r\n },\r\n getCoreApiUrl()\r\n );\r\n}\r\n\r\nexport async function exportMeetings(meetingIds: number[]): Promise {\r\n const response = await request(\r\n `v1/MeetingBooking/generate/export`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: meetingIds,\r\n },\r\n getCoreApiUrl()\r\n );\r\n const pdfBlob = await response.blob();\r\n\r\n // Assuming 'response' is a Blob object or you have a way to convert it to a Blob\r\n const url = window.URL.createObjectURL(pdfBlob);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'MeetingInvitations.xlsx'; // Set the filename here\r\n document.body.appendChild(a); // Append the anchor to the body\r\n a.click(); // Programmatically click the anchor to trigger the download\r\n window.URL.revokeObjectURL(url); // Clean up the URL object\r\n a.remove(); // Remove the anchor from the body\r\n}\r\n\r\nexport async function printLetters(\r\n meetingTypeId: number,\r\n residentialUnitIds: number[],\r\n download: boolean = true\r\n): Promise {\r\n const response = await request(\r\n `v1/MeetingBooking/generate/${meetingTypeId}/print`,\r\n {\r\n method: 'POST',\r\n json: true,\r\n body: residentialUnitIds,\r\n },\r\n getCoreApiUrl()\r\n );\r\n const pdfBlob = await response.blob();\r\n\r\n // Assuming 'response' is a Blob object or you have a way to convert it to a Blob\r\n const url = window.URL.createObjectURL(pdfBlob);\r\n if (download) {\r\n const a = document.createElement('a');\r\n a.href = url;\r\n a.download = 'MeetingInvitations.pdf'; // Set the filename here\r\n document.body.appendChild(a); // Append the anchor to the body\r\n a.click(); // Programmatically click the anchor to trigger the download\r\n window.URL.revokeObjectURL(url); // Clean up the URL object\r\n a.remove(); // Remove the anchor from the body\r\n }\r\n return url;\r\n}\r\n\r\nexport async function generatePreview(meetingTypeId: number): Promise {\r\n const response = await request(\r\n `v1/MeetingBooking/generate/${meetingTypeId}/generatePreview`,\r\n {\r\n method: 'GET',\r\n json: true,\r\n },\r\n getCoreApiUrl()\r\n )\r\n .then((x) => x.blob())\r\n .then((x) => new FileData(x, 'preview.pdf'));\r\n\r\n return response;\r\n}\r\n\r\nexport interface BuyerMeetingDto {\r\n id: number;\r\n source: MeetingSource;\r\n title: string;\r\n description: string;\r\n from: Date;\r\n duration: number;\r\n imageUrl: string;\r\n fileUrl?: string;\r\n confirmed: boolean | null;\r\n confirmToken: string | null;\r\n daysBeforeLockConfirmation: number | undefined;\r\n}\r\n\r\nexport enum MeetingSource {\r\n Internal = 'Internal',\r\n External = 'External',\r\n}\r\n\r\nexport interface RequestValue {\r\n Url: string;\r\n Data: any;\r\n Method: 'GET' | 'POST';\r\n}\r\n\r\nexport interface ReturnValue {\r\n Offset: number;\r\n Results: T[];\r\n Total: number;\r\n}\r\n\r\nexport type Service = {\r\n id: number;\r\n name: string;\r\n description: string;\r\n lengthInMinutes: number;\r\n imageUrl: string;\r\n enabled: boolean;\r\n};\r\n\r\nexport type MeetingBooking = {\r\n id?: number;\r\n residentialUnitId?: number;\r\n responsibleUserId?: number;\r\n sentDate?: Date;\r\n meetingType?: MeetingType;\r\n meetingDate?: Date | string;\r\n timeSlotStart?: number;\r\n timeSlotEnd?: number;\r\n meetingConfirmations?: MeetingConfirmation[];\r\n reminderSentDate?: Date | string;\r\n};\r\n\r\nexport type MeetingConfirmation = {\r\n id: number;\r\n applicationUserId: number;\r\n confirmationDate?: Date;\r\n confirmedByAdmin: boolean;\r\n};\r\n\r\nexport type MeetingType = {\r\n id?: number;\r\n name?: string;\r\n needsConfirmation: boolean;\r\n daysBeforeReminder: number;\r\n daysBeforeLockConfirmation: number;\r\n};\r\n\r\nexport type BokameraProjectServiceDTO = {\r\n Id: number;\r\n BokameraServiceId: number;\r\n Enabled: boolean;\r\n};\r\n\r\nexport interface AvailabilityResult {\r\n CompanyId: string;\r\n ServiceId: number;\r\n TimesFreeTextSingle: string;\r\n TimesFreeTextMultiple: string;\r\n Times: Array;\r\n}\r\n\r\nexport interface AvailabilityResultTime {\r\n From: string;\r\n To: string;\r\n Free: number;\r\n FreeSpots: number;\r\n ExceptionTexts: string[];\r\n}\r\n","export const setBuyerMeetings = (data) => ({\r\n type: 'BUYER_SET_MEETINGS',\r\n data,\r\n});\r\n","import { Dispatch } from 'redux';\r\nimport { getInternalBuyerMeetings } from 'services/booking';\r\nimport { IState } from 'state/IState';\r\nimport { setBuyerMeetings } from './actions';\r\n\r\nexport function loadBuyerMeetings() {\r\n return async function (dispatch: Dispatch, getState: () => IState) {\r\n const residentialUnitId = getState().buyer.permissions!.residentialUnitId;\r\n dispatch(setBuyerMeetings(await getInternalBuyerMeetings(residentialUnitId)));\r\n };\r\n}\r\n","import { ActionCreator, Action } from 'redux';\r\nimport { BuyerPermissions } from 'types';\r\n\r\nexport const setBuyerPermissions: ActionCreator = (data: BuyerPermissions | null) => ({\r\n type: 'SET_BUYER_PERMISSIONS',\r\n data,\r\n});\r\n\r\nexport const clearBuyerPermissions: ActionCreator = () => ({\r\n type: 'CLEAR_BUYER_PERMISSIONS',\r\n});","import { setBuyerPermissions } from './actions';\r\nimport { getBuyerPermissions } from 'services/buyer-dashboard';\r\nimport { Dispatch } from 'redux';\r\nimport { IState } from 'state/IState';\r\nimport { Profile } from 'types';\r\n\r\nexport const loadBuyerPermissions = (activeProfile?: Profile | null) => {\r\n return async function(dispatch: Dispatch, getState: () => IState): Promise {\r\n if (!activeProfile) activeProfile = getState().global.activeProfile;\r\n\r\n if (activeProfile) {\r\n const data = await getBuyerPermissions(activeProfile.id);\r\n return dispatch(setBuyerPermissions(data));\r\n }\r\n };\r\n};\r\n\r\n","import { ActionCreator, Action } from 'redux';\r\n\r\nexport const setProjectData: ActionCreator = (data) => ({\r\n type: 'SET_PROJECT_DATA',\r\n data,\r\n});\r\n\r\nexport const setSelectedMainStyle = (data) => ({\r\n type: 'SET_SELECTED_MAIN_STYLE',\r\n data,\r\n});","import { setProjectData } from './actions';\r\nimport { getBuyerProjectInfo } from 'services/buyer-dashboard';\r\nimport { Dispatch } from 'redux';\r\nimport { IState } from 'state/IState';\r\n\r\n// export const getProjectData = async (dispatch, profileId) => {\r\n// const data = await getProjectDataFromProfile(profileId);\r\n// dispatch(setProjectData(data));\r\n// };\r\n\r\nexport const loadProjectData = () => {\r\n return async function(dispatch: Dispatch, getState: () => IState): Promise {\r\n const residentialUnitId = getState().buyer.permissions!.residentialUnitId;\r\n\r\n const data = await getBuyerProjectInfo(residentialUnitId);\r\n return dispatch(setProjectData(data));\r\n };\r\n};\r\n\r\n","import { ActionCreator, Action } from 'redux';\r\n\r\nexport const setLandingPageData: ActionCreator = (data) => ({\r\n type: 'SET_LANDING_PAGE',\r\n data,\r\n});","import { setLandingPageData } from './actions';\r\nimport { getBuyerLandingPage } from 'services/buyer-dashboard';\r\nimport { Dispatch } from 'redux';\r\nimport { IState } from 'state/IState';\r\n\r\n// export const getProjectData = async (dispatch, profileId) => {\r\n// const data = await getProjectDataFromProfile(profileId);\r\n// dispatch(setProjectData(data));\r\n// };\r\n\r\nexport const loadLandingPage = (residentialUnitId?: number | null) => {\r\n return async function(dispatch: Dispatch, getState: () => IState): Promise {\r\n if (residentialUnitId === null) residentialUnitId = getState().buyer.permissions!.residentialUnitId;\r\n\r\n\r\n if (residentialUnitId) {\r\n const data = await getBuyerLandingPage(residentialUnitId);\r\n return dispatch(setLandingPageData(data));\r\n }\r\n };\r\n};\r\n\r\n","import { HubConnectionManager } from '@ygtechnologies/bygr-frontend-chat';\r\n\r\nlet nextId = 1;\r\n\r\ntype EventHandler = (...params: any[]) => any;\r\nexport default class HubSession {\r\n private handlers: { method: string; handler: EventHandler }[] = [];\r\n\r\n // protected readonly connection = connectionManagerInstance;\r\n\r\n _reconnectHandler = () => this.onReconnect();\r\n readonly id: number;\r\n\r\n constructor(connection: HubConnectionManager) {\r\n this.id = nextId++;\r\n this._connection = connection;\r\n\r\n this.connection.onReconnect.addHandler(this._reconnectHandler);\r\n }\r\n\r\n private readonly _connection: HubConnectionManager;\r\n get connection() {\r\n return this._connection;\r\n }\r\n\r\n // constructor() {\r\n // this.connection.onOpenConnection().then(this.onConnect);\r\n // }\r\n\r\n onReconnect() {}\r\n\r\n onDispose() {}\r\n\r\n disposed = false;\r\n dispose() {\r\n if (!this.disposed) {\r\n this.onDispose();\r\n }\r\n\r\n this.connection.onReconnect.removeHandler(this._reconnectHandler);\r\n\r\n this.handlers.forEach((x) => {\r\n this.connection.off(x.method, x.handler);\r\n });\r\n\r\n this.disposed = true;\r\n }\r\n\r\n protected addHandler(method: string, handler: EventHandler): void {\r\n if (this.disposed) {\r\n throw new Error('Session is disposed');\r\n }\r\n this.connection.on(method, handler);\r\n this.handlers.push({ method, handler });\r\n }\r\n}","import HubSession from 'server-events/HubSession';\r\nimport { BuyerLandingPageData, ChangeRequestProgressInfo, BuyerCommentThreadOverview } from 'types';\r\nimport { getCMConnectionManager } from './connections';\r\n\r\ntype LandingPageReceiveHandler = (landingPage: BuyerLandingPageData) => void;\r\ntype CommentThreadOverviewReceiveHandler = (commentThreadsOverview: BuyerCommentThreadOverview[]) => void;\r\ntype ChangeRequestInfoReceiveHandler = (changeRequests: ChangeRequestProgressInfo) => void;\r\n\r\ntype EventHandler = LandingPageReceiveHandler | CommentThreadOverviewReceiveHandler | ChangeRequestInfoReceiveHandler;\r\nexport class BuyerSession extends HubSession {\r\n private _profileId: number;\r\n private _residentialUnitId: number;\r\n\r\n constructor(profileId: number, residentialUnitId: number) {\r\n super(getCMConnectionManager());\r\n this._profileId = profileId;\r\n this._residentialUnitId = residentialUnitId;\r\n\r\n this.join();\r\n }\r\n\r\n onReconnect() {\r\n this.join();\r\n }\r\n\r\n join() {\r\n this.connection.invoke('JoinBuyer', this._profileId, this._residentialUnitId);\r\n }\r\n\r\n protected addHandler(method: 'ReceiveCommentThreadsOverview', handler: CommentThreadOverviewReceiveHandler): void;\r\n protected addHandler(method: 'ReceiveChangeRequestInfo', handler: ChangeRequestInfoReceiveHandler): void;\r\n protected addHandler(method: 'ReceiveLandingPage', handler: LandingPageReceiveHandler): void;\r\n\r\n protected addHandler(method: string, handler: EventHandler): void {\r\n super.addHandler(method, handler);\r\n }\r\n\r\n addLandingPageReceiveHandler(handler: LandingPageReceiveHandler) {\r\n this.addHandler('ReceiveLandingPage', (landingPage) => {\r\n handler(landingPage);\r\n });\r\n }\r\n addCommentThreadOverviewReceiveHandler(handler: CommentThreadOverviewReceiveHandler) {\r\n this.addHandler('ReceiveCommentThreadsOverview', (commentThreadOverview) => {\r\n handler(commentThreadOverview);\r\n });\r\n }\r\n addChangeRequestInfoReceiveHandler(handler: ChangeRequestInfoReceiveHandler) {\r\n this.addHandler('ReceiveChangeRequestInfo', (changeRequests) => {\r\n handler(changeRequests);\r\n });\r\n }\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { loadLandingPage } from 'state/buyer/landing-page/creator';\r\nimport { IState } from 'state/IState';\r\nimport { setLandingPageData } from 'state/buyer/landing-page/actions';\r\nimport { BuyerSession } from 'server-events/BuyerSession';\r\nimport { setBuyerCommentThreads } from 'state/buyer/commentThreads/actions';\r\nimport { setBuyerChangeRequest } from 'state/buyer/changeRequests/actions';\r\nimport { BuyerChatSession, ThreadSession } from '@ygtechnologies/bygr-frontend-chat';\r\nimport { getChatConnectionManager } from 'server-events/connections';\r\n\r\ninterface BuyerListenerProps {}\r\n\r\nconst BuyerListener: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const residentialUnitId = useSelector((state: IState) => state.buyer.permissions!.residentialUnitId);\r\n const activeProfile = useSelector((state: IState) => state.global.activeProfile);\r\n\r\n useEffect(() => {\r\n if (activeProfile && residentialUnitId) {\r\n const session = new BuyerSession(activeProfile.id, residentialUnitId);\r\n\r\n dispatch(loadLandingPage(null));\r\n\r\n session.addLandingPageReceiveHandler((data) => {\r\n dispatch(setLandingPageData(data));\r\n });\r\n\r\n session.addChangeRequestInfoReceiveHandler((data) => {\r\n dispatch(setBuyerChangeRequest(data));\r\n });\r\n\r\n return function cleanup() {\r\n session.dispose();\r\n };\r\n }\r\n }, [activeProfile, residentialUnitId, dispatch]);\r\n\r\n useEffect(() => {\r\n if (activeProfile && residentialUnitId) {\r\n const session = new BuyerChatSession(getChatConnectionManager(), activeProfile.id, residentialUnitId);\r\n\r\n session.addCommentThreadOverviewReceiveHandler((data) => {\r\n dispatch(setBuyerCommentThreads(data));\r\n });\r\n\r\n return function cleanup() {\r\n session.dispose();\r\n };\r\n }\r\n }, [activeProfile, residentialUnitId, dispatch]);\r\n\r\n const threads = useSelector((state: IState) => state.buyer.commentThreads);\r\n useEffect(() => {\r\n const session = new ThreadSession(getChatConnectionManager());\r\n\r\n session.addCommentThreadFlagChangedHandler((data) => {\r\n if (threads) {\r\n const newValue = threads.map((thread) => {\r\n if (thread.threadId === data.threadId) {\r\n return { ...thread, hasFlaggedMessages: data.flagged };\r\n }\r\n\r\n return thread;\r\n });\r\n dispatch(setBuyerCommentThreads(newValue));\r\n }\r\n });\r\n\r\n return function () {\r\n session.dispose();\r\n };\r\n }, [threads, dispatch]);\r\n\r\n return null;\r\n};\r\n\r\nexport default BuyerListener;\r\n","import { t } from '@lingui/macro';\r\nimport { LoadingIndicator, MeetingsBuyer, PostBookingDto } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport React, { useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport {\r\n confirmMeetingForBuyer,\r\n deleteBooking,\r\n getAvailableTimesServices,\r\n getBookings,\r\n getNextFreeTimesServices,\r\n getServices,\r\n postBooking,\r\n} from 'services/booking';\r\nimport { loadBuyerMeetings } from 'state/buyer/meetings/creator';\r\nimport { IState } from 'state/IState';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport { useAsyncState, useImpersonationInfo } from 'utils/hooks';\r\nimport BuyerPageTitle from '../BuyerPageTitle/BuyerPageTitle';\r\n\r\ninterface BuyerMeetingsProps {}\r\n\r\nconst BuyerMeetings: React.FC = (props) => {\r\n const dispatch = useDispatch();\r\n const residentialUnitId = useSelector((state: IState) => state.buyer.permissions!.residentialUnitId);\r\n const internalMeetings = useSelector((state: IState) => state.buyer.meetings);\r\n const isInViewAsBuyerMode = useImpersonationInfo();\r\n const [externalMeetings, , reloadExternalMeetings] = useAsyncState(\r\n async () => (residentialUnitId ? (isInViewAsBuyerMode ? [] : await getBookings(residentialUnitId)) : null),\r\n [residentialUnitId],\r\n null\r\n );\r\n\r\n const meetings = useMemo(() => {\r\n if (internalMeetings && externalMeetings) {\r\n const combinedMeetings = [...internalMeetings, ...externalMeetings];\r\n const beforeToday = combinedMeetings.filter((x) => new Date(x.from) < new Date());\r\n const afterToday = combinedMeetings.filter((x) => new Date(x.from) >= new Date());\r\n return [...afterToday, ...beforeToday];\r\n }\r\n return null;\r\n }, [externalMeetings, internalMeetings]);\r\n\r\n const [services] = useAsyncState(\r\n async () => (residentialUnitId ? (isInViewAsBuyerMode ? [] : await getServices(residentialUnitId)) : null),\r\n [residentialUnitId],\r\n null\r\n );\r\n if (!meetings || !services || !residentialUnitId) return ;\r\n const deleteMeeting = async (meetingId: number) => {\r\n if (!residentialUnitId) return;\r\n await deleteBooking(residentialUnitId, meetingId);\r\n await reloadExternalMeetings();\r\n };\r\n const getTimes = (serviceId: number, from: Date, to: Date) => {\r\n return getAvailableTimesServices(residentialUnitId, serviceId, from, to);\r\n };\r\n const getNextFreeTimes = (serviceId: number, from: Date) => {\r\n return getNextFreeTimesServices(residentialUnitId, serviceId, from);\r\n };\r\n const doBookMeeting = async (id: number, data: PostBookingDto) => {\r\n await postBooking(residentialUnitId, id, data);\r\n await reloadExternalMeetings();\r\n };\r\n const doConfirm = async (id: number) => {\r\n const meeting = meetings.find((m) => m.id === id);\r\n if (meeting && meeting.confirmToken) {\r\n await confirmMeetingForBuyer(meeting.confirmToken).catch((error) => {\r\n if (error.status === 403) {\r\n iconToast.error(t`You can't confirm anymore.`, null);\r\n dispatch(loadBuyerMeetings());\r\n }\r\n });\r\n await dispatch(loadBuyerMeetings());\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default BuyerMeetings;\r\n","import { request, getApiUrl } from 'utils/ajax';\r\nimport {\r\n ChangeRequest,\r\n ObjectHistoryItem,\r\n ChangeRequestParticipant,\r\n ChangeRequestParticipantInfo,\r\n ChangeRequestAttachment,\r\n OptionalId,\r\n BuyerOffer,\r\n SellerChangeRequestStatus,\r\n PriceCalculationResult,\r\n FeeConfiguration,\r\n ChangeRequestFilterData,\r\n ProjectTag,\r\n ChangeRequestOverview,\r\n ChangeRequestUserOverview,\r\n BuyerOptionGroupOverride,\r\n ChangeRequestAvailableParticipant,\r\n} from 'types';\r\nimport FileData from 'utils/FileData';\r\n\r\nexport type ChangeRequestUpdatedAttachment = OptionalId & {\r\n file?: FileData;\r\n};\r\n\r\nexport interface CreateChangeRequestOptions {\r\n residentialUnitId: number;\r\n subject: string;\r\n description: string;\r\n internalDescription: string;\r\n\r\n attachments: ChangeRequestAttachment[];\r\n}\r\n\r\nexport function createChangeRequest(changeRequest: CreateChangeRequestOptions): Promise {\r\n return request(`api/change-request`, {\r\n method: 'POST',\r\n json: true,\r\n body: changeRequest,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getChangeRequest(changeRequestId: number): Promise {\r\n return request(`api/change-request/${changeRequestId}`).then((x) => x.json());\r\n}\r\n\r\nexport interface SearchChangeRequestsOptions {\r\n projectId?: number;\r\n units?: number[];\r\n groups?: number[];\r\n statuses?: SellerChangeRequestStatus[];\r\n participants?: number[];\r\n onlyUnassigned?: boolean;\r\n onlyMine?: boolean;\r\n searchText?: string;\r\n includeArchived?: boolean;\r\n}\r\nexport function searchChangeRequests(options: SearchChangeRequestsOptions): Promise {\r\n return request(`api/change-request/`, { query: options }).then((x) => x.json());\r\n}\r\n\r\nexport function getChangeRequestHistory(changeRequestId: number): Promise {\r\n return request(`api/change-request/${changeRequestId}/history`).then((x) => x.json());\r\n}\r\n\r\nexport function getChangeRequestAvailableParticipants(projectId: number): Promise {\r\n return request(`api/change-request/available-participants`, { query: { projectId } }).then((x) => x.json());\r\n}\r\n\r\nexport function getChangeRequestParticipants(changeRequestId: number): Promise {\r\n return request(`api/change-request/${changeRequestId}/participants`).then((x) => x.json());\r\n}\r\n\r\nexport function setChangeRequestParticipants(changeRequestId: number, participants: OptionalId[]) {\r\n return request(`api/change-request/${changeRequestId}/participants`, {\r\n method: 'PUT',\r\n json: true,\r\n body: participants,\r\n });\r\n}\r\n\r\nexport interface ChangeRequestSplitOptions {\r\n isOriginal: boolean;\r\n description: string;\r\n subject: string;\r\n}\r\nexport function splitChangeRequest(\r\n changeRequestId: number,\r\n splitOptions: ChangeRequestSplitOptions[]\r\n): Promise {\r\n return request(`api/change-request/${changeRequestId}/split`, {\r\n method: 'POST',\r\n json: true,\r\n body: splitOptions,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport interface ChangeRequestMergeOptions {\r\n changeRequestIds: number[];\r\n subject: string;\r\n description: string;\r\n tags: ProjectTag[];\r\n}\r\nexport function mergeChangeRequests(mergeOptions: ChangeRequestMergeOptions): Promise {\r\n return request(`api/change-request/merge`, {\r\n method: 'POST',\r\n json: true,\r\n body: mergeOptions,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport interface ChangeRequestParticipantLine {\r\n id: number | null;\r\n price: number | null;\r\n description: string;\r\n projectFeeSetId: number;\r\n itemCategoryId: number | null | undefined;\r\n tags: ProjectTag[];\r\n}\r\nexport interface ChangeRequestParticipantOffer {\r\n note: string;\r\n attachments: ChangeRequestUpdatedAttachment[];\r\n lines: ChangeRequestParticipantLine[];\r\n participantId?: number;\r\n}\r\n\r\nexport function setChangeRequestParticipantOffer(\r\n changeRequestId: number,\r\n offer: ChangeRequestParticipantOffer\r\n): Promise {\r\n return request(`api/change-request/${changeRequestId}/participants/current/offer`, {\r\n method: 'PUT',\r\n json: true,\r\n body: offer,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function setChangeRequestParticipantReadyState(changeRequestId: number, participantUserId: number, isReady: boolean) {\r\n return request(`api/change-request/${changeRequestId}/participants/${participantUserId}/ready`, {\r\n method: 'PATCH',\r\n json: true,\r\n body: isReady,\r\n });\r\n}\r\n\r\nexport function getChangeRequestOffers(changeRequestId: number): Promise {\r\n return request(`api/change-request/${changeRequestId}/buyer-offer`).then((x) => x.json());\r\n}\r\n\r\nexport interface SendChangeRequestBuyerOfferOptions {\r\n note: string;\r\n showSubtotalsToBuyers: boolean;\r\n}\r\n\r\nexport function sendChangeRequestBuyerOffer(changeRequestId: number, options: SendChangeRequestBuyerOfferOptions) {\r\n return request(`api/change-request/${changeRequestId}/buyer-offer`, {\r\n method: 'POST',\r\n json: true,\r\n body: options,\r\n });\r\n}\r\n\r\nexport function retractChangeRequestBuyerOffer(changeRequestId: number, note: string) {\r\n return request(`api/change-request/${changeRequestId}/buyer-offer/retract`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n note,\r\n },\r\n });\r\n}\r\n\r\nexport function closeChangeRequest(changeRequestId: number, note: string) {\r\n return request(`api/change-request/${changeRequestId}/close`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n note,\r\n },\r\n });\r\n}\r\n\r\nexport function reopenChangeRequest(changeRequestId: number) {\r\n return request(`api/change-request/${changeRequestId}/reopen`, {\r\n method: 'POST',\r\n json: true,\r\n });\r\n}\r\n\r\nexport function requestNewChangeRequestOffers(changeRequestId: number) {\r\n return request(`api/change-request/${changeRequestId}/request-new-offers`, {\r\n method: 'POST',\r\n });\r\n}\r\n\r\nexport function calculateChangeRequestParticipantPrice(\r\n projectId: number,\r\n priceWithoutVat: number\r\n): Promise {\r\n return request(`api/change-request/calculate`, {\r\n method: 'GET',\r\n query: {\r\n projectId,\r\n price: priceWithoutVat,\r\n },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getChangeRequestParticipantFees(changeRequestParticipantId: number): Promise {\r\n return request(`api/change-request-participant/${changeRequestParticipantId}/fees`).then((x) => x.json());\r\n}\r\n\r\nexport function saveChangeRequestParticipantFees(changeRequestParticipantId: number, fees: FeeConfiguration[]) {\r\n return request(`api/change-request-participant/${changeRequestParticipantId}/fees`, {\r\n method: 'PUT',\r\n json: true,\r\n body: fees,\r\n });\r\n}\r\n\r\nexport function getDownloadChangeRequestAttachmentUrl(attachmentId: number) {\r\n return getApiUrl() + `/api/change-request-attachment/${attachmentId}/attachment/download`;\r\n}\r\n\r\nexport function getOpenChangeRequestAttachmentUrl(attachmentId: number) {\r\n return getApiUrl() + `/api/change-request-attachment/${attachmentId}/attachment/open`;\r\n}\r\n\r\nexport function getChangeRequestAttachmentThumbnailUrl(attachmentId: number) {\r\n return getApiUrl() + `/api/change-request-attachment/${attachmentId}/attachment/thumbnail`;\r\n}\r\n\r\nexport function getChangeRequestFilterData(projectId: number): Promise {\r\n return request(`api/change-request/${projectId}/filter-data`, {}).then((r) => r.json());\r\n}\r\n\r\nexport function setChangeRequestTags(changeRequestId: number, tags: OptionalId[]): Promise {\r\n return request(`api/change-request/${changeRequestId}/tags`, {\r\n method: 'PATCH',\r\n json: true,\r\n body: { tags },\r\n }).then((r) => r.json());\r\n}\r\n\r\nexport interface SearchChangeRequestsOptions {\r\n projectId?: number;\r\n units?: number[];\r\n groups?: number[];\r\n participants?: number[];\r\n onlyUnassigned?: boolean;\r\n onlyMine?: boolean;\r\n searchText?: string;\r\n}\r\n\r\nexport function searchChangeRequestsOverview(options: SearchChangeRequestsOptions): Promise {\r\n return request(`api/change-request/overview`, { query: options }).then((x) => x.json());\r\n}\r\nexport function getChangeRequestParticipantsOverview(projectId: number): Promise {\r\n return request(`api/change-request/user-overview`, { query: { projectId } }).then((x) => x.json());\r\n}\r\n\r\nexport function setChangeRequestOptionOverrides(\r\n changeRequestId: number,\r\n buyerOptionGroupIds: number[]\r\n): Promise {\r\n return request(`api/change-request/${changeRequestId}/overrides`, {\r\n method: 'PUT',\r\n json: true,\r\n body: buyerOptionGroupIds,\r\n }).then((r) => r.json());\r\n}\r\n\r\nexport function archiveChangeRequest(changeRequestId: number, isArchived: boolean) {\r\n return request(`api/change-request/${changeRequestId}/archived`, { method: 'PATCH', json: true, body: { isArchived } });\r\n}\r\nexport interface ChangeRequestAttachmentUpdateOptions {\r\n hideFromBuyer?: boolean | null;\r\n isSensitive?: boolean | null;\r\n}\r\n\r\nexport function updateChangeRequestAttachment(\r\n changeRequestAttachmentId: number,\r\n options: ChangeRequestAttachmentUpdateOptions\r\n): Promise {\r\n return request(`api/change-request-attachment/${changeRequestAttachmentId}`, {\r\n method: 'PATCH',\r\n json: true,\r\n body: options,\r\n }).then((r) => r.json());\r\n}\r\n\r\nexport function changeParticipantUser(participantId: number, newProfileId: number, newUserId: number) {\r\n return request(`api/change-request-participant/${participantId}/change-user`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n newProfileId,\r\n newUserId,\r\n },\r\n });\r\n}\r\n\r\nexport interface ChangeRequestEdit {\r\n subject: string;\r\n internalDescription: string;\r\n}\r\n\r\nexport function editChangeRequest(changeRequestId: number, changeRequest: ChangeRequestEdit) {\r\n return request(`api/change-request/${changeRequestId}`, {\r\n method: 'PATCH',\r\n json: true,\r\n body: changeRequest,\r\n });\r\n}\r\n","import React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSpinnerThird } from '@fortawesome/pro-light-svg-icons';\r\nimport theme from './Tooltip.module.scss';\r\n\r\ninterface TooltipLoadingProps {}\r\n\r\nconst TooltipLoading: React.FC = (props) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default TooltipLoading;\r\n","import React, { useEffect, useState } from 'react';\r\nimport theme from './SensitiveInfoTooltip.module.scss';\r\nimport { Tooltip, TooltipChildren } from 'components/Tooltip';\r\nimport { getProjectSensitiveViewerMembers } from 'services/projects';\r\nimport { ProjectMember } from 'types';\r\nimport { Trans } from '@lingui/macro';\r\nimport { UserIcon } from 'components/Icons';\r\nimport TooltipLoading from 'components/Tooltip/TooltipLoading';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\n\r\ninterface SensitiveInfoTooltipProps {\r\n children: TooltipChildren;\r\n // itemName: string;\r\n // projectId?: number;\r\n profileId: number | null | undefined;\r\n}\r\n\r\nconst Content: React.FC<{ members: ProjectMember[] }> = ({ members }) => {\r\n return (\r\n
\r\n {/*
\r\n Sensitive document\r\n
*/}\r\n\r\n
\r\n \r\n Documents marked as sensitive are hidden from other subcontractors and vendors and are only visible to\r\n users with special permissions.\r\n \r\n
\r\n\r\n
\r\n This document is only visible to:\r\n\r\n
    \r\n {members.map((m) => (\r\n
  • \r\n \r\n
    \r\n {m.userName}\r\n {m.profileName}\r\n
    \r\n
  • \r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst SensitiveInfoTooltip: React.FC = ({ children, profileId }) => {\r\n const projectId = useSelector((state: IState) => state.global.activeProject?.id);\r\n\r\n const [visible, setVisible] = useState(false);\r\n const [members, setMembers] = useState(null);\r\n\r\n useEffect(() => {\r\n setMembers(null);\r\n }, [projectId, profileId]);\r\n\r\n useEffect(() => {\r\n async function load() {\r\n var result = await getProjectSensitiveViewerMembers(projectId!, profileId!);\r\n setMembers(result);\r\n }\r\n\r\n if (projectId && profileId && visible && !members) {\r\n load();\r\n }\r\n }, [projectId, profileId, visible, members]);\r\n\r\n if (!projectId || !profileId) {\r\n return children;\r\n }\r\n\r\n return (\r\n Sensitive document}\r\n onShow={() => setVisible(true)}\r\n onHide={() => setVisible(false)}\r\n content={members ? : }>\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default SensitiveInfoTooltip;\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport {\r\n getResidentialUnitDocumentVersions,\r\n getDocumentFileType,\r\n getOpenDocumentUrl,\r\n getProjectDocumentVersions,\r\n getDocumentThumbnailUrl,\r\n getDownloadDocumentUrl,\r\n} from 'services/documents';\r\nimport theme from './DocumentSelectList.module.scss';\r\nimport { LoadingIndicator, SingleImageLightbox, Thumbnail } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { FileType } from 'utils/FileData';\r\nimport { classnames } from 'utils/html';\r\nimport { DateDisplay } from 'components/localization';\r\nimport {\r\n ResidentialUnitDocument,\r\n ResidentialUnitDocumentVersion,\r\n DocumentStatus,\r\n BaseDocument,\r\n DocumentVersion,\r\n BuyerResidentialUnitDocument,\r\n} from 'types';\r\nimport { SimpleCard } from 'components/Cards';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { DocumentSelectionMode, DocumentSelectionValue } from '.';\r\nimport { Radio } from 'components/forms/Radio';\r\n\r\nexport interface DocumentListItemDetailsProps {\r\n document: BaseDocument | BuyerResidentialUnitDocument;\r\n onSelectionChange: (newValue: DocumentSelectionValue) => void;\r\n selectedValue: DocumentSelectionValue;\r\n selectMode: DocumentSelectionMode;\r\n}\r\n\r\nconst DocumentSelectListItemDetails: React.FC = ({\r\n document,\r\n selectMode,\r\n onSelectionChange,\r\n selectedValue,\r\n}) => {\r\n const residentialUnitId = (document as ResidentialUnitDocument | BuyerResidentialUnitDocument).residentialUnitId ?? null;\r\n\r\n const [versions] = useAsyncState(\r\n () =>\r\n residentialUnitId\r\n ? getResidentialUnitDocumentVersions(document.documentId, residentialUnitId)\r\n : getProjectDocumentVersions(document.documentId),\r\n [document.documentId, residentialUnitId],\r\n null\r\n );\r\n\r\n const [lightboxDocument, setLightboxDocument] = useState(null);\r\n\r\n const handleThumbnailClick = (e, version) => {\r\n if (getDocumentFileType(version) === FileType.Image) {\r\n setLightboxDocument(version);\r\n\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n const handleLightboxClose = () => {\r\n setLightboxDocument(null);\r\n };\r\n\r\n if (!versions) {\r\n return ;\r\n }\r\n\r\n const latestApprovedVersion = versions!.find(\r\n (x) => (x as ResidentialUnitDocumentVersion).status === DocumentStatus.Approved\r\n );\r\n\r\n return (\r\n
\r\n \r\n
\r\n {versions.map((version) => (\r\n
\r\n \r\n
\r\n {latestApprovedVersion === version ? (\r\n Latest version\r\n ) : (\r\n Version {version.versionNumber}\r\n )}\r\n
\r\n\r\n {selectMode === 'version' && (\r\n onSelectionChange(version.versionId)}\r\n checked={version.versionId === selectedValue}\r\n labelClassName={theme.select}\r\n />\r\n )}\r\n\r\n handleThumbnailClick(e, version)}>\r\n \r\n \r\n\r\n
\r\n {version.name}\r\n\r\n \r\n
\r\n
\r\n
\r\n ))}\r\n
\r\n \r\n\r\n {lightboxDocument && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default DocumentSelectListItemDetails;","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport theme from './DocumentSelectList.module.scss';\r\nimport { BaseDocument, BuyerResidentialUnitDocument } from 'types';\r\nimport { ExpandableCard, CardSection, ExpandableCardHandle, CardRow } from 'components/Cards';\r\nimport { DateDisplay } from 'components/localization';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEyeSlash, faLock } from '@fortawesome/pro-light-svg-icons';\r\nimport { getOpenDocumentUrl } from 'services/documents';\r\nimport { useDocumentType, useIsSeller } from 'utils/hooks';\r\nimport SensitiveInfoTooltip from 'components/SensitiveInfoTooltip';\r\nimport { Radio } from 'components/forms/Radio';\r\nimport { DocumentSelectionMode, DocumentSelectionValue } from '.';\r\nimport DocumentSelectListItemDetails from './DocumentSelectListItemDetails';\r\nimport { FileIcon } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport interface DocumentListItemProps {\r\n document: BaseDocument | BuyerResidentialUnitDocument;\r\n onSelectionChange(id: DocumentSelectionValue): void;\r\n selectMode: DocumentSelectionMode;\r\n selectedValue: DocumentSelectionValue;\r\n}\r\n\r\nconst DocumentSelectListItem: React.FC = ({\r\n document,\r\n selectMode,\r\n onSelectionChange,\r\n selectedValue,\r\n}) => {\r\n const [expanded, setExpanded] = useState(false);\r\n const isSeller = useIsSeller();\r\n\r\n const documentType = useDocumentType(document.documentTypeId);\r\n\r\n const sellerDocument = document as BaseDocument;\r\n const onClick = selectMode === 'document' ? () => onSelectionChange(document.documentId) : () => setExpanded(!expanded);\r\n\r\n return (\r\n \r\n }>\r\n \r\n {selectMode === 'document' && (\r\n onSelectionChange(sellerDocument.documentId)}\r\n labelClassName={theme.selectDocumentRadio}\r\n />\r\n )}\r\n\r\n
\r\n {\r\n e.preventDefault();\r\n if (selectMode === 'version') {\r\n setExpanded(!expanded);\r\n }\r\n }}\r\n href={getOpenDocumentUrl(document.lastVersionId)}\r\n className={theme.documentLabel}\r\n target=\"_blank\"\r\n rel=\"noreferrer noopener\">\r\n
\r\n \r\n
\r\n\r\n
\r\n
{documentType && documentType.name}
\r\n {document.name}\r\n\r\n {isSeller && (\r\n
\r\n {sellerDocument.isSensitive && (\r\n \r\n \r\n \r\n \r\n Sensitive\r\n \r\n \r\n \r\n )}\r\n\r\n {sellerDocument.hideFromBuyer && (\r\n \r\n \r\n Hidden from buyer\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n \r\n
\r\n\r\n Modified} right width=\"250px\" shrink>\r\n
\r\n \r\n {isSeller && sellerDocument.uploadedByName && (\r\n \r\n  by {sellerDocument.uploadedByName}\r\n \r\n )}\r\n
\r\n
\r\n\r\n setExpanded(!expanded)} />\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DocumentSelectListItem;","import React from 'react';\r\nimport { NoResultsCard } from 'components/Cards';\r\nimport { Trans } from '@lingui/macro';\r\nimport { BaseDocument, BuyerResidentialUnitDocument } from 'types';\r\nimport DocumentSelectListItem from './DocumentSelectListItem';\r\nimport { DocumentSelectionMode, DocumentSelectionValue } from '.';\r\n\r\ntype ResidentialUnitDocumentListProps = {\r\n documents: (BaseDocument | BuyerResidentialUnitDocument)[];\r\n mode: DocumentSelectionMode;\r\n value: DocumentSelectionValue;\r\n onSelectionChange(documentOrVersionId: DocumentSelectionValue): void;\r\n};\r\n\r\nconst DocumentSelectList: React.FC = ({ documents, mode, value, onSelectionChange }) => {\r\n return (\r\n <>\r\n {documents.map((doc) => (\r\n \r\n ))}\r\n\r\n {documents.length === 0 && (\r\n \r\n No documents\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default DocumentSelectList;","import React, { useState } from 'react';\r\nimport theme from './FileUploadUnitDocuments.module.scss';\r\nimport { useAsyncState, useIsSeller } from 'utils/hooks';\r\nimport { searchFullBuyerDocuments } from 'services/buyer-dashboard';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { searchResidentialUnitDocuments } from 'services/documents';\r\nimport { Trans } from '@lingui/macro';\r\nimport { BuyerResidentialUnitDocument, ResidentialUnitDocument } from 'types';\r\nimport DocumentSelectList from 'components/DocumentSelectList';\r\nimport { SlideToggle } from '@ygtechnologies/rubus-ui';\r\n\r\ninterface FileUploadUnitDocumentsProps {\r\n residentialUnitId: number;\r\n onSelect(versionId: number): void;\r\n selectedVersionId: number | null;\r\n}\r\n\r\nconst FileUploadUnitDocuments: React.FC = ({\r\n residentialUnitId,\r\n onSelect,\r\n selectedVersionId,\r\n}) => {\r\n const [showHiddenFromBuyer, setShowHiddenFromBuyer] = useState(false);\r\n const [showSensitive, setShowSensitive] = useState(false);\r\n const isSeller = useIsSeller();\r\n const [documents] = useAsyncState(\r\n () =>\r\n isSeller\r\n ? (searchResidentialUnitDocuments({\r\n residentialUnitIds: [residentialUnitId],\r\n }) as any)\r\n : searchFullBuyerDocuments(residentialUnitId),\r\n [residentialUnitId, showHiddenFromBuyer, showSensitive],\r\n null\r\n );\r\n\r\n if (!documents) {\r\n return ;\r\n }\r\n\r\n let filteredDocuments = documents;\r\n if (isSeller) {\r\n filteredDocuments = (documents as ResidentialUnitDocument[]).filter((d) => {\r\n if (!showHiddenFromBuyer && d.hideFromBuyer) {\r\n return false;\r\n }\r\n if (!showSensitive && d.isSensitive) {\r\n return false;\r\n }\r\n return true;\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n onSelect(value as number)}\r\n />\r\n {/* {filteredDocuments.length === 0 && }\r\n {(filteredDocuments as any).map((d) => (\r\n \r\n ))} */}\r\n
\r\n {isSeller && (\r\n
\r\n setShowHiddenFromBuyer(!showHiddenFromBuyer)}>\r\n Show hidden from buyer documents\r\n \r\n setShowSensitive(!showSensitive)}>\r\n Show sensitive documents\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FileUploadUnitDocuments;\r\n","import React, { useState, useCallback, ReactElement, useEffect, useRef } from 'react';\r\nimport theme from './FileUploadWizard.module.scss';\r\nimport { Modal, ModalBody, ModalHeader } from 'components/Modal';\r\nimport FileUpload from 'components/generic-controls/FileUpload';\r\nimport FileData, { FileType } from 'utils/FileData';\r\nimport { Button } from 'components/Buttons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { useOnWindowResize } from 'utils/hooks';\r\nimport { TranslatableText } from 'types';\r\nimport FileUploadUnitDocuments from './FileUploadUnitDocuments/FileUploadUnitDocuments';\r\nimport { pdfToImage, getOpenDocumentUrl } from 'services/documents';\r\nimport { ImageDraw, ImageDrawRef, LoadingOverlay, notEmptyPredicate } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { calculateSizeFit, Size } from 'utils/graphics';\r\nimport { SimpleWizard, SimpleWizardStep, SimpleWizardConfirmStep } from 'components/SimpleWizard';\r\nimport { faCheckCircle } from '@fortawesome/pro-light-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { LargeRadio } from 'components/forms/Radio';\r\nimport Banner from 'components/Banner';\r\n\r\nexport interface FileUploadWizardProps {\r\n isOpen: boolean;\r\n onFileChange(files: FileData[]): void;\r\n toggle(): void;\r\n initialFileData?: FileData | null;\r\n imageEditContinueButtonText?: TranslatableText;\r\n residentialUnitId?: number;\r\n disableDocumentAccess?: boolean;\r\n skipSuccessStep?: boolean;\r\n}\r\nenum Step {\r\n Intro,\r\n EditImage,\r\n // PreviewImage,\r\n Success,\r\n UnitFileSelect,\r\n}\r\n\r\nexport const FileUploadWizard: React.FC = ({\r\n isOpen,\r\n onFileChange,\r\n toggle,\r\n skipSuccessStep = false,\r\n initialFileData,\r\n imageEditContinueButtonText,\r\n residentialUnitId,\r\n disableDocumentAccess = false,\r\n}) => {\r\n const [imageSize, setImageSize] = useState(null);\r\n const [originalFile, setOriginalFile] = useState(null);\r\n const [file, setFile] = useState(null);\r\n const [currentStep, setCurrentStep] = useState(Step.Intro);\r\n const [selectedVersionId, setSelectedVersionId] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [uploadMode, setUploadMode] = useState<'filesystem' | 'document'>('filesystem');\r\n const [drawValue, setDrawValue] = useState(null);\r\n const [hasChanges, setHasChanges] = useState(false);\r\n\r\n const [pdfFailed, setPdfFailed] = useState(false);\r\n\r\n const handleStepChange = (step: Step) => {\r\n if (step === Step.Intro || step === Step.UnitFileSelect) {\r\n setFile(null);\r\n setOriginalFile(null);\r\n setSelectedVersionId(null);\r\n setDrawValue(null);\r\n }\r\n\r\n if (disableDocumentAccess && step === Step.UnitFileSelect) {\r\n return;\r\n }\r\n\r\n setCurrentStep(step);\r\n };\r\n\r\n const canDraw = !originalFile || [FileType.Image, FileType.Pdf].includes(originalFile.getFileType());\r\n\r\n const imageDrawRef = useRef(null);\r\n\r\n const steps = [\r\n Step.Intro,\r\n uploadMode === 'document' ? Step.UnitFileSelect : null,\r\n canDraw ? Step.EditImage : null,\r\n !skipSuccessStep ? Step.Success : null,\r\n ].filter(notEmptyPredicate);\r\n\r\n const goToSuccess = async () => {\r\n if (steps.includes(Step.Success)) {\r\n setCurrentStep(Step.Success);\r\n } else {\r\n await handleSubmit();\r\n handleFinish();\r\n }\r\n };\r\n\r\n const updateModalStyle = useCallback(async () => {\r\n if (!file) {\r\n return;\r\n }\r\n\r\n const maxSize = {\r\n width: window.innerWidth * 0.9,\r\n height: window.innerHeight * 0.9 - 100,\r\n };\r\n const imageSize = await file.getImageSize();\r\n\r\n const scaledImageSize = calculateSizeFit(imageSize, maxSize);\r\n\r\n setImageSize(scaledImageSize);\r\n }, [file]);\r\n\r\n useEffect(() => {\r\n updateModalStyle();\r\n }, [updateModalStyle]);\r\n useOnWindowResize(updateModalStyle, 50);\r\n\r\n const onDrawChange = useCallback((value: any, hasChanges: boolean) => {\r\n setHasChanges(hasChanges);\r\n setDrawValue(value);\r\n }, []);\r\n\r\n const handleNewFile = useCallback(\r\n async (newFile: FileData) => {\r\n setIsLoading(true);\r\n const fileType = newFile.getFileType();\r\n\r\n if (fileType === FileType.Image) {\r\n setOriginalFile(newFile);\r\n setFile(newFile);\r\n setCurrentStep(Step.EditImage);\r\n } else if (fileType === FileType.Pdf) {\r\n setOriginalFile(newFile);\r\n // If the pdf convert to image fails for some reason,\r\n // we still give them the option to upload the document.\r\n try {\r\n const convertedToImage = await pdfToImage(newFile);\r\n setFile(convertedToImage);\r\n setCurrentStep(Step.EditImage);\r\n } catch (e: any) {\r\n triggerHandler(onFileChange, [newFile]);\r\n setPdfFailed(true);\r\n goToSuccess();\r\n }\r\n } else {\r\n setOriginalFile(newFile);\r\n triggerHandler(onFileChange, [newFile]);\r\n goToSuccess();\r\n }\r\n setIsLoading(false);\r\n },\r\n [onFileChange]\r\n );\r\n\r\n const handleFileDrop = useCallback(\r\n async (files: File[]) => {\r\n if (files.length > 0) {\r\n const droppedFileData = new FileData(files[0]);\r\n await handleNewFile(droppedFileData);\r\n }\r\n },\r\n [handleNewFile]\r\n );\r\n\r\n // const previousStep = usePrevious(currentStep);\r\n // useEffect(() => {\r\n // if (previousStep === currentStep || currentStep !== Step.Intro) {\r\n // return;\r\n // }\r\n\r\n // if (initialFileData) {\r\n // handleNewFile(initialFileData);\r\n // } else {\r\n // setOriginalFile(null);\r\n // setFile(null);\r\n // }\r\n // }, [initialFileData, handleNewFile, previousStep, currentStep]);\r\n\r\n const createNewFileData = async () => {\r\n const imageDataUrl = imageDrawRef.current?.getImageDataUrl();\r\n\r\n if (imageDataUrl) {\r\n const fileData = await FileData.fromDataUrl(imageDataUrl, file!.fileName);\r\n triggerHandler(onFileChange, [fileData]);\r\n } else {\r\n triggerHandler(onFileChange, [originalFile!]);\r\n }\r\n\r\n goToSuccess();\r\n };\r\n\r\n const downloadFileData = async () => {\r\n setIsLoading(true);\r\n const fileData = await FileData.download(getOpenDocumentUrl(selectedVersionId!));\r\n\r\n if (fileData.getFileType() === FileType.Pdf) {\r\n fileData.originalFile = new File([fileData.originalFile], fileData.fileName);\r\n }\r\n\r\n await handleNewFile(fileData);\r\n\r\n return false;\r\n };\r\n\r\n const back = () => {\r\n const fileType = initialFileData?.getFileType();\r\n if (fileType === FileType.Image || fileType === FileType.Pdf) {\r\n setCurrentStep(Step.EditImage);\r\n } else {\r\n reset();\r\n }\r\n };\r\n\r\n const reset = () => {\r\n setImageSize(null);\r\n setFile(null);\r\n setOriginalFile(null);\r\n setCurrentStep(Step.Intro);\r\n setSelectedVersionId(null);\r\n setUploadMode('filesystem');\r\n setDrawValue(null);\r\n };\r\n\r\n const handleOpen = () => {\r\n reset();\r\n if (initialFileData) {\r\n // setOriginalFile(initialFileData);\r\n setCurrentStep(Step.EditImage);\r\n handleNewFile(initialFileData);\r\n }\r\n };\r\n\r\n const handleClose = () => {\r\n toggle();\r\n };\r\n\r\n const handleFinish = () => {\r\n toggle();\r\n };\r\n\r\n const handleSubmit = async () => {\r\n const imageDataUrl = imageDrawRef.current?.getImageDataUrl();\r\n\r\n if (hasChanges && imageDataUrl) {\r\n const fileData = await FileData.fromDataUrl(imageDataUrl, file!.fileName);\r\n\r\n triggerHandler(onFileChange, [fileData]);\r\n } else {\r\n triggerHandler(onFileChange, [originalFile!]);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n Upload an attachment\r\n \r\n \r\n \r\n \r\n Choose where you would like to upload from}\r\n nextButton={\r\n uploadMode === 'filesystem'\r\n ? (props) => (\r\n \r\n \r\n \r\n )\r\n : undefined\r\n }>\r\n
\r\n setUploadMode('filesystem')}\r\n checked={uploadMode === 'filesystem'}>\r\n \r\n Upload from this computer\r\n Find and upload a file from your computer.\r\n \r\n \r\n {residentialUnitId && (\r\n setUploadMode('document')}\r\n checked={uploadMode === 'document'}>\r\n \r\n Upload from unit documents\r\n Find and upload an existing unit document, to browse and select the document\r\n version you want, click on 'Show details'.\r\n \r\n \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 SensitiveInfoConfirmDialog;\r\n","import React, { useState, ChangeEvent, useRef } from 'react';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { useMessageDismissal } from 'utils/hooks';\r\nimport { DismissibleMessageKey } from 'services/message-dismissal';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport SensitiveInfoConfirmDialog from 'components/SensitiveInfoConfirmDialog';\r\nimport { Checkbox, CheckboxProps } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface SensitiveInfoCheckboxProps extends Omit {\r\n ownerProfileId: number;\r\n onChange(newValue: boolean): void;\r\n}\r\n\r\nconst SensitiveInfoCheckbox: React.FC = ({ ownerProfileId, onChange, ...rest }) => {\r\n const [showDialog, setShowDialog] = useState(false);\r\n const projectId = useSelector((state: IState) => state.global.activeProject!.id!);\r\n\r\n const [doNotShow, dismiss] = useMessageDismissal(DismissibleMessageKey.SensitiveInfo, projectId);\r\n\r\n const checkEventRef = useRef>();\r\n\r\n const handleChange = (e: ChangeEvent) => {\r\n e.persist();\r\n if (doNotShow === true || !e.target.checked) {\r\n triggerHandler(onChange, e.target.checked);\r\n return;\r\n }\r\n\r\n setShowDialog(true);\r\n checkEventRef.current = e;\r\n };\r\n\r\n const handleAccept = (doNotShowAgain) => {\r\n if (!checkEventRef.current) {\r\n return;\r\n }\r\n\r\n if (doNotShowAgain) {\r\n dismiss();\r\n }\r\n\r\n triggerHandler(onChange, true);\r\n };\r\n\r\n return (\r\n <>\r\n setShowDialog(false)}\r\n onAccept={handleAccept}\r\n />\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default SensitiveInfoCheckbox;\r\n","import React, { useState } from 'react';\r\nimport { FileType } from 'utils/FileData';\r\nimport { OptionalId, FileMetadata } from 'types';\r\nimport { AttachmentLike } from '.';\r\nimport { FileDataPreviewLinkButton, ExternalLinkButton } from 'components/Buttons';\r\nimport { ButtonElementProps } from 'components/Buttons/ButtonElement';\r\nimport { SingleImageLightbox } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport type AttachmentFileLinkProps = ButtonElementProps & {\r\n value: OptionalId;\r\n url: string;\r\n};\r\n\r\nconst AttachmentFileLink: React.FC = ({ value, url, ...rest }) => {\r\n const [showLightbox, setShowLightBox] = useState(false);\r\n\r\n if (value.fileData) {\r\n return ;\r\n }\r\n\r\n const handleClick = (e) => {\r\n if ((value.fileMetadata ?? FileMetadata.unknown).fileType === FileType.Image) {\r\n e.preventDefault();\r\n setShowLightBox(true);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {showLightbox && setShowLightBox(false)} />}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AttachmentFileLink;\r\n","import React from 'react';\r\nimport theme from './AttachmentList.module.scss';\r\nimport { Trans } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { faLock, faEyeSlash, faDownload, faTrashAlt, faExternalLink, faEye } from '@fortawesome/pro-light-svg-icons';\r\nimport { FileDataPreviewLinkButton } from 'components/Buttons';\r\nimport { AttachmentLike, AttachmentEditMode } from '.';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { OptionalId, ChangedItem, FileMetadata } from 'types';\r\nimport SensitiveInfoTooltip from 'components/SensitiveInfoTooltip';\r\nimport SensitiveInfoCheckbox from 'components/SensitiveInfoCheckbox';\r\nimport AttachmentFileLink from './AttachmentFileLink';\r\nimport EllipsisDropdown from 'components/EllipsisDropdown';\r\nimport { DropdownButtonItem, DropdownExternalLinkItem } from 'components/Dropdown';\r\nimport { Checkbox, FileIcon, ToggleInput } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface AttachmentListItemProps = OptionalId> {\r\n att: T;\r\n canEdit: boolean;\r\n editMode?: AttachmentEditMode;\r\n showVisibilityFlags: boolean;\r\n onChange?(change: ChangedItem): void;\r\n onDelete?(att: T): void;\r\n ownerProfileId: number | null | undefined;\r\n openUrl?: string;\r\n downloadUrl?: string;\r\n}\r\n\r\nconst AttachmentListItem: React.FC = ({\r\n att,\r\n canEdit,\r\n editMode = 'inline',\r\n showVisibilityFlags,\r\n onChange,\r\n onDelete,\r\n ownerProfileId,\r\n openUrl,\r\n downloadUrl,\r\n}) => {\r\n const handleChange = (changes: Partial) => {\r\n triggerHandler(onChange, ChangedItem.fromMerge(att, changes));\r\n };\r\n\r\n const handleDelete = () => {\r\n triggerHandler(onDelete, att);\r\n };\r\n\r\n const renderLink = () => {\r\n if (openUrl) {\r\n return (\r\n \r\n {att.name}\r\n \r\n );\r\n }\r\n\r\n return {att.name};\r\n };\r\n\r\n function isEditMode(mode: AttachmentEditMode) {\r\n return canEdit && editMode === mode;\r\n }\r\n\r\n const dropdownItemsVisibility = {\r\n preview: !!att.fileData,\r\n download: !att.fileData && !!downloadUrl,\r\n open: !att.fileData && !!openUrl,\r\n delete: canEdit && !!onDelete,\r\n\r\n hideFromBuyer: isEditMode('context'),\r\n };\r\n\r\n const showContextMenu = Object.values(dropdownItemsVisibility).some((x) => x);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {att.fileMetadata?.fileType}\r\n
\r\n {isEditMode('inline') ? (\r\n handleChange({ name: e.target.value })}\r\n />\r\n ) : (\r\n renderLink()\r\n )}\r\n
\r\n\r\n {/* {showVisibilityFlags && !canEdit && (\r\n
\r\n {att.isSensitive && (\r\n \r\n \r\n \r\n Sensitive\r\n \r\n \r\n )}\r\n\r\n {att.hideFromBuyer && (\r\n \r\n \r\n Hidden from buyer\r\n \r\n )}\r\n
\r\n )} */}\r\n\r\n {showVisibilityFlags && (\r\n
\r\n {isEditMode('inline') ? (\r\n <>\r\n handleChange({ hideFromBuyer: e.target.checked })}>\r\n Hide from buyer\r\n \r\n\r\n handleChange({ isSensitive: flag })}>\r\n Sensitive\r\n \r\n \r\n ) : (\r\n <>\r\n {att.hideFromBuyer && (\r\n \r\n \r\n Hidden from buyer\r\n \r\n )}\r\n\r\n {att.isSensitive && (\r\n \r\n \r\n \r\n Sensitive\r\n \r\n \r\n )}\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n {showContextMenu && (\r\n
\r\n \r\n {dropdownItemsVisibility.preview && (\r\n \r\n Preview\r\n \r\n )}\r\n\r\n {dropdownItemsVisibility.download && (\r\n \r\n Download\r\n \r\n )}\r\n {dropdownItemsVisibility.open && (\r\n \r\n Open\r\n \r\n )}\r\n\r\n {dropdownItemsVisibility.hideFromBuyer && (\r\n {\r\n handleChange({ hideFromBuyer: !att.hideFromBuyer });\r\n }}>\r\n {att.hideFromBuyer ? (\r\n Show document to buyer\r\n ) : (\r\n Hide document from buyer\r\n )}\r\n \r\n )}\r\n\r\n {dropdownItemsVisibility.delete && (\r\n {\r\n handleDelete();\r\n }}\r\n icon={faTrashAlt}>\r\n Delete\r\n \r\n )}\r\n \r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default AttachmentListItem;\r\n","import React, { useEffect } from 'react';\r\nimport { triggerHandler } from 'utils/events';\r\n\r\ninterface PasteListenerProps {\r\n handler(e: ClipboardEvent): any;\r\n}\r\n\r\nconst PasteListener: React.FC = ({ handler }) => {\r\n useEffect(() => {\r\n const element = document;\r\n\r\n const currentHandler = (e) => {\r\n return triggerHandler(handler, e);\r\n };\r\n\r\n element.addEventListener('paste', currentHandler);\r\n\r\n return () => {\r\n element.removeEventListener('paste', currentHandler);\r\n };\r\n }, [handler]);\r\n\r\n return null;\r\n};\r\n\r\nconst PasteListenerWrapper: React.FC = ({ handler, ...rest }) => {\r\n if (handler) {\r\n return ;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport default PasteListenerWrapper;","import React, { PropsWithChildren, ReactElement, useState, useCallback } from 'react';\r\nimport theme from './AttachmentList.module.scss';\r\nimport { Trans } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { without } from 'lodash-es';\r\nimport FileData from 'utils/FileData';\r\nimport { getUniqueId, classnames } from 'utils/html';\r\nimport { faUpload } from '@fortawesome/pro-light-svg-icons';\r\nimport { AttachmentLike, AttachmentListPropsWithUrls } from '.';\r\nimport FileUpload from 'components/generic-controls/FileUpload';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { OptionalId, ChangedItem, FileMetadata } from 'types';\r\nimport FileUploadWizard, { BuyerFileUploadWizard } from 'components/FileUploadWizard/FileUploadUnitDocuments';\r\nimport { useIsBuyer } from 'utils/hooks';\r\nimport AttachmentListItem from './AttachmentListItem';\r\nimport PasteListenerWrapper from './PasteListener';\r\n\r\nfunction AttachmentList>({\r\n value,\r\n onChange,\r\n onItemChange,\r\n canAdd = true,\r\n canEdit = true,\r\n canDelete = true,\r\n allowPaste = false,\r\n showVisibilityFlags = false,\r\n useUploadWizard = false,\r\n urlGenerator,\r\n ownerProfileId,\r\n residentialUnitId,\r\n itemsPerRow = 2,\r\n editMode,\r\n}: PropsWithChildren>): ReactElement | null {\r\n const [isOpen, setIsOpen] = useState(false);\r\n const isBuyer = useIsBuyer();\r\n\r\n const handleFileDrop = useCallback(\r\n (files: any[]) => {\r\n var addedAttachments: any[] = files\r\n .map((x) => (x instanceof FileData ? x : new FileData(x)))\r\n .map((file) => ({\r\n name: file.fileName,\r\n fileData: file,\r\n fileMetadata: FileMetadata.fromFileData(file),\r\n _localId: getUniqueId(),\r\n }));\r\n\r\n triggerHandler(onChange, [...value, ...addedAttachments]);\r\n },\r\n [onChange, value]\r\n );\r\n\r\n const handleAttachmentChange = (change: ChangedItem) => {\r\n triggerHandler(onChange, change.updateArray(value));\r\n triggerHandler(onItemChange, change);\r\n };\r\n\r\n const handleAttachmentDelete = (attachment: T) => {\r\n triggerHandler(onChange, without(value, attachment));\r\n };\r\n\r\n const handlePaste = useCallback(\r\n (e: ClipboardEvent) => {\r\n if (e.clipboardData && e.clipboardData.files && e.clipboardData.files.length > 0) {\r\n handleFileDrop(Array.from(e.clipboardData.files));\r\n e.preventDefault();\r\n }\r\n },\r\n [handleFileDrop]\r\n );\r\n\r\n if (value.length === 0 && !canEdit && !canAdd) {\r\n return null;\r\n }\r\n\r\n const itemWidth = `calc(100% / ${itemsPerRow} - 20px)`;\r\n\r\n return (\r\n
    \r\n {allowPaste && canAdd && }\r\n {value.map((att) => (\r\n
  • \r\n \r\n
  • \r\n ))}\r\n\r\n {canAdd && (\r\n
  • \r\n {useUploadWizard ? (\r\n <>\r\n
    setIsOpen(true)} className={theme.fileUploadButton}>\r\n \r\n Add attachment\r\n
    \r\n {/* */}\r\n {isBuyer ? (\r\n setIsOpen(false)}\r\n isOpen={isOpen}\r\n onFileChange={handleFileDrop}\r\n />\r\n ) : (\r\n setIsOpen(false)}\r\n isOpen={isOpen}\r\n onFileChange={handleFileDrop}\r\n />\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 AttachmentList;\r\n","import React from 'react';\r\nimport { ChangeRequestAttachment } from 'types';\r\nimport { getOpenChangeRequestAttachmentUrl } from 'services/change-requests';\r\nimport AttachmentList from 'components/AttachmentList/AttachmentList';\r\nimport { AttachmentListProps } from 'components/AttachmentList';\r\n\r\nconst ChangeRequestAttachmentList: React.FC> = ({ ...rest }) => {\r\n return (\r\n \r\n {...rest}\r\n urlGenerator={(att) => getOpenChangeRequestAttachmentUrl(att.id)}\r\n />\r\n );\r\n};\r\n\r\nexport default ChangeRequestAttachmentList;","import React, { useState } from 'react';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { submitChangeRequest, SubmitChangeRequestOptions } from 'services/buyer-dashboard';\r\nimport { ValidationForm, ValidatingTextArea, ValidatingInput, ValidationSummary } from 'components/forms/validation';\r\nimport { Button } from 'components/Buttons';\r\nimport { Dispatch } from 'redux';\r\nimport { IState } from 'state/IState';\r\nimport theme from './BuyerChangeRequestCreate.module.scss';\r\nimport { triggerHandler } from 'utils/events';\r\nimport ChangeRequestAttachmentList from 'seller/components/change-requests/ChangeRequestAttachmentList';\r\nimport { ChangeRequestAttachment } from 'types';\r\nimport { Modal, ModalBody, ModalHeader } from 'components/Modal';\r\nimport { connect } from 'react-redux';\r\nimport Banner from 'components/Banner';\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({});\r\nconst mapStateToProps = (state: IState) => ({\r\n residentialUnitId: state.buyer.permissions!.residentialUnitId,\r\n});\r\n\r\ntype Props = ReturnType &\r\n ReturnType & {\r\n isOpen: boolean;\r\n onClose(): void;\r\n onSubmit?: (id: number) => void;\r\n };\r\n\r\nconst BuyerChangeRequestCreate: React.FC = ({ residentialUnitId, onSubmit, isOpen, onClose }) => {\r\n const [saving, setSaving] = useState(false);\r\n const [subject, setSubject] = useState('');\r\n const [description, setDescription] = useState('');\r\n const [attachments, setAttachments] = useState([]);\r\n\r\n const handleSubmit = async (e) => {\r\n e.preventDefault();\r\n const request: SubmitChangeRequestOptions = {\r\n subject,\r\n description,\r\n attachments,\r\n };\r\n\r\n setSaving(true);\r\n\r\n try {\r\n const changeRequestId = await submitChangeRequest(residentialUnitId, request);\r\n triggerHandler(onClose);\r\n triggerHandler(onSubmit, changeRequestId);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n const reset = () => {\r\n setSubject('');\r\n setDescription('');\r\n setAttachments([]);\r\n };\r\n\r\n return (\r\n \r\n \r\n
\r\n Create a new change request\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Title}\r\n required\r\n className=\"form-control\"\r\n placeholder={t`What is the change about? Also, a text that will help you find again this change request easily.`}\r\n value={subject}\r\n name=\"subject\"\r\n onChange={(e) => setSubject(e.target.value)}\r\n />\r\n
\r\n
\r\n \r\n Description}\r\n required\r\n className=\"form-control\"\r\n rows={6}\r\n placeholder={t`Describe in your own words what you would like us to do with your home. Be as descriptive as possible.`}\r\n value={description}\r\n name=\"description\"\r\n onChange={(e) => setDescription(e.target.value)}\r\n />\r\n
\r\n \r\n \r\n Attachments that can help the contractors understand your request may save time for all of us,\r\n and will help us provide you quickly with an offer for what you actually want.\r\n \r\n \r\n
\r\n setAttachments(newValue)}\r\n allowPaste\r\n />\r\n
\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 connect(mapStateToProps, mapDispatchToProps)(BuyerChangeRequestCreate);","import React from 'react';\r\nimport theme from './Indicator.module.scss';\r\nimport { IndicatorProps } from '.';\r\n\r\nconst Indicator: React.FC = ({ children, className, color }) => {\r\n const classNames: string[] = [theme.indicator];\r\n\r\n if (className) {\r\n classNames.push(className);\r\n }\r\n\r\n if (color) {\r\n classNames.push(theme[color]);\r\n }\r\n\r\n return {children};\r\n};\r\n\r\nexport default Indicator;\r\n","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { BuyerOfferStatus } from 'types';\r\nimport { BaseStatusIndicatorProps } from '.';\r\nimport Indicator, { IndicatorColor } from 'components/Indicator';\r\n\r\ninterface BuyerOfferStatusIndicatorProps extends BaseStatusIndicatorProps {\r\n value: BuyerOfferStatus;\r\n}\r\n\r\nconst colorMap: { [key in BuyerOfferStatus]: IndicatorColor } = {\r\n Pending: 'warning',\r\n Rejected: 'danger',\r\n Accepted: 'success',\r\n Retracted: 'info',\r\n Canceled: 'info',\r\n};\r\n\r\nconst BuyerOfferStatusIndicator: React.FC = ({ value, children, ...rest }) => {\r\n return (\r\n \r\n {children || }\r\n \r\n );\r\n};\r\n\r\nexport default BuyerOfferStatusIndicator;","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { SellerChangeRequestStatus } from 'types';\r\nimport { BaseStatusIndicatorProps } from '.';\r\nimport { IndicatorColor } from 'components/Indicator';\r\nimport { faExclamation, faQuestion, faCheck, faArrowRight, faTimes, faMinus, IconDefinition } from '@fortawesome/free-solid-svg-icons';\r\nimport { IconIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface ChangeRequestStatusIndicatorProps extends BaseStatusIndicatorProps {\r\n value: SellerChangeRequestStatus;\r\n}\r\n\r\nconst sellerColorMap: { [key in SellerChangeRequestStatus]: IndicatorColor } = {\r\n Unassigned: 'danger',\r\n AwaitingOffers: 'warning',\r\n ReadyToSend: 'warning',\r\n SentToBuyer: 'warning',\r\n AcceptedByBuyer: 'success',\r\n // AcceptedBySeller : 'success',\r\n Rejected: 'danger',\r\n Closed: 'secondary',\r\n CanceledBySeller: 'danger',\r\n Archived: 'secondary',\r\n};\r\n\r\nconst sellerIconMap: { [key in SellerChangeRequestStatus]: IconDefinition | null } = {\r\n Unassigned: faExclamation,\r\n AwaitingOffers: faQuestion,\r\n ReadyToSend: faCheck,\r\n SentToBuyer: faArrowRight,\r\n AcceptedByBuyer: faCheck,\r\n // AcceptedBySeller : 'success',\r\n Rejected: faTimes,\r\n Closed: faMinus,\r\n CanceledBySeller: faTimes,\r\n Archived: null,\r\n};\r\n\r\nconst ChangeRequestStatusIndicator: React.FC = ({\r\n value,\r\n children,\r\n ...rest\r\n}) => {\r\n return (\r\n \r\n {children || }\r\n \r\n );\r\n};\r\n\r\nexport default ChangeRequestStatusIndicator;","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { BuyerChangeRequestStatus } from 'types';\r\nimport { BaseStatusIndicatorProps } from '.';\r\nimport Indicator, { IndicatorColor } from 'components/Indicator';\r\n\r\ninterface ChangeRequestStatusIndicatorProps extends BaseStatusIndicatorProps {\r\n value: BuyerChangeRequestStatus;\r\n}\r\nconst buyerColorMap: { [key in BuyerChangeRequestStatus]: IndicatorColor } = {\r\n RequestSent: 'warning',\r\n OfferReceived: 'warning',\r\n OfferAccepted: 'success',\r\n OfferRejected: 'danger',\r\n Closed: 'secondary',\r\n};\r\n\r\nconst ChangeRequestStatusIndicator: React.FC = ({\r\n value,\r\n children,\r\n ...rest\r\n}) => {\r\n return (\r\n \r\n {children || }\r\n \r\n );\r\n};\r\n\r\nexport default ChangeRequestStatusIndicator;","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { BaseStatusIndicatorProps } from '.';\r\nimport Indicator, { IndicatorColor } from 'components/Indicator';\r\nimport { DocumentStatus } from 'types';\r\n\r\ninterface StatusIndicatorProps extends BaseStatusIndicatorProps {\r\n value: DocumentStatus;\r\n isArchived: boolean;\r\n}\r\n\r\nconst colorMap: { [key in DocumentStatus]: IndicatorColor } = {\r\n Pending: 'warning',\r\n Rejected: 'danger',\r\n Approved: 'success',\r\n};\r\n\r\nconst DocumentStatusIndicator: React.FC = ({ value, isArchived, children, ...rest }) => {\r\n if (isArchived) {\r\n return (\r\n \r\n Archived\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n {children || }\r\n \r\n );\r\n};\r\n\r\nexport default DocumentStatusIndicator;","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { BaseStatusIndicatorProps } from '.';\r\nimport Indicator, { IndicatorColor } from 'components/Indicator';\r\nimport { BuyerOptionGroupStatus } from 'types';\r\n\r\ninterface StatusIndicatorProps extends BaseStatusIndicatorProps {\r\n value: BuyerOptionGroupStatus;\r\n}\r\n\r\nconst colorMap: { [key in BuyerOptionGroupStatus]: IndicatorColor } = {\r\n Pending: 'warning',\r\n Rejected: 'danger',\r\n Approved: 'success',\r\n};\r\n\r\nconst BuyerOptionGroupStatusIndicator: React.FC = ({ value, children, ...rest }) => {\r\n return (\r\n \r\n {children || }\r\n \r\n );\r\n};\r\n\r\nexport default BuyerOptionGroupStatusIndicator;","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { BaseStatusIndicatorProps } from '.';\r\nimport Indicator, { IndicatorColor } from 'components/Indicator';\r\nimport { ExternalAgreementStatus } from 'types';\r\n\r\ninterface StatusIndicatorProps extends BaseStatusIndicatorProps {\r\n value: ExternalAgreementStatus;\r\n}\r\n\r\nconst colorMap: { [key in ExternalAgreementStatus]: IndicatorColor } = {\r\n Pending: 'warning',\r\n Rejected: 'danger',\r\n Approved: 'success',\r\n Canceled: 'danger',\r\n};\r\n\r\nconst ExternalAgreementStatusIndicator: React.FC = ({ value, children, ...rest }) => {\r\n return (\r\n \r\n {children || }\r\n \r\n );\r\n};\r\n\r\nexport default ExternalAgreementStatusIndicator;","import React from 'react';\r\nimport theme from './Badge.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\nconst BadgeList: React.FC<{ className?: string }> = ({ children, className }) => {\r\n return
{children}
;\r\n};\r\n\r\nexport default BadgeList;\r\n","import React from 'react';\r\nimport theme from './Badge.module.scss';\r\nimport { PillBadgeProps } from '.';\r\n\r\nconst PillBadge: React.FC = ({ children, className, color, fill = false, size = 'normal' }) => {\r\n const classNames: string[] = [theme.badge, theme.pill, theme[size]];\r\n\r\n if (className) {\r\n classNames.push(className);\r\n }\r\n\r\n if (color) {\r\n classNames.push(theme[color]);\r\n }\r\n\r\n if (fill) {\r\n classNames.push(theme.fill);\r\n }\r\n\r\n return {children};\r\n};\r\n\r\nexport default PillBadge;\r\n","import React from 'react';\r\nimport theme from './Badge.module.scss';\r\nimport { BorderBadgeProps } from '.';\r\n\r\nexport default React.forwardRef(\r\n ({ children, className, color, size = 'normal', ...rest }, ref) => {\r\n const classNames: string[] = [theme.badge, theme.border, theme[size]];\r\n\r\n if (className) {\r\n classNames.push(className);\r\n }\r\n\r\n if (color) {\r\n classNames.push(theme[color]);\r\n }\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n);\r\n\r\n","import React, { ReactElement } from 'react';\r\nimport theme from './ProfileAndUserDisplay.module.scss';\r\nimport { ProfileIcon, UserIcon } from 'components/Icons';\r\n\r\ninterface ProfileAndUserDisplayProps {\r\n profileName?: string;\r\n profileId?: number;\r\n userName?: string;\r\n userId?: number;\r\n showUserAvatar?: boolean;\r\n icons?: 'auto' | 'user' | 'profile' | 'both';\r\n mode?: 'user' | 'profile';\r\n prependContent?: ReactElement;\r\n appendContent?: ReactElement;\r\n}\r\n\r\nconst ProfileAndUserDisplay: React.FC = ({\r\n profileId,\r\n profileName,\r\n userId,\r\n userName,\r\n icons = 'auto',\r\n mode = 'profile',\r\n prependContent,\r\n appendContent,\r\n}) => {\r\n const shouldShowIcon = (type: 'user' | 'profile') => {\r\n return (mode === type && icons === 'auto') || icons === type || icons === 'both';\r\n };\r\n\r\n const textElement =\r\n mode === 'profile' ? (\r\n \r\n {profileName} {userName && {userName}}\r\n \r\n ) : (\r\n \r\n {userName} {profileName && {profileName}}\r\n \r\n );\r\n\r\n return (\r\n
\r\n {profileId && shouldShowIcon('profile') && }\r\n {userId && shouldShowIcon('user') && }\r\n\r\n \r\n {prependContent}\r\n {textElement}\r\n {appendContent}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ProfileAndUserDisplay;\r\n","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport theme from './BuyerChangeRequestParticipantOfferLines.module.scss';\r\nimport { BuyerOfferLine } from 'types';\r\nimport { sumBy } from 'lodash-es';\r\nimport { BuyerCurrencyDisplay } from '../BuyerCurrencyDisplay';\r\nimport ItemCategoryDisplay from 'components/item-categories/ItemCategoryDisplay';\r\n\r\ninterface BuyerChangeRequestParticipantOfferLinesProps {\r\n offerLines: BuyerOfferLine[] | null;\r\n}\r\n\r\nconst BuyerChangeRequestParticipantOfferLines: React.FC = ({ offerLines }) => {\r\n if (!offerLines || offerLines.length === 0) {\r\n return null;\r\n }\r\n\r\n const renderTotalPrice = () => {\r\n return x.finalPrice!)} />;\r\n };\r\n\r\n return (\r\n
\r\n
\r\n Price breakdown\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {offerLines.map((line) => (\r\n \r\n \r\n\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n Description\r\n \r\n Category\r\n \r\n Amount\r\n
{line.description}\r\n \r\n \r\n \r\n
\r\n Subtotal\r\n {renderTotalPrice()}
\r\n
\r\n );\r\n};\r\n\r\nexport default BuyerChangeRequestParticipantOfferLines;\r\n","import React, { useState } from 'react';\r\nimport theme from './BuyerChangeRequestOfferGroup.module.scss';\r\nimport { ChangeRequestProgressInfoOfferGroup } from 'types';\r\nimport { getOpenBuyerOfferAttachmentUrl } from 'services/buyer-offers';\r\nimport ProfileAndUserDisplay from 'components/ProfileAndUserDisplay';\r\nimport { Trans } from '@lingui/macro';\r\nimport AttachmentList from 'components/AttachmentList';\r\nimport { ExpandableCard, ExpandableCardHandle, CardSection } from 'components/Cards';\r\nimport { getOpenChangeRequestAttachmentUrl } from 'services/change-requests';\r\nimport { BuyerCurrencyDisplay } from 'buyer/components/BuyerCurrencyDisplay';\r\nimport { BuyerChangeRequestParticipantOfferLines } from 'buyer/components/BuyerChangeRequestParticipantOfferLines';\r\n\r\ninterface BuyerChangeRequestOfferGroupProps {\r\n group: ChangeRequestProgressInfoOfferGroup;\r\n isPreview?: boolean;\r\n}\r\n\r\nconst BuyerChangeRequestOfferGroup: React.FC = ({ group, isPreview }) => {\r\n const [expanded, setExpanded] = useState(true);\r\n\r\n const isEmpty = !group.note && group.attachments.length === 0 && (!group.offerLines || group.offerLines.length === 0);\r\n\r\n const renderExpandContent = () => {\r\n const getAttachmentUrl = isPreview ? getOpenChangeRequestAttachmentUrl : getOpenBuyerOfferAttachmentUrl;\r\n\r\n return (\r\n
\r\n {group.note && (\r\n <>\r\n
\r\n Offer message\r\n
\r\n
{group.note}
\r\n \r\n )}\r\n {group.offerLines && group.offerLines.length > 0 && (\r\n \r\n )}\r\n\r\n {group.attachments.length > 0 && (\r\n <>\r\n
\r\n Attachments\r\n
\r\n getAttachmentUrl(att.id)}\r\n canEdit={false}\r\n canAdd={false}\r\n />\r\n \r\n )}\r\n
\r\n );\r\n };\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n {group.price != null && (\r\n Total} right className=\"text-right\">\r\n \r\n \r\n )}\r\n\r\n {isEmpty ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default BuyerChangeRequestOfferGroup;\r\n","import React from 'react';\r\nimport theme from './BuyerChangeRequestOfferGroupList.module.scss';\r\nimport { ChangeRequestProgressInfoOfferGroup } from 'types';\r\nimport BuyerChangeRequestOfferGroup from './BuyerChangeRequestOfferGroup';\r\n\r\ninterface BuyerChangeRequestOfferGroupListProps {\r\n groups: ChangeRequestProgressInfoOfferGroup[];\r\n isPreview?: boolean;\r\n}\r\n\r\nconst BuyerChangeRequestOfferGroupList: React.FC = ({ groups, ...rest }) => {\r\n if (!groups || groups.length === 0) {\r\n return null;\r\n }\r\n\r\n return (\r\n
    \r\n {groups.map((x, index) => (\r\n
  • \r\n \r\n
  • \r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default BuyerChangeRequestOfferGroupList;\r\n","import React, { useState, useRef } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { Button } from 'components/Buttons';\r\nimport { rejectBuyerOffer } from 'services/buyer-dashboard';\r\nimport { ChangeRequestProgressInfoOffer } from 'types';\r\nimport { ValidatingTextArea, ValidationScope, ValidationSummary } from 'components/forms/validation';\r\nimport { useValidationManager } from 'utils/hooks';\r\n\r\ninterface OrderRejectDialogProps {\r\n show: boolean;\r\n residentialUnitId: number;\r\n offer: ChangeRequestProgressInfoOffer;\r\n onClose(): void;\r\n onReject(reason: string): void;\r\n}\r\n\r\nconst BuyerChangeRequestOfferRejectDialog: React.FC = ({\r\n show,\r\n onClose,\r\n onReject,\r\n residentialUnitId,\r\n offer,\r\n}) => {\r\n const [reason, setReason] = useState('');\r\n const [saving, setSaving] = useState(false);\r\n\r\n const focusElementRef = useRef(null);\r\n const validationManager = useValidationManager();\r\n\r\n const handleOpen = () => {\r\n setReason('');\r\n\r\n if (focusElementRef.current) {\r\n focusElementRef.current.focus();\r\n }\r\n };\r\n\r\n const handleRejectClick = async () => {\r\n if (validationManager.validate().length > 0) {\r\n return;\r\n }\r\n\r\n setSaving(true);\r\n try {\r\n await rejectBuyerOffer(residentialUnitId, offer.id, reason);\r\n\r\n triggerHandler(onReject, reason);\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n return (\r\n \r\n \r\n Reject offer\r\n \r\n \r\n \r\n
\r\n \r\n Reason}\r\n placeholder={t`Specify why you are rejecting this offer.`}\r\n onChange={(e) => setReason(e.target.value)}\r\n minRows={4}\r\n maxRows={8}\r\n autoResize\r\n required\r\n />\r\n
\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 BuyerChangeRequestOfferRejectDialog;","import React, { useState } from 'react';\r\nimport theme from './BuyerChangeRequestOffer.module.scss';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ChangeRequestProgressInfoOffer, BuyerOfferStatus } from 'types';\r\nimport { DateTimeDisplay } from 'components/localization';\r\nimport { InternalLinkButton, Button } from 'components/Buttons';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { BuyerOfferStatusIndicator } from 'components/StatusIndicator';\r\nimport BuyerChangeRequestOfferGroupList from './BuyerChangeRequestOfferGroupList';\r\nimport BuyerChangeRequestOfferRejectDialog from './BuyerChangeRequestOfferRejectDialog';\r\nimport ProfileAndUserDisplay from 'components/ProfileAndUserDisplay';\r\nimport { ExpandableCard, CardSection, ExpandableCardHandle } from 'components/Cards';\r\nimport { BuyerCurrencyDisplay } from 'buyer/components/BuyerCurrencyDisplay';\r\n\r\ninterface BuyerChangeRequestOfferProps {\r\n changeRequestId: number;\r\n offer: ChangeRequestProgressInfoOffer;\r\n onChange?(): void;\r\n isPreview?: boolean;\r\n}\r\n\r\nconst BuyerChangeRequestOffer: React.FC = ({\r\n offer,\r\n onChange,\r\n changeRequestId,\r\n isPreview,\r\n}) => {\r\n const [showRejectDialog, setShowRejectDialog] = useState(false);\r\n const permissions = useSelector((state: IState) => state.buyer.permissions!);\r\n const [expanded, setExpanded] = useState(\r\n offer.status === BuyerOfferStatus.Pending || offer.status === BuyerOfferStatus.Accepted\r\n );\r\n\r\n const handleReject = async () => {\r\n triggerHandler(onChange);\r\n };\r\n\r\n const renderButtons = () => {\r\n if (!onChange) {\r\n return null;\r\n }\r\n\r\n if (offer.status === BuyerOfferStatus.Pending) {\r\n return (\r\n
\r\n setShowRejectDialog(true)}\r\n color=\"danger\">\r\n Reject\r\n \r\n\r\n \r\n Go to sign and send\r\n \r\n\r\n {!isPreview && (\r\n setShowRejectDialog(false)}\r\n onReject={handleReject}\r\n />\r\n )}\r\n
\r\n );\r\n }\r\n\r\n return null;\r\n // return ;\r\n };\r\n\r\n const renderContent = () => {\r\n return (\r\n
\r\n {/*
\r\n \r\n \r\n \r\n \r\n
*/}\r\n
\r\n {isPreview ? Offer : Offer #{offer.id}}\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n {offer.note || (\r\n \r\n No description\r\n \r\n )}\r\n
\r\n\r\n \r\n\r\n
\r\n Total price\r\n \r\n \r\n \r\n
\r\n\r\n {renderButtons()}\r\n
\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {!isPreview && (\r\n Offer ID} right width=\"100px\">\r\n #{offer.id}\r\n \r\n )}\r\n Offer Status} right width=\"120px\">\r\n \r\n \r\n Total} right className=\"text-right\" width=\"100px\">\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BuyerChangeRequestOffer;\r\n","import React, { useState, useEffect } from 'react';\r\nimport theme from './BuyerChangeRequestView.module.scss';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Modal, ModalHeader, ModalBody } from 'components/Modal';\r\nimport { BuyerChangeRequestStatus, ChangeRequestProgressInfo } from 'types';\r\nimport ChangeRequestAttachmentList from 'seller/components/change-requests/ChangeRequestAttachmentList';\r\nimport { Button } from 'components/Buttons';\r\nimport { addAttachmentToChangeRequest } from 'services/buyer-dashboard';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\n\r\ntype Props = {\r\n isOpen: boolean;\r\n handleCloseClick: () => void;\r\n changeRequest: ChangeRequestProgressInfo;\r\n};\r\n\r\nconst BuyerChangeRequestView: React.FC = ({ isOpen, handleCloseClick, changeRequest }) => {\r\n const [staticAttachments, setStaticAttachments] = useState(changeRequest.attachments);\r\n const permissions = useSelector((state: IState) => state.buyer.permissions!);\r\n\r\n useEffect(() => {\r\n setStaticAttachments(changeRequest.attachments);\r\n }, [changeRequest]);\r\n\r\n const canAdd = permissions.canModify && changeRequest.status === BuyerChangeRequestStatus.RequestSent;\r\n return (\r\n \r\n \r\n Change request details #{changeRequest.changeRequestId}\r\n \r\n \r\n
{changeRequest.subject}
\r\n

{changeRequest.description}

\r\n\r\n {canAdd && (\r\n \r\n You can add more attachments to the request.\r\n \r\n )}\r\n\r\n {\r\n var newAttachments = await addAttachmentToChangeRequest(\r\n permissions.residentialUnitId,\r\n changeRequest.changeRequestId,\r\n attachments.filter((a) => !a.id)\r\n );\r\n setStaticAttachments(staticAttachments.concat(newAttachments));\r\n }}\r\n value={staticAttachments}\r\n />\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default BuyerChangeRequestView;\r\n","import React, { useState, useCallback } from 'react';\r\nimport theme from './FileUploadWizard.module.scss';\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from 'components/Modal';\r\nimport FileUpload from 'components/generic-controls/FileUpload';\r\nimport FileData from 'utils/FileData';\r\nimport { Button } from 'components/Buttons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { TranslatableText } from 'types';\r\nimport FileUploadUnitDocuments from './FileUploadUnitDocuments/FileUploadUnitDocuments';\r\nimport { getOpenDocumentUrl } from 'services/documents';\r\nimport { LoadingOverlay, notEmptyPredicate } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { SimpleWizard, SimpleWizardStep } from 'components/SimpleWizard';\r\nimport { LargeRadio } from 'components/forms/Radio';\r\n\r\nexport interface ChatFileUploadWizardProps {\r\n isOpen: boolean;\r\n onFileChange(files: FileData[]): void;\r\n toggle(): void;\r\n initialFileData?: FileData | null;\r\n residentialUnitId?: number;\r\n disableDocumentAccess?: boolean;\r\n}\r\nenum Step {\r\n Intro,\r\n UnitFileSelect,\r\n}\r\n\r\nexport const ChatFileUploadWizard: React.FC = ({\r\n isOpen,\r\n onFileChange,\r\n toggle,\r\n residentialUnitId,\r\n disableDocumentAccess = false,\r\n}) => {\r\n const [selectedVersionId, setSelectedVersionId] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [uploadMode, setUploadMode] = useState<'filesystem' | 'document'>('filesystem');\r\n\r\n const reset = () => {\r\n setIsLoading(false);\r\n setSelectedVersionId(null);\r\n setUploadMode('filesystem');\r\n };\r\n\r\n const handleOpen = () => {\r\n reset();\r\n };\r\n\r\n const handleClose = () => {\r\n toggle();\r\n };\r\n\r\n const handleFileSubmit = async (files: File[]) => {\r\n setIsLoading(true);\r\n const droppedFileData = files.filter((x) => x.size > 0).map((x) => new FileData(x));\r\n triggerHandler(onFileChange, droppedFileData);\r\n toggle();\r\n setIsLoading(false);\r\n };\r\n\r\n const handleDocumentSubmit = async () => {\r\n setIsLoading(true);\r\n\r\n if (!selectedVersionId) {\r\n return;\r\n }\r\n const file = await FileData.download(getOpenDocumentUrl(selectedVersionId));\r\n\r\n triggerHandler(onFileChange, [file]);\r\n toggle();\r\n setIsLoading(false);\r\n };\r\n\r\n return (\r\n \r\n \r\n Upload an attachment\r\n \r\n \r\n setUploadMode('filesystem')} checked={uploadMode === 'filesystem'}>\r\n \r\n Upload from this computer\r\n Find and upload a file from your computer.\r\n \r\n \r\n {residentialUnitId && (\r\n setUploadMode('document')}\r\n checked={uploadMode === 'document'}>\r\n \r\n Upload from unit documents\r\n Find and upload an existing unit document, to browse and select the document version you want,\r\n click on 'Show details'.\r\n \r\n \r\n )}\r\n\r\n {uploadMode === 'document' && (\r\n setSelectedVersionId(versionId)}\r\n residentialUnitId={residentialUnitId || 0}\r\n />\r\n )}\r\n \r\n\r\n \r\n {uploadMode === 'filesystem' ? (\r\n \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 React from 'react';\r\nimport theme from './DocumentListItemShort.module.scss';\r\nimport { BaseDocument, ResidentialUnitDocument } from 'types';\r\nimport { getOpenDocumentUrl } from 'services/documents';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faBuilding, faHome, faEyeSlash } from '@fortawesome/pro-light-svg-icons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { useDocumentType } from 'utils/hooks';\r\nimport { FileIcon } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface DocumentListItemShortProps {\r\n document: BaseDocument;\r\n}\r\n\r\nconst DocumentListItemShort: React.FC = ({ document }) => {\r\n const renderTypeIcon = () => {\r\n return (\r\n \r\n );\r\n };\r\n const documentType = useDocumentType(document.documentTypeId);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n {renderTypeIcon()}\r\n {documentType && documentType.name}\r\n
\r\n \r\n {document.name} | v {document.versionCount + 1}\r\n \r\n \r\n {(document as ResidentialUnitDocument).hideFromBuyer && (\r\n \r\n \r\n hidden from buyer\r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DocumentListItemShort;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport theme from './CommentTopBarUnitDocuments.module.scss';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { ResidentialUnitDocument } from 'types';\r\nimport { getResidentialUnitDocuments } from 'services/documents';\r\nimport { faFileSearch } from '@fortawesome/pro-light-svg-icons';\r\nimport { Dropdown } from 'components/Dropdown';\r\nimport { classnames } from 'utils/html';\r\nimport DocumentListItemShort from 'seller/components/documents/DocumentListItemShort';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport { useTimestamp } from 'utils/hooks';\r\n\r\ninterface CommentTopBarUnitDocumentsProps {\r\n residentialUnitId: number;\r\n}\r\n\r\nconst CommentTopBarUnitDocuments: React.FC = ({ residentialUnitId }) => {\r\n const [documents, setDocuments] = useState(null);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const getRequestRef = useRef | null>(null);\r\n useEffect(() => {\r\n async function loadData() {\r\n getRequestRef.current = getResidentialUnitDocuments(residentialUnitId);\r\n setDocuments(await getRequestRef.current);\r\n getRequestRef.current = null;\r\n }\r\n\r\n if (isOpen && !documents && !getRequestRef.current) {\r\n loadData();\r\n }\r\n\r\n return function () {\r\n getRequestRef.current = null;\r\n };\r\n }, [isOpen, residentialUnitId, documents]);\r\n\r\n const tooltipKey = useTimestamp([isOpen]); //temporary fix for tooltip not closing on click outside\r\n\r\n return (\r\n Residential unit documents}>\r\n \r\n setIsOpen(state)}\r\n open={isOpen}\r\n placement=\"bottom-end\"\r\n label={''}>\r\n
\r\n Residential unit documents\r\n
\r\n
\r\n {documents === null ? (\r\n \r\n ) : (\r\n documents.map((d) => )\r\n )}\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CommentTopBarUnitDocuments;\r\n","import React, { useMemo, useRef, useState } from 'react';\r\nimport {\r\n CommentThread,\r\n CommentThreadProps,\r\n CommentThreadType,\r\n ThreadInfo,\r\n TopBarButtonsDefintion,\r\n UploadAttachmentFile,\r\n} from '@ygtechnologies/bygr-frontend-chat';\r\nimport { ChatFileUploadWizard } from 'components/FileUploadWizard';\r\nimport { AttachmentResolver } from '@ygtechnologies/bygr-frontend-chat/dist/components/CommentThread/CommentThread';\r\nimport { Trans } from '@lingui/macro';\r\nimport CommentTopBarUnitDocuments from './CommentTopBarUnitDocuments';\r\nimport theme from './CommentThreadWrapper.module.scss';\r\nimport { classnames } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport interface CommentThreadWrapperProps extends Omit {\r\n disableDocumentAccess?: boolean;\r\n variant?: CommentThreadWrapperVariant;\r\n}\r\n\r\ntype CommentThreadWrapperVariant = 'default' | 'flat' | 'buyer';\r\n\r\nexport const CommentThreadWrapper: React.FC = ({\r\n onThreadLoad,\r\n disableDocumentAccess = false,\r\n wrapperClassName,\r\n variant = 'default',\r\n ...rest\r\n}) => {\r\n const [uploadOpen, setUploadOpen] = useState(false);\r\n const attachmentContinue = useRef(null);\r\n const [threadInfo, setThreadInfo] = useState();\r\n\r\n const handleAttachmentOpen = (cont: AttachmentResolver) => {\r\n attachmentContinue.current = cont;\r\n setUploadOpen(true);\r\n };\r\n\r\n const handleThreadLoad = (info: ThreadInfo) => {\r\n onThreadLoad?.(info);\r\n setThreadInfo(info);\r\n };\r\n\r\n const buttons = useMemo(() => {\r\n const showUnitDocuments = threadInfo && !threadInfo.isBuyer && threadInfo.type !== CommentThreadType.Project;\r\n if (showUnitDocuments) {\r\n return [\r\n (context) => ,\r\n 'show-attachments',\r\n ];\r\n }\r\n return ['show-attachments'];\r\n }, [threadInfo]);\r\n\r\n return (\r\n <>\r\n \r\n\r\n {\r\n attachmentContinue.current!(files.map((x) => new UploadAttachmentFile(x)));\r\n }}\r\n isOpen={uploadOpen}\r\n toggle={() => {\r\n setUploadOpen(false);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n","import React, { useMemo } from 'react';\r\nimport { IState } from 'state/IState';\r\nimport { useSelector } from 'react-redux';\r\nimport { ExtractProps, ProjectFeature, ProjectFeatureMode } from 'types';\r\nimport { Trans } from '@lingui/macro';\r\nimport { CommentThread } from '@ygtechnologies/bygr-frontend-chat';\r\nimport { CommentThreadWrapper } from 'components/Comments/CommentThreadWrapper';\r\n\r\n// interface BuyerCommentsWrapperProps {}\r\ntype BuyerCommentsWrapperProps = Omit, 'profileId' | 'readOnly'>;\r\nconst BuyerChat: React.FC = ({ ...rest }) => {\r\n const projectData = useSelector((state: IState) => state.buyer.projectData);\r\n const permissions = useSelector((state: IState) => state.buyer.permissions);\r\n\r\n const isReadOnly = !permissions?.canModify;\r\n const showReadOnlyMessage = !!projectData?.isInReadOnlyMode;\r\n\r\n const disableDocumentAccess = !projectData?.features?.some(\r\n (x) => x.feature === ProjectFeature.Documents && x.mode === ProjectFeatureMode.Enabled\r\n );\r\n\r\n const warnings = useMemo(() => {\r\n if (showReadOnlyMessage) {\r\n return [This unit is in read only mode.];\r\n }\r\n\r\n return [];\r\n }, [showReadOnlyMessage]);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default BuyerChat;\r\n","import React from 'react';\r\nimport theme from './CreateCommentThreadModalFollowerSelect.module.scss';\r\nimport { PossibleChatFollower, SimplifiedBuyerUser } from 'types';\r\nimport Select, { components } from 'react-select';\r\nimport { UserIcon, ProfileIcon } from 'components/Icons';\r\nimport { classnames } from 'utils/html';\r\nimport { t } from '@lingui/macro';\r\n\r\nconst Option = (props) => {\r\n const data: PossibleChatFollower = props.data;\r\n return (\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
{data.name}
\r\n
{data.profileName}
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst MultiValueLabel = (props) => {\r\n const data: PossibleChatFollower = props.data;\r\n return (\r\n
\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nconst styles = {\r\n multiValueRemove: (base, state) => {\r\n return state.data.isFixed ? { ...base, display: 'none' } : base;\r\n },\r\n};\r\n\r\ninterface CreateCommentThreadModalFollowerSelectProps {\r\n users: PossibleChatFollower[];\r\n value: number[];\r\n onChange(selectedUnits: number[]): void;\r\n buyers: SimplifiedBuyerUser[];\r\n}\r\n\r\nconst CreateCommentThreadModalFollowerSelect: React.FC = ({\r\n users,\r\n value,\r\n onChange,\r\n buyers,\r\n}) => {\r\n const fixedOptions = users.map((u) => ({ value: u.projectMemberId, label: u.name, ...u }));\r\n const fixedValue = fixedOptions.filter((u) => value.some((v) => +v === u.projectMemberId));\r\n\r\n const fixedBuyers: Partial[] = buyers.map((b) => ({\r\n applicationUserId: b.userId!,\r\n name: b.displayName,\r\n label: b.displayName,\r\n value: b.userId,\r\n email: b.email,\r\n isFixed: true,\r\n }));\r\n\r\n const handleChange = (newValue, actionMetaData) => {\r\n if (!newValue || !Array.isArray(newValue)) {\r\n onChange([]);\r\n } else {\r\n onChange(newValue.filter((nw) => !nw.isFixed).map((nw) => nw.value));\r\n }\r\n };\r\n return (\r\n 0}\r\n options={fixedOptions}\r\n components={{ Option, MultiValueLabel }}\r\n />\r\n );\r\n};\r\n\r\nexport default CreateCommentThreadModalFollowerSelect;","import React from 'react';\r\nimport theme from './MaxLengthValidatingInput.module.scss';\r\nimport { InputProps } from 'components/generic-controls/Input';\r\nimport { ValidationComponentProps, ValidatingInput } from 'components/forms/validation';\r\n\r\nexport type MaxLengthValidatingInputProps = InputProps & ValidationComponentProps & { maxLength: number; value: string };\r\n/**\r\n * Same as props as ValidatingInput, but also includes a \"counter\" for how many letters you have remaining\r\n */\r\nconst MaxLengthValidatingInput: React.FC = ({ maxLength, value, ...rest }) => {\r\n return (\r\n
\r\n \r\n {maxLength - (value as string).length ?? 0}\r\n
\r\n );\r\n};\r\n\r\nexport default MaxLengthValidatingInput;\r\n","import { IdNamePair, ResidentialUnitDashboardData, ResidentialUnitSpending } from './../types';\r\nimport { request } from 'utils/ajax';\r\nimport {\r\n ResidentialUnit,\r\n PricingFieldValue,\r\n BuyerInfo,\r\n ResidentialUnitExtraData,\r\n OptionalId,\r\n ProjectTag,\r\n ResidentialUnitDeadline,\r\n} from 'types';\r\nimport FileData from 'utils/FileData';\r\nimport { BuyerOptionGroupsToUnlinkData } from 'seller/components/residential-units/ResidentialUnitImport/ResidentialUnitImport';\r\nimport { UserSalutation, UserTitle } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport interface ResidentialUnitSearchOptions {\r\n floors?: string[];\r\n layoutTypes?: string[];\r\n tagIds?: number[];\r\n groupIds?: number[];\r\n searchText?: string;\r\n sold?: boolean | null;\r\n hasDeadline?: number[];\r\n hasUnsentOptions?: boolean | null;\r\n}\r\nexport function getResidentialUnitsByProjectIdWithExtraData(\r\n projectId: number,\r\n searchOptions?: ResidentialUnitSearchOptions\r\n): Promise {\r\n return request(`api/project/${projectId}/residential-units-extra-data`, {\r\n query: searchOptions,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getResidentialUnitsByProjectId(projectId: number): Promise {\r\n return request(`api/project/${projectId}/residential-units`).then((x) => x.json());\r\n}\r\nexport function getResidentialUnitExtraData(residentialUnitId: number): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}/extra-data`).then((x) => x.json());\r\n}\r\n\r\nexport function getResidentialDashboardData(residentialUnitId: number): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}/dashboard`).then((x) => x.json());\r\n}\r\n\r\nexport function getResidentialUnit(residentialUnitId: number): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}`).then((x) => x.json());\r\n}\r\n\r\nexport function getDeadlinesForResidentialUnit(residentialUnitId): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}/deadlines`).then((x) => x.json());\r\n}\r\n\r\nexport function getDeadlineForResidentialUnitAndDeadline(\r\n residentialUnitId: number,\r\n deadlineId: number\r\n): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}/deadlines/${deadlineId}`).then((x) => x.json());\r\n}\r\n\r\nexport function saveResidentialUnitDeadlines(\r\n residentialUnitId: number,\r\n deadlines: ResidentialUnitDeadline[]\r\n): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}/deadlines`, {\r\n method: 'PUT',\r\n json: true,\r\n body: { deadlines },\r\n }).then((x) => x.json());\r\n}\r\n\r\nfunction createResidentialUnit(\r\n residentialUnit: Partial,\r\n pricingFieldValues: PricingFieldValue[] | null = null,\r\n projectTags: OptionalId[]\r\n): Promise {\r\n return request(`api/residential-unit`, {\r\n method: 'POST',\r\n json: true,\r\n body: { ...residentialUnit, pricingFieldValues, projectTags },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function updateResidentialUnit(\r\n residentialUnitId: number,\r\n residentialUnit: Partial,\r\n pricingFieldValues: PricingFieldValue[] | null = null,\r\n projectTags: OptionalId[],\r\n buyerOptionsGroupIdsToUnlink?: number[]\r\n): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}`, {\r\n method: 'PUT',\r\n json: true,\r\n body: { ...residentialUnit, pricingFieldValues, projectTags, buyerOptionsGroupIdsToUnlink },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function createOrUpdateResidentialUnit(\r\n residentialUnit: Partial,\r\n pricingFieldValues: PricingFieldValue[] | null = null,\r\n projectTags: OptionalId[]\r\n): Promise {\r\n return residentialUnit.id\r\n ? updateResidentialUnit(residentialUnit.id, residentialUnit, pricingFieldValues, projectTags)\r\n : createResidentialUnit(residentialUnit, pricingFieldValues, projectTags);\r\n}\r\n\r\nexport function deleteResidentialUnit(residentialUnitId: number) {\r\n return request(`api/residential-unit/${residentialUnitId}`, {\r\n method: 'DELETE',\r\n });\r\n}\r\n\r\nexport interface InviteBuyerOptions {\r\n inviteeEmail?: string | null;\r\n inviteePhoneNumber?: string | null;\r\n inviteeSalutation: UserSalutation | null;\r\n inviteeTitle: UserTitle | null;\r\n inviteeFirstName: string;\r\n inviteeLastName: string;\r\n // sendEmail: boolean;\r\n sendSms: boolean;\r\n}\r\n\r\nexport function inviteResidentialUnitBuyer(residentialUnitId: number, invitations: InviteBuyerOptions[]) {\r\n return request(`api/buyer-invitation`, {\r\n method: 'POST',\r\n json: true,\r\n body: { residentialUnitId, invitations },\r\n });\r\n}\r\n\r\nexport interface ResendBuyerInviteOptions {\r\n sendEmail: boolean;\r\n sendSms: boolean;\r\n}\r\n\r\nexport function resendResidentialUnitBuyerInvitation(buyerInvitationId: number, options: ResendBuyerInviteOptions) {\r\n return request(`api/buyer-invitation/${buyerInvitationId}/resend`, {\r\n method: 'POST',\r\n json: true,\r\n body: options,\r\n });\r\n}\r\n\r\nexport function cancelResidentialUnitBuyerInvitation(buyerInvitationId: number) {\r\n return request(`api/buyer-invitation/${buyerInvitationId}`, {\r\n method: 'DELETE',\r\n });\r\n}\r\n\r\nexport function removeResidentialUnitBuyer(residentialUnitId: number, applicationUserId: number) {\r\n return request(`api/residential-unit/${residentialUnitId}/buyers/${applicationUserId}`, {\r\n method: 'DELETE',\r\n });\r\n}\r\n\r\nexport function getResidentialUnitBuyerInfo(residentialUnitId: number): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}/buyers`).then((x) => x.json());\r\n}\r\n\r\nexport interface ResidentialUnitImportRow {\r\n id: number | null;\r\n rowNumber: number;\r\n residentialUnitName: string;\r\n residentialUnitGroup: string;\r\n residentialUnitType: string;\r\n floor: string;\r\n layoutType: string;\r\n pricingFields: { name: string; value: number | null }[];\r\n tags: string[];\r\n customFields: { name: string; value: string }[];\r\n}\r\n\r\nexport function parseResidentialUnitImportText(projectId: number, stringData: string): Promise {\r\n return request(`api/residential-unit/import/parse/text`, {\r\n method: 'POST',\r\n json: true,\r\n body: { projectId, stringData },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function parseResidentialUnitImportExcel(projectId: number, file: FileData): Promise {\r\n return request(`api/residential-unit/import/parse/excel`, {\r\n method: 'POST',\r\n json: true,\r\n body: { projectId, file },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function importResidentialUnits(\r\n projectId: number,\r\n data: ResidentialUnitImportRow[],\r\n buyerOptionGroupsToUnlinkData: BuyerOptionGroupsToUnlinkData[]\r\n) {\r\n return request(`api/residential-unit/import`, {\r\n method: 'POST',\r\n json: true,\r\n body: { projectId, data, buyerOptionGroupsToUnlinkData },\r\n });\r\n}\r\n\r\nexport function getResidentialUnitTodo(residentialUnitId) {\r\n return request(`api/residential-unit/${residentialUnitId}/todo`).then((x) => x.json());\r\n}\r\n\r\nexport function getResidentialUnitSpending(residentialUnitId): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}/spending`).then((x) => x.json());\r\n}\r\n\r\nexport interface UnitPresetSelection {\r\n residentialUnitId: number;\r\n presetSelections: PresetSelection[];\r\n}\r\nexport interface PresetSelection {\r\n presetGroup: IdNamePair;\r\n selectedPreset: IdNamePair;\r\n}\r\n\r\nexport function getResidentialUnitPresetSelections(residentialUnitId: number): Promise {\r\n return request(`api/residential-unit/${residentialUnitId}/preset-selections`).then((x) => x.json());\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Modal, ModalHeader, ModalFooter, ModalBody } from 'components/Modal';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { Button } from 'components/Buttons';\r\nimport { ValidationForm, ValidationSummary } from 'components/forms/validation';\r\nimport { addCommentThread, getPossibleChatFollowers } from 'services/comments';\r\nimport Banner from 'components/Banner';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport CreateCommentThreadModalFollowerSelect from './CreateCommentThreadModalFollowerSelect/CreateCommentThreadModalFollowerSelect';\r\nimport MaxLengthValidatingInput from 'components/MaxLengthValidatingInput';\r\nimport { PossibleChatFollower, SimplifiedBuyerUser } from 'types';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { getResidentialUnitExtraData } from 'services/residential-units';\r\nimport { useIsBuyer, useValidationManager } from 'utils/hooks';\r\nimport {\r\n addCommentThreadAsBuyer,\r\n getPossibleChatFollowersAsBuyer,\r\n getResidentialUnitBuyerUsers,\r\n} from 'services/buyer-dashboard';\r\nimport { Radio } from 'components/forms/Radio';\r\nimport { getUniqueId } from 'utils/html';\r\n\r\ninterface CreateCommentThreadModalProps {\r\n isOpen: boolean;\r\n toggle(): void;\r\n residentialUnitId: number;\r\n onCreate(threadId: number): void;\r\n}\r\n\r\nconst CreateCommentThreadModal: React.FC = ({\r\n isOpen,\r\n toggle,\r\n residentialUnitId,\r\n onCreate,\r\n}) => {\r\n const [threadVisibilityType, setThreadVisibilityType] = useState<'Buyer' | 'Internal' | null>(null);\r\n\r\n const project = useSelector((state: IState) => state.global.activeProject);\r\n const projectId = project?.id;\r\n const isBuyer = useIsBuyer();\r\n\r\n const [threadName, setThreadName] = useState('');\r\n const [selectedFollowerProjectMemberIds, setSelectedFollowerProjectMemberIds] = useState([]);\r\n const [possibleFollowers, setPossibleFollowers] = useState(null);\r\n const [buyerUsers, setBuyerUsers] = useState(null);\r\n const includesBuyer = threadVisibilityType === 'Buyer';\r\n\r\n const validationManager = useValidationManager([\r\n {\r\n isValid: (value, options) => threadVisibilityType !== null,\r\n message: ({ field }) => Select either buyer or internal thread,\r\n summaryMessage: ({ field }) => Select either buyer or internal thread,\r\n },\r\n ]);\r\n\r\n const reset = () => {\r\n setThreadVisibilityType(null);\r\n setThreadName('');\r\n setSelectedFollowerProjectMemberIds([]);\r\n };\r\n\r\n const handleOpen = async () => {\r\n reset();\r\n\r\n const [members, bUsers] = await Promise.all([\r\n isBuyer\r\n ? getPossibleChatFollowersAsBuyer(residentialUnitId)\r\n : getPossibleChatFollowers(projectId!, includesBuyer),\r\n isBuyer\r\n ? getResidentialUnitBuyerUsers(residentialUnitId)\r\n : (await getResidentialUnitExtraData(residentialUnitId)).buyerInfo.users,\r\n ]);\r\n\r\n setPossibleFollowers(members);\r\n setBuyerUsers(bUsers);\r\n\r\n if (isBuyer) {\r\n setThreadVisibilityType('Buyer');\r\n }\r\n\r\n // const currentMember = members.find((x) => x.applicationUserId === currentUserId);\r\n // if (currentMember) {\r\n // setSelectedFollowerProjectMemberIds([currentMember.projectMemberId]);\r\n // }\r\n };\r\n\r\n const handleCreate = async () => {\r\n const threadId = isBuyer\r\n ? await addCommentThreadAsBuyer(residentialUnitId, threadName, selectedFollowerProjectMemberIds)\r\n : await addCommentThread(residentialUnitId, threadName, includesBuyer, selectedFollowerProjectMemberIds);\r\n onCreate(threadId);\r\n toggle();\r\n };\r\n\r\n const radioName = getUniqueId();\r\n\r\n const renderContent = () => {\r\n if ((!project && !isBuyer) || !possibleFollowers || !buyerUsers) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n {!isBuyer && (\r\n
\r\n
\r\n setThreadVisibilityType('Buyer')}\r\n checked={threadVisibilityType === 'Buyer'}>\r\n Buyer thread\r\n \r\n
\r\n
\r\n setThreadVisibilityType('Internal')}\r\n checked={threadVisibilityType === 'Internal'}>\r\n Internal thread\r\n \r\n
\r\n
\r\n )}\r\n\r\n \r\n \r\n
\r\n\r\n \r\n You can add a user to a thread by tagging them in a message by using '@'.\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Create a new message thread\r\n {/* {isBuyer ? (\r\n ) : includesBuyer ? (\r\n Create a new buyer message thread\r\n ) : (\r\n Create a new internal message thread\r\n )} */}\r\n \r\n\r\n {renderContent()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CreateCommentThreadModal;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport theme from './BuyerUnitChat.module.scss';\r\nimport { Trans } from '@lingui/macro';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { CommentThreadType } from 'types';\r\nimport { orderBy } from 'lodash-es';\r\nimport { useIsMobile } from 'utils/hooks';\r\nimport { RouteComponentProps } from 'react-router';\r\nimport Breadcrumbs from 'components/layout/Breadcrumbs';\r\nimport { CreateCommentThreadModal } from 'components/CreateCommentThreadModal';\r\nimport BuyerChat from './BuyerChat';\r\nimport { getProjectHeaderImageUrl } from 'services/projects';\r\nimport { CommentThreadList } from '@ygtechnologies/bygr-frontend-chat';\r\nimport BuyerPageTitle from '../BuyerPageTitle/BuyerPageTitle';\r\n\r\ninterface BuyerUnitChatProps extends RouteComponentProps {\r\n activeChatId?: string;\r\n}\r\n\r\nconst BuyerUnitChat: React.FC = ({ activeChatId, history }) => {\r\n const [createThreadIsOpen, setCreateThreadIsOpen] = useState(false);\r\n\r\n const residentialUnitId = useSelector((state: IState) => state.buyer.permissions!.residentialUnitId);\r\n const threads = useSelector((state: IState) => state.buyer.commentThreads);\r\n const isMobile = useIsMobile();\r\n\r\n const projectData = useSelector((state: IState) => state.buyer.projectData);\r\n const relevantThreads = useMemo(() => {\r\n const filteredThreads = threads.filter((t) => t.type === CommentThreadType.ResidentialUnit);\r\n return orderBy(filteredThreads, [(o) => o.lastMessageDate || '', (o) => o.threadId], ['desc', 'asc']);\r\n }, [threads]);\r\n\r\n const activeThread = activeChatId ? relevantThreads.find((x) => x.threadId === +activeChatId) : null;\r\n\r\n useEffect(() => {\r\n if (activeChatId && !activeThread) {\r\n history.replace(`/chat`);\r\n }\r\n\r\n if (!activeChatId && relevantThreads.length > 0 && !isMobile) {\r\n history.replace(`/chat/${relevantThreads[0].threadId}`);\r\n }\r\n }, [relevantThreads, activeChatId, activeThread, isMobile, history]);\r\n\r\n const handleNewThreadCreated = async (threadId: number) => {\r\n // await loadData();\r\n history.push(`/chat/${threadId}`);\r\n };\r\n\r\n if (!relevantThreads || !projectData) {\r\n return ;\r\n }\r\n\r\n const showBackgroundImage = !isMobile && projectData?.showBackgroundImageOnMessages;\r\n\r\n return (\r\n <>\r\n \r\n Messages\r\n \r\n
\r\n {showBackgroundImage && (\r\n
\r\n \"Background\"\r\n
\r\n )}\r\n
\r\n {(!isMobile || !activeChatId) && (\r\n
\r\n `/chat/${thread.threadId}`}\r\n selectedThreadId={activeChatId ? +activeChatId : null}\r\n threads={relevantThreads}\r\n hideFollowers\r\n classNames={{\r\n thread: theme.thread,\r\n }}\r\n />\r\n
\r\n )}\r\n {activeChatId && (\r\n
\r\n {isMobile && (\r\n \r\n \r\n Messages\r\n \r\n\r\n {activeThread?.name}\r\n \r\n )}\r\n \r\n
\r\n )}\r\n
\r\n
\r\n\r\n setCreateThreadIsOpen(false)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default BuyerUnitChat;\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ChangeRequestProgressInfo, BuyerChangeRequestStatus } from 'types';\r\nimport { DateTimeDisplay } from 'components/localization';\r\nimport { Tabs, LinkTab } from 'components/Tabs';\r\nimport BuyerChangeRequestOffer from './BuyerChangeRequestOffer';\r\nimport BuyerChangeRequestView from './BuyerChangeRequestView';\r\nimport { useIsMobile } from 'utils/hooks';\r\nimport { orderBy } from 'lodash-es';\r\nimport { SimpleCard } from 'components/Cards';\r\nimport { useParams } from 'react-router';\r\nimport theme from './BuyerChangeRequestDetails.module.scss';\r\nimport Breadcrumbs from 'components/layout/Breadcrumbs';\r\nimport { BuyerChat } from '../BuyerChat';\r\nimport { Card } from '@ygtechnologies/rubus-ui';\r\n\r\ninterface Props {\r\n changeRequest: ChangeRequestProgressInfo;\r\n loadData: () => void;\r\n}\r\n\r\nconst BuyerChangeRequestDetails: React.FC = ({ changeRequest, loadData }) => {\r\n const isMobile = useIsMobile();\r\n const [isViewOpen, setIsViewOpen] = useState(false);\r\n const { tabId } = useParams<{ tabId: string }>();\r\n const activeTabId = tabId ? tabId : 'chat';\r\n\r\n return (\r\n <>\r\n
\r\n {isMobile && (\r\n \r\n \r\n Change requests\r\n \r\n\r\n {changeRequest.subject}\r\n \r\n )}\r\n {/* \r\n {isMobile && (\r\n \r\n Change requests\r\n \r\n )} */}\r\n {!isMobile && (\r\n \r\n {changeRequest.subject}\r\n setIsViewOpen(true)}>\r\n Show request\r\n \r\n \r\n )}\r\n {isMobile && (\r\n \r\n
setIsViewOpen(true)}>\r\n {changeRequest.subject}\r\n
\r\n
\r\n Sent on \r\n
\r\n
\r\n )}\r\n\r\n {changeRequest.status === BuyerChangeRequestStatus.Closed && (\r\n \r\n
\r\n

\r\n This change request has been closed\r\n

\r\n
{changeRequest.closeNote}
\r\n
\r\n
\r\n )}\r\n\r\n \r\n Messages}>\r\n \r\n \r\n Offer}>\r\n {changeRequest.offers.length === 0 && (\r\n
\r\n You haven't received any offers yet.\r\n
\r\n )}\r\n {orderBy(changeRequest.offers, 'sendDate', 'desc').map((o) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n setIsViewOpen(false)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default BuyerChangeRequestDetails;\r\n","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { connect, useSelector, useDispatch } from 'react-redux';\r\nimport theme from './BuyerChangeRequests.module.scss';\r\nimport { IState } from 'state/IState';\r\nimport { faPlusCircle, faChevronRight } from '@fortawesome/pro-light-svg-icons';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Trans } from '@lingui/macro';\r\nimport BuyerChangeRequestCreate from './BuyerChangeRequestCreate/BuyerChangeRequestCreate';\r\nimport { CustomLink } from 'components/navigation';\r\nimport BuyerChangeRequestDetails from './BuyerChangeRequestDetails';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { withRouter, RouteComponentProps } from 'react-router';\r\nimport { classnames } from 'utils/html';\r\nimport { useIsMobile } from 'utils/hooks';\r\nimport { ChangeRequestBuyerStatusIndicator } from 'components/StatusIndicator';\r\nimport { ConfirmButton, Button } from 'components/Buttons';\r\nimport NotificationBadge from 'components/NotificationBadge';\r\nimport { orderBy } from 'lodash-es';\r\nimport { BuyerChangeRequestStatus } from 'types';\r\nimport { loadBuyerChangeRequests } from 'state/buyer/changeRequests/creator';\r\nimport { Sticky, StickyContainer } from 'components/Sticky';\r\nimport { isDeadlineInPast } from 'utils/date';\r\nimport BuyerPageTitle from '../BuyerPageTitle/BuyerPageTitle';\r\nimport { Card } from '@ygtechnologies/rubus-ui';\r\n\r\nconst mapDispatchToProps = () => ({});\r\nconst mapStateToProps = (state: IState) => ({\r\n residentialUnitId: state.buyer.permissions!.residentialUnitId,\r\n});\r\n\r\ntype Props = RouteComponentProps &\r\n ReturnType &\r\n ReturnType & {\r\n activeChangeRequestId: string;\r\n };\r\n\r\nconst BuyerChangeRequests: React.FC = ({ residentialUnitId, activeChangeRequestId, history }) => {\r\n const isMobile = useIsMobile();\r\n const [isCreateModalOpen, setIsCreateModalOpen] = useState(false);\r\n const permissions = useSelector((state: IState) => state.buyer.permissions!);\r\n const projectData = useSelector((state: IState) => state.buyer.projectData!);\r\n const commentThreads = useSelector((state: IState) => state.buyer.commentThreads);\r\n const changeRequests = useSelector((state: IState) => state.buyer.changeRequests);\r\n const dispatch = useDispatch();\r\n\r\n const canCreateChangeRequests = projectData.changeRequestDeadline\r\n ? !isDeadlineInPast(projectData.changeRequestDeadline)\r\n : true;\r\n\r\n const mappedChangeRequests = useMemo(\r\n () =>\r\n changeRequests\r\n ? changeRequests.map((cr) => {\r\n const thread = commentThreads.find((ct) => ct.threadId === cr.commentThreadId);\r\n if (thread) {\r\n return {\r\n ...cr,\r\n unreadMessages: thread.unreadMessages,\r\n lastMessageDate: thread.lastMessageDate ? thread.lastMessageDate : '',\r\n };\r\n }\r\n return { ...cr, unreadMessages: 0, lastMessageDate: -1 };\r\n })\r\n : [],\r\n [changeRequests, commentThreads]\r\n );\r\n const sortedChangeRequest = useMemo(\r\n () =>\r\n orderBy(mappedChangeRequests, ['lastMessageDate', 'changeRequestId'], ['desc', 'desc']).sort((a, b) => {\r\n if (a.status === BuyerChangeRequestStatus.OfferReceived) return -1;\r\n if (b.status === BuyerChangeRequestStatus.OfferReceived) return 1;\r\n return 0;\r\n }),\r\n [mappedChangeRequests]\r\n );\r\n\r\n const activeChangeRequest =\r\n changeRequests && activeChangeRequestId\r\n ? changeRequests.find((x) => x.changeRequestId === +activeChangeRequestId)\r\n : null;\r\n\r\n useEffect(() => {\r\n if (!isMobile && !activeChangeRequestId && sortedChangeRequest && sortedChangeRequest.length > 0) {\r\n history.push(`change-requests/${sortedChangeRequest[0].changeRequestId}`);\r\n }\r\n }, [sortedChangeRequest, activeChangeRequestId, isMobile, history]);\r\n\r\n const handleCreated = async (id) => {\r\n dispatch(loadBuyerChangeRequests());\r\n history.push(`/change-requests/${id}`);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n Change requests\r\n \r\n\r\n {sortedChangeRequest ? (\r\n
\r\n {(!isMobile || !activeChangeRequest) && (\r\n \r\n
\r\n \r\n
    \r\n {sortedChangeRequest.map((cr) => (\r\n
  • \r\n \r\n \r\n
    {cr.subject}
    \r\n
    \r\n \r\n \r\n
    \r\n {isMobile && (\r\n \r\n )}\r\n
    \r\n \r\n
  • \r\n ))}\r\n\r\n {permissions.canModify && canCreateChangeRequests && (\r\n
  • \r\n Please note}\r\n confirmButtonText={Continue}\r\n cancelButtonText={Cancel}\r\n icon={faPlusCircle}\r\n iconPosition=\"left\"\r\n onConfirm={() => setIsCreateModalOpen(true)}>\r\n Create a new change request\r\n \r\n
  • \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {activeChangeRequest && (\r\n
\r\n dispatch(loadBuyerChangeRequests())}\r\n changeRequest={activeChangeRequest}\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n\r\n setIsCreateModalOpen(false)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(BuyerChangeRequests));\r\n","import React, { useState, useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport theme from './BuyerChangeRequestSubmit.module.scss';\r\nimport { IState } from 'state/IState';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport {\r\n OfferSignatureInfo,\r\n prepareOfferSignature,\r\n getChangeRequestProgress,\r\n signOfferSignature,\r\n} from 'services/buyer-dashboard';\r\nimport { InternalLinkButton } from 'components/Buttons';\r\nimport StepWizard from 'components/StepWizard';\r\nimport { Step } from 'components/StepWizard/StepWizard';\r\nimport { useIsMobile, useAsyncState } from 'utils/hooks';\r\nimport { getUserSettings } from 'services/users';\r\nimport Alert from 'components/Alert';\r\nimport { SimpleCard } from 'components/Cards';\r\nimport ConfirmIdentity from 'buyer/components/ConfirmIdentity';\r\nimport BuyerChangeRequestOffer from '../BuyerChangeRequestOffer';\r\nimport { requestOneTimeCode } from 'services/signatures';\r\nimport { loadBuyerChangeRequests } from 'state/buyer/changeRequests/creator';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { SimplePageTitle } from 'components/layout/PageTitle';\r\nimport { classnames } from 'utils/html';\r\n\r\ntype Props = {\r\n // buyerOfferId: number;\r\n changeRequestId: number;\r\n buyerOfferId: number;\r\n};\r\n\r\nconst BuyerChangeRequestSubmit: React.FC = ({ changeRequestId, buyerOfferId }) => {\r\n const isMobile = useIsMobile();\r\n const [code, setCode] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n const [sent, setSent] = useState(false);\r\n const [userSettings] = useAsyncState(() => getUserSettings(), [], null);\r\n const projectData = useSelector((state: IState) => state.buyer.projectData!);\r\n const residentialUnitId = useSelector((state: IState) => state.buyer.permissions!.residentialUnitId);\r\n const [oneTimeCodeError, setOneTimeCodeError] = useState(false);\r\n const dispatch = useDispatch();\r\n\r\n const [changeRequest] = useAsyncState(\r\n () => getChangeRequestProgress(residentialUnitId, changeRequestId),\r\n [residentialUnitId, changeRequestId],\r\n null\r\n );\r\n\r\n const [signatureInfo, setSignatureInfo] = useState(null);\r\n\r\n useEffect(() => {\r\n async function loadData() {\r\n if (buyerOfferId) {\r\n setSignatureInfo(await prepareOfferSignature(residentialUnitId, buyerOfferId));\r\n } else {\r\n setSignatureInfo(null);\r\n }\r\n }\r\n\r\n loadData();\r\n }, [residentialUnitId, buyerOfferId]);\r\n\r\n const handleSend = async () => {\r\n setOneTimeCodeError(false);\r\n setLoading(true);\r\n try {\r\n await signOfferSignature(residentialUnitId, signatureInfo!.clientKey, code);\r\n dispatch(loadBuyerChangeRequests());\r\n setSent(true);\r\n return true;\r\n } catch (e: any) {\r\n // Wrong error code\r\n if (e.status === 400) {\r\n // iconToast.error(One time code is not correct, null, { autoClose: false });\r\n setOneTimeCodeError(true);\r\n } else {\r\n // iconToast.error(Something went wrong, null, { autoClose: false });\r\n throw e;\r\n }\r\n return false;\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n if (!signatureInfo || !changeRequest) {\r\n return ;\r\n }\r\n\r\n const buyerOffer = changeRequest.offers.find((x) => x.id === signatureInfo.buyerOfferId)!;\r\n\r\n return (\r\n
\r\n {!isMobile && }\r\n {isMobile && (\r\n <>\r\n \r\n
\r\n Accept offer #{buyerOffer.id}\r\n
\r\n \r\n )}\r\n
\r\n \r\n \r\n Confirm offer #{buyerOffer.id} \"{changeRequest.subject}\"\r\n \r\n }\r\n hideBack\r\n disableNext={userSettings !== null && !userSettings.phoneNumber}\r\n buttonClassName={theme.buttons}\r\n nextText={Confirm this offer}\r\n onNextCallBack={() => requestOneTimeCode(signatureInfo.clientKey)}\r\n buttonSize=\"xlarge\">\r\n \r\n \r\n You are signing now the offer you received for the change request you have sent - \"\r\n {changeRequest.subject}\".\r\n \r\n \r\n \r\n \r\n Click here to sign}\r\n buttonClassName={theme.buttons}\r\n hideBack\r\n nextPreCheck={() => handleSend().then((r) => r)}\r\n // onNextCallBack={handleSend}\r\n title={Confirm Identity}\r\n buttonSize=\"xlarge\">\r\n requestOneTimeCode(signatureInfo.clientKey)}\r\n message={\r\n \r\n Please enter the five digit code that we have sent your to your phone to confirm your\r\n identity as the buyer of {projectData.unitName} at {projectData.projectName}.\r\n \r\n }\r\n />\r\n \r\n Thank you}>\r\n \r\n
\r\n
\r\n Thank you for your order\r\n
\r\n

\r\n \r\n Your order has been placed. You can always see the products you ordered on the budget\r\n page.\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Back to change requests\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default BuyerChangeRequestSubmit;\r\n","import React from 'react';\r\n\r\nexport type CustomSidebarCssNames = {\r\n item?: string;\r\n itemText?: string;\r\n internalLink?: string;\r\n separator?: string;\r\n spacer?: string;\r\n dropdown?: string;\r\n externalLink?: string;\r\n header?: string;\r\n sideBar?: string;\r\n notificationBadge?: string;\r\n mobileNotificationBadge?: string;\r\n};\r\n\r\nexport type NavigationSidebarContextData = {\r\n toggle(open: boolean): void;\r\n open: boolean;\r\n customThemes?: CustomSidebarCssNames;\r\n};\r\n\r\nconst NavigationSidebarContext = React.createContext({\r\n toggle: () => {},\r\n open: false,\r\n});\r\n\r\nexport default NavigationSidebarContext;\r\n\r\n","import React, { useState, useRef, useCallback } from 'react';\r\nimport theme from './NavigationSidebar.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { useClickOutside } from 'utils/hooks';\r\nimport NavigationSidebarContext, { CustomSidebarCssNames, NavigationSidebarContextData } from './NavigationSidebarContext';\r\nimport NotificationBadge from 'components/NotificationBadge';\r\n\r\ninterface NavigationSidebarProps {\r\n position?: 'fixed' | 'static';\r\n disableMobile?: boolean;\r\n customThemes?: CustomSidebarCssNames;\r\n totalNotificationCount?: number;\r\n}\r\n\r\nconst NavigationSidebar: React.FC = ({\r\n children,\r\n position = 'fixed',\r\n disableMobile = false,\r\n customThemes,\r\n totalNotificationCount = 0,\r\n}) => {\r\n const ref = useRef(null);\r\n\r\n const [context, setContext] = useState({\r\n toggle: (newValue) =>\r\n setContext((v) => {\r\n if (newValue !== v.open) {\r\n return { ...v, open: newValue };\r\n }\r\n\r\n return v;\r\n }),\r\n open: false,\r\n customThemes,\r\n });\r\n\r\n const clickOutsideHandler = useCallback((e: MouseEvent) => context.toggle(false), [context]);\r\n\r\n useClickOutside(ref, clickOutsideHandler);\r\n\r\n const hamburgerMenu = (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n\r\n return (\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
{children}
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default NavigationSidebar;\r\n","import React, { ReactElement, useContext } from 'react';\r\nimport theme from './NavigationSidebar.module.scss';\r\nimport { TranslatableText } from 'types';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { classnames } from 'utils/html';\r\nimport NotificationBadge from 'components/NotificationBadge';\r\nimport NavigationSidebarContext from './NavigationSidebarContext';\r\n\r\nexport interface ExternalNavigationSidebarItemProps {\r\n icon?: IconProp;\r\n imageElement?: ReactElement;\r\n text?: TranslatableText;\r\n className?: string;\r\n notificationBadgeNumber?: number | null;\r\n}\r\n\r\ntype Wrapper = ReactElement;\r\n\r\ntype NavigationSidebarItemProps = ExternalNavigationSidebarItemProps & {\r\n wrapper?: Wrapper;\r\n};\r\n\r\nconst NavigationSidebarItem: React.FC = ({\r\n icon,\r\n imageElement,\r\n text,\r\n className,\r\n wrapper,\r\n notificationBadgeNumber = 0,\r\n}) => {\r\n const { customThemes } = useContext(NavigationSidebarContext);\r\n return React.cloneElement(\r\n wrapper ??
,\r\n { className: classnames(theme.item, className, customThemes?.item) },\r\n <>\r\n {icon && }\r\n {imageElement && imageElement}\r\n {text &&
{text}
}\r\n \r\n \r\n );\r\n\r\n // return (\r\n // \r\n // {icon && }\r\n // {imageElement && imageElement}\r\n // {text &&
{text}
}\r\n // \r\n // );\r\n};\r\n\r\nexport default NavigationSidebarItem;\r\n","import React, { useCallback, MouseEventHandler, useContext } from 'react';\r\nimport theme from './NavigationSidebar.module.scss';\r\nimport { CustomNavLink, CustomNavLinkProps } from 'components/navigation';\r\nimport NavigationSidebarItem, { ExternalNavigationSidebarItemProps } from './NavigationSidebarItem';\r\nimport { classnames } from 'utils/html';\r\nimport NavigationSidebarContext from './NavigationSidebarContext';\r\nimport { triggerHandler } from 'utils/events';\r\n\r\ntype NavigationSidebarLinkItemProps = ExternalNavigationSidebarItemProps &\r\n Pick & {\r\n disabled?: boolean;\r\n };\r\n\r\nconst alwaysFalse = () => false;\r\n\r\nconst NavigationSidebarLinkItem: React.FC = ({\r\n to,\r\n isActive,\r\n disabled,\r\n className,\r\n onClick,\r\n ...rest\r\n}) => {\r\n const context = useContext(NavigationSidebarContext);\r\n\r\n const handleClick: MouseEventHandler = useCallback(\r\n (e) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n context.toggle(false);\r\n\r\n triggerHandler(onClick, e);\r\n },\r\n [disabled, context, onClick]\r\n );\r\n\r\n return (\r\n \r\n }\r\n className={classnames(className, { [theme.clickable]: !disabled, [theme.disabled]: disabled })}\r\n {...rest}\r\n />\r\n );\r\n\r\n // return (\r\n // \r\n // {icon && }\r\n // {imageElement && imageElement}\r\n // {text &&
{text}
}\r\n // \r\n // );\r\n};\r\n\r\nexport default NavigationSidebarLinkItem;\r\n","import React, { useContext } from 'react';\r\nimport theme from './NavigationSidebar.module.scss';\r\nimport NavigationSidebarContext from './NavigationSidebarContext';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface NavigationSidebarSeparatorProps {}\r\n\r\nconst NavigationSidebarSeparator: React.FC = (props) => {\r\n const { customThemes } = useContext(NavigationSidebarContext);\r\n return
;\r\n};\r\n\r\nexport default NavigationSidebarSeparator;\r\n","import React from 'react';\r\nimport theme from './NavigationSidebar.module.scss';\r\n\r\ninterface NavigationSidebarSpacerProps {}\r\n\r\nconst NavigationSidebarSpacer: React.FC = (props) => {\r\n return
;\r\n};\r\n\r\nexport default NavigationSidebarSpacer;\r\n","import React, { ReactElement } from 'react';\r\nimport theme from './NavigationContextMenu.module.scss';\r\nimport { TranslatableText } from 'types';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { classnames } from 'utils/html';\r\n\r\nexport interface ExternalNavigationContextMenuItemProps {\r\n icon?: IconProp;\r\n imageElement?: ReactElement;\r\n\r\n title: TranslatableText;\r\n subtitle?: TranslatableText;\r\n clickable?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\ntype HeaderDropdownItemProps = ExternalNavigationContextMenuItemProps & {\r\n wrapper?: Wrapper;\r\n};\r\n\r\ntype Wrapper = ReactElement;\r\n\r\nconst NavigationContextMenuItem: React.FC = ({\r\n wrapper,\r\n imageElement,\r\n icon,\r\n title,\r\n subtitle,\r\n clickable = false,\r\n disabled = false,\r\n}) => {\r\n return React.cloneElement(\r\n wrapper ??
,\r\n { className: classnames(theme.item, { [theme.clickable]: clickable, [theme.disabled]: disabled }), disabled },\r\n <>\r\n
\r\n {icon && }\r\n {imageElement && imageElement}\r\n
\r\n
\r\n {title}\r\n {subtitle}\r\n
\r\n \r\n );\r\n\r\n // return (\r\n //
\r\n // {imageElement && imageElement}\r\n // {icon && }\r\n // {title}\r\n // {subtitle}\r\n //
\r\n // );\r\n};\r\n\r\nexport default NavigationContextMenuItem;\r\n","import React from 'react';\r\n\r\n//Hmm\r\n\r\nexport type NavigationContextMenuContextData = {\r\n toggle(open: boolean): void;\r\n open: boolean;\r\n // setContainer(container: HTMLElement): void;\r\n};\r\n\r\nconst NavigationContextMenuContext = React.createContext({\r\n toggle: () => {},\r\n open: false,\r\n // setContainer: () => {},\r\n});\r\n\r\nexport default NavigationContextMenuContext;\r\n\r\n","import React, { useState, useEffect, useRef, useCallback, ReactNode } from 'react';\r\nimport { useClickOutside } from 'utils/hooks';\r\nimport { classnames } from 'utils/html';\r\nimport theme from './NavigationContextMenu.module.scss';\r\nimport NavigationContextMenuContext, { NavigationContextMenuContextData } from './NavigationContextMenuContext';\r\n\r\nexport interface NavigationContextMenuProps {\r\n open: boolean;\r\n element: ReactNode;\r\n toggle(open: boolean): void;\r\n // position?: 'bottom' | 'right';\r\n className?: string;\r\n menuClassName?: string;\r\n buttonClassName?: string;\r\n fillContainer?: boolean;\r\n size?: 'fit' | 'parent' | 'normal' | 'large';\r\n direction?: 'left' | 'right';\r\n noIcons?: boolean;\r\n}\r\n\r\nconst NavigationContextMenu: React.FC = ({\r\n children,\r\n element,\r\n toggle,\r\n open,\r\n // position = 'bottom',\r\n className,\r\n menuClassName,\r\n buttonClassName,\r\n size = 'normal',\r\n noIcons = false,\r\n direction = 'left',\r\n}) => {\r\n const ref = useRef(null);\r\n const clickOutsideHandler = useCallback((e: MouseEvent) => toggle(false), [toggle]);\r\n\r\n useClickOutside(ref, clickOutsideHandler);\r\n\r\n const [context, setContext] = useState({\r\n toggle,\r\n open: open,\r\n });\r\n\r\n useEffect(() => {\r\n setContext({ toggle, open });\r\n }, [toggle, open]);\r\n\r\n // const [loaded, setLoaded] = useState(false);\r\n // useEffect(() => {\r\n // if (open) {\r\n // setLoaded(true);\r\n // }\r\n // }, [open]);\r\n\r\n return (\r\n \r\n
\r\n toggle(!open)}>\r\n {element}\r\n \r\n\r\n \r\n {children}\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default NavigationContextMenu;\r\n\r\n","import React from 'react';\r\nimport theme from './NavigationContextMenu.module.scss';\r\n\r\ninterface NavigationContextMenuSeparatorProps {}\r\n\r\nconst NavigationContextMenuSeparator: React.FC = () => {\r\n return
;\r\n};\r\n\r\nexport default NavigationContextMenuSeparator;\r\n","import React, { useContext, MouseEventHandler, useCallback } from 'react';\r\nimport theme from './NavigationContextMenu.module.scss';\r\nimport { CustomNavLinkProps, CustomNavLink } from 'components/navigation/base';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport NavigationContextMenuItem, { ExternalNavigationContextMenuItemProps } from './NavigationContextMenuItem';\r\nimport NavigationContextMenuContext from './NavigationContextMenuContext';\r\n\r\ntype NavigationContextMenuInternalLinkItemProps = ExternalNavigationContextMenuItemProps &\r\n Pick & {\r\n icon?: IconProp;\r\n showActiveState?: boolean;\r\n };\r\n\r\nconst NavigationContextMenuInternalLinkItem: React.FC = ({\r\n title,\r\n subtitle,\r\n icon,\r\n imageElement,\r\n children,\r\n disabled,\r\n to,\r\n isActive,\r\n exact,\r\n showActiveState = false,\r\n}) => {\r\n const itemProp: ExternalNavigationContextMenuItemProps = {\r\n title,\r\n subtitle,\r\n icon,\r\n imageElement,\r\n };\r\n\r\n const context = useContext(NavigationContextMenuContext);\r\n\r\n const handleClick: MouseEventHandler = useCallback(\r\n (e) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n context.toggle(false);\r\n },\r\n [context, disabled]\r\n );\r\n\r\n return (\r\n \r\n }>\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default NavigationContextMenuInternalLinkItem;\r\n","import React, { useContext, MouseEventHandler, useCallback } from 'react';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport NavigationContextMenuItem, { ExternalNavigationContextMenuItemProps } from './NavigationContextMenuItem';\r\nimport NavigationContextMenuContext from './NavigationContextMenuContext';\r\nimport { triggerHandler } from 'utils/events';\r\n\r\ntype NavigationContextMenuButtonProps = ExternalNavigationContextMenuItemProps & {\r\n icon?: IconProp;\r\n onClick: MouseEventHandler;\r\n};\r\n\r\nconst NavigationContextMenuButton: React.FC = ({\r\n title,\r\n subtitle,\r\n icon,\r\n imageElement,\r\n children,\r\n disabled,\r\n onClick,\r\n}) => {\r\n const itemProp: ExternalNavigationContextMenuItemProps = {\r\n title,\r\n subtitle,\r\n icon,\r\n imageElement,\r\n };\r\n\r\n const context = useContext(NavigationContextMenuContext);\r\n\r\n const handleClick: MouseEventHandler = useCallback(\r\n (e) => {\r\n triggerHandler(onClick, e);\r\n context.toggle(false);\r\n },\r\n [context, onClick]\r\n );\r\n\r\n return (\r\n \r\n }>\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default NavigationContextMenuButton;\r\n","import React, { useContext, MouseEventHandler, useCallback } from 'react';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport NavigationContextMenuItem, { ExternalNavigationContextMenuItemProps } from './NavigationContextMenuItem';\r\nimport NavigationContextMenuContext from './NavigationContextMenuContext';\r\nimport ExternalLink from 'components/navigation/ExternalLink';\r\nimport { ExternalLinkButtonProps } from 'components/Buttons';\r\n\r\ntype NavigationContextMenuInternalLinkItemProps = ExternalNavigationContextMenuItemProps &\r\n Pick & {\r\n icon?: IconProp;\r\n };\r\n\r\nconst NavigationContextMenuExternalLinkItem: React.FC = ({\r\n title,\r\n subtitle,\r\n icon,\r\n imageElement,\r\n children,\r\n disabled,\r\n href,\r\n target,\r\n}) => {\r\n const itemProp: ExternalNavigationContextMenuItemProps = {\r\n title,\r\n subtitle,\r\n icon,\r\n imageElement,\r\n };\r\n\r\n const context = useContext(NavigationContextMenuContext);\r\n\r\n const handleClick: MouseEventHandler = useCallback(\r\n (e) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n context.toggle(false);\r\n },\r\n [context, disabled]\r\n );\r\n\r\n return (\r\n \r\n }>\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default NavigationContextMenuExternalLinkItem;\r\n","import { withSubComponents } from 'utils/react';\r\nimport NavigationContextMenuItem from './NavigationContextMenuItem';\r\nimport NavigationContextMenu from './NavigationContextMenu';\r\nimport NavigationContextMenuSeparator from './NavigationContextMenuSeparator';\r\nimport NavigationContextMenuInternalLinkItem from './NavigationContextMenuInternalLinkItem';\r\nimport NavigationContextMenuButton from './NavigationContextMenuButton';\r\nimport NavigationContextMenuExternalLinkItem from './NavigationContextMenuExternalLinkItem';\r\n\r\nexport type { NavigationContextMenuProps } from './NavigationContextMenu';\r\nexport { default as NavigationContextMenuContext } from './NavigationContextMenuContext';\r\n\r\nexport default withSubComponents(NavigationContextMenu, {\r\n Item: NavigationContextMenuItem,\r\n InternalLink: NavigationContextMenuInternalLinkItem,\r\n ExternalLink: NavigationContextMenuExternalLinkItem,\r\n Separator: NavigationContextMenuSeparator,\r\n Button: NavigationContextMenuButton,\r\n});","import React from 'react';\r\nimport theme from './NavigationSidebar.module.scss';\r\nimport NavigationContextMenu, { NavigationContextMenuProps } from 'components/layout/NavigationContextMenu';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { classnames } from 'utils/html';\r\nimport { ExternalNavigationSidebarItemProps } from './NavigationSidebarItem';\r\nimport NotificationBadge from 'components/NotificationBadge';\r\n\r\ntype NavigationSidebarDropdownItemProps = ExternalNavigationSidebarItemProps &\r\n Omit & {};\r\n\r\nconst NavigationSidebarDropdownItem: React.FC = ({\r\n icon,\r\n imageElement,\r\n text,\r\n className,\r\n open,\r\n notificationBadgeNumber = 0,\r\n ...rest\r\n}) => {\r\n return (\r\n
\r\n \r\n {icon && }\r\n {imageElement && imageElement}\r\n {text &&
{text}
}\r\n \r\n \r\n }\r\n {...rest}\r\n />\r\n
\r\n );\r\n\r\n // const dropdown = (\r\n // \r\n // {icon && }\r\n // {imageElement && imageElement}\r\n // {text &&
{text}
}\r\n // \r\n // }\r\n // open={open}\r\n // toggle={toggle}>\r\n // {children}\r\n // \r\n // );\r\n\r\n // return {dropdown}
} {...rest} />;\r\n};\r\n\r\nexport default NavigationSidebarDropdownItem;\r\n","import React, { useCallback, MouseEventHandler, useContext } from 'react';\r\nimport theme from './NavigationSidebar.module.scss';\r\nimport NavigationSidebarItem, { ExternalNavigationSidebarItemProps } from './NavigationSidebarItem';\r\nimport { classnames } from 'utils/html';\r\nimport NavigationSidebarContext from './NavigationSidebarContext';\r\nimport { triggerHandler } from 'utils/events';\r\nimport ExternalLink from 'components/navigation/ExternalLink';\r\nimport { ExternalLinkButtonProps } from 'components/Buttons';\r\n\r\ntype NavigationSidebarExternalLinkItemProps = ExternalNavigationSidebarItemProps &\r\n Pick & {\r\n disabled?: boolean;\r\n };\r\n\r\nconst NavigationSidebarExternalLinkItem: React.FC = ({\r\n href,\r\n target,\r\n disabled,\r\n className,\r\n onClick,\r\n ...rest\r\n}) => {\r\n const context = useContext(NavigationSidebarContext);\r\n\r\n const handleClick: MouseEventHandler = useCallback(\r\n (e) => {\r\n if (disabled) {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n context.toggle(false);\r\n\r\n triggerHandler(onClick, e);\r\n },\r\n [disabled, context, onClick]\r\n );\r\n\r\n return (\r\n \r\n }\r\n className={classnames(className, { [theme.clickable]: !disabled, [theme.disabled]: disabled })}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\nexport default NavigationSidebarExternalLinkItem;\r\n","import React, { useContext } from 'react';\r\nimport theme from './NavigationSidebar.module.scss';\r\nimport { TranslatableText } from 'types';\r\nimport { classnames } from 'utils/html';\r\nimport NavigationSidebarContext from './NavigationSidebarContext';\r\n\r\ninterface NavigationSidebarHeaderProps {\r\n text: TranslatableText;\r\n}\r\n\r\nconst NavigationSidebarHeader: React.FC = ({ text }) => {\r\n const { customThemes } = useContext(NavigationSidebarContext);\r\n\r\n return
{text}
;\r\n};\r\n\r\nexport default NavigationSidebarHeader;\r\n","import { withSubComponents } from 'utils/react';\r\nimport NavigationSidebar from './NavigationSidebar';\r\nimport NavigationSidebarItem from './NavigationSidebarItem';\r\nimport NavigationSidebarLinkItem from './NavigationSidebarLinkItem';\r\nimport NavigationSidebarSeparator from './NavigationSidebarSeparator';\r\nimport NavigationSidebarSpacer from './NavigationSidebarSpacer';\r\nimport NavigationSidebarDropdownItem from './NavigationSidebarDropdownItem';\r\nimport NavigationSidebarExternalLinkItem from './NavigationSidebarExternalLinkItem';\r\nimport NavigationSidebarHeader from './NavigationSidebarHeader';\r\n\r\nexport default withSubComponents(NavigationSidebar, {\r\n Item: NavigationSidebarItem,\r\n InternalLink: NavigationSidebarLinkItem,\r\n Separator: NavigationSidebarSeparator,\r\n Spacer: NavigationSidebarSpacer,\r\n Dropdown: NavigationSidebarDropdownItem,\r\n ExternalLink: NavigationSidebarExternalLinkItem,\r\n Header: NavigationSidebarHeader,\r\n});","import React, { useEffect } from 'react';\r\nimport { appNames, envNames, getSanityKeyReturn, querySanityForFeatureKey } from '@ygtechnologies/bygr-frontend-tools';\r\n\r\nexport enum FeatureToggleFlags {\r\n Test = 'test',\r\n ShowReleaseInformation = 'showReleaseInformation',\r\n ValidDependenciesProfile = 'validDependenciesProfile',\r\n ShowCopyProject = 'showCopyProject',\r\n ShowProjectIntegrations = 'showProjectIntegrations',\r\n ShowOptionsBulkOperations = 'showOptionsBulkOperations',\r\n ShowReports = 'showReportsCMProfileIds',\r\n ShowMeetings = 'showMeetings',\r\n ShowProfileSurvey = 'showProfileSurvey',\r\n}\r\n\r\nconst checkIfIdIsInSanityIdList = ({ list, id }: { list: string; id: number | undefined }): boolean => {\r\n if (!id) {\r\n return false;\r\n }\r\n const myArray = list.split(',');\r\n return myArray.includes(id.toString());\r\n};\r\n\r\nexport const useGetFeatureFlag = (featureFlag: FeatureToggleFlags) => {\r\n const [flag, setFlag] = React.useState();\r\n useEffect(() => {\r\n (async () => {\r\n const [key, error] = await querySanityForFeatureKey({\r\n app: appNames.CM,\r\n env: window['APP_CONFIG']['ENVIRONMENT'] as envNames,\r\n key: featureFlag,\r\n });\r\n setFlag(error ? false : key);\r\n })();\r\n }, [featureFlag]);\r\n return flag;\r\n};\r\n\r\nexport const useCheckValidNumber = (featureFlagId: FeatureToggleFlags, number?: number) => {\r\n const [validCustomer, setValidCustomer] = React.useState(false);\r\n const validCustomers = useGetFeatureFlag(featureFlagId) as string;\r\n useEffect(() => {\r\n if (validCustomers && number) {\r\n if (validCustomers === 'all') {\r\n setValidCustomer(true);\r\n return;\r\n }\r\n const validCustomer = checkIfIdIsInSanityIdList({\r\n list: validCustomers,\r\n id: number,\r\n });\r\n setValidCustomer(validCustomer);\r\n }\r\n }, [validCustomers, number]);\r\n return validCustomer;\r\n};\r\n","export default \"__VITE_ASSET__4e2dce7c__\"","import { request, getApiUrl } from 'utils/ajax';\r\n\r\nimport { FileData, getCoreApiUrl, WhiteLabelDto } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { BygrModule } from 'types';\r\n\r\nexport function getWhiteLabelLogoUrl(projectId: number): string {\r\n return getCoreApiUrl() + `/api/project/${projectId}/white-label-logo`;\r\n}\r\n\r\nexport function deleteWhiteLabelLogo(projectId: number): Promise {\r\n return request(getCoreApiUrl() + `/api/project/${projectId}/white-label-logo`, {\r\n method: 'DELETE',\r\n query: { bygrModule: BygrModule.ChangeManagement },\r\n }).then((x) => {});\r\n}\r\n\r\nexport function getWhiteLabelLogoThumbnailUrl(projectId: number): string {\r\n return getCoreApiUrl() + `/api/project/${projectId}/white-label-logo/thumbnail`;\r\n}\r\n\r\nexport function getProjectWhiteLabel(projectId: number): Promise {\r\n return request(`${getCoreApiUrl()}/api/project/${projectId}/white-label`).then((x) => x.json());\r\n}\r\n\r\nexport function saveProjectWhiteLabel(\r\n projectId: number,\r\n whiteLabelData: WhiteLabelDto,\r\n logo: FileData | null\r\n): Promise {\r\n return request(`${getCoreApiUrl()}/api/project/${projectId}/white-label`, {\r\n method: 'POST',\r\n body: { ...whiteLabelData, logo },\r\n json: true,\r\n }).then((x) => x.json());\r\n}\r\n","import {\r\n faArrowTurnDownRight,\r\n faBallotCheck,\r\n faBuilding,\r\n faChartBar,\r\n faCommentsAlt,\r\n faFolders,\r\n faHandshake,\r\n faHouse,\r\n faHouseFlag,\r\n faRulerCombined,\r\n faTools,\r\n faWallet,\r\n IconDefinition,\r\n} from '@fortawesome/pro-light-svg-icons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { BuyerUnitSelector } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Menu } from '@ygtechnologies/rubus-ui';\r\nimport NavigationSidebar from 'components/layout/NavigationSidebar';\r\nimport { CustomLink } from 'components/navigation';\r\nimport React, { useMemo, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { useRouteMatch } from 'react-router';\r\nimport { BuyerMeetingDto, hasConfig } from 'services/booking';\r\nimport { getMyUnitProfiles, getProfileImageThumbnailUrl } from 'services/profiles';\r\nimport { getProjectHeaderImageThumbnailUrl } from 'services/projects';\r\nimport { IState } from 'state/IState';\r\nimport { setActiveProfileId } from 'state/global/creators';\r\nimport {\r\n BuyerChangeRequestStatus,\r\n BuyerProjectData,\r\n BygrModule,\r\n CommentThreadType,\r\n EffectiveProjectFeatureConfiguration,\r\n ProfileUnitInfo,\r\n ProjectDecimalOption,\r\n ProjectFeature,\r\n ProjectFeatureMode,\r\n TranslatableText,\r\n UnitOfMeasurement,\r\n} from 'types';\r\nimport { FeatureToggleFlags, useCheckValidNumber } from 'utils/featureToggle';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { getModuleUrl } from 'utils/returnUrl';\r\nimport theme from './BuyerSidebar.module.scss';\r\nimport logoImage from '/assets/logo-rubus-black.png';\r\nimport { differenceInDays } from 'date-fns';\r\nimport { parseISODate } from 'utils/date';\r\nimport { getWhiteLabelLogoUrl } from 'services/white-label';\r\n\r\nexport interface BuyerSidebarLink {\r\n icon: IconDefinition;\r\n to: string;\r\n label: TranslatableText;\r\n featureType: ProjectFeature;\r\n disabled?: boolean;\r\n numberIconValue?: number;\r\n}\r\n\r\nexport const BuyerSidebarLinks = [\r\n {\r\n featureType: ProjectFeature.LandingPage,\r\n icon: faHouse,\r\n to: `/landing`,\r\n label: Home,\r\n },\r\n {\r\n featureType: ProjectFeature.Dashboard,\r\n to: `/dashboard`,\r\n icon: faChartBar,\r\n label: Dashboard,\r\n },\r\n {\r\n featureType: ProjectFeature.Options,\r\n to: `/options`,\r\n icon: faBallotCheck,\r\n label: Options,\r\n },\r\n {\r\n featureType: ProjectFeature.Budget,\r\n to: `/budget`,\r\n icon: faWallet,\r\n label: Budget,\r\n },\r\n {\r\n featureType: ProjectFeature.ChangeRequests,\r\n to: `/change-requests`,\r\n icon: faRulerCombined,\r\n label: Changes,\r\n },\r\n {\r\n featureType: ProjectFeature.Documents,\r\n to: `/files`,\r\n icon: faFolders,\r\n label: Documents,\r\n },\r\n {\r\n featureType: ProjectFeature.Chat,\r\n to: `/chat`,\r\n icon: faCommentsAlt,\r\n label: Messages,\r\n },\r\n {\r\n featureType: ProjectFeature.Meetings,\r\n to: `/book-meeting`,\r\n icon: faHandshake,\r\n label: Meetings,\r\n },\r\n] as BuyerSidebarLink[];\r\n\r\ninterface BuyerSidebarProps {\r\n previewFeatures?: EffectiveProjectFeatureConfiguration[];\r\n previewProjectId?: number;\r\n}\r\n\r\nfunction getMockProjectData(projectId: number): BuyerProjectData {\r\n return {\r\n unitType: 'Apartment',\r\n sellerProfileName: '',\r\n projectName: '',\r\n projectId: projectId,\r\n deadlines: [],\r\n unitName: '',\r\n address: '',\r\n floor: '',\r\n isInReadOnlyMode: false,\r\n sellerProfileId: 0,\r\n features: null,\r\n changeRequestWarningText: null,\r\n changeRequestDeadline: null,\r\n currencyCode: '',\r\n sellerModules: [],\r\n buyerModules: [],\r\n useWhiteLabel: false,\r\n showBackgroundImageOnMessages: false,\r\n defaultUnitOfMeasurement: UnitOfMeasurement.Centimeter,\r\n optionsTerms: '',\r\n showDefaultTextOnOptions: true,\r\n decimalOption: ProjectDecimalOption.None,\r\n };\r\n}\r\n\r\ninterface BuyerSidebarItemProps {\r\n children: React.ReactNode;\r\n to: string;\r\n icon: IconDefinition;\r\n badgeNumber?: number;\r\n isPreview?: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nconst BuyerSidebarInternalLink: React.FC = ({\r\n isPreview = false,\r\n children,\r\n icon,\r\n badgeNumber,\r\n to,\r\n disabled = false,\r\n}) => {\r\n const match = useRouteMatch(to);\r\n return (\r\n {\r\n if (isPreview) {\r\n e.preventDefault();\r\n }\r\n }}>\r\n {children}\r\n \r\n );\r\n};\r\n\r\nconst BuyerSidebar: React.FC = ({ previewFeatures, previewProjectId }) => {\r\n const projectData = useSelector((state: IState) => state.buyer.projectData || getMockProjectData(previewProjectId ?? 0));\r\n const commentThreads = useSelector((state: IState) => state.buyer.commentThreads);\r\n const changeRequests = useSelector((state: IState) => state.buyer.changeRequests);\r\n const residentialUnitId = useSelector((state: IState) => state.buyer.permissions?.residentialUnitId);\r\n const tasks = useSelector((state: IState) => state.buyer.tasks || []);\r\n const meetings = useSelector((state: IState) => state.buyer.meetings || []);\r\n const features = previewFeatures ?? projectData?.features;\r\n const isPreview = !!previewFeatures;\r\n const aftermarketStartUrl = getModuleUrl(BygrModule.Aftermarket, window.APP_CONFIG);\r\n const showMeetings = useCheckValidNumber(FeatureToggleFlags.ShowMeetings, projectData.projectId) as boolean;\r\n const [hasMeetings] = useAsyncState(async () => await hasConfig(projectData.projectId), [projectData.projectId], false);\r\n const [units, , reloadUnits] = useAsyncState(() => getMyUnitProfiles(), [], []);\r\n const [unitsModalOpen, setIsUnitsModalOpen] = useState(false);\r\n\r\n const dispatch = useDispatch();\r\n const shouldShowMeetings = hasMeetings || showMeetings;\r\n\r\n const checkIfMeetingExpired = (meeting: BuyerMeetingDto) => {\r\n const daysRemaining = differenceInDays(parseISODate(meeting.from), new Date());\r\n if (daysRemaining <= 0) {\r\n return false;\r\n }\r\n if (!meeting.daysBeforeLockConfirmation) {\r\n return true;\r\n }\r\n return daysRemaining - meeting.daysBeforeLockConfirmation > 0;\r\n };\r\n\r\n const notificationsByFeature = useMemo<{ [key in ProjectFeature]?: number }>(() => {\r\n return {\r\n [ProjectFeature.ChangeRequests]: (() => {\r\n const numberOfMessages = commentThreads\r\n .filter((ct) => ct.type === CommentThreadType.ChangeRequest)\r\n .reduce((acc, curr) => acc + curr.unreadMessages, 0);\r\n\r\n const numberOfChangeRequests =\r\n changeRequests?.filter((cr) => cr.status === BuyerChangeRequestStatus.OfferReceived).length ?? 0;\r\n\r\n return numberOfMessages + numberOfChangeRequests;\r\n })(),\r\n [ProjectFeature.Chat]: commentThreads\r\n .filter((ct) => ct.type === CommentThreadType.ResidentialUnit)\r\n .reduce((acc, curr) => acc + curr.unreadMessages, 0),\r\n [ProjectFeature.Options]: tasks.filter((x) => x.status !== 'Sent' && x.canChangeSelection).length,\r\n [ProjectFeature.Meetings]: meetings.filter(\r\n (x) => x.confirmed !== undefined && x.confirmed !== null && !x.confirmed && checkIfMeetingExpired(x)\r\n ).length,\r\n };\r\n }, [commentThreads, changeRequests, tasks, meetings]);\r\n\r\n if (!features) {\r\n return ;\r\n }\r\n\r\n const featureMap = features.reduce((result, item, index, array) => {\r\n result[item.feature] = item.mode;\r\n return result;\r\n }, {}) as { [s in keyof typeof ProjectFeature]: ProjectFeatureMode };\r\n\r\n let totalNotificationCount = (Object.keys(notificationsByFeature) as ProjectFeature[]).reduce((result, feature) => {\r\n const mode = featureMap[feature];\r\n\r\n if (mode === ProjectFeatureMode.Enabled) {\r\n result += notificationsByFeature[feature] || 0;\r\n }\r\n\r\n return result;\r\n }, 0);\r\n\r\n const renderLink = (link: BuyerSidebarLink, index: number) => {\r\n const mode = featureMap[link.featureType];\r\n\r\n if (mode === ProjectFeatureMode.Hidden) {\r\n return null;\r\n }\r\n\r\n if (link.featureType === ProjectFeature.Meetings && !shouldShowMeetings) {\r\n return null;\r\n }\r\n\r\n const notificationCount = mode === ProjectFeatureMode.Enabled ? notificationsByFeature[link.featureType] : 0;\r\n\r\n return (\r\n \r\n {link.label}\r\n \r\n );\r\n };\r\n\r\n if (isPreview) {\r\n return (\r\n \r\n {BuyerSidebarLinks.map(renderLink)}\r\n \r\n );\r\n }\r\n\r\n let projectLogoImage = projectData.useWhiteLabel ? getWhiteLabelLogoUrl(projectData.projectId) : logoImage;\r\n const addDefaultSrc = (ev) => {\r\n const url = getProfileImageThumbnailUrl(projectData.sellerProfileId);\r\n ev.target.src = url;\r\n };\r\n\r\n const thumbnailUrlGenerator = (projectId) => {\r\n return getProjectHeaderImageThumbnailUrl(projectId);\r\n };\r\n\r\n const onSelectProfile = (profile: ProfileUnitInfo) => {\r\n setActiveProfileId(dispatch, profile.profileId);\r\n setIsUnitsModalOpen(false);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {projectData.unitName + ' ' + projectData.projectName}\r\n \r\n\r\n {residentialUnitId && units.length > 1 && (\r\n setIsUnitsModalOpen(true)} icon={faArrowTurnDownRight}>\r\n \r\n All units\r\n \r\n \r\n )}\r\n\r\n \r\n {projectData.buyerModules.length > 1 && (\r\n <>\r\n \r\n Home configuration\r\n \r\n\r\n {projectData.buyerModules.includes(BygrModule.Aftermarket) && (\r\n \r\n Aftermarket\r\n \r\n )}\r\n\r\n \r\n \r\n )}\r\n\r\n {BuyerSidebarLinks.map(renderLink)}\r\n\r\n \r\n \r\n \r\n {residentialUnitId && (\r\n setIsUnitsModalOpen(e)}\r\n isOpen={unitsModalOpen}\r\n onSelectProfile={onSelectProfile}\r\n thumbnailUrlGenerator={thumbnailUrlGenerator}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default BuyerSidebar;\r\n","import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\r\nimport theme from './WhiteLabelColorEditor.module.scss';\r\nimport { ColorPicker, ColorPickerProps, WhiteLabelColorsDto } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { PickMatching } from 'types';\r\nimport { throttle } from 'lodash-es';\r\nimport { t, Trans } from '@lingui/macro';\r\nimport { SlideToggle } from '@ygtechnologies/rubus-ui';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faMinus, faPlus } from '@fortawesome/pro-light-svg-icons';\r\n\r\nexport interface WhiteLabelColorEditorProps {\r\n value: WhiteLabelColorsDto;\r\n onChange(data: WhiteLabelColorsDto): void;\r\n}\r\n\r\nconst Section: React.FC<{ title: string }> = ({ title, children }) => {\r\n const [expanded, setExpanded] = useState(false);\r\n return (\r\n
\r\n \r\n {expanded && children}\r\n
\r\n );\r\n};\r\n\r\ntype ColorKeys = keyof PickMatching;\r\n\r\nconst ThrottledColorPicker: React.FC = ({ onChange, ...rest }) => {\r\n const changeRef = useRef(onChange);\r\n\r\n useEffect(() => {\r\n changeRef.current = onChange;\r\n }, [onChange]);\r\n\r\n const handleChange = useMemo(() => {\r\n return throttle((e) => changeRef.current(e), 15);\r\n }, []);\r\n\r\n return ;\r\n};\r\n\r\nexport const WhiteLabelColorEditor: React.FC = ({ value, onChange }) => {\r\n const handleChange = useCallback(\r\n (prevValue: WhiteLabelColorsDto, changes: Partial) => {\r\n onChange({ ...prevValue, ...changes });\r\n },\r\n [onChange]\r\n );\r\n\r\n const renderColorPicker = (field: ColorKeys, name: string) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n {renderColorPicker('backgroundColor', t`Background`)}\r\n {renderColorPicker('backgroundHighlightColor', t`Background highlight`)}\r\n
\r\n\r\n
\r\n {renderColorPicker('textColor', t`Text`)}\r\n {renderColorPicker('textMutedColor', t`Secondary Text`)}\r\n {renderColorPicker('linkColor', t`Link Text `)}\r\n {renderColorPicker('warningTextColor', t`Warning Text `)}\r\n
\r\n\r\n
\r\n {renderColorPicker('sidebarTextColor', t`Text`)}\r\n {renderColorPicker('sidebarBackgroundColor', t`Background`)}\r\n {renderColorPicker('sidebarHighlightColor', t`Highlight`)}\r\n
\r\n\r\n
\r\n handleChange(value, { shadowEnabled: e.target.checked })}>\r\n Enable shadow\r\n \r\n {value.shadowEnabled && renderColorPicker('shadowColor', t`Shadow color`)}\r\n
\r\n\r\n
\r\n {renderColorPicker('borderColor', t`Border`)}\r\n {renderColorPicker('borderActiveColor', t`Active border`)}\r\n
\r\n\r\n
\r\n {renderColorPicker('buttonColor', t`Primary button color`)}\r\n {renderColorPicker('buttonColorContrast', t`Primary button color contrast`)}\r\n {renderColorPicker('secondaryButtonColor', t`Secondary button color`)}\r\n {renderColorPicker('secondaryButtonColorContrast', t`Secondary button color contrast`)}\r\n
\r\n\r\n
\r\n {renderColorPicker('notificationColor', t`Notification color`)}\r\n {renderColorPicker('notificationColorContrast', t`Notification color contrast`)}\r\n
\r\n
\r\n {renderColorPicker('bannerColor', t`Banner color`)}\r\n {renderColorPicker('bannerColorContrast', t`Banner color contrast`)}\r\n
\r\n
{renderColorPicker('flaggedMessageColor', t`Flagged message`)}
\r\n
\r\n );\r\n};\r\n","import React, { useCallback, useMemo, useState } from 'react';\r\nimport theme from './WhiteLabelEditor.module.scss';\r\nimport { classnames, ValidationForm, WhiteLabelColorsDto, WhiteLabelDto } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Button, extendTheme, rubusTheme, SlideToggle, useThemeStyle } from '@ygtechnologies/rubus-ui';\r\nimport { WhiteLabelColorEditor } from './WhiteLabelColorEditor';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faPalette } from '@fortawesome/pro-light-svg-icons';\r\n\r\nexport interface WhiteLabelEditorProps {\r\n value: T;\r\n onChange(data: T): void;\r\n onSave(data: T): Promise;\r\n onReset?(): Promise;\r\n}\r\n// const WhiteLabelEditor: React.FC\r\nexport function WhiteLabelEditor({ value, onChange, onSave, onReset }: WhiteLabelEditorProps) {\r\n // var { onChange, whiteLabelConfig } = useContext(WhiteLabelEditorContext);\r\n const [saving, setSaving] = useState(false);\r\n const [open, setOpen] = useState(false);\r\n\r\n const handleChange = useCallback(\r\n (prevValue: T, changes: Partial) => {\r\n onChange({ ...prevValue, ...changes });\r\n },\r\n [onChange]\r\n );\r\n\r\n const handleColorChange = useCallback(\r\n (newValue: WhiteLabelColorsDto) => handleChange(value, { colors: newValue }),\r\n [handleChange, value]\r\n );\r\n\r\n const handleSubmit = async () => {\r\n setSaving(true);\r\n await onSave?.(value);\r\n setSaving(false);\r\n };\r\n\r\n const extendedTheme = useMemo(() => {\r\n return extendTheme(rubusTheme, {\r\n // color: { background: '#fff', backgroundHighlight: '#fff' },\r\n override: {\r\n form: {\r\n backgroundColor: (c) => '#fff',\r\n textColor: (c) => c.ref('color.text'),\r\n },\r\n slideToggle: {\r\n activeColor: (c) => c.ref('color.primary[600]'),\r\n inactiveColor: (c) => c.ref('color.backgroundHighlight'),\r\n handleColor: (c) => c.ref('color.grey[0]'),\r\n },\r\n },\r\n });\r\n }, []);\r\n\r\n const themeOverride = useThemeStyle(extendedTheme);\r\n return (\r\n <>\r\n setOpen((prev) => !prev)}>\r\n \r\n \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 React, { useMemo, useState } from 'react';\r\nimport theme from './BuyerWhiteLabelProvider.module.scss';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { useAsyncState, useGetProjectId, useIsMobile } from 'utils/hooks';\r\nimport { getBuyerThemeInfo } from 'services/buyer-dashboard';\r\nimport { BygrModule } from 'types';\r\nimport {\r\n bygrTheme,\r\n Color,\r\n createColorRange,\r\n extendTheme,\r\n RootStyle,\r\n rubusTheme,\r\n useThemeStyle,\r\n} from '@ygtechnologies/rubus-ui';\r\nimport { BuyerContext, BuyerContextData } from 'buyer/BuyerContext';\r\nimport { LoadingIndicator, WhiteLabelDto } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { WhiteLabelEditor } from 'components/WhiteLabelEditor';\r\nimport { saveProjectWhiteLabel } from 'services/white-label';\r\nimport { convertHexToRGBA } from 'utils/color';\r\n\r\nexport interface BuyerWhiteLabelProviderProps {}\r\n\r\nexport const BuyerWhiteLabelProvider: React.FC = ({ children }) => {\r\n const isMobile = useIsMobile();\r\n const projectId = useGetProjectId();\r\n const permissions = useSelector((state: IState) => state.buyer.permissions);\r\n const [whiteLabel, setWhiteLabel, reloadWhiteLabel] = useAsyncState(\r\n () =>\r\n permissions?.residentialUnitId\r\n ? getBuyerThemeInfo(permissions.residentialUnitId, BygrModule.ChangeManagement)\r\n : Promise.resolve(null),\r\n [permissions?.residentialUnitId],\r\n null\r\n );\r\n\r\n const handleWhiteLabelSave = async (data: WhiteLabelDto) => {\r\n if (!projectId) {\r\n return;\r\n }\r\n\r\n await saveProjectWhiteLabel(projectId, data, null);\r\n };\r\n\r\n const noShadows = {\r\n lg: 'none',\r\n md: 'none',\r\n sm: 'none',\r\n xs: 'none',\r\n xl: 'none',\r\n xxl: 'none',\r\n xxs: 'none',\r\n xxxl: 'none',\r\n };\r\n\r\n const theme = useMemo(() => {\r\n if (whiteLabel && whiteLabel.isEnabled) {\r\n const primaryColor = whiteLabel.colors.buttonColor\r\n ? Color.tryParseHex(whiteLabel.colors.buttonColor)\r\n : undefined;\r\n const shadowColor = whiteLabel?.colors.shadowColor || '#000000';\r\n const shadows = {\r\n xs: `0px 1px 2px 0px ${convertHexToRGBA(shadowColor, 0.05)} `,\r\n sm: `0px 1px 2px 0px ${convertHexToRGBA(shadowColor, 0.06)}, 0px 1px 3px 0px ${convertHexToRGBA(shadowColor, 0.1)}`,\r\n md: `0px 2px 4px -2px ${convertHexToRGBA(shadowColor, 0.06)}, 0px 4px 8px -2px ${convertHexToRGBA(shadowColor, 0.1)}`,\r\n lg: `0px 4px 6px -2px ${convertHexToRGBA(shadowColor, 0.03)}, 0px 12px 16px -4px ${convertHexToRGBA(shadowColor, 0.08)}`,\r\n xl: `0px 8px 8px -4px ${convertHexToRGBA(shadowColor, 0.03)}, 0px 20px 24px -4px ${convertHexToRGBA(shadowColor, 0.08)}`,\r\n xxl: `0px 24px 48px -12px ${convertHexToRGBA(shadowColor, 0.18)}`,\r\n xxxl: `0px 32px 64px -12px ${convertHexToRGBA(shadowColor, 0.14)}`,\r\n };\r\n return extendTheme(rubusTheme, {\r\n color: {\r\n primary: primaryColor ? createColorRange(primaryColor, 600) : undefined,\r\n background: whiteLabel.colors.backgroundColor,\r\n contentBackground: whiteLabel.colors.backgroundColor,\r\n\r\n text: whiteLabel.colors.textColor,\r\n textMuted: whiteLabel.colors.textMutedColor,\r\n warning: whiteLabel.colors.warningTextColor,\r\n textLink: whiteLabel.colors.linkColor,\r\n\r\n textDisabled: whiteLabel.colors.textMutedColor,\r\n backgroundHighlight: whiteLabel.colors.backgroundHighlightColor,\r\n border: whiteLabel.colors.borderColor,\r\n borderActive: whiteLabel.colors.borderActiveColor,\r\n },\r\n content: {\r\n // border: (c) => `1px solid ${c.ref('color.border')}`,\r\n border: (c) => (whiteLabel.colors.borderColor ? `1px solid ${c.ref('color.border')}` : 'none'),\r\n },\r\n shadow: whiteLabel.colors.shadowEnabled ? shadows : noShadows,\r\n\r\n override: {\r\n 'task-badge': {\r\n backgroundColor: whiteLabel.colors.notificationColor,\r\n textColor: whiteLabel.colors.notificationColorContrast,\r\n },\r\n 'message-badge': {\r\n backgroundColor: whiteLabel.colors.notificationColor,\r\n textColor: whiteLabel.colors.notificationColorContrast,\r\n },\r\n\r\n form: {\r\n backgroundColor: (c) => c.ref('color.backgroundHighlight'),\r\n textColor: (c) => c.ref('color.text'),\r\n },\r\n\r\n article: {\r\n backgroundColor: (c) => c.ref('color.background'),\r\n secondaryTextColor: (c) => c.ref('color.textMuted'),\r\n pinned: {\r\n pinColor: (c) => c.ref('color.primary'),\r\n secondaryTextColor: (c) => c.ref('color.primary'),\r\n backgroundColor: (c) => c.ref('color.backgroundHighlight'),\r\n },\r\n },\r\n chat: {\r\n backgroundColor: (c) => c.ref('color.background'),\r\n highlightColor: (c) => c.ref('color.backgroundHighlight'),\r\n borderColor: (c) => c.ref('color.border'),\r\n flaggedColor: whiteLabel.colors.flaggedMessageColor,\r\n bannerColor: whiteLabel.colors.bannerColor,\r\n bannerColorContrast: whiteLabel.colors.bannerColorContrast,\r\n inputBackgroundColor: (c) => c.ref('override.form.backgroundColor'),\r\n inputTextColor: (c) => c.ref('override.form.textColor'),\r\n },\r\n menu: {\r\n backgroundColor: whiteLabel.colors?.sidebarBackgroundColor ?? ((c) => c.ref('color.background')),\r\n activeBackgroundColor:\r\n whiteLabel.colors?.sidebarHighlightColor ?? ((c) => c.ref('color.backgroundHighlight')),\r\n activeItemBorder: (c) => `2px solid ${c.ref('color.border')}`,\r\n itemBorder: '2px solid transparent',\r\n textColor: whiteLabel.colors.sidebarTextColor,\r\n },\r\n articleList: {\r\n separatorColor: (c) => c.ref('color.backgroundHighlight'),\r\n },\r\n\r\n card: {\r\n background: (c) => c.ref('color.background'),\r\n border: (c) => c.ref('content.border'),\r\n },\r\n\r\n slideToggle: {\r\n activeColor: whiteLabel.colors?.buttonColor,\r\n inactiveColor: (c) => c.ref('color.background'),\r\n handleColor: whiteLabel.colors?.buttonColorContrast,\r\n border: (c) => `1px solid ${c.ref('color.border')}`,\r\n },\r\n\r\n checkbox: {\r\n checkedColor: whiteLabel.colors?.buttonColor,\r\n uncheckedColor: whiteLabel.colors?.buttonColorContrast,\r\n border: (c) => `1px solid ${c.ref('color.border')}`,\r\n },\r\n survey: {\r\n backgroundColor: (c) => c.ref('color.background'),\r\n }\r\n },\r\n });\r\n }\r\n\r\n return bygrTheme;\r\n }, [whiteLabel]);\r\n\r\n const { styles } = useThemeStyle(theme);\r\n\r\n const buyerContextData = useMemo(() => {\r\n return {\r\n hasCustomBackgroundColor: !!whiteLabel?.colors?.backgroundColor,\r\n };\r\n }, [whiteLabel]);\r\n\r\n if (!whiteLabel) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n {isMobile && }\r\n {whiteLabel.isEnabled && (\r\n //Workaround, remove this when facelift is finished\r\n \r\n )}\r\n {children}\r\n\r\n {permissions?.impersonating && whiteLabel.editable && (\r\n setWhiteLabel({ ...v, editable: whiteLabel.editable })}\r\n onSave={handleWhiteLabelSave}\r\n onReset={reloadWhiteLabel}\r\n />\r\n )}\r\n \r\n \r\n );\r\n};\r\n","import AuthRoute, { AuthRouteConditions } from 'components/app/AuthRoute';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport ProfileInvite from 'components/profile/ProfileInvite';\r\nimport ProfileUserManagement from 'components/profile/ProfileUserManagement';\r\nimport React, { useCallback, useEffect, useMemo } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { Redirect, Switch, useRouteMatch } from 'react-router-dom';\r\nimport LandingPage from './components/LandingPage';\r\n// import NavBar from './components/Sidebar';\r\nimport Budget from './components/Budget';\r\nimport BuyerDashboard from './components/BuyerDashboard';\r\nimport { BuyerDocuments } from './components/BuyerDocuments';\r\nimport BuyerOptions from './components/BuyerOptions';\r\nimport BuyerOptionSubmit from './components/BuyerOptions/BuyerOptionSubmit';\r\nimport UnitSettings from 'components/user-settings/UnitSettings';\r\nimport UserSettings from 'components/user-settings/UserSettings';\r\nimport { loadBuyerChangeRequests } from 'state/buyer/changeRequests/creator';\r\nimport { loadBuyerCommentThreads } from 'state/buyer/commentThreads/creator';\r\nimport { loadBuyerDocumentTypes } from 'state/buyer/document-types/creator';\r\nimport { loadBuyerMeetings } from 'state/buyer/meetings/creator';\r\nimport { setBuyerPermissions } from 'state/buyer/permissions/actions';\r\nimport { loadBuyerPermissions } from 'state/buyer/permissions/creator';\r\nimport { loadProjectData } from 'state/buyer/project-data/creator';\r\nimport { loadTasksWithoutFilter } from 'state/buyer/tasks/creators';\r\nimport { IState } from 'state/IState';\r\nimport { BygrModule, ProjectFeature, ProjectFeatureMode } from 'types';\r\nimport { getModuleUrl } from 'utils/returnUrl';\r\nimport BuyerListener from './BuyerListener';\r\nimport BookMeeting from './components/BookMeeting';\r\nimport BuyerChangeRequests from './components/BuyerChangeRequests/BuyerChangeRequests';\r\nimport BuyerChangeRequestSubmit from './components/BuyerChangeRequests/BuyerChangeRequestSubmit';\r\nimport { BuyerUnitChat } from './components/BuyerChat';\r\nimport BuyerSidebar from './components/BuyerSidebar';\r\nimport { BuyerWhiteLabelProvider } from './components/BuyerWhiteLabelProvider';\r\n// import { elvelyTheme } from './components/elvelyTheme';\r\n\r\nconst profileAdminOnly: AuthRouteConditions = { profile: 'isAdministrator' };\r\ntype BuyerRoutingProps = {\r\n residentialUnitId?: number;\r\n};\r\n\r\nconst BuyerRouting: React.FC = ({ residentialUnitId }) => {\r\n const dispatch = useDispatch();\r\n const projectData = useSelector((state: IState) => state.buyer.projectData);\r\n const profileId = useSelector((state: IState) => state.global.activeProfile!.id);\r\n const permissions = useSelector((state: IState) => state.buyer.permissions);\r\n const match = useRouteMatch();\r\n\r\n var basePath = match!.path === '/' ? '' : match!.path;\r\n\r\n useEffect(() => {\r\n if (residentialUnitId) {\r\n dispatch(\r\n setBuyerPermissions({ residentialUnitId, canModify: false, impersonating: true, isInReadOnlyMode: false })\r\n );\r\n } else if (profileId) {\r\n dispatch(loadBuyerPermissions());\r\n }\r\n\r\n return function cleanup() {\r\n setBuyerPermissions(null);\r\n };\r\n }, [residentialUnitId, profileId, dispatch]);\r\n\r\n useEffect(() => {\r\n if (permissions) {\r\n dispatch(loadProjectData());\r\n dispatch(loadBuyerCommentThreads());\r\n dispatch(loadBuyerChangeRequests());\r\n dispatch(loadBuyerMeetings());\r\n loadTasksWithoutFilter(dispatch, permissions.residentialUnitId);\r\n }\r\n }, [permissions, dispatch]);\r\n\r\n useEffect(() => {\r\n loadBuyerDocumentTypes(dispatch);\r\n }, [dispatch]);\r\n\r\n const canAccessFeature = useCallback(\r\n (feature: ProjectFeature) => {\r\n if (!permissions || !projectData || !projectData.features) {\r\n return false;\r\n }\r\n\r\n if (permissions.impersonating) {\r\n return true;\r\n }\r\n\r\n return projectData.features.some((x) => x.feature === feature && x.mode === ProjectFeatureMode.Enabled);\r\n },\r\n [projectData, permissions]\r\n );\r\n\r\n if (!projectData || !permissions) {\r\n return ;\r\n }\r\n\r\n if (\r\n !permissions.impersonating &&\r\n !projectData.buyerModules.some((x) => x === BygrModule.ChangeManagement) &&\r\n projectData.buyerModules.some((x) => x === BygrModule.Aftermarket)\r\n ) {\r\n window.location.href = getModuleUrl(BygrModule.Aftermarket, window.APP_CONFIG);\r\n return ;\r\n }\r\n\r\n const shouldRedirect = !sessionStorage.getItem('shouldRedirectAM');\r\n if (projectData.buyerModules.some((x) => x === BygrModule.Aftermarket) && shouldRedirect && !permissions.impersonating) {\r\n sessionStorage.setItem('shouldRedirectAM', 'false');\r\n window.location.href = getModuleUrl(BygrModule.Aftermarket, window.APP_CONFIG);\r\n return ;\r\n }\r\n\r\n const initialPagePriority = [\r\n {\r\n feature: ProjectFeature.LandingPage,\r\n route: `${basePath}/landing`,\r\n },\r\n {\r\n feature: ProjectFeature.Dashboard,\r\n route: `${basePath}/dashboard`,\r\n },\r\n {\r\n feature: ProjectFeature.Options,\r\n route: `${basePath}/options`,\r\n },\r\n {\r\n feature: ProjectFeature.Budget,\r\n route: `${basePath}/budget`,\r\n },\r\n {\r\n feature: ProjectFeature.ChangeRequests,\r\n route: `${basePath}/change-requests`,\r\n },\r\n {\r\n feature: ProjectFeature.Documents,\r\n route: `${basePath}/files`,\r\n },\r\n {\r\n feature: ProjectFeature.Chat,\r\n route: `${basePath}/chat`,\r\n },\r\n ];\r\n\r\n const initialFeature = initialPagePriority.filter((x) => canAccessFeature(x.feature))[0];\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 {canAccessFeature(ProjectFeature.LandingPage) && (\r\n \r\n )}\r\n {canAccessFeature(ProjectFeature.Dashboard) && (\r\n \r\n )}\r\n {canAccessFeature(ProjectFeature.Documents) && (\r\n \r\n )}\r\n {canAccessFeature(ProjectFeature.Chat) && (\r\n \r\n )}\r\n {canAccessFeature(ProjectFeature.Options) && [\r\n ,\r\n ,\r\n ]}\r\n {canAccessFeature(ProjectFeature.Budget) && (\r\n \r\n )}\r\n\r\n {canAccessFeature(ProjectFeature.ChangeRequests) && [\r\n ,\r\n ,\r\n ,\r\n ]}\r\n \r\n {/* */}\r\n\r\n {initialFeature && }\r\n {/* */}\r\n\r\n {/* */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BuyerRouting;\r\n","function setNullable(key: string, value: any) {\r\n if (value === null || value === undefined) {\r\n sessionStorage.removeItem(key);\r\n }\r\n\r\n sessionStorage.setItem(key, value);\r\n}\r\n\r\nenum StorageKeys {\r\n ImpersonationResidentialUnitId = 'impersonationResidentialUnitId',\r\n}\r\n\r\nclass BrowserSessionStorage {\r\n get impersonationResidentialUnitId(): number | null {\r\n return +sessionStorage.getItem(StorageKeys.ImpersonationResidentialUnitId)! || null;\r\n }\r\n\r\n set impersonationResidentialUnitId(residentialUnitId: number | null) {\r\n setNullable(StorageKeys.ImpersonationResidentialUnitId, residentialUnitId);\r\n }\r\n}\r\n\r\nexport default new BrowserSessionStorage();","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\n\r\ninterface NoProfilesMessageProps {}\r\n\r\nconst NoProfilesMessage: React.FC = (props) => {\r\n //Need better text here\r\n return (\r\n

\r\n You have no profiles\r\n

\r\n );\r\n};\r\n\r\nexport default NoProfilesMessage;\r\n","import React from 'react';\r\nimport theme from './ProjectList.module.scss';\r\nimport { getProjectHeaderImageThumbnailUrl } from 'services/projects';\r\nimport NotificationBadge from 'components/NotificationBadge';\r\nimport { Project } from 'types';\r\nimport { faCopy } from '@fortawesome/pro-light-svg-icons';\r\nimport { FeatureToggleFlags, useCheckValidNumber } from 'utils/featureToggle';\r\nimport { useGetActiveProfile } from 'utils/hooks';\r\nimport { Button } from 'components/Buttons';\r\nimport { Thumbnail } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface ProjectTileProps {\r\n project: Project;\r\n numberOfTasks?: number | null;\r\n onCopyClicked: () => void;\r\n}\r\n\r\nconst ProjectTile: React.FC = ({ project, numberOfTasks, onCopyClicked }) => {\r\n const onCopy = (e) => {\r\n e.preventDefault();\r\n onCopyClicked();\r\n };\r\n const profile = useGetActiveProfile();\r\n const showCopyProject = useCheckValidNumber(FeatureToggleFlags.ShowCopyProject, profile?.id);\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
{project.name}
\r\n
{project.sellerProfileName}
\r\n
\r\n {showCopyProject &&
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ProjectTile;","import { ProjectOverview } from './../state/seller/project-overview/reducer';\r\nimport { request } from 'utils/ajax';\r\nimport { HttpStatusCode } from 'HttpStatusCodes';\r\nimport { SellerChangeRequestStatus } from 'types';\r\n\r\nexport interface ProjectTaskCount {\r\n documents: number;\r\n projectDocuments: number;\r\n buyerOptionGroups: number;\r\n orders: number;\r\n // changeRequests: number;\r\n}\r\n\r\nexport interface ProjectTaskCountOverview {\r\n tasks: ProjectTaskCount;\r\n projectId: number;\r\n numberOfTasks: number;\r\n}\r\nexport interface ProjectSpendingRow {\r\n rootItemCategoryId: number;\r\n totalSpending: number;\r\n averageSpending: number;\r\n}\r\n\r\nexport interface ProjectSpending {\r\n totalSpending: number;\r\n averageSpending: number;\r\n details: ProjectSpendingRow[];\r\n}\r\n\r\nexport interface ProjectResidentialUnitAvailability {\r\n unitsTotal: number;\r\n unitsSold: number;\r\n}\r\n\r\nexport interface DeadlineOverviewRow {\r\n projectDeadlineId: number;\r\n projectDeadlineName: string;\r\n unitsWithOptionsSent: number;\r\n unitsWithOptionsTotal: number;\r\n}\r\n\r\nexport function getProjectDashboardUnsubmittedUnits(projectId: number): Promise {\r\n return request(`api/project/${projectId}/dashboard/units-unsubmitted`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectDashboardSpending(projectId: number): Promise {\r\n return request(`api/project/${projectId}/dashboard/spending`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectDashboardAvailability(projectId: number): Promise {\r\n return request(`api/project/${projectId}/dashboard/availability`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectDashboardTimeToOffer(projectId: number): Promise {\r\n return request(`api/project/${projectId}/dashboard/time-to-offer`).then((x) =>\r\n x.status === HttpStatusCode.NoContent ? null : x.json()\r\n );\r\n}\r\nexport function getProjectDashboardDeadlineOverview(projectId: number): Promise {\r\n return request(`api/project/${projectId}/dashboard/deadlines`).then((x) => x.json());\r\n}\r\n\r\nexport function getProjectTaskCountForProfile(profileId: number): Promise {\r\n return request(`api/profile/${profileId}/projects/task-count`).then((x) => x.json());\r\n}\r\n\r\nexport interface ProjectOverviewSimplified {\r\n projectId: number;\r\n unreadThreadCount: number;\r\n taskCount: number;\r\n totalCount: number;\r\n}\r\n\r\nexport interface ChangeRequestStatusOverview {\r\n items: ChangeRequestStatusOverviewItem[];\r\n total: number;\r\n}\r\nexport interface ChangeRequestStatusOverviewItem {\r\n status: SellerChangeRequestStatus;\r\n count: number;\r\n}\r\nexport function getProjectChangeRequestStatusOverview(projectId: number): Promise {\r\n return request(`api/project/${projectId}/dashboard/change-request`).then((x) => x.json());\r\n}","import React, { useState } from 'react';\r\nimport { Modal, ModalBody, ModalHeader } from 'components/Modal';\r\nimport { Button, ButtonBar } from 'components/Buttons';\r\nimport { t, Trans } from '@lingui/macro';\r\nimport { ValidatingInput, ValidationForm, ValidationSummary } from 'components/forms/validation';\r\nimport { Banner } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface CopyProjectModalProps {\r\n isOpen: boolean;\r\n toggle: () => void;\r\n onSave: (projectName: string) => Promise;\r\n orginProjectName: string;\r\n}\r\n\r\nconst CopyProjectModal: React.FC = ({ isOpen, toggle, onSave, orginProjectName }) => {\r\n const [projectName, setProjectName] = useState(orginProjectName + ' - Copy');\r\n const [loading, setLoading] = useState(false);\r\n const save = async () => {\r\n setLoading(true);\r\n await onSave(projectName);\r\n setLoading(false);\r\n toggle();\r\n };\r\n const reset = () => {\r\n setProjectName(orginProjectName + ' - Copy');\r\n };\r\n return (\r\n \r\n \r\n Copy project\r\n \r\n \r\n \r\n
\r\n \r\n Project name}\r\n required\r\n className=\"form-control\"\r\n placeholder={t`New project name`}\r\n value={projectName}\r\n name=\"projectName\"\r\n onChange={(e) => setProjectName(e.target.value)}\r\n />\r\n
\r\n \r\n \r\n \r\n This will create a new project as a copy of project {orginProjectName}. The project will\r\n copy:\r\n
    \r\n
  • Project details
  • \r\n
  • Tags
  • \r\n
  • Options
  • \r\n
  • Styles
  • \r\n
\r\n
\r\n
\r\n \r\n \r\n {\r\n toggle();\r\n }}>\r\n Cancel\r\n \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 CopyProjectModal;\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport theme from './ProjectList.module.scss';\r\nimport { ProfileRelativeLink } from 'components/navigation';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { classnames } from 'utils/html';\r\nimport ProjectTile from './ProjectTile';\r\nimport { faPlusCircle } from '@fortawesome/pro-light-svg-icons';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { Project } from 'types';\r\nimport { Trans } from '@lingui/macro';\r\nimport { getProjectTaskCountForProfile } from 'services/project-dashboard';\r\nimport { useAsyncState } from 'utils/hooks';\r\n// import { fixCommentsWorkaround } from 'utils/comment-workaround';\r\nimport CopyProjectModal from './CopyProjectModal';\r\nimport { copyProject } from 'services/projects';\r\nimport { cmThreadTypes, removeIrrelevantThreads } from 'utils/comment-workaround';\r\nimport { getCommentsOverview, getCommentsOverviewTotals } from 'services/comments';\r\nimport { groupBy } from 'lodash-es';\r\n\r\ninterface ProjectListProps {\r\n projects: Project[];\r\n hrefGenerator?(project: Project): string;\r\n onClick?(project: Project): void;\r\n profileId: number;\r\n showCreateButton?: boolean;\r\n reloadProjects: () => void;\r\n}\r\n\r\nconst ProjectList: React.FC = ({\r\n projects,\r\n hrefGenerator,\r\n onClick,\r\n profileId,\r\n showCreateButton,\r\n reloadProjects,\r\n}) => {\r\n const [projectTaskCountOverview] = useAsyncState(() => getProjectTaskCountForProfile(profileId), [profileId], null);\r\n const [projectCommentsOverview] = useAsyncState(\r\n () => getCommentsOverviewTotals({ projectIds: projects.map((x) => x.id), threadTypes: cmThreadTypes }),\r\n [projects],\r\n null\r\n );\r\n\r\n const projectTaskCountOverviewFixed = useMemo(() => {\r\n const result: { [projectId: number]: number } = {};\r\n\r\n projects.forEach((project) => {\r\n result[project.id] = 0;\r\n });\r\n\r\n projectTaskCountOverview?.forEach((item) => {\r\n result[item.projectId] += item.totalCount ?? 0;\r\n });\r\n\r\n projectCommentsOverview?.forEach((item) => {\r\n result[item.projectId] += item.unreadThreads;\r\n });\r\n\r\n return result;\r\n }, [projectTaskCountOverview, projectCommentsOverview]);\r\n\r\n const onCopyProject = async (project: Project, newProjectName: string) => {\r\n await copyProject(project.id, newProjectName);\r\n reloadProjects();\r\n };\r\n const [modalProject, setModalProject] = useState(null);\r\n const renderProject = (project: Project) => {\r\n const content = (\r\n setModalProject(project)}\r\n project={project}\r\n numberOfTasks={projectTaskCountOverviewFixed?.[project.id]}\r\n />\r\n );\r\n\r\n if (hrefGenerator) {\r\n return (\r\n triggerHandler(onClick, project)}\r\n to={hrefGenerator(project)}\r\n className=\"link-unstyled\">\r\n {content}\r\n \r\n );\r\n }\r\n\r\n return (\r\n
triggerHandler(onClick, project)}>\r\n {content}\r\n
\r\n );\r\n };\r\n return (\r\n <>\r\n
    \r\n {projects.map((project) => (\r\n
  • {renderProject(project)}
  • \r\n ))}\r\n {showCreateButton && (\r\n
  • \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n Create new project\r\n
    \r\n
    \r\n
    \r\n
  • \r\n )}\r\n
\r\n setModalProject(null)}\r\n onSave={async (newProjectName) => {\r\n if (modalProject !== null) {\r\n await onCopyProject(modalProject, newProjectName);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ProjectList;\r\n","import React from 'react';\r\nimport { getProjectsByProfileId } from 'services/projects';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport ProjectList from './ProjectList';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { SimplePageTitle } from 'components/layout/PageTitle';\r\nimport { getProfileModules } from 'services/profiles';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { BygrModule } from 'types';\r\nimport { NoResultsCard } from 'components/Cards';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faLongArrowRight, faProjectDiagram } from '@fortawesome/pro-light-svg-icons';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface MyProjectsProps {\r\n profileId: number;\r\n}\r\n\r\nconst MyProjects: React.FC = ({ profileId }) => {\r\n // const [projects] = useAsyncState(() => Promise.resolve([]), [profileId], null);\r\n const [projects, , reload] = useAsyncState(() => getProjectsByProfileId(profileId), [profileId], null);\r\n const [modules] = useAsyncState(() => getProfileModules(profileId), [profileId], null);\r\n const profile = useSelector((state: IState) => state.global.activeProfile);\r\n\r\n const canCreateProject = profile?.permissions.canCreateProject ?? false;\r\n\r\n function renderContent() {\r\n if (!projects) {\r\n return ;\r\n }\r\n\r\n if (projects.length === 0) {\r\n if (!modules) {\r\n return ;\r\n }\r\n\r\n if (modules?.some((x) => x.module === BygrModule.Aftermarket && x.projectCount > 0) && !canCreateProject) {\r\n return (\r\n You do not have any projects here...} icon={faProjectDiagram}>\r\n
\r\n However, you have projects available in the Aftermarket module\r\n
\r\n \r\n Go to Aftermarket \r\n \r\n
\r\n );\r\n }\r\n }\r\n\r\n if (projects.length === 0 && !canCreateProject) {\r\n return (\r\n You have not been invited to any projects.} icon={faProjectDiagram} />\r\n );\r\n }\r\n\r\n return (\r\n `/projects/${project.id}`}\r\n showCreateButton={canCreateProject}\r\n reloadProjects={() => reload()}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n
\r\n \r\n\r\n {renderContent()}\r\n
\r\n );\r\n};\r\n\r\nexport default MyProjects;\r\n","import React, { useState } from 'react';\r\nimport theme from './BuyerMassInviteUpload.module.scss';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport FileUpload from 'components/generic-controls/FileUpload';\r\nimport { ExternalLinkButton } from 'components/Buttons';\r\nimport { getBuyerImportTemplateUrl, parseBuyerImportExcel, ParsedBuyerImportRow } from 'services/projects';\r\nimport { faDownload } from '@fortawesome/pro-light-svg-icons';\r\nimport { Trans } from '@lingui/macro';\r\nimport FileData from 'utils/FileData';\r\n\r\ninterface BuyerMassInviteUploadProps {\r\n projectId: number;\r\n onDataReceived(data: ParsedBuyerImportRow[]): void;\r\n}\r\n\r\nconst BuyerMassInviteUpload: React.FC = ({ onDataReceived, projectId }) => {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [hasParseError, setHasParseError] = useState(false);\r\n const handleDrop = async (files) => {\r\n setIsLoading(true);\r\n setHasParseError(false);\r\n\r\n try {\r\n var result = await parseBuyerImportExcel(projectId, new FileData(files[0]));\r\n\r\n setIsLoading(false);\r\n\r\n onDataReceived(result);\r\n } catch (e: any) {\r\n setHasParseError(true);\r\n setIsLoading(false);\r\n }\r\n };\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n return (\r\n
\r\n \r\n {hasParseError && (\r\n
\r\n \r\n Error parsing data, please check that the copied data is in the correct format and try again.\r\n \r\n
\r\n )}\r\n\r\n \r\n Download import template\r\n \r\n\r\n {/* */}\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 BuyerMassInviteUpload;\r\n","import { ParsedBuyerImportRow } from 'services/projects';\r\nimport { validateEmail, validatePhone } from 'utils/string';\r\n\r\n// export enum BuyerImportRowStatus {\r\n// Ready,\r\n// AlreadyExists,\r\n// InvalidUnit,\r\n// Failed,\r\n// Queued,\r\n// Sending,\r\n// Sent,\r\n// }\r\n\r\nexport enum BuyerImportRowSendStatus {\r\n Ready,\r\n Failed,\r\n Queued,\r\n Sending,\r\n Sent,\r\n}\r\n\r\nexport function validateRow(row: BuyerMassImportRow | ParsedBuyerImportRow) {\r\n return {\r\n emailValid: validateEmail(row.email),\r\n phoneValid: (!row.phoneNumber && !row.inviteSms) || validatePhone(row.phoneNumber),\r\n };\r\n}\r\n\r\nexport type BuyerMassImportRowValidations = ReturnType;\r\nexport type BuyerMassImportRow = ParsedBuyerImportRow & {\r\n sendStatus: BuyerImportRowSendStatus;\r\n // validationErrors: string[];\r\n rowId: string;\r\n validation: BuyerMassImportRowValidations;\r\n};\r\n\r\nexport { default } from './BuyerMassInvite';","import React from 'react';\r\nimport theme from './BuyerMassInviteTable.module.scss';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ChangedItem, TranslatableText } from 'types';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { BuyerMassImportRow, BuyerImportRowSendStatus } from '.';\r\nimport { Button } from 'components/Buttons';\r\nimport { faRedo, faExclamationCircle } from '@fortawesome/pro-light-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport Indicator, { IndicatorColor } from 'components/Indicator';\r\nimport { classnames } from 'utils/html';\r\nimport { ParsedBuyerImportRowStatus, BuyerImportPhoneNumberStatus } from 'services/projects';\r\nimport { Checkbox } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { useGetActiveProject } from 'utils/hooks';\r\n\r\ninterface BuyerMassInviteTableRowProps {\r\n row: BuyerMassImportRow;\r\n onChange?(change: ChangedItem): void;\r\n onRetryClick?(row: BuyerMassImportRow): void;\r\n}\r\n\r\nconst ErrorIndicator: React.FC<{}> = () => {\r\n return ;\r\n};\r\n\r\ntype StatusMap = {\r\n [key in keyof typeof BuyerImportRowSendStatus]?: {\r\n display: TranslatableText;\r\n color: IndicatorColor;\r\n };\r\n};\r\n\r\nconst BuyerMassInviteTableRow: React.FC = ({ row, onChange, onRetryClick }) => {\r\n const project = useGetActiveProject();\r\n\r\n const handleChange = (changes: Partial) => {\r\n triggerHandler(onChange, ChangedItem.fromMerge(row, changes));\r\n };\r\n\r\n const handleRetryClick = () => {\r\n triggerHandler(onRetryClick, row);\r\n };\r\n\r\n const statusMap: StatusMap = {\r\n [BuyerImportRowSendStatus.Ready]: {\r\n display: Ready,\r\n color: 'secondary',\r\n },\r\n [BuyerImportRowSendStatus.Queued]: {\r\n display: Queued,\r\n color: 'warning',\r\n },\r\n [BuyerImportRowSendStatus.Sending]: {\r\n display: Sending,\r\n color: 'warning',\r\n },\r\n [BuyerImportRowSendStatus.Failed]: {\r\n display: (\r\n \r\n ),\r\n color: 'danger',\r\n },\r\n [BuyerImportRowSendStatus.Sent]: {\r\n display: Sent,\r\n color: 'success',\r\n },\r\n };\r\n\r\n const renderStatus = () => {\r\n const data = statusMap[row.sendStatus];\r\n\r\n if (row.status === ParsedBuyerImportRowStatus.AlreadyHasBuyer) {\r\n return Buyer already exists;\r\n } else if (row.status === ParsedBuyerImportRowStatus.InvalidUnit) {\r\n return Invalid unit;\r\n }\r\n\r\n if (!data) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {data.display}\r\n \r\n );\r\n };\r\n\r\n const disabled = row.status !== ParsedBuyerImportRowStatus.Ok;\r\n return (\r\n \r\n {row.residentialUnitName || N/A}\r\n {row.firstName}\r\n {row.lastName}\r\n \r\n {row.email}\r\n {!row.validation.emailValid && }\r\n \r\n \r\n {row.phoneNumber}\r\n {row.phoneNumberStatus === BuyerImportPhoneNumberStatus.CountryCodeNotValid && (\r\n \r\n (Country code not set)\r\n \r\n )}\r\n {row.phoneNumberStatus === BuyerImportPhoneNumberStatus.PhoneNumberNotValid && (\r\n \r\n (Invalid phone number)\r\n \r\n )}\r\n {!row.validation.phoneValid && }\r\n \r\n \r\n handleChange({ inviteSms: e.target.checked })}\r\n />\r\n \r\n {/* \r\n handleChange({ inviteEmail: e.target.checked })}\r\n />\r\n */}\r\n {renderStatus()}\r\n {project?.countryCode === 'DE' && (\r\n <>\r\n {row.salutation}\r\n {row.title}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\ninterface BuyerMassInviteTableProps {\r\n data: BuyerMassImportRow[];\r\n onChange?(newData: BuyerMassImportRow[]): void;\r\n onRetryClick?(row: BuyerMassImportRow): void;\r\n}\r\n\r\nconst BuyerMassInviteTable: React.FC = ({ data, onChange, onRetryClick }) => {\r\n const project = useGetActiveProject();\r\n\r\n const handleRowChange = (change: ChangedItem) => {\r\n triggerHandler(onChange, change.updateArray(data));\r\n };\r\n\r\n const handleInviteSmsChange = (flag: boolean) => {\r\n triggerHandler(\r\n onChange,\r\n data.map((row) => ({ ...row, inviteSms: flag }))\r\n );\r\n };\r\n\r\n // const handleInviteEmailChange = (flag: boolean) => {\r\n // triggerHandler(\r\n // onChange,\r\n // data.map((row) => ({ ...row, inviteEmail: flag }))\r\n // );\r\n // };\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 {project?.countryCode === 'DE' && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n\r\n \r\n {data.map((row) => (\r\n \r\n ))}\r\n \r\n
\r\n Unit\r\n \r\n First name\r\n \r\n Last name\r\n \r\n Email\r\n \r\n Phone number\r\n \r\n handleInviteSmsChange(e.target.checked)}\r\n checked={data.every((x) => x.inviteSms)}>\r\n Invite by SMS\r\n \r\n \r\n handleInviteEmailChange(e.target.checked)}\r\n checked={data.every((x) => x.inviteEmail)}>\r\n Invite by email\r\n \r\n \r\n Status\r\n \r\n Salutation\r\n \r\n Title\r\n
\r\n );\r\n};\r\n\r\nexport default BuyerMassInviteTable;\r\n","import React, { useState, useRef } from 'react';\r\nimport theme from './BuyerMassInvite.module.scss';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport BuyerMassInviteUpload from './BuyerMassInviteUpload';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport BuyerMassInviteTable from './BuyerMassInviteTable';\r\nimport { Button } from 'components/Buttons';\r\nimport { BuyerMassImportRow, validateRow, BuyerImportRowSendStatus } from '.';\r\nimport { ParsedBuyerImportRow, ParsedBuyerImportRowStatus } from 'services/projects';\r\nimport { getUniqueId } from 'utils/html';\r\nimport { inviteResidentialUnitBuyer, InviteBuyerOptions } from 'services/residential-units';\r\nimport { useGetActiveProject, useInterval } from 'utils/hooks';\r\nimport { PageTitle, SimplePageTitle } from 'components/layout/PageTitle';\r\nimport { SimpleCard } from 'components/Cards';\r\nimport Breadcrumbs from 'components/layout/Breadcrumbs';\r\nimport { arrayGroupBy } from 'utils/arrays';\r\nimport Banner from 'components/Banner';\r\n\r\nconst Wrapper: React.FC<{}> = ({ children }) => {\r\n return (\r\n
\r\n \r\n\r\n \r\n \r\n All units\r\n \r\n\r\n \r\n Invite buyers\r\n \r\n \r\n\r\n {children}\r\n
\r\n );\r\n};\r\n\r\n// async function sleep(time = 1000) {\r\n// return new Promise((resolve, reject) => {\r\n// setTimeout(() => {\r\n// resolve();\r\n// }, time);\r\n// });\r\n// }\r\n\r\ninterface QueueItem {\r\n residentialUnitId: number;\r\n rows: BuyerMassImportRow[];\r\n}\r\n\r\ninterface BuyerMassInviteProps {}\r\nconst MaxActiveJobs = 2;\r\n\r\nconst BuyerMassInvite: React.FC = (props) => {\r\n const [data, setData] = useState(null);\r\n const jobQueueRef = useRef([]);\r\n const projectId = useSelector((state: IState) => state.global.activeProject!.id);\r\n const project = useGetActiveProject();\r\n\r\n useInterval(() => {\r\n processQueue();\r\n }, 50);\r\n\r\n const addToQueue = (item: QueueItem) => {\r\n const existingItem = jobQueueRef.current.find((x) => x.residentialUnitId === item.residentialUnitId);\r\n\r\n if (existingItem) {\r\n const existingRowIds = existingItem.rows.map((x) => x.rowId);\r\n const rowsToAdd = item.rows.filter((x) => !existingRowIds.includes(x.rowId));\r\n\r\n existingItem.rows = [...existingItem.rows, ...rowsToAdd];\r\n } else {\r\n jobQueueRef.current.push(item);\r\n }\r\n\r\n updateStatus(\r\n item.rows.map((x) => x.rowId),\r\n BuyerImportRowSendStatus.Queued\r\n );\r\n };\r\n\r\n const processQueue = async () => {\r\n if (jobQueueRef.current.length === 0) {\r\n return;\r\n }\r\n\r\n const activeJobs = data!.filter((x) => x.sendStatus === BuyerImportRowSendStatus.Sending).length;\r\n if (activeJobs >= MaxActiveJobs) {\r\n return;\r\n }\r\n\r\n const job = jobQueueRef.current.shift()!;\r\n\r\n var rowsToProcess = job.rows; //jobQueueRef.current.filter((x) => x.residentialUnitId === job.residentialUnitId);\r\n var rowIds = rowsToProcess.map((x) => x.rowId);\r\n\r\n try {\r\n const invitations = rowsToProcess.map((item) => ({\r\n inviteeFirstName: item.firstName,\r\n inviteeLastName: item.lastName,\r\n inviteeEmail: item.email,\r\n inviteePhoneNumber: item.phoneNumber,\r\n // sendEmail: item.inviteEmail,\r\n sendSms: item.inviteSms,\r\n inviteeSalutation: project?.countryCode == 'DE' ? item.salutation : null,\r\n inviteeTitle: project?.countryCode == 'DE' ? item.title : null,\r\n }));\r\n\r\n updateStatus(rowIds, BuyerImportRowSendStatus.Sending);\r\n await inviteResidentialUnitBuyer(job.residentialUnitId, invitations);\r\n\r\n // await sleep(2000);\r\n updateStatus(rowIds, BuyerImportRowSendStatus.Sent);\r\n } catch {\r\n updateStatus(rowIds, BuyerImportRowSendStatus.Failed);\r\n } finally {\r\n // processQueue();\r\n }\r\n };\r\n\r\n const updateStatus = (rowIds: string[], newStatus: BuyerImportRowSendStatus) => {\r\n setData((data) => {\r\n return data!.map((item) => {\r\n if (rowIds.includes(item.rowId)) {\r\n return { ...item, sendStatus: newStatus };\r\n }\r\n\r\n return item;\r\n });\r\n });\r\n };\r\n\r\n // const convertStatus = (parsedStatus: ParsedBuyerImportRowStatus) => {\r\n // switch (parsedStatus) {\r\n // case ParsedBuyerImportRowStatus.AlreadyHasBuyer:\r\n // return BuyerImportRowStatus.AlreadyExists;\r\n // case ParsedBuyerImportRowStatus.InvalidUnit:\r\n // return BuyerImportRowStatus.InvalidUnit;\r\n // default:\r\n // return BuyerImportRowStatus.Ready;\r\n // }\r\n // };\r\n\r\n // const validateRow = function(row: BuyerMassImportRow) {\r\n // const errors: string[] = [];\r\n\r\n // if (!validateEmail(row.email)) {\r\n // errors.push('Email');\r\n // }\r\n // };\r\n\r\n const hasPhoneErrors =\r\n !!data &&\r\n data.some(\r\n (row) =>\r\n row.validation.emailValid &&\r\n row.inviteSms &&\r\n !row.validation.phoneValid &&\r\n row.sendStatus === BuyerImportRowSendStatus.Ready\r\n );\r\n\r\n const getSendableRows = () => {\r\n return data!.filter(\r\n (row) =>\r\n row.sendStatus === BuyerImportRowSendStatus.Ready &&\r\n row.status === ParsedBuyerImportRowStatus.Ok &&\r\n row.validation.emailValid &&\r\n (row.validation.phoneValid || !row.inviteSms)\r\n );\r\n };\r\n\r\n const handleDataReceive = (data: ParsedBuyerImportRow[]) => {\r\n var transformedData = data.map((row) => ({\r\n ...row,\r\n rowId: getUniqueId(),\r\n sendStatus: BuyerImportRowSendStatus.Ready,\r\n validation: validateRow(row),\r\n }));\r\n\r\n setData(transformedData);\r\n };\r\n\r\n const inviteAll = () => {\r\n if (!data) {\r\n return;\r\n }\r\n\r\n const map = arrayGroupBy(\r\n getSendableRows(),\r\n (x) => x.residentialUnitId,\r\n (x) => x\r\n );\r\n\r\n const queueItems: QueueItem[] = Array.from(map.entries()).map(([key, value]) => ({\r\n residentialUnitId: key,\r\n rows: value,\r\n }));\r\n\r\n queueItems.forEach((item) => addToQueue(item));\r\n };\r\n\r\n const handleRetryClick = (row: BuyerMassImportRow) => {\r\n addToQueue({\r\n residentialUnitId: row.residentialUnitId,\r\n rows: [row],\r\n });\r\n };\r\n\r\n const handleChange = (newData: BuyerMassImportRow[]) => {\r\n newData.forEach((row) => {\r\n row.validation = validateRow(row);\r\n });\r\n\r\n setData(newData);\r\n };\r\n\r\n if (!data) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n const readyCount = getSendableRows().length;\r\n\r\n return (\r\n \r\n \r\n\r\n {hasPhoneErrors && (\r\n \r\n \r\n Warning some of the telephone numbers you have imported are not valid. Please enter\r\n a valid phone number or disable ‘Invitation via SMS’ for this buyers.\r\n \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 BuyerMassInvite;\r\n","import { request } from 'utils/ajax';\r\nimport {\r\n BuyerOptionGroup,\r\n BuyerOptionGroupStatus,\r\n ResidentialUnitLinkInfo,\r\n ProjectCatalogProduct,\r\n PriceCalculationResult,\r\n} from 'types';\r\n\r\nexport interface SearchBuyerOptionGroupsOptions {\r\n projectId?: number | null;\r\n residentialUnitId?: number | null;\r\n status?: BuyerOptionGroupStatus[];\r\n categories?: number[];\r\n approvableOnly?: boolean;\r\n projectDeadlineId?: number | null;\r\n tagIds?: number[];\r\n pricingFieldIds?: number[];\r\n}\r\n\r\nexport function searchBuyerOptionGroups(options: SearchBuyerOptionGroupsOptions): Promise {\r\n return request(`api/buyer-option-group`, { query: options }).then((x) => x.json());\r\n}\r\n\r\nexport function getBuyerOptionGroup(buyerOptionGroupId: number): Promise {\r\n return request(`api/buyer-option-group/${buyerOptionGroupId}`).then((x) => x.json());\r\n}\r\n\r\nexport function approveBuyerOption(buyerOptionGroupId: number): Promise {\r\n return request(`api/buyer-option-group/${buyerOptionGroupId}/approve`, {\r\n method: 'POST',\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function rejectBuyerOption(\r\n buyerOptionGroupId: number,\r\n reason: string,\r\n sendRejectEmail: boolean\r\n): Promise {\r\n return request(`api/buyer-option-group/${buyerOptionGroupId}/reject`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n reason,\r\n sendRejectEmail,\r\n },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport interface BuyerOption {\r\n product: ProjectCatalogProduct;\r\n linkGroupItemId: number;\r\n isSelected: boolean;\r\n quantity: number;\r\n\r\n pricingFieldName: string;\r\n pricingFieldUnit: string;\r\n priceCalculation: PriceCalculationResult;\r\n\r\n isDefault: boolean;\r\n isNone: boolean;\r\n}\r\n\r\nexport function getBuyerOptionsByGroup(buyerOptionGroupId: number): Promise {\r\n return request(`api/buyer-option-group/${buyerOptionGroupId}/options`).then((x) => x.json());\r\n}\r\n\r\nexport function getResidentialUnitsLinkedOptionGroups(projectId: number): Promise {\r\n return request(`api/buyer-option-group/link-info`, {\r\n query: {\r\n projectId,\r\n },\r\n }).then((x) => x.json());\r\n}\r\n\r\ntype OptionGroupSelection = {\r\n buyerOptionGroupId: number;\r\n selectedLinkGroupItemId: number | null;\r\n customFieldData?: string | number;\r\n};\r\nexport function setSelectedBuyerOptionId(list: OptionGroupSelection[]) {\r\n return request(`api/buyer-option-group/set-selected-options`, {\r\n method: 'POST',\r\n json: true,\r\n body: { list },\r\n });\r\n}\r\n\r\nexport interface SellerOptionSignatureInfo {\r\n clientKey: string;\r\n optionGroups: BuyerOptionGroup[];\r\n}\r\n\r\nexport function requestSellerOptionSignature(\r\n residentialUnitId: number,\r\n projectDeadlineId: number,\r\n profileId: number\r\n): Promise {\r\n return request(`api/buyer-option-group/request-option-signature`, {\r\n method: 'POST',\r\n json: true,\r\n body: { residentialUnitId, projectDeadlineId, profileId },\r\n }).then((r) => r.json());\r\n}\r\n\r\nexport function signSellerOption(residentialUnitId: number, signatureId: string, oneTimeCode: string, profileId: number) {\r\n return request(`api/buyer-option-group/option-signature/${signatureId}/sign`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n residentialUnitId,\r\n oneTimeCode,\r\n profileId,\r\n },\r\n });\r\n}","import React, { useState, useEffect, ReactElement, useMemo } from 'react';\r\nimport theme from './FilterButtons.module.scss';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { Button } from 'components/Buttons';\r\nimport { faFilter, faSpinner, faSearch } from '@fortawesome/pro-light-svg-icons';\r\nimport { TranslatableText } from 'types';\r\nimport { Input } from 'components/generic-controls';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { useDebounce, usePrevious } from 'utils/hooks';\r\nimport { isEqual } from 'lodash-es';\r\n\r\nfunction isEmptyArray(item: any) {\r\n return Array.isArray(item) && item.length === 0;\r\n}\r\n\r\nfunction withoutEmptyProperties(item: any) {\r\n const result = {};\r\n for (const key of Object.keys(item)) {\r\n const value = item[key];\r\n\r\n if (value === null || value === undefined || value === '' || isEmptyArray(value)) {\r\n continue;\r\n }\r\n\r\n result[key] = value;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function useIsFilterModified(currentFilter: TFilter, defaultFilter: () => TFilter) {\r\n return useMemo(() => {\r\n return !isEqual(withoutEmptyProperties(currentFilter), withoutEmptyProperties(defaultFilter()));\r\n }, [currentFilter, defaultFilter]);\r\n}\r\n\r\nexport interface FilterButtonData {\r\n id: number | string;\r\n outPut: TranslatableText;\r\n onClick: () => void;\r\n}\r\nexport interface FilterButtonsProps {\r\n onButtonClick: () => void;\r\n isLoading?: boolean;\r\n searchText?: string;\r\n onSearchTextChange?: (v: string) => void;\r\n leftContent?: ReactElement;\r\n isActive?: boolean;\r\n}\r\n\r\nexport const FilterButtons: React.FC = ({\r\n onButtonClick,\r\n isLoading,\r\n searchText = '',\r\n onSearchTextChange,\r\n leftContent,\r\n isActive,\r\n}) => {\r\n const [internalText, setInternalText] = useState(searchText);\r\n\r\n useEffect(() => {\r\n setInternalText(searchText);\r\n }, [searchText]);\r\n\r\n const [isTyping, setIsTyping] = useState(false);\r\n\r\n const searchTextDebounced = useDebounce(internalText, 250);\r\n\r\n const previousSearchTextDebounced = usePrevious(searchTextDebounced);\r\n useEffect(() => {\r\n if (\r\n onSearchTextChange &&\r\n previousSearchTextDebounced !== undefined &&\r\n searchTextDebounced !== previousSearchTextDebounced\r\n ) {\r\n onSearchTextChange(searchTextDebounced || '');\r\n }\r\n }, [searchTextDebounced, previousSearchTextDebounced, onSearchTextChange]);\r\n\r\n useEffect(() => {\r\n if (!isLoading) {\r\n setIsTyping(false);\r\n }\r\n }, [isLoading]);\r\n\r\n const onTextChange = (v: string) => {\r\n if (isLoading !== undefined) {\r\n setIsTyping(true);\r\n }\r\n setInternalText(v);\r\n };\r\n return (\r\n
\r\n {leftContent}\r\n {onSearchTextChange && (\r\n
\r\n onTextChange(e.target.value)}\r\n placeholder={t`Search...`}\r\n />\r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport theme from './FilterPopOut.module.scss';\r\nimport { Trans } from '@lingui/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faChevronDoubleRight } from '@fortawesome/pro-light-svg-icons';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface FilterPopOutProps {\r\n // OwnProps\r\n isVisible: boolean;\r\n onClose(): void;\r\n onClear?(): void;\r\n}\r\n\r\nconst FilterPopOut: React.FC = ({ isVisible, children, onClose, onClear }) => {\r\n const [loaded, setLoaded] = useState(false);\r\n\r\n useEffect(() => {\r\n if (isVisible) {\r\n setLoaded(true);\r\n }\r\n }, [isVisible]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n Filters\r\n

\r\n {onClear && (\r\n \r\n Clear filters\r\n \r\n )}\r\n
\r\n
{loaded && children}
\r\n
\r\n \r\n Collapse filters\r\n \r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default FilterPopOut;\r\n","import React from 'react';\r\nimport { TranslatableText, FilterItem } from 'types';\r\nimport { ValueType, createFilter } from 'react-select';\r\nimport ReactSelect from 'react-select';\r\nimport { t } from '@lingui/macro';\r\ninterface FilterDropDownProps {\r\n data: FilterItem[];\r\n label: TranslatableText;\r\n placeholder?: TranslatableText;\r\n value: FilterItem[] | number[] | string[];\r\n onChange(newValue: FilterItem[]): void;\r\n isSingle?: boolean;\r\n}\r\n\r\nconst FilterDropDown: React.FC = ({ data, label, value, onChange, placeholder, isSingle = false }) => {\r\n const handleChange = (newValue: ValueType) => {\r\n if (!newValue || !Array.isArray(newValue)) {\r\n onChange([]);\r\n } else {\r\n onChange(newValue);\r\n }\r\n };\r\n\r\n let fixedValue: FilterItem[] = [];\r\n // Is number\r\n if (value && value.length) {\r\n if ((value as FilterItem[])[0].name === undefined) {\r\n fixedValue = (value as number[]).map((id) => {\r\n // eslint-disable-next-line eqeqeq\r\n const foundItem = data.find((t) => t.id == id);\r\n return foundItem!;\r\n });\r\n } else if ((value as FilterItem[])[0].name) {\r\n fixedValue = (value as any[]).map((t) => ({ ...t, value: t.id || t.value }));\r\n }\r\n }\r\n\r\n const filter = createFilter({\r\n ignoreCase: true,\r\n ignoreAccents: true,\r\n matchFrom: 'any',\r\n stringify: (option) => `${option.label}`,\r\n trim: true,\r\n });\r\n\r\n return (\r\n <>\r\n \r\n \r\n noOptionsMessage={() => t`No options`}\r\n // isSearchable={isSearchable !== undefined ? isSearchable : !isMobile || options.length > 10}\r\n placeholder={placeholder}\r\n options={data}\r\n classNamePrefix=\"r-s\"\r\n className=\"react-select full-width\"\r\n getOptionValue={(x) => x.id.toString()}\r\n getOptionLabel={(x) => x.name as any}\r\n value={fixedValue}\r\n isMulti={!isSingle}\r\n onChange={handleChange}\r\n filterOption={filter}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default FilterDropDown;\r\n","import React from 'react';\r\nimport theme from './ResidentialUnitSelectFilterable.module.scss';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { getResidentialUnitFilterDataByProject } from 'services/projects';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport TagInput from 'components/TagInput';\r\nimport { ResidentialUnitSelectFilter } from './ResidentialUnitSelectFilterable';\r\nimport { FilterDropDown } from 'components/Filter';\r\n\r\ninterface Props {\r\n filter: ResidentialUnitSelectFilter;\r\n onFilterChange: (f: ResidentialUnitSelectFilter) => void;\r\n projectId: number | null;\r\n}\r\n\r\nconst ResidentialUnitSelectFilterableFilter: React.FC = ({ projectId, onFilterChange, filter }) => {\r\n const [filterData] = useAsyncState(\r\n () => (projectId ? getResidentialUnitFilterDataByProject(projectId) : Promise.resolve(null)),\r\n [projectId],\r\n null\r\n );\r\n\r\n if (!filterData) {\r\n return null;\r\n }\r\n\r\n return (\r\n
\r\n

\r\n Help you select the right units\r\n

\r\n\r\n Floor}\r\n placeholder={t`Any floor`}\r\n data={filterData.floors.map((f) => ({ id: f, name: f }))!}\r\n value={filter.floors}\r\n onChange={(v) => onFilterChange({ ...filter, floors: v.map((x) => x.id) })}\r\n />\r\n\r\n Layout types}\r\n placeholder={t`Any layout type`}\r\n data={filterData.layoutTypes.map((f) => ({ id: f, name: f }))!}\r\n value={filter.layoutTypes}\r\n onChange={(v) => onFilterChange({ ...filter, layoutTypes: v.map((x) => x.id) })}\r\n />\r\n\r\n \r\n onFilterChange({ ...filter, tags: tags.map((t) => t.id) })}\r\n canCreate={false}\r\n projectId={projectId}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default ResidentialUnitSelectFilterableFilter;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Checkbox, LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { union, without, groupBy } from 'lodash-es';\r\nimport { getResidentialUnitsLinkedOptionGroups } from 'services/buyer-options';\r\nimport { Trans } from '@lingui/macro';\r\nimport theme from './ResidentialUnitSelectFilterable.module.scss';\r\nimport { ProjectTag, OptionalId, ResidentialUnitLinkInfo } from 'types';\r\nimport ResidentialUnitSelectFilterableFilter from './ResidentialUnitSelectFilterableFilter';\r\nimport { ResidentialUnitFilterOptions } from 'seller/components/residential-units/ResidentialUnitsFilter';\r\nimport { useAsyncState } from 'utils/hooks';\r\n\r\ninterface ResidentialUnitSelectFilterableProps {\r\n projectId: number;\r\n availableIds?: number[];\r\n floorPlanSketchTypeId?: number | null;\r\n value: number[];\r\n onSelectionChange: (e: any) => void;\r\n onSelectionNameChange?(names: string[]): void;\r\n selectedTags?: OptionalId[];\r\n residentialUnitFilter?(unit: ResidentialUnitLinkInfo): boolean;\r\n}\r\n\r\ninterface Group {\r\n id: number;\r\n name: string;\r\n units: Unit[];\r\n}\r\n\r\ninterface Unit {\r\n id: number;\r\n floor: string;\r\n layoutType: string;\r\n name: string;\r\n tags: ProjectTag[];\r\n}\r\n\r\nexport type ResidentialUnitSelectFilter = Omit;\r\nexport const emptyCatalogGroupLinkResidentialUnitFilter: ResidentialUnitSelectFilter = {\r\n floors: [],\r\n layoutTypes: [],\r\n tags: [],\r\n hasDeadline: [],\r\n hasUnsentOptions: 'all',\r\n};\r\n\r\nconst ResidentialUnitSelectFilterable: React.FC = ({\r\n projectId,\r\n availableIds = null,\r\n value,\r\n onSelectionChange,\r\n selectedTags,\r\n residentialUnitFilter,\r\n}) => {\r\n const [groups, setGroups] = useState(null);\r\n const [filter, setFilter] = useState(emptyCatalogGroupLinkResidentialUnitFilter);\r\n\r\n useEffect(() => {\r\n const filteredTags = selectedTags?.filter((t) => !!t.id) as ProjectTag[];\r\n\r\n if (groups && filteredTags) {\r\n setFilter((oldFilter) => ({ ...oldFilter, tags: filteredTags.map((t) => t.id) }));\r\n\r\n let units = groups!.flatMap((g) => g.units);\r\n units = units.filter((u) => u.tags.filter((t) => filteredTags.map((x) => x.label).includes(t.label)).length > 0);\r\n triggerHandler(\r\n onSelectionChange,\r\n units.map((u) => u.id)\r\n );\r\n }\r\n }, [selectedTags, groups, onSelectionChange]);\r\n\r\n const [unitData] = useAsyncState(() => getResidentialUnitsLinkedOptionGroups(projectId), [projectId], null);\r\n\r\n useEffect(() => {\r\n setGroups(null);\r\n\r\n if (!unitData) {\r\n return;\r\n }\r\n\r\n let transformedGroups: Group[] = [];\r\n let relevantResults = unitData;\r\n\r\n if (residentialUnitFilter) {\r\n relevantResults = relevantResults.filter(residentialUnitFilter);\r\n }\r\n\r\n const groups = groupBy(relevantResults, 'residentialUnitGroupId');\r\n for (const key in groups) {\r\n const group = groups[key];\r\n const transformedGroup: Group = {\r\n id: group[0].residentialUnitGroupId || 0,\r\n name: group[0].residentialUnitGroupName || 'Other',\r\n units: [],\r\n };\r\n\r\n group.forEach((unit) => {\r\n transformedGroup.units.push({\r\n id: unit.residentialUnitId,\r\n name: unit.residentialUnitName,\r\n tags: unit.tags,\r\n floor: unit.floor,\r\n layoutType: unit.layoutType,\r\n });\r\n });\r\n\r\n transformedGroups.push(transformedGroup);\r\n }\r\n setGroups(transformedGroups);\r\n }, [unitData, residentialUnitFilter]);\r\n\r\n const handleCheckAll = (e) => {\r\n const { checked } = e.target;\r\n const unitIds = groups!.flatMap((x) =>\r\n x.units.filter((y) => (availableIds != null ? availableIds.includes(y.id) : true)).map((y) => y.id)\r\n );\r\n let newSelection;\r\n if (checked) {\r\n newSelection = unitIds;\r\n } else {\r\n newSelection = [];\r\n }\r\n triggerHandler(onSelectionChange, newSelection);\r\n };\r\n\r\n const handleCheckboxChange = (e, unit) => {\r\n const { checked } = e.target;\r\n const selection = value;\r\n\r\n let newSelection;\r\n\r\n if (checked) {\r\n newSelection = union(selection, [unit.id]);\r\n } else {\r\n newSelection = without(selection, unit.id);\r\n }\r\n\r\n triggerHandler(onSelectionChange, newSelection);\r\n };\r\n\r\n const handleGroupCheckboxChange = (e, group) => {\r\n const { checked } = e.target;\r\n\r\n const groupUnitIds = group.units\r\n .filter((y) => (availableIds != null ? availableIds.includes(y.id) : true))\r\n .map((x) => x.id);\r\n const selection = value;\r\n\r\n let newSelection;\r\n if (checked) {\r\n newSelection = union(selection, groupUnitIds);\r\n } else {\r\n newSelection = without(selection, ...groupUnitIds);\r\n }\r\n\r\n triggerHandler(onSelectionChange, newSelection);\r\n };\r\n\r\n const renderGroups = (groups) => {\r\n return (\r\n
    \r\n {groups\r\n .filter((x) => x.units.length > 0)\r\n .map((group) => (\r\n
  • \r\n
    {group.name}
    \r\n (availableIds != null ? availableIds.includes(y.id) : true))\r\n .length > 0 &&\r\n group.units\r\n .filter((y) => (availableIds != null ? availableIds.includes(y.id) : true))\r\n .every((u) => value.indexOf(u.id) > -1)\r\n }\r\n value={group.id}\r\n onChange={(e) => handleGroupCheckboxChange(e, group)}>\r\n Select all\r\n \r\n {renderUnits(group.units)}\r\n
  • \r\n ))}\r\n
\r\n );\r\n };\r\n\r\n const renderUnits = (units) => {\r\n return (\r\n
    \r\n {units.map((unit) => (\r\n
  • \r\n -1}\r\n value={unit.id}\r\n onChange={(e) => handleCheckboxChange(e, unit)}>\r\n {unit.name}\r\n \r\n
  • \r\n ))}\r\n
\r\n );\r\n };\r\n\r\n const onFilterChange = (f: ResidentialUnitSelectFilter) => {\r\n setFilter(f);\r\n\r\n let units = groups!.flatMap((g) => g.units);\r\n if (f.floors.length > 0) {\r\n units = units.filter((u) => f.floors.map((x) => x).includes(u.floor));\r\n }\r\n\r\n if (f.layoutTypes.length > 0) {\r\n units = units.filter((u) => f.layoutTypes.map((x) => x).includes(u.layoutType));\r\n }\r\n\r\n if (f.tags.length > 0) {\r\n units = units.filter((u) => u.tags.filter((t) => f.tags.map((x) => x).includes(t.id)).length > 0);\r\n }\r\n\r\n if (f.floors.length !== 0 || f.layoutTypes.length !== 0 || f.tags.length !== 0) {\r\n triggerHandler(\r\n onSelectionChange,\r\n units.map((u) => u.id)\r\n );\r\n } else {\r\n triggerHandler(onSelectionChange, []);\r\n }\r\n };\r\n if (!groups) {\r\n return ;\r\n }\r\n\r\n if (!groups[0]) {\r\n return (\r\n
\r\n Project has no residential units\r\n
\r\n );\r\n }\r\n\r\n // if (!showGroups) {\r\n // return (\r\n //
\r\n // {this.renderUnits(groups[0].units)}\r\n //
\r\n // );\r\n // }\r\n return (\r\n
\r\n
\r\n
\r\n All\r\n
\r\n 0 &&\r\n value.length ===\r\n groups\r\n .map(\r\n (x) =>\r\n x.units.filter((y) =>\r\n availableIds !== null && availableIds !== undefined\r\n ? availableIds.includes(y.id)\r\n : true\r\n ).length\r\n )\r\n .reduce((acc, curr) => acc + curr)\r\n }\r\n onChange={(e) => handleCheckAll(e)}>\r\n Select all\r\n \r\n {renderGroups(groups)}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ResidentialUnitSelectFilterable;\r\n","import React, { useState, useEffect, useCallback } from 'react';\r\nimport { Radio } from 'components/forms/Radio';\r\nimport { useUniqueId, useAsyncState } from 'utils/hooks';\r\nimport { TranslatableText, DocumentStatus, ResidentialUnitLinkInfo } from 'types';\r\nimport { getDocumentLinkedResidentialUnits } from 'services/documents';\r\nimport ResidentialUnitSelectFilterable from '../residential-units/ResidentialUnitSelectFilterable';\r\n\r\ninterface DocumentResidentialUnitSelectionProps {\r\n projectId: number;\r\n documentVersionId: number;\r\n residentialUnitId: number | null;\r\n\r\n // value: number[];\r\n onChange(residentialUnitIds: number[]): void;\r\n\r\n singleCaption: TranslatableText;\r\n allCaption: TranslatableText;\r\n multiCaption: TranslatableText;\r\n}\r\n\r\nconst DocumentResidentialUnitSelection: React.FC = ({\r\n projectId,\r\n documentVersionId,\r\n residentialUnitId,\r\n\r\n onChange,\r\n\r\n singleCaption,\r\n allCaption,\r\n multiCaption,\r\n}) => {\r\n const [mode, setMode] = useState<'Unit' | 'Selection' | 'All'>('Unit');\r\n const radioName = useUniqueId();\r\n const [links] = useAsyncState(() => getDocumentLinkedResidentialUnits(documentVersionId), [documentVersionId], null);\r\n const [selectedResidentialUnitIds, setSelectedResidentialUnitIds] = useState([]);\r\n\r\n const [linkedResidentialUnitIds, setLinkedResidentialUnitIds] = useState | null>(null);\r\n\r\n useEffect(() => {\r\n if (mode === 'Unit' && links && !residentialUnitId) {\r\n setMode('All');\r\n }\r\n }, [residentialUnitId, mode, links]);\r\n\r\n useEffect(() => {\r\n if (links) {\r\n setLinkedResidentialUnitIds(\r\n new Set(links.filter((x) => x.status === DocumentStatus.Pending).map((x) => x.residentialUnitId))\r\n );\r\n } else {\r\n setLinkedResidentialUnitIds(null);\r\n }\r\n }, [links]);\r\n\r\n const unitFilter = useCallback(\r\n (residentialUnit: ResidentialUnitLinkInfo) => linkedResidentialUnitIds!.has(residentialUnit.residentialUnitId),\r\n [linkedResidentialUnitIds]\r\n );\r\n\r\n useEffect(() => {\r\n let selection: number[] = [];\r\n\r\n if (mode === 'Unit') {\r\n selection = [residentialUnitId!];\r\n } else if (mode === 'All') {\r\n selection = links!.filter((x) => x.status === DocumentStatus.Pending).map((x) => x.residentialUnitId);\r\n } else if (mode === 'Selection') {\r\n selection = selectedResidentialUnitIds;\r\n }\r\n\r\n onChange(selection);\r\n }, [links, mode, residentialUnitId, selectedResidentialUnitIds, onChange]);\r\n\r\n if (!linkedResidentialUnitIds || !links) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {residentialUnitId && (\r\n setMode('Unit')}>\r\n {singleCaption}\r\n \r\n )}\r\n\r\n setMode('All')}\r\n disabled={!!residentialUnitId && links.length === 1}>\r\n {allCaption}\r\n \r\n\r\n setMode('Selection')}\r\n disabled={!!residentialUnitId && links.length === 1}>\r\n {multiCaption}\r\n \r\n
\r\n {mode === 'Selection' && linkedResidentialUnitIds && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default DocumentResidentialUnitSelection;\r\n","import React, { useRef, useState } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { rejectResidentialUnitDocument } from 'services/documents';\r\nimport { Button } from 'components/Buttons';\r\nimport DocumentResidentialUnitSelection from './DocumentResidentialUnitSelection';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { Checkbox, TextArea } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface OwnProps {\r\n documentVersionId: number;\r\n residentialUnitId: number | null;\r\n onClose(): void;\r\n onReject(residentialUnitIds: number[], params: { reason: string }): void;\r\n show: boolean;\r\n uploadedByName: string;\r\n}\r\n\r\nconst DocumentRejectDialog: React.FC = ({\r\n documentVersionId,\r\n residentialUnitId,\r\n onClose,\r\n onReject,\r\n show,\r\n uploadedByName,\r\n}) => {\r\n const [reason, setReason] = useState('');\r\n const [saving, setSaving] = useState(false);\r\n const [sendRejectEmail, setSendRejectEmail] = useState(false);\r\n const [selectedResidentialUnitIds, setSelectedResidentialUnitIds] = useState([]);\r\n const focusElementRef = useRef(null);\r\n const projectId = useSelector((state: IState) => state.global.activeProject!.id);\r\n\r\n const handleOpen = () => {\r\n setReason('');\r\n setSaving(false);\r\n setSelectedResidentialUnitIds([]);\r\n\r\n if (focusElementRef.current) {\r\n focusElementRef.current.focus();\r\n }\r\n };\r\n\r\n const handleRejectClick = async (e) => {\r\n setSaving(true);\r\n\r\n try {\r\n await rejectResidentialUnitDocument(documentVersionId, selectedResidentialUnitIds, reason, sendRejectEmail);\r\n\r\n triggerHandler(onReject, selectedResidentialUnitIds, { reason });\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n // const linkMap = new Set(links.map((x) => x.residentialUnitId));\r\n\r\n return (\r\n \r\n \r\n Reject document\r\n \r\n \r\n
\r\n \r\n setReason(e.target.value)}\r\n />\r\n
\r\n\r\n Reject this unit only}\r\n allCaption={Reject all relevant units}\r\n multiCaption={Reject specific units}\r\n />\r\n setSendRejectEmail(!sendRejectEmail)}>\r\n Send email notifying {uploadedByName} about rejecting this document.\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default DocumentRejectDialog;","import React, { useRef, useState } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { approveResidentialUnitDocument } from 'services/documents';\r\nimport { Button } from 'components/Buttons';\r\nimport DocumentResidentialUnitSelection from './DocumentResidentialUnitSelection';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport Banner from 'components/Banner';\r\nimport { Checkbox, TextArea } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface OwnProps {\r\n documentVersionId: number;\r\n residentialUnitId: number | null;\r\n onClose(): void;\r\n onApprove(residentialUnitIds: number[], params: {}): void;\r\n show: boolean;\r\n hiddenFromBuyer: boolean;\r\n}\r\n\r\nconst DocumentApproveDialog: React.FC = ({\r\n documentVersionId,\r\n residentialUnitId,\r\n onClose,\r\n onApprove,\r\n show,\r\n hiddenFromBuyer,\r\n}) => {\r\n const [saving, setSaving] = useState(false);\r\n const [selectedResidentialUnitIds, setSelectedResidentialUnitIds] = useState([]);\r\n const [sendEmail, setSendEmail] = useState(!hiddenFromBuyer);\r\n const [emailMessage, setEmailMessage] = useState('');\r\n const focusElementRef = useRef(null);\r\n const projectId = useSelector((state: IState) => state.global.activeProject!.id);\r\n\r\n const handleOpen = () => {\r\n setSaving(false);\r\n setSelectedResidentialUnitIds([]);\r\n\r\n if (focusElementRef.current) {\r\n focusElementRef.current.focus();\r\n }\r\n };\r\n\r\n const handleSave = async (e) => {\r\n setSaving(true);\r\n\r\n try {\r\n await approveResidentialUnitDocument(documentVersionId, selectedResidentialUnitIds, sendEmail, emailMessage);\r\n\r\n triggerHandler(onApprove, selectedResidentialUnitIds, {});\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n return (\r\n \r\n \r\n Publish document\r\n \r\n \r\n \r\n \r\n Please note - when you publish this document it will be visible to the buyer of the\r\n unit.\r\n \r\n \r\n Publish for this unit only}\r\n allCaption={Publish for all relevant units}\r\n multiCaption={Publish for specific units}\r\n />\r\n setSendEmail(!sendEmail)}>\r\n Send email notifying buyer about the new document.\r\n \r\n\r\n {sendEmail && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n Publish\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DocumentApproveDialog;","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { getDocumentLinkedResidentialUnits, setDocumentLinkedResidentialUnits } from 'services/documents';\r\nimport { Button } from 'components/Buttons';\r\nimport { IState } from 'state/IState';\r\nimport { useSelector } from 'react-redux';\r\nimport ResidentialUnitSelectFilterable from '../residential-units/ResidentialUnitSelectFilterable';\r\n\r\ninterface OwnProps {\r\n documentVersionId: number;\r\n onClose(): void;\r\n onAccept(): void;\r\n show: boolean;\r\n}\r\n\r\nconst DocumentLinkDialog: React.FC = ({ documentVersionId, onClose, onAccept, show }) => {\r\n const [saving, setSaving] = useState(false);\r\n const [linkedResidentialUnitIds, setLinkedResidentialUnitIds] = useState([]);\r\n const projectId = useSelector((state: IState) => state.global.activeProject!.id);\r\n\r\n const handleOpen = async () => {\r\n setSaving(false);\r\n setLinkedResidentialUnitIds([]);\r\n var links = await getDocumentLinkedResidentialUnits(documentVersionId);\r\n setLinkedResidentialUnitIds(links.map((x) => x.residentialUnitId));\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n const handleAccept = async (e) => {\r\n setSaving(true);\r\n\r\n try {\r\n await setDocumentLinkedResidentialUnits(documentVersionId, linkedResidentialUnitIds);\r\n\r\n triggerHandler(onAccept);\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n Link document\r\n \r\n \r\n
\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 DocumentLinkDialog;\r\n","import React from 'react';\r\nimport { getDocumentThumbnailUrl } from 'services/documents';\r\nimport FileData from 'utils/FileData';\r\nimport { FileMetadata } from 'types';\r\nimport { LocalFilePreview, Thumbnail } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface DocumentPreviewProps {\r\n value: {\r\n versionId: number;\r\n fileMetadata: FileMetadata;\r\n fileData?: FileData;\r\n };\r\n}\r\n\r\nconst DocumentPreview: React.FC = ({ value }) => {\r\n if (value.fileData) {\r\n return ;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default DocumentPreview;","import React, { useState, useEffect } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport {\r\n getResidentialUnitDocumentVersions,\r\n getDocumentFileType,\r\n getOpenDocumentUrl,\r\n getProjectDocumentVersions,\r\n renameDocument,\r\n getDownloadDocumentUrl,\r\n} from 'services/documents';\r\nimport theme from './DocumentList.module.scss';\r\nimport { LoadingIndicator, SingleImageLightbox, ToggleInput } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport DocumentRejectDialog from '../DocumentRejectDialog';\r\nimport { FileType } from 'utils/FileData';\r\nimport { Button, ButtonBar } from 'components/Buttons';\r\nimport { classnames } from 'utils/html';\r\nimport { DateDisplay } from 'components/localization';\r\nimport { faTimesCircle, faCheckCircle, faLink } from '@fortawesome/pro-light-svg-icons';\r\nimport {\r\n ResidentialUnitDocument,\r\n ResidentialUnitDocumentVersion,\r\n DocumentStatus,\r\n ChangedItem,\r\n BaseDocument,\r\n DocumentVersion,\r\n ProjectDocumentVersion,\r\n} from 'types';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { SimpleCard } from 'components/Cards';\r\nimport { useAsyncState, usePrevious } from 'utils/hooks';\r\nimport DocumentApproveDialog from '../DocumentApproveDialog';\r\nimport DocumentLinkDialog from '../DocumentLinkDialog';\r\nimport { DocumentListMode } from '.';\r\nimport { PillBadge, BadgeColor } from 'components/Badge';\r\nimport DocumentPreview from '../DocumentPreview';\r\n\r\nexport interface DocumentListItemDetailsProps {\r\n document: BaseDocument;\r\n onChange?: (changes: ChangedItem[]) => void;\r\n mode: DocumentListMode;\r\n onLoad?: () => void;\r\n}\r\n\r\nconst DocumentListItemDetails: React.FC = ({ document, mode, onChange, onLoad }) => {\r\n const residentialUnitDocument = mode === 'ResidentialUnit' ? (document as ResidentialUnitDocument) : null;\r\n const residentialUnitId = residentialUnitDocument ? residentialUnitDocument.residentialUnitId : null;\r\n\r\n const [versions, setVersions, reloadVersions] = useAsyncState(\r\n () =>\r\n residentialUnitId\r\n ? getResidentialUnitDocumentVersions(document.documentId, residentialUnitId)\r\n : getProjectDocumentVersions(document.documentId),\r\n [document.documentId, residentialUnitId],\r\n null\r\n );\r\n\r\n const [lightboxDocument, setLightboxDocument] = useState(null);\r\n const [rejectDocumentVersionId, setRejectDocumentVersionId] = useState(null);\r\n const [approveDocumentVersionId, setApproveDocumentVersionId] = useState(null);\r\n const [showLinkDialog, setShowLinkDialog] = useState(false);\r\n\r\n const previousVersions = usePrevious(versions);\r\n useEffect(() => {\r\n if (onLoad && versions && !previousVersions) {\r\n onLoad();\r\n }\r\n }, [onLoad, versions, previousVersions]);\r\n\r\n const triggerChangeEvent = (data: Partial) => {\r\n triggerHandler(onChange, [new ChangedItem(document as BaseDocument, { ...(document as BaseDocument), ...data })]);\r\n };\r\n\r\n const handleThumbnailClick = (e, version) => {\r\n if (getDocumentFileType(version) === FileType.Image) {\r\n setLightboxDocument(version);\r\n\r\n e.preventDefault();\r\n }\r\n };\r\n\r\n const handleLightboxClose = () => {\r\n setLightboxDocument(null);\r\n };\r\n\r\n const handleRejectDialogAccept = (residentialUnitIds: number[], { reason }) => {\r\n triggerChangeEvent({ status: DocumentStatus.Rejected, lastVersionRejectReason: reason });\r\n reloadVersions();\r\n };\r\n\r\n const handleApproveDialogAccept = (residentialUnitIds: number[]) => {\r\n triggerChangeEvent({ status: DocumentStatus.Approved });\r\n reloadVersions();\r\n };\r\n\r\n const handleLinkDialogAccept = () => {\r\n triggerChangeEvent({});\r\n reloadVersions();\r\n };\r\n\r\n const handleRenameAccept = async (version: DocumentVersion, newValue: string) => {\r\n await renameDocument(version.versionId, newValue);\r\n\r\n setVersions((v) => ChangedItem.fromMerge(version, { name: newValue }).updateArray(v!));\r\n };\r\n\r\n const renderProjectButtons = () => {\r\n // const hasPending = (document as ProjectDocument).linkedUnits.some((x) => x.status === DocumentStatus.Pending);\r\n return (\r\n <>\r\n \r\n setShowLinkDialog(false)}\r\n onAccept={handleLinkDialogAccept}\r\n />\r\n \r\n );\r\n };\r\n\r\n const renderVersionButtons = (version: DocumentVersion) => {\r\n const isPending =\r\n (version as ResidentialUnitDocumentVersion).status === DocumentStatus.Pending ||\r\n (version as ProjectDocumentVersion).hasPendingLinks;\r\n\r\n if (!(document as BaseDocument).permissions.canApprove || !isPending) {\r\n if (mode === 'Project') {\r\n return null;\r\n }\r\n\r\n const status = (version as ResidentialUnitDocumentVersion).status;\r\n const colorMap: { [key in DocumentStatus]: BadgeColor } = {\r\n Pending: 'warning',\r\n Rejected: 'danger',\r\n Approved: 'success',\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {\r\n setApproveDocumentVersionId(version.versionId);\r\n }}>\r\n Publish\r\n \r\n {\r\n setRejectDocumentVersionId(version.versionId);\r\n }}>\r\n Reject\r\n \r\n
\r\n\r\n setApproveDocumentVersionId(null)}\r\n onApprove={handleApproveDialogAccept}\r\n />\r\n\r\n setRejectDocumentVersionId(null)}\r\n onReject={handleRejectDialogAccept}\r\n />\r\n \r\n );\r\n };\r\n\r\n if (!versions) {\r\n return ;\r\n }\r\n\r\n const latestApprovedVersion = versions!.find(\r\n (x) => (x as ResidentialUnitDocumentVersion).status === DocumentStatus.Approved\r\n );\r\n\r\n return (\r\n
\r\n \r\n
\r\n {versions.map((version) => (\r\n
\r\n \r\n
\r\n {latestApprovedVersion === version ? (\r\n Latest version\r\n ) : (\r\n Version {version.versionNumber}\r\n )}\r\n
\r\n\r\n handleThumbnailClick(e, version)}>\r\n \r\n \r\n\r\n
\r\n handleRenameAccept(version, e.target.value)}\r\n />\r\n {/*
{version.name}
*/}\r\n\r\n \r\n
\r\n
\r\n {renderVersionButtons(version)}\r\n
\r\n ))}\r\n
\r\n \r\n\r\n {lightboxDocument && (\r\n \r\n )}\r\n\r\n {mode === 'Project' && (document as BaseDocument).permissions.canReplace && (\r\n \r\n {renderProjectButtons()}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default DocumentListItemDetails;","import React from 'react';\r\nimport theme from './StatusReason.module.scss';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport { Trans } from '@lingui/macro';\r\nimport { StatusReasonProps } from '.';\r\n\r\nconst StatusReason: React.FC = ({ reason, userName, titleGenerator }) => {\r\n const renderTooltipContent = () => {\r\n return (\r\n
\r\n
\r\n Reason\r\n
\r\n {reason ? (\r\n
{reason}
\r\n ) : (\r\n
\r\n No reason provided\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n return (\r\n \r\n \r\n Why?\r\n \r\n \r\n );\r\n};\r\n\r\nexport default StatusReason;\r\n","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport StatusReason from './StatusReason';\r\nimport { SpecificStatusReasonProps } from '.';\r\n\r\nconst RejectedStatusReason: React.FC = ({ ...rest }) => {\r\n return (\r\n (userName ? Declined by {userName} : Declined)}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\nexport default RejectedStatusReason;\r\n\r\n\r\n","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport StatusReason from './StatusReason';\r\nimport { SpecificStatusReasonProps } from '.';\r\n\r\nconst ClosedStatusReason: React.FC = ({ ...rest }) => {\r\n return (\r\n (userName ? Closed by {userName} : Closed)}\r\n {...rest}\r\n />\r\n );\r\n};\r\n\r\nexport default ClosedStatusReason;\r\n\r\n\r\n","import { request } from 'utils/ajax';\r\nimport { ObjectHistoryLog, PaginationResult, PaginationRequest, ObjectHistoryLogFilterData } from 'types';\r\nimport { HistoryLogActions } from 'seller/components/HistoryLog/HistoryLogActions';\r\nimport { ObjectHistoryLogObjectType } from 'seller/components/HistoryLog/HistoryLogObjectType';\r\n\r\nexport type HistorySearchOptions = HistorySearchFilters & PaginationRequest;\r\nexport interface HistorySearchFilters {\r\n objectType?: ObjectHistoryLogObjectType | null;\r\n objectIds?: number[];\r\n groupByIds?: (string | number)[];\r\n operationKey?: HistoryLogActions['All'][];\r\n projectId: number;\r\n residentialUnitIds?: number[];\r\n performedByUserIds?: number[];\r\n}\r\n\r\nexport class HistorySearchFilters {\r\n static empty(projectId: number): HistorySearchFilters {\r\n return {\r\n projectId,\r\n objectType: null,\r\n objectIds: [],\r\n groupByIds: [],\r\n operationKey: [],\r\n residentialUnitIds: [],\r\n performedByUserIds: [],\r\n };\r\n }\r\n}\r\n\r\nexport function getHistoryLog(searchOption: HistorySearchOptions): Promise> {\r\n return request(`api/object-history`, {\r\n query: searchOption,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getHistoryLogFilterData(searchOption: HistorySearchFilters): Promise {\r\n return request(`api/object-history/filter-data`, {\r\n query: searchOption,\r\n }).then((x) => x.json());\r\n}\r\n","import React from 'react';\r\nimport theme from './UserInfoRow.module.scss';\r\nimport { UserIcon } from 'components/Icons';\r\n\r\ninterface UserInfoRowProps {\r\n userId: number;\r\n displayName: string;\r\n profileName: string;\r\n}\r\n\r\nconst UserInfoRow: React.FC = ({ userId, displayName, profileName }) => {\r\n return (\r\n
\r\n \r\n
\r\n {displayName || ''}\r\n {profileName || ''}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UserInfoRow;\r\n","import React, { ReactElement } from 'react';\r\nimport theme from './UserInfoRow.module.scss';\r\nimport { UserIcon } from 'components/Icons';\r\nimport { useAsyncState, useGetProjectId } from 'utils/hooks';\r\nimport { getUserDetails } from 'services/projects';\r\n// import { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface UserInfoRowLazyProps {\r\n userId: number;\r\n infoText?: ReactElement;\r\n}\r\n\r\nconst UserInfoRowLazy: React.FC = ({ userId, infoText }) => {\r\n const projectId = useGetProjectId();\r\n const [userDetails] = useAsyncState(() => getUserDetails(projectId!, userId), [projectId, userId], null);\r\n\r\n return (\r\n
\r\n {infoText && {infoText}}\r\n \r\n
\r\n {userDetails?.displayName || ''}\r\n {userDetails?.profileName || ''}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UserInfoRowLazy;\r\n","import React, { ReactNode } from 'react';\r\nimport { HistoryLogActions } from './HistoryLogActions';\r\nimport { Trans } from '@lingui/macro';\r\n\r\ntype TranslationGenerator = () => ReactNode;\r\n\r\nclass TranslationMapping {\r\n private _map = new Map();\r\n\r\n private generateKey(operationKey: HistoryLogActions['All'], propertyName: string) {\r\n return `${operationKey}.${propertyName}`;\r\n }\r\n\r\n add(operationKey: HistoryLogActions['All'], propertyName: string, translation: TranslationGenerator) {\r\n this._map.set(this.generateKey(operationKey, propertyName), translation);\r\n }\r\n\r\n get(operationKey: HistoryLogActions['All'], propertyName: string) {\r\n const generator = this._map.get(this.generateKey(operationKey, propertyName));\r\n\r\n if (generator) {\r\n return generator();\r\n }\r\n return ;\r\n }\r\n}\r\n\r\nconst transMap = new TranslationMapping();\r\n\r\ntransMap.add('PricingFieldUpdated', 'Unit', () => );\r\n\r\ntransMap.add('WhiteLabelUpdated', 'ButtonColor', () => Button background color);\r\ntransMap.add('WhiteLabelUpdated', 'ButtonColorContrast', () => Button text color);\r\ntransMap.add('WhiteLabelUpdated', 'NotificationColor', () => Notification indicator background color);\r\ntransMap.add('WhiteLabelUpdated', 'NotificationColorContrast', () => Notification indicator text color);\r\ntransMap.add('WhiteLabelUpdated', 'IsEnabled', () => Enabled);\r\ntransMap.add('WhiteLabelUpdated', 'LogoUserFileId', () => Company logo);\r\n\r\ntransMap.add('TermsUpdated', 'TermsAndConditions', () => Terms and conditions);\r\ntransMap.add('TermsUpdated', 'ExternalPrivacyPolicyLink', () => Project privacy policy link);\r\n\r\ntransMap.add('DeadlineAlertUpdated', 'DaysBeforeDeadline', () => Number of days before deadline);\r\ntransMap.add('DeadlineAlertUpdated', 'SendEmail', () => Email);\r\ntransMap.add('DeadlineAlertUpdated', 'SendSms', () => SMS);\r\ntransMap.add('DeadlineUpdated', 'IsChangeRequestDeadline', () => Use as change request deadline);\r\n\r\ntransMap.add('LandingPageMilestonesUpdated', 'IsCompleted', () => Milestone marked);\r\ntransMap.add('LandingPageImageTextChange', 'Text', () => Image text);\r\n\r\ntransMap.add('ProjectSettingsUpdated', 'DefaultLanguageCode', () => Default language);\r\ntransMap.add('ProjectSettingsUpdated', 'CurrencyCode', () => Currency);\r\ntransMap.add('ProjectSettingsUpdated', 'ChangeRequestWarningText', () => Change request warning);\r\n// transMap.add('ProjectSettingsUpdated', 'Subdomain', () => Subdomain);\r\ntransMap.add('ProjectSettingsUpdated', 'DefaultShowOfferSubtotalsToBuyers', () => Show subtotals to buyers);\r\ntransMap.add('ProjectSettingsUpdated', 'ShowLandingPageBackgroundImage', () => (\r\n Use project image as background for landing page\r\n));\r\ntransMap.add('ProjectSettingsUpdated', 'EmailContactInfo', () => Contact information in invitation emails);\r\ntransMap.add('ProjectSettingsUpdated', 'BuyerOptionOneTimeFee', () => One-time fee for selecting options);\r\n\r\ntransMap.add('FileChanged', 'IsSensitive', () => One-time fee for selecting options);\r\ntransMap.add('FileChanged', 'HideFromBuyer', () => Hide from buyer);\r\ntransMap.add('Updated', 'ParticipantsNote', () => Note for participants);\r\n\r\ntransMap.add('LandingPageMilestonesUpdated', 'Label', () => Milestone title);\r\ntransMap.add('LandingPageMilestoneCreated', 'Label', () => Milestone title);\r\n\r\nexport function getHistoryLogComparisonTranslation(operationKey: HistoryLogActions['All'], propertyName: string) {\r\n return transMap.get(operationKey, propertyName);\r\n}\r\n\r\n/* eslint-disable react/react-in-jsx-scope */\r\n/* eslint-disable @typescript-eslint/no-unused-expressions */\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 { Trans } from '@lingui/macro';\r\nimport { DateDisplay } from 'components/localization';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport React from 'react';\r\nimport theme from './HistoryLog.module.scss';\r\nimport { HistoryLogActions } from './HistoryLogActions';\r\nimport { getHistoryLogComparisonTranslation } from './HistoryLogComparisonTranslationMap';\r\n\r\nenum DataType {\r\n Unknown = 0,\r\n String,\r\n Number,\r\n Date,\r\n Bool,\r\n}\r\nexport interface ComparisonObject {\r\n propertyName: string;\r\n oldValue: string;\r\n newValue: string;\r\n dataType: DataType;\r\n}\r\n\r\ninterface HistoryLogComparisonProps {\r\n data: ComparisonObject[];\r\n operationKey: HistoryLogActions['All'];\r\n /** Will force table instead of tooltip, as long as data.length > 1\r\n * */\r\n forceTable?: boolean;\r\n}\r\n\r\nconst HistoryLogComparison = ({ data, operationKey, forceTable }: HistoryLogComparisonProps) => {\r\n if (data.length === 0) return null;\r\n const renderValues = (d: ComparisonObject) => {\r\n if (d.dataType === DataType.Date) {\r\n return [, ];\r\n }\r\n if (d.dataType === DataType.Bool) {\r\n return [\r\n d.oldValue ? Yes : No,\r\n d.newValue ? Yes : No,\r\n ];\r\n }\r\n return [d.oldValue, d.newValue];\r\n };\r\n\r\n const generateComparisonTable = () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {data.map((x) => {\r\n const values = renderValues(x);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
\r\n Name\r\n \r\n Old\r\n \r\n New\r\n
{getHistoryLogComparisonTranslation(operationKey, x.propertyName)}{values[0]}{values[1]}
\r\n );\r\n\r\n if (data.length === 1) {\r\n const values = renderValues(data[0]);\r\n const translatedProperty = getHistoryLogComparisonTranslation(operationKey, data[0].propertyName);\r\n return (\r\n \r\n \r\n \"{translatedProperty}\" changed from {values[0]} to {values[1]}\r\n \r\n \r\n );\r\n }\r\n if (forceTable) {\r\n return generateComparisonTable();\r\n }\r\n\r\n return (\r\n Differences between old and new
}\r\n includeQuestionMark\r\n dynamicWidth\r\n minWidthPx={200}\r\n color=\"light\"\r\n className={theme.tooltip}\r\n content={generateComparisonTable()}>\r\n \r\n View changes\r\n \r\n \r\n );\r\n};\r\n\r\nexport default HistoryLogComparison;\r\n","import React, { useState, useEffect } from 'react';\r\nimport theme from './DataTooltip.module.scss';\r\nimport { getResidentialUnitExtraData } from 'services/residential-units';\r\nimport { Tooltip, TooltipChildren } from 'components/Tooltip';\r\nimport { ResidentialUnitExtraData } from 'types';\r\nimport { Trans, Plural } from '@lingui/macro';\r\nimport { UserIcon } from 'components/Icons';\r\nimport TooltipLoading from 'components/Tooltip/TooltipLoading';\r\nimport { TelLink, MailToLink, ProjectRelativeLink } from 'components/navigation';\r\nimport { DateDistanceDisplay } from 'components/localization';\r\nimport { ResidentialUnitDetailsTab } from '../residential-units/ResidentialUnitDetails/ResidentialUnitDetails';\r\n\r\nconst Content: React.FC<{ data: ResidentialUnitExtraData }> = ({ data }) => {\r\n return (\r\n
\r\n
\r\n {data.floor && (\r\n
\r\n Floor: {data.floor}\r\n
\r\n )}\r\n {data.layoutType && (\r\n
\r\n Layout: {data.layoutType}\r\n
\r\n )}\r\n
\r\n\r\n
\r\n \r\n
    \r\n {data.buyerInfo.users.map((m) => (\r\n
  • \r\n \r\n
    \r\n {m.displayName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
  • \r\n ))}\r\n
\r\n {data.buyerInfo.lastVisitDate && (\r\n \r\n Last active{' '}\r\n \r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\ninterface ResidentialUnitTooltipProps {\r\n children: TooltipChildren;\r\n residentialUnitId: number;\r\n delay?: number;\r\n className?: string;\r\n linkTab?: ResidentialUnitDetailsTab;\r\n includeQuestionMark?: boolean;\r\n}\r\n\r\nconst ResidentialUnitTooltip: React.FC = ({\r\n residentialUnitId,\r\n children,\r\n className = '',\r\n delay = 150,\r\n linkTab,\r\n includeQuestionMark = true,\r\n}) => {\r\n const [visible, setVisible] = useState(false);\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n setData(null);\r\n }, [residentialUnitId]);\r\n\r\n useEffect(() => {\r\n async function load() {\r\n var result = await getResidentialUnitExtraData(residentialUnitId!);\r\n setData(result);\r\n }\r\n\r\n if (residentialUnitId && visible && !data) {\r\n load();\r\n }\r\n }, [residentialUnitId, visible, data]);\r\n\r\n let link = `/residential-units/${residentialUnitId}`;\r\n\r\n if (linkTab) {\r\n link += '/' + linkTab;\r\n }\r\n\r\n return (\r\n \r\n \r\n Unit - {data.name} \r\n {data.residentialUnitGroupName && <>({data.residentialUnitGroupName})}\r\n \r\n \r\n View unit details\r\n \r\n
\r\n ) : undefined\r\n }\r\n // this might not be in use. Im not sure :S\r\n onShow={() => setVisible(true)}\r\n onHide={() => setVisible(false)}\r\n content={data ? : }>\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ResidentialUnitTooltip;\r\n","import React, { useEffect, useState } from 'react';\r\nimport theme from './DataTooltip.module.scss';\r\nimport { getProfileTooltipInfo } from 'services/profiles';\r\nimport { ProfileTooltipInfo } from 'types';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport { Trans } from '@lingui/macro';\r\nimport TooltipLoading from 'components/Tooltip/TooltipLoading';\r\nimport { ProfileIcon, UserIcon } from 'components/Icons';\r\nimport { classnames } from 'utils/html';\r\n\r\nconst Content: React.FC<{ data: ProfileTooltipInfo }> = ({ data }) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n Company\r\n \r\n {data.name}\r\n
\r\n
\r\n
\r\n \r\n Active users\r\n \r\n\r\n {data.users.map((u) => (\r\n
\r\n \r\n
\r\n {u.displayName}\r\n {u.email}\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n\r\ninterface ProfileTooltipProps {\r\n profileId: number;\r\n delay?: number;\r\n}\r\nconst ProfileTooltip: React.FC = ({ children, profileId, delay = 150 }) => {\r\n const [visible, setVisible] = useState(false);\r\n const [data, setData] = useState(null);\r\n\r\n useEffect(() => {\r\n setData(null);\r\n }, [profileId]);\r\n\r\n useEffect(() => {\r\n async function load() {\r\n var result = await getProfileTooltipInfo(profileId);\r\n setData(result);\r\n }\r\n\r\n if (profileId && visible && !data) {\r\n load();\r\n }\r\n }, [profileId, visible, data]);\r\n\r\n return (\r\n <>\r\n Info on {data.name} : undefined}\r\n onShow={() => setVisible(true)}\r\n onHide={() => setVisible(false)}\r\n content={data ? : }>\r\n \r\n Info\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ProfileTooltip;\r\n","import React, { ReactElement, Fragment } from 'react';\r\nimport { ObjectHistoryLog } from 'types';\r\nimport { UserInfoRowLazy } from 'components/UserInfoRow';\r\nimport { Trans } from '@lingui/macro';\r\nimport { get } from 'lodash-es';\r\nimport Tags from 'components/Tags';\r\nimport { DateDisplay } from 'components/localization';\r\nimport HistoryLogComparison from './HistoryLogComparison';\r\nimport { BadgeList, BorderBadge } from 'components/Badge';\r\nimport { ResidentialUnitTooltip } from '../data-tooltips';\r\nimport { ProfileIcon } from 'components/Icons';\r\nimport { TextView } from '@ygtechnologies/bygr-frontend-component-library';\r\n// import theme from './HistoryLogTableInfoRow.module.scss';\r\n\r\ninterface HistoryLogTableInfoRowProps {\r\n row: ObjectHistoryLog;\r\n}\r\n\r\nconst HistoryLogTableInfoRow = ({ row }: HistoryLogTableInfoRowProps) => {\r\n if (!row.parametersJson) return null;\r\n let outArray: ReactElement[] = [];\r\n\r\n for (const [key, value] of Object.entries(row.parametersJson)) {\r\n if (!value) continue;\r\n if (key === 'comparison') {\r\n outArray.push(\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (key === 'userId') {\r\n outArray.push();\r\n }\r\n if (key === 'participantUserId') {\r\n outArray.push(\r\n \r\n Participant:{' '}\r\n \r\n }\r\n />\r\n );\r\n }\r\n if (key === 'profileId') {\r\n outArray.push();\r\n }\r\n\r\n if (key === 'tags') {\r\n outArray.push(\r\n \r\n Tags:\r\n \r\n \r\n );\r\n }\r\n if (key === 'reason') {\r\n outArray.push(\r\n \r\n Reason: {value}\r\n \r\n );\r\n }\r\n if (key === 'message') {\r\n outArray.push(\r\n \r\n Message: {value}\r\n \r\n );\r\n }\r\n if (key === 'email') {\r\n outArray.push(\r\n \r\n Email: {value}\r\n \r\n );\r\n }\r\n if (key === 'phoneNumber') {\r\n outArray.push(\r\n \r\n Phone number: {value}\r\n \r\n );\r\n }\r\n if (key === 'title') {\r\n outArray.push(\r\n \r\n Title: {value}\r\n \r\n );\r\n }\r\n if (key === 'description') {\r\n outArray.push(\r\n \r\n Description: {value}\r\n \r\n );\r\n }\r\n if (key === 'name') {\r\n outArray.push(\r\n \r\n Name: {value}\r\n \r\n );\r\n }\r\n if (key === 'label') {\r\n outArray.push(\r\n \r\n Label: {value}\r\n \r\n );\r\n }\r\n if (key === 'units') {\r\n outArray.push(\r\n \r\n {value.map((ru) => (\r\n \r\n {ru.name}\r\n \r\n ))}\r\n \r\n );\r\n }\r\n if (key === 'subject') {\r\n outArray.push(\r\n \r\n Subject: {value}\r\n \r\n );\r\n }\r\n if (key === 'subjects') {\r\n outArray.push(\r\n \r\n Subject: {value.join(', ')}\r\n \r\n );\r\n }\r\n }\r\n if (row.objectType === 'ResidentialUnit') {\r\n if (row.operationKey === 'DeadlineUpdated') {\r\n return (\r\n \r\n New date: \r\n \r\n );\r\n }\r\n }\r\n\r\n if (row.objectType === 'ChangeRequest') {\r\n if (row.operationKey === 'ParticipantReadyChanged') {\r\n outArray.push(\r\n \r\n {row.parametersJson['ready'] ? Ready : Not ready}\r\n \r\n );\r\n }\r\n\r\n if (row.operationKey === 'SetOptionOverrides') {\r\n outArray.push(\r\n \r\n Overridden options:{' '}\r\n {(get(row.parametersJson, 'buyerOptionGroupNames', []) as string[]).join(' ,')}\r\n \r\n );\r\n }\r\n }\r\n\r\n return <>{outArray.map((x) => x)};\r\n};\r\n\r\nexport default HistoryLogTableInfoRow;\r\n","import React, { useEffect, useState } from 'react';\r\n// import theme from './HistoryLog.module.scss';\r\nimport { useAsyncStateWithIsLoading } from 'utils/hooks';\r\nimport { getHistoryLog, HistorySearchFilters } from 'services/object-history-log';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Trans } from '@lingui/macro';\r\nimport { UserInfoRowLazy } from 'components/UserInfoRow';\r\nimport { DateTimeDisplay } from 'components/localization';\r\n// import { createDataTable } from 'components/DataTable';\r\nimport { ObjectHistoryLog } from 'types';\r\nimport { CustomLink } from 'components/navigation';\r\nimport { ObjectHistoryLogObjectType } from './HistoryLogObjectType';\r\nimport { ResidentialUnitDetailsTab } from '../residential-units/ResidentialUnitDetails/ResidentialUnitDetails';\r\nimport HistoryLogTableInfoRow from './HistoryLogTableInfoRow';\r\nimport { createDataTable, SortDirection } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport { isEqual } from 'lodash-es';\r\nexport interface HistoryLogProps {\r\n filter: HistorySearchFilters;\r\n /**\r\n * Use to remove columns not needed, usually the \"objectType\" and \"objectName\"\r\n */\r\n hiddenColumns?: (keyof ObjectHistoryLog)[];\r\n}\r\n\r\nconst DataTable = createDataTable();\r\n\r\nconst HistoryLogTable = ({ filter, hiddenColumns }: HistoryLogProps) => {\r\n const [fixedFilters, setFixedFilters] = useState(filter);\r\n useEffect(() => {\r\n setFixedFilters((prev) => {\r\n return isEqual(prev, filter) ? prev : filter;\r\n });\r\n }, [filter, setFixedFilters]);\r\n\r\n const [tableState, setTableState] = useState(DataTable.getInitialState('id', SortDirection.Descending));\r\n const [data, , , isLoading] = useAsyncStateWithIsLoading(\r\n () => getHistoryLog({ ...tableState, ...fixedFilters }),\r\n [tableState, fixedFilters],\r\n null\r\n );\r\n\r\n const getLinkElement = (row: ObjectHistoryLog) => {\r\n let rowName = row.objectName;\r\n if (row.objectType === 'Email') {\r\n return rowName;\r\n }\r\n let linkObjectId: any = row.objectId;\r\n let link = '';\r\n if (row.objectType === 'ProjectDocument' || row.objectType === 'ResidentialUnitDocument') {\r\n linkObjectId = row.groupById;\r\n }\r\n if (row.objectType === 'ProjectCatalogLinkGroup') {\r\n link = `/projects/${row.projectId}/options/${row.objectId}`;\r\n }\r\n if (row.objectType === 'Project') {\r\n link = `/projects/${row.objectId}`;\r\n }\r\n if (row.objectType === 'Dependency') {\r\n link = `/projects/${row.projectId}/options/dependencies/edit/${row.objectId}`;\r\n }\r\n if (row.objectType === 'BuyerOptionPreset' || row.objectType === 'BuyerOptionPresetGroup') {\r\n link = `/projects/${row.projectId}/options/styles/`;\r\n } else if (row.residentialUnitId) {\r\n const basePath = `/projects/${row.projectId}/residential-units/${row.residentialUnitId}`;\r\n link = `${basePath}/${getResidentialUnitTabPath(row.objectType)}/${linkObjectId}`;\r\n }\r\n return {rowName};\r\n };\r\n\r\n const getResidentialUnitTabPath = (objectType: ObjectHistoryLogObjectType): ResidentialUnitDetailsTab | null => {\r\n switch (objectType) {\r\n case 'BuyerOptionGroup':\r\n return 'options';\r\n case 'ProjectDocument':\r\n case 'ResidentialUnitDocument':\r\n return 'documents';\r\n case 'ChangeRequest':\r\n return 'changes';\r\n case 'ExternalAgreement':\r\n return 'external-agreements';\r\n case 'ResidentialUnit':\r\n return 'dashboard';\r\n case 'Order':\r\n return 'orders';\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n if (!data) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n Object}\r\n field=\"objectType\"\r\n sortable\r\n renderer={(x) => (\r\n \r\n Related to:{' '}\r\n \r\n \r\n ) : null\r\n }>\r\n \r\n \r\n \r\n \r\n )}\r\n />\r\n Action}\r\n field=\"operationKey\"\r\n sortable\r\n renderer={(x) => }\r\n />\r\n Name}\r\n field=\"objectName\"\r\n sortable\r\n renderer={(x) => getLinkElement(x.row)}\r\n />\r\n Info}\r\n field=\"parametersJson\"\r\n renderer={(x) => }\r\n />\r\n Performed by}\r\n field=\"performedBy\"\r\n renderer={(x) => (x.value ? : null)}\r\n />\r\n Date}\r\n field=\"performedDate\"\r\n sortable\r\n renderer={(x) => }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default HistoryLogTable;\r\n","import React from 'react';\r\n// import theme from './HistoryLogModal.module.scss';\r\nimport { Modal, ModalBody, ModalFooter } from 'components/Modal';\r\nimport HistoryLogTable, { HistoryLogProps } from './HistoryLogTable';\r\nimport { Button } from 'components/Buttons';\r\nimport { Trans } from '@lingui/macro';\r\n\r\ninterface HistoryLogModalProps extends HistoryLogProps {\r\n isOpen: boolean;\r\n toggle(): void;\r\n}\r\n\r\nconst HistoryLogModal = ({ isOpen, toggle, ...rest }: HistoryLogModalProps) => {\r\n if (!isOpen) return null;\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\nexport default HistoryLogModal;\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport theme from './DocumentList.module.scss';\r\nimport Dropzone from 'react-dropzone';\r\nimport { triggerHandler } from 'utils/events';\r\nimport DocumentListItemDetails from './DocumentListItemDetails';\r\nimport { ResidentialUnitDocument, ChangedItem, BaseDocument, ProjectDocument, DocumentStatus } from 'types';\r\nimport { ExpandableCard, CardSection, ExpandableCardHandle, CardDropdownMenu, CardRow } from 'components/Cards';\r\nimport { DateDisplay } from 'components/localization';\r\nimport { DocumentStatusIndicator } from 'components/StatusIndicator';\r\nimport { BadgeList, BorderBadge, BadgeColor } from 'components/Badge';\r\nimport { DocumentListMode } from '.';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faBuilding } from '@fortawesome/pro-regular-svg-icons';\r\nimport {\r\n faUpload,\r\n faEyeSlash,\r\n faEye,\r\n faLockOpen,\r\n faLock,\r\n faDraftingCompass,\r\n faArchive,\r\n faHistory,\r\n} from '@fortawesome/pro-light-svg-icons';\r\nimport {\r\n getOpenDocumentUrl,\r\n setDocumentHiddenFromBuyer,\r\n setDocumentIsSensitive,\r\n setDocumentIsArchived,\r\n} from 'services/documents';\r\nimport { useDocumentType, useMessageDismissal, useIsSeller } from 'utils/hooks';\r\nimport { DropdownButtonItem } from 'components/Dropdown';\r\nimport ScrollToWrapper from 'components/ScrollToWrapper';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport { RejectedStatusReason } from 'components/StatusReason';\r\nimport SensitiveInfoTooltip from 'components/SensitiveInfoTooltip';\r\nimport { DismissibleMessageKey } from 'services/message-dismissal';\r\nimport SensitiveInfoConfirmDialog from 'components/SensitiveInfoConfirmDialog';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { FileType } from 'utils/FileData';\r\nimport ModelViewerModal from 'components/ModelViewer/ModelViewerModal';\r\nimport HistoryLogModal from 'seller/components/HistoryLog/HistoryLogModal';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport { FileIcon } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nfunction documentStatusToColor(status: DocumentStatus): BadgeColor {\r\n switch (status) {\r\n case DocumentStatus.Approved:\r\n return 'success';\r\n case DocumentStatus.Rejected:\r\n return 'danger';\r\n case DocumentStatus.Pending:\r\n return 'warning';\r\n default:\r\n return 'info';\r\n }\r\n}\r\n\r\nexport interface DocumentListItemProps {\r\n document: BaseDocument;\r\n onChange?: (changes: ChangedItem[]) => void;\r\n onFileDrop?: (file: File | null, document: BaseDocument | null) => void;\r\n mode: DocumentListMode;\r\n defaultExpanded?: boolean;\r\n}\r\n\r\nconst DocumentListItem: React.FC = ({ document, onChange, mode, onFileDrop, defaultExpanded }) => {\r\n const [expanded, setExpanded] = useState(!!defaultExpanded);\r\n const [isLoaded, setIsLoaded] = useState(false);\r\n\r\n const projectId = useSelector((state: IState) => state.global.activeProject?.id ?? state.buyer.projectData!.projectId);\r\n const [sensitiveDialogDismissed, dismissSensitiveDialog] = useMessageDismissal(\r\n DismissibleMessageKey.SensitiveInfo,\r\n projectId\r\n );\r\n const [showSensitiveDialog, setShowSensitiveDialog] = useState(false);\r\n const [modalViewerIsOpen, setModalViewerIsOpen] = useState(false);\r\n const [logModalIsOpen, setLogModalIsOpen] = useState(false);\r\n const isSeller = useIsSeller();\r\n\r\n const handleDrop = (files: File[]) => {\r\n const file = files[0];\r\n\r\n if (file.size === 0) {\r\n iconToast.error(Cannot drag and drop files directly from compressed folders (.ZIP));\r\n return;\r\n }\r\n\r\n triggerHandler(onFileDrop, file, document as BaseDocument);\r\n };\r\n const toggleHideDocument = async () => {\r\n const doc = document as ResidentialUnitDocument;\r\n await setDocumentHiddenFromBuyer(doc.lastVersionId, !doc.hideFromBuyer);\r\n\r\n triggerHandler(onChange, [\r\n ChangedItem.fromMerge(document as any, { hideFromBuyer: !doc.hideFromBuyer }),\r\n ]);\r\n };\r\n\r\n const setSensitive = async (flag: boolean) => {\r\n await setDocumentIsSensitive(document.lastVersionId, flag);\r\n\r\n triggerHandler(onChange, [ChangedItem.fromMerge(document as any, { isSensitive: flag })]);\r\n };\r\n\r\n const setArchived = async (flag: boolean) => {\r\n await setDocumentIsArchived(document.lastVersionId, flag);\r\n\r\n triggerHandler(onChange, [ChangedItem.fromMerge(document as any, { isArchived: flag })]);\r\n };\r\n\r\n const handleToggleSensitive = (flag: boolean) => {\r\n if (flag && !sensitiveDialogDismissed) {\r\n setShowSensitiveDialog(true);\r\n } else {\r\n setSensitive(!document.isSensitive);\r\n }\r\n };\r\n\r\n const handleSensitiveDialogAccept = (doNotRemind: boolean) => {\r\n if (doNotRemind) {\r\n dismissSensitiveDialog();\r\n }\r\n setSensitive(true);\r\n };\r\n\r\n const documentType = useDocumentType(document.documentTypeId);\r\n\r\n const renderDropdown = () => {\r\n const canUpload = document.permissions.canReplace && !!onFileDrop;\r\n const canToggleVisibility = document.permissions.canReplace;\r\n const canToggleIsSensitive = document.permissions.canMarkAsSensitive;\r\n const canToggleIsArchived = document.permissions.canReplace;\r\n\r\n const showDropdown = canUpload || canToggleVisibility;\r\n\r\n return (\r\n <>\r\n \r\n\r\n {canToggleIsSensitive && (\r\n setShowSensitiveDialog(false)}\r\n onAccept={handleSensitiveDialogAccept}\r\n />\r\n )}\r\n \r\n );\r\n };\r\n\r\n const renderContent = () => {\r\n const d = document as BaseDocument;\r\n\r\n return (\r\n <>\r\n \r\n setIsLoaded(true)}\r\n key={document.lastVersionId}\r\n document={document}\r\n onChange={onChange}\r\n mode={mode}\r\n />\r\n }>\r\n \r\n
\r\n Drop here to upload a new version of this document\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
{documentType && documentType.name}
\r\n {document.name}\r\n \r\n\r\n
\r\n {mode === 'ResidentialUnit' && document.isProjectDocument && (\r\n \r\n \r\n Project document\r\n \r\n )}\r\n\r\n {mode === 'Project' && document.isArchived && (\r\n \r\n \r\n Archived\r\n \r\n )}\r\n {document.isSensitive && (\r\n \r\n \r\n \r\n \r\n Sensitive\r\n \r\n \r\n \r\n )}\r\n {document.hideFromBuyer && (\r\n \r\n \r\n Hidden from buyer\r\n \r\n )}\r\n
\r\n
\r\n
\r\n\r\n Modified} right width=\"250px\" shrink>\r\n
\r\n \r\n {isSeller && d.uploadedByName && (\r\n \r\n  by {d.uploadedByName}\r\n \r\n )}\r\n
\r\n
\r\n\r\n {mode === 'ResidentialUnit' && (\r\n Internal status} right width=\"130px\">\r\n \r\n\r\n {(document as ResidentialUnitDocument).status === DocumentStatus.Rejected && (\r\n \r\n )}\r\n \r\n )}\r\n\r\n setExpanded(!expanded)} />\r\n {renderDropdown()}\r\n
\r\n \r\n {mode === 'Project' && (\r\n
\r\n Linked residential units:\r\n \r\n {(document as ProjectDocument).linkedUnits.map((link) => (\r\n \r\n \r\n {link.status === DocumentStatus.Rejected && (\r\n <>\r\n {': '}\r\n {link.rejectReason}\r\n \r\n )}\r\n \r\n }>\r\n \r\n {link.residentialUnitName}\r\n \r\n \r\n ))}\r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n {d.lastVersionFileMetadata.fileType === FileType.IfcModel && (\r\n setModalViewerIsOpen(!modalViewerIsOpen)}\r\n versionId={d.lastVersionId}\r\n isOpen={modalViewerIsOpen}\r\n />\r\n )}\r\n setLogModalIsOpen(false)}\r\n isOpen={logModalIsOpen}\r\n filter={{\r\n projectId: projectId,\r\n groupByIds: [document.documentId],\r\n }}\r\n />\r\n \r\n );\r\n };\r\n\r\n if ((document as BaseDocument).permissions.canReplace && onFileDrop) {\r\n return (\r\n \r\n {({ getRootProps, isDragActive }) => (\r\n {}}\r\n style={{ outline: 'none' }}\r\n className={isDragActive ? theme.fileOver : ''}>\r\n {renderContent()}\r\n \r\n )}\r\n \r\n );\r\n }\r\n return <>{renderContent()};\r\n};\r\n\r\nexport default DocumentListItem;","import React from 'react';\r\nimport DocumentListItem, { DocumentListItemProps } from './DocumentListItem';\r\nimport { NoResultsCard } from 'components/Cards';\r\nimport { Trans } from '@lingui/macro';\r\nimport { BaseDocument } from 'types';\r\nimport Dropzone from 'react-dropzone';\r\nimport { triggerHandler } from 'utils/events';\r\nimport theme from './DocumentList.module.scss';\r\nimport { DocumentListMode } from '.';\r\nimport { useCanScroll } from 'utils/hooks';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\n\r\ntype ResidentialUnitDocumentListProps = Omit & {\r\n documents: BaseDocument[];\r\n onFileDrop?: (file: File, document: BaseDocument | null) => void;\r\n mode: DocumentListMode;\r\n defaultExpandedId?: string;\r\n};\r\n\r\nconst DocumentList: React.FC = ({ documents, defaultExpandedId, onFileDrop, ...rest }) => {\r\n const canScroll = useCanScroll(defaultExpandedId);\r\n\r\n const handleDrop = (files: File[]) => {\r\n const file = files[0];\r\n\r\n if (file.size === 0) {\r\n iconToast.error(Cannot drag and drop files directly from compressed folders (.ZIP));\r\n return;\r\n }\r\n\r\n triggerHandler(onFileDrop, file, null);\r\n };\r\n\r\n const renderNoData = () => {\r\n const noDataMessage = (\r\n \r\n No documents\r\n \r\n );\r\n\r\n if (onFileDrop) {\r\n return (\r\n \r\n {({ getRootProps, isDragActive }) => (\r\n {}}\r\n style={{ outline: 'none' }}\r\n className={isDragActive ? theme.fileOver : ''}>\r\n {noDataMessage}\r\n\r\n
\r\n Drop here to upload this document\r\n
\r\n \r\n )}\r\n
\r\n );\r\n }\r\n\r\n return noDataMessage;\r\n };\r\n\r\n return (\r\n <>\r\n {documents.map((doc) => (\r\n \r\n ))}\r\n\r\n {documents.length === 0 && renderNoData()}\r\n \r\n );\r\n};\r\n\r\nexport default DocumentList;","/* eslint-disable */\r\n\r\nlet crypto = window.crypto || window.msCrypto;\r\n\r\n\r\n//From https://stackoverflow.com/questions/105034/create-guid-uuid-in-javascript\r\nexport function uuidv4() {\r\n return ([1e7] + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, c =>\r\n (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)\r\n )\r\n}","import React, { ReactNode } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { checkCondition } from './helpers';\r\nimport { IState } from 'state/IState';\r\nimport { ProfilePermissions, PermissionCheck } from 'types';\r\n\r\nconst mapStateToProps = (state: IState) => ({ profile: state.global.activeProfile });\r\n\r\n\r\n\r\ntype OwnProps = ReturnType & {\r\n condition: PermissionCheck;\r\n fallbackDisplay?: ReactNode;\r\n children?: ReactNode;\r\n};\r\n\r\nconst ProfilePermissionToggle: React.FC = ({ children, profile, condition, fallbackDisplay }) => {\r\n if (profile && profile.permissions && checkCondition(profile.permissions, condition)) {\r\n return <>{children};\r\n }\r\n\r\n return <>{fallbackDisplay || null};\r\n};\r\n\r\nexport default connect(mapStateToProps)(ProfilePermissionToggle);","import React, { ReactNode } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { checkCondition } from './helpers';\r\nimport { IState } from 'state/IState';\r\nimport { ProjectPermissions, PermissionCheck } from 'types';\r\n\r\nconst mapStateToProps = (state: IState) => ({ project: state.global.activeProject });\r\n\r\ntype OwnProps = ReturnType & {\r\n condition: PermissionCheck;\r\n fallbackDisplay?: ReactNode;\r\n children?: ReactNode;\r\n};\r\n\r\nconst ProjectPermissionToggle: React.FC = ({ children, project, condition, fallbackDisplay }) => {\r\n if (project && project.permissions && checkCondition(project.permissions, condition)) {\r\n return <>{children};\r\n }\r\n\r\n return <>{fallbackDisplay || null};\r\n};\r\n\r\nexport default connect(mapStateToProps)(ProjectPermissionToggle);","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { useSelector } from 'react-redux';\r\nimport { DocumentType, TranslatableText } from 'types';\r\nimport { IState } from 'state/IState';\r\nimport { groupBy, sortBy } from 'lodash-es';\r\nimport Select from 'components/Select';\r\n\r\ntype DocumentTypeSelectProps = {\r\n required?: boolean;\r\n value: string | number;\r\n filter?(type: DocumentType): boolean;\r\n fieldName?: TranslatableText;\r\n placeholder?: TranslatableText;\r\n onChange(selectedId: number | null, selectedType: DocumentType | null): void;\r\n};\r\n\r\nexport const DocumentTypeSelectGrouped: React.FC = ({\r\n filter = (type) => true,\r\n onChange,\r\n value,\r\n placeholder,\r\n fieldName,\r\n required = false,\r\n}) => {\r\n const itemCategories = useSelector((state: IState) => state.global.itemCategories);\r\n const documentTypes = useSelector((state: IState) => state.seller.documentTypes);\r\n\r\n if (!documentTypes) {\r\n const loadingOption = { label: Loading..., value: 0 };\r\n return \r\n {children}\r\n \r\n )}\r\n \r\n );\r\n\r\n if (!document || !document.fileData) {\r\n return wrap(Drag files or click here to upload);\r\n }\r\n\r\n const cropProps = {\r\n crop: crop!,\r\n onChange: handleCropChange,\r\n onImageLoaded: handleCropImageLoad,\r\n };\r\n\r\n let fileData = document.fileData;\r\n\r\n if (getFileType(document) === FileType.Pdf) {\r\n if (!pdfImage) {\r\n return wrap();\r\n }\r\n\r\n fileData = pdfImage;\r\n }\r\n\r\n return isCroppingAllowed()\r\n ? wrap(\r\n
\r\n \r\n
,\r\n true\r\n )\r\n : wrap(\r\n
\r\n \r\n
\r\n );\r\n };\r\n\r\n const documentTypeFilter = useCallback(\r\n (type: DocumentType) => {\r\n if (!type.permissions.canUploadDocuments) {\r\n return false;\r\n }\r\n\r\n if (residentialUnitId) {\r\n return type.allowedOnResidentialUnit;\r\n }\r\n\r\n return type.allowedOnProject;\r\n },\r\n [residentialUnitId]\r\n );\r\n\r\n const renderBody = () => {\r\n if (!document) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n mergeDocument({ name: e.target.value })}\r\n value={document.name || ''}\r\n required\r\n />\r\n
\r\n\r\n
\r\n \r\n\r\n Agreement type}\r\n filter={documentTypeFilter}\r\n value={document.documentTypeId || ''}\r\n onChange={(id) => mergeDocument({ documentTypeId: id })}\r\n required\r\n />\r\n
\r\n
\r\n\r\n {renderDocumentPreview()}\r\n {isCroppingAllowed() && (\r\n

\r\n Move and adjust the size of the dotted square in order to adjust the image\r\n

\r\n )}\r\n\r\n
\r\n mergeDocument({ hideFromBuyer: e.target.checked })}\r\n labelClassName={theme.checkbox}>\r\n Hide document from buyer\r\n \r\n
\r\n\r\n
\r\n mergeDocument({ isSensitive: flag })}\r\n labelClassName={theme.checkbox}>\r\n Contains sensitive data\r\n \r\n
\r\n\r\n \r\n \r\n );\r\n };\r\n\r\n if (!document) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n {renderBody()}\r\n {saving ? : null}\r\n\r\n
\r\n \r\n\r\n
\r\n {onBack && (\r\n \r\n )}\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 connect(mapStateToProps)(DocumentUpload);\r\n","import React from 'react';\r\nimport theme from './SuccessScreen.module.scss';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faCheckCircle } from '@fortawesome/pro-light-svg-icons';\r\nimport { TranslatableText } from 'types';\r\n\r\ninterface SuccessScreenProps {\r\n text: TranslatableText;\r\n}\r\n\r\nconst SuccessScreen: React.FC = ({ text }) => {\r\n return (\r\n
\r\n \r\n
{text}
\r\n
\r\n );\r\n};\r\n\r\nexport default SuccessScreen;\r\n","import React, { useState } from 'react';\r\nimport theme from './DocumentUploadWizardNewVersion.module.scss';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { searchResidentialUnitDocuments, searchProjectDocuments } from 'services/documents';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ResidentialUnitDocument, ProjectDocument } from 'types';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport DocumentSelectList from 'components/DocumentSelectList';\r\nimport { SlideToggle } from '@ygtechnologies/rubus-ui';\r\n\r\ninterface DocumentUploadNewVersionProps {\r\n residentialUnitId?: number;\r\n onSelect(d: any): void;\r\n selectedDocumentId: string | null;\r\n}\r\n\r\nconst DocumentUploadWizardNewVersion: React.FC = ({\r\n residentialUnitId,\r\n onSelect,\r\n selectedDocumentId,\r\n}) => {\r\n const projectId = useSelector((state: IState) => state.seller.projectOverview.projectId);\r\n const [showHiddenFromBuyer, setShowHiddenFromBuyer] = useState(false);\r\n const [showSensitive, setShowSensitive] = useState(false);\r\n const [documents] = useAsyncState(\r\n () =>\r\n residentialUnitId\r\n ? searchResidentialUnitDocuments({\r\n residentialUnitIds: [residentialUnitId],\r\n })\r\n : searchProjectDocuments({ projectId }),\r\n [residentialUnitId, showHiddenFromBuyer, showSensitive],\r\n null\r\n );\r\n\r\n if (!documents) {\r\n return ;\r\n }\r\n const filteredDocuments = (documents as ResidentialUnitDocument[]).filter((d) => {\r\n if (!showHiddenFromBuyer && d.hideFromBuyer) {\r\n return false;\r\n }\r\n if (!showSensitive && d.isSensitive) {\r\n return false;\r\n }\r\n return true;\r\n });\r\n return (\r\n <>\r\n
\r\n onSelect(filteredDocuments.find((x) => x.documentId === value))}\r\n />\r\n {/* {filteredDocuments.length === 0 && }\r\n {(filteredDocuments as any).map((d) => (\r\n \r\n ))} */}\r\n
\r\n
\r\n
\r\n setShowHiddenFromBuyer(!showHiddenFromBuyer)}>\r\n Show hidden from buyer documents\r\n \r\n
\r\n
\r\n setShowSensitive(!showSensitive)}>\r\n Show sensitive documents\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default DocumentUploadWizardNewVersion;\r\n","import React, { useState, useCallback } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Modal, ModalHeader, ModalBody } from 'components/Modal';\r\nimport DocumentUpload from '../DocumentUpload';\r\nimport { SimpleWizardStep, SimpleWizard } from 'components/SimpleWizard';\r\nimport SuccessScreen from 'components/SuccessScreen';\r\nimport { ResidentialUnitDocument } from 'types';\r\nimport DocumentUploadWizardNewVersion from './DocumentUploadWizardNewVersion';\r\nimport { Button } from 'components/Buttons';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { LargeRadio } from 'components/forms/Radio';\r\n\r\nenum Step {\r\n Intro,\r\n DocumentSelect,\r\n Upload,\r\n Success,\r\n}\r\n\r\nconst Steps = [Step.Intro, Step.DocumentSelect, Step.Upload, Step.Success];\r\nconst StepsNormalUpload = [Step.Intro, Step.Upload, Step.Success];\r\n\r\ntype Props = {\r\n residentialUnitId?: number;\r\n isOpen: boolean;\r\n disableDrop?: boolean;\r\n document: ResidentialUnitDocument;\r\n projectId: number;\r\n onClose?: () => void;\r\n onSave: () => void;\r\n};\r\n\r\nconst DocumentUploadWizardDialog: React.FC = ({\r\n isOpen,\r\n residentialUnitId,\r\n onSave,\r\n onClose,\r\n disableDrop,\r\n projectId,\r\n document: initialDocument,\r\n}) => {\r\n const [isNewVersionPath, setIsNewVersionPath] = useState(false);\r\n const [step, setStep] = useState(initialDocument ? Step.Upload : Step.Intro);\r\n const [key, setKey] = useState(1);\r\n const [document, setDocument] = useState(initialDocument);\r\n\r\n const reset = useCallback(() => {\r\n setIsNewVersionPath(false);\r\n setStep(Step.Intro);\r\n setDocument(initialDocument);\r\n }, [initialDocument]);\r\n\r\n const handleSubmit = () => {};\r\n const handleDocumentSave = useCallback(() => {\r\n onSave();\r\n setStep(Step.Success);\r\n }, [onSave]);\r\n\r\n const handleStepChange = useCallback((step: Step) => {\r\n setStep(step);\r\n if (step === Step.Intro) {\r\n setDocument(null);\r\n }\r\n }, []);\r\n\r\n const onOpen = useCallback(() => {\r\n reset();\r\n setKey((v) => v + 1);\r\n }, [reset]);\r\n\r\n const handleClose = useCallback(() => {\r\n triggerHandler(onClose);\r\n }, [onClose]);\r\n\r\n return (\r\n \r\n \r\n Upload document\r\n \r\n\r\n \r\n \r\n What would you like to do?}>\r\n
\r\n setIsNewVersionPath(false)} checked={!isNewVersionPath}>\r\n \r\n Upload a new document\r\n \r\n Select and upload a new document from your computer.\r\n \r\n\r\n setIsNewVersionPath(true)} checked={isNewVersionPath}>\r\n \r\n Upload a new version of an existing document\r\n \r\n Select and upload a new version from your computer.\r\n \r\n
\r\n
\r\n\r\n (\r\n \r\n )\r\n }\r\n header={Upload a new version of an existing document }>\r\n setDocument(document)}\r\n selectedDocumentId={document?.documentId ?? null}\r\n residentialUnitId={residentialUnitId}\r\n />\r\n \r\n\r\n Upload a new document}>\r\n setStep(Step.DocumentSelect) : reset}\r\n />\r\n \r\n\r\n Document uploaded}>\r\n Document uploaded successfully!} />\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default DocumentUploadWizardDialog;\r\n","import React, { useState, useCallback } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Modal, ModalHeader, ModalBody } from 'components/Modal';\r\nimport DocumentUpload from '../DocumentUpload';\r\nimport { triggerHandler } from 'utils/events';\r\n\r\ntype Props = {\r\n residentialUnitId?: number;\r\n isOpen: boolean;\r\n disableDrop?: boolean;\r\n document: any;\r\n projectId: number;\r\n onClose?: () => void;\r\n onSave: () => void;\r\n};\r\n\r\nconst DocumentUploadDialog: React.FC = ({\r\n isOpen,\r\n residentialUnitId,\r\n onSave,\r\n disableDrop,\r\n projectId,\r\n document,\r\n onClose,\r\n}) => {\r\n const [key, setKey] = useState(1);\r\n\r\n const onOpen = useCallback(() => {\r\n setKey(key + 1);\r\n }, [key]);\r\n\r\n const handleClose = useCallback(() => {\r\n triggerHandler(onClose);\r\n }, [onClose]);\r\n\r\n return (\r\n \r\n \r\n Upload document\r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default DocumentUploadDialog;\r\n","import React, { useState } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport Banner from 'components/Banner';\r\nimport { Button } from 'components/Buttons';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport {\r\n zipResidentialUnitDocuments,\r\n ResidentialUnitDocumentSearchOptions,\r\n ProjectDocumentSearchOptions,\r\n zipProjectDocuments,\r\n getZippableResidentialUnitDocuments,\r\n getZippableProjectDocuments,\r\n} from 'services/documents';\r\nimport { HttpStatusCode } from 'HttpStatusCodes';\r\nimport { ValidationSummary } from 'components/forms/validation';\r\nimport { TranslatableText, ResidentialUnitDocument, ProjectDocument } from 'types';\r\n\r\ninterface DocumentZipDownloadDialogProps {\r\n isOpen: boolean;\r\n toggle(): void;\r\n filters: ResidentialUnitDocumentSearchOptions | ProjectDocumentSearchOptions;\r\n isProjectDocuments?: boolean;\r\n}\r\n\r\nconst DocumentZipCreateDialog: React.FC = ({\r\n isOpen,\r\n toggle,\r\n filters,\r\n isProjectDocuments,\r\n}) => {\r\n const [documents, setDocuments] = useState(null);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [errors, setErrors] = useState([]);\r\n\r\n const handleCreateZip = async () => {\r\n setIsLoading(true);\r\n setErrors([]);\r\n try {\r\n if (isProjectDocuments) {\r\n await zipProjectDocuments(filters as ProjectDocumentSearchOptions);\r\n } else {\r\n await zipResidentialUnitDocuments(filters);\r\n }\r\n iconToast.info(Zip is being created.);\r\n toggle();\r\n } catch (e: any) {\r\n if (e.status === HttpStatusCode.BadRequest) {\r\n setErrors([...errors, No documents to zip with this filter configuration.]);\r\n iconToast.warn(No documents to zip with this filter configuration.);\r\n }\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n };\r\n const handleOpen = async () => {\r\n if (isProjectDocuments) {\r\n setDocuments(await getZippableProjectDocuments(filters as ProjectDocumentSearchOptions));\r\n } else {\r\n setDocuments(await getZippableResidentialUnitDocuments(filters));\r\n }\r\n };\r\n return (\r\n \r\n \r\n Create a zip file\r\n \r\n \r\n \r\n You are about to create a zip file containing the {documents?.length} documents that are\r\n currently filtered.\r\n \r\n \r\n \r\n Please note, \r\n zipping multiple files can take a while. You will receive a notification when the zip file is ready\r\n to be downloaded.\r\n \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 DocumentZipCreateDialog;\r\n","import React, { useState, useEffect } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Trans } from '@lingui/macro';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { searchResidentialUnitDocuments, ResidentialUnitDocumentSearchOptions } from 'services/documents';\r\nimport DocumentList from 'seller/components/documents/DocumentList/DocumentList';\r\nimport { uuidv4 } from 'utils/uuid';\r\nimport FileData from 'utils/FileData';\r\nimport { ProjectPermissionToggle } from 'components/permissions';\r\nimport { Button, ToggleButtons, ButtonBar } from 'components/Buttons';\r\nimport { faUpload, faFileArchive } from '@fortawesome/pro-light-svg-icons';\r\nimport theme from './ResidentialUnitDocuments.module.scss';\r\nimport { ResidentialUnitDocument, ChangedItem, BaseDocument } from 'types';\r\nimport { IState } from 'state/IState';\r\nimport { useAsyncState, useDefaultScrollToStringId, useMergeState, useEffectSkipFirst } from 'utils/hooks';\r\nimport { DocumentTypeGrouping, DocumentTypeGroupingHeader } from 'components/DocumentTypeGrouping';\r\nimport DocumentUploadWizardDialog from 'seller/components/documents/DocumentUploadWizardDialog';\r\nimport DocumentUploadDialog from 'seller/components/documents/DocumentUploadDialog';\r\nimport DocumentZipDownloadDialog from 'seller/components/documents/DocumentZipCreateDialog';\r\nimport { SlideToggle } from '@ygtechnologies/rubus-ui';\r\n\r\nconst mapStateToProps = (state: IState) => ({\r\n project: state.global.activeProject!,\r\n currentCulture: state.global.currentCulture,\r\n});\r\n\r\ntype OwnProps = ReturnType & {\r\n residentialUnitId: number;\r\n};\r\n\r\nconst ResidentialUnitDocuments: React.FC = ({ residentialUnitId, currentCulture, project }) => {\r\n const [filters, mergeFilters] = useMergeState({\r\n residentialUnitIds: [residentialUnitId],\r\n includeArchived: false,\r\n projectId: project.id,\r\n });\r\n const [documentZipDialogIsOpen, setDocumentZipDialogIsOpen] = useState(false);\r\n\r\n useEffectSkipFirst(() => {\r\n setDocuments(null);\r\n mergeFilters({ residentialUnitIds: [residentialUnitId] });\r\n }, [residentialUnitId, mergeFilters]);\r\n\r\n const [documents, setDocuments, reloadDocuments] = useAsyncState(\r\n () => searchResidentialUnitDocuments(filters),\r\n [filters, currentCulture],\r\n null\r\n );\r\n const [showUploadDialog, setShowUploadDialog] = useState(false);\r\n const [showUploadWizardDialog, setShowUploadWizardDialog] = useState(false);\r\n const [uploadedDocument, setUploadedDocument] = useState(null);\r\n // const [documentToReplace, setDocumentToReplace] = useState(false);\r\n\r\n const [displayMode, setDisplayMode] = useState<'All' | 'ResidentialUnit' | 'Project'>('All');\r\n const [filteredDocuments, setFilteredDocuments] = useState(null);\r\n\r\n const defaultExpandedId = useDefaultScrollToStringId();\r\n\r\n useEffect(() => {\r\n let data = documents;\r\n\r\n if (!data) {\r\n setFilteredDocuments(null);\r\n return;\r\n }\r\n\r\n if (displayMode === 'Project') {\r\n data = data.filter((x) => x.isProjectDocument);\r\n } else if (displayMode === 'ResidentialUnit') {\r\n data = data.filter((x) => !x.isProjectDocument);\r\n }\r\n\r\n setFilteredDocuments(data);\r\n }, [documents, displayMode]);\r\n\r\n const handleDocumentsUploaded = () => {\r\n setUploadedDocument(null);\r\n reloadDocuments();\r\n };\r\n\r\n const handleReplacementFileDrop = (file: File | null, document: BaseDocument | null) => {\r\n const fileData = file ? new FileData(file) : null;\r\n const mappedFile = {\r\n documentId: document && document.documentId ? document.documentId : uuidv4(),\r\n fileData: fileData,\r\n name: fileData ? fileData.getFileNameWithoutExtension() : '',\r\n floor: document ? document.floor : 1,\r\n documentTypeId: document ? document.documentTypeId : null,\r\n replacement: !!document,\r\n isSensitive: document?.isSensitive ?? false,\r\n hideFromBuyer: (document as ResidentialUnitDocument)?.hideFromBuyer ?? false,\r\n };\r\n setUploadedDocument(mappedFile);\r\n setShowUploadDialog(true);\r\n };\r\n\r\n const handleChange = (changes: ChangedItem[]) => {\r\n if (!documents) {\r\n return;\r\n }\r\n\r\n reloadDocuments();\r\n };\r\n const newDocumentUploadDialogProps = {\r\n projectId: project.id,\r\n document: uploadedDocument || null,\r\n residentialUnitId: residentialUnitId,\r\n onSave: handleDocumentsUploaded,\r\n };\r\n return (\r\n \r\n \r\n \r\n setDisplayMode('All')}>\r\n All\r\n \r\n\r\n setDisplayMode('Project')}\r\n iconPosition=\"right\">\r\n Project documents\r\n \r\n\r\n setDisplayMode('ResidentialUnit')}\r\n iconPosition=\"right\">\r\n Unit documents\r\n \r\n \r\n\r\n \r\n mergeFilters({ includeArchived: e.target.checked })}\r\n checked={filters.includeArchived}>\r\n Show archived documents\r\n \r\n\r\n \r\n\r\n \r\n {displayMode !== 'Project' && (\r\n \r\n )}\r\n\r\n setShowUploadDialog(!showUploadDialog)}\r\n isOpen={showUploadDialog}\r\n />\r\n\r\n setShowUploadWizardDialog(!showUploadWizardDialog)}\r\n isOpen={showUploadWizardDialog}\r\n />\r\n\r\n {/*Replacement dialog */}\r\n {/* setShowReplacementDialog(!showReplacementDialog)}\r\n // defaultUploadType={'document'}\r\n isOpen={showReplacementDialog}\r\n /> */}\r\n \r\n \r\n \r\n\r\n {filteredDocuments ? (\r\n \r\n {(items, groupInfo, key) => (\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n setDocumentZipDialogIsOpen(false)}\r\n isOpen={documentZipDialogIsOpen}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default connect(mapStateToProps)(ResidentialUnitDocuments);\r\n","import { request, generateApiUrl } from 'utils/ajax';\r\nimport {\r\n SimplifiedOrder,\r\n Order,\r\n OrderHistory,\r\n FeeConfiguration,\r\n OrderStatus,\r\n OrderFilterData,\r\n OrderType,\r\n OrderGroup,\r\n OrderAttachmentInfo,\r\n OrderAttachmentType,\r\n} from 'types';\r\nimport { getOpenBuyerOfferAttachmentUrl, getDownloadBuyerOfferAttachmentUrl } from './buyer-offers';\r\nimport { getProjectCatalogProductFileUrl } from './project-catalog';\r\nimport { getApiUrl } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport function approveOrder(orderId) {\r\n return request(`api/order/${orderId}/approve`, {\r\n method: 'POST',\r\n });\r\n}\r\n\r\nexport function rejectOrder(orderId: number, reason: string) {\r\n return request(`api/order/${orderId}/reject`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n reason,\r\n },\r\n });\r\n}\r\n\r\nexport function cancelOrder(orderId: number, openBuyerOption: boolean = false) {\r\n return request(`api/order/${orderId}/cancel?openBuyerOption=${openBuyerOption}`, {\r\n method: 'POST',\r\n });\r\n}\r\n\r\nexport function cancelOrderGroup(orderGroupId: number) {\r\n return request(`api/order-group/${orderGroupId}/cancel`, {\r\n method: 'POST',\r\n });\r\n}\r\n\r\nexport function setOrderResponsible(orderId: number, userId: number) {\r\n return request(`api/order/${orderId}/responsible`, {\r\n method: 'PUT',\r\n json: true,\r\n body: {\r\n applicationUserId: userId,\r\n },\r\n });\r\n}\r\n\r\nexport function setOrderResponsibles(orderIds: number[], profileId: number | null) {\r\n return request(`api/order/responsible`, {\r\n method: 'PUT',\r\n json: true,\r\n body: {\r\n orderIds,\r\n profileId: profileId,\r\n },\r\n });\r\n}\r\n\r\nexport function setOrderExcludeFromRoomFormFlag(orderId: number, flag: boolean) {\r\n return request(`api/order/${orderId}/exclude-from-room-form`, {\r\n method: 'PATCH',\r\n json: true,\r\n body: flag,\r\n });\r\n}\r\n\r\nexport function getOrder(orderId: number): Promise {\r\n return request(`api/order/${orderId}`).then((x) => x.json());\r\n}\r\n\r\nexport interface OrderSearchOptions {\r\n projectId?: number;\r\n residentialUnitIds?: number[];\r\n status?: OrderStatus[];\r\n ownerProfileIds?: number[];\r\n approvableOnly?: boolean;\r\n orderTypes?: OrderType[];\r\n searchText?: string;\r\n categoryIds?: number[];\r\n tagIds?: number[];\r\n sourceBuyerOptionGroupIds?: number[];\r\n residentialUnitGroupIds?: number[];\r\n defaultBuyerOptions?: boolean;\r\n projectDeadlineIds?: number[];\r\n orderDateFrom?: Date | string | null;\r\n orderDateTo?: Date | string | null;\r\n}\r\n\r\nexport function searchOrders(options: OrderSearchOptions): Promise {\r\n return request(`api/order`, { query: options }).then((x) => x.json());\r\n}\r\n\r\nexport function searchOrderGroups(options: OrderSearchOptions): Promise {\r\n return request(`api/order-group`, { query: options }).then((x) => x.json());\r\n}\r\n\r\nexport function getOrderGroup(orderGroupId: number): Promise {\r\n return request(`api/order-group/${orderGroupId}`).then((x) => x.json());\r\n}\r\n\r\n\r\nexport function getSingleUnitOrderRoomFormExportUrl(\r\n residentialUnitId: number,\r\n includeSketch: boolean = false,\r\n documentVersionId: number | null = null\r\n) {\r\n return generateApiUrl(`/api/residential-unit/${residentialUnitId}/export/room-form`, {\r\n includeSketch,\r\n documentVersionId,\r\n });\r\n}\r\n\r\nexport function getOrderHistory(orderId: number): Promise {\r\n return request(`api/order/${orderId}/history`).then((x) => x.json());\r\n}\r\n\r\nexport function getSimplifiedOrders(projectId: number): Promise {\r\n return request(`api/order/simplified/${projectId}`).then((x) => x.json());\r\n}\r\n\r\nexport function getOrderFees(orderId: number): Promise {\r\n return request(`api/order/${orderId}/fees`).then((x) => x.json());\r\n}\r\n\r\nexport function saveOrderFees(orderId: number, fees: FeeConfiguration[]) {\r\n return request(`api/order/${orderId}/fees`, {\r\n method: 'PUT',\r\n json: true,\r\n body: fees,\r\n });\r\n}\r\n\r\nexport function saveOrderLineNote(orderLineId: number, note: string) {\r\n return request(`api/orderline/${orderLineId}/note`, {\r\n method: 'PUT',\r\n json: true,\r\n body: note,\r\n });\r\n}\r\n\r\nexport function deleteOrderLineNote(orderLineId: number) {\r\n return request(`api/orderline/${orderLineId}/note`, { method: 'DELETE' });\r\n}\r\n\r\nexport function getRelatedOrders(orderId: number): Promise {\r\n return request(`api/order/${orderId}/related`).then((x) => x.json());\r\n}\r\n\r\nexport function getOrderFilterData(projectId: number): Promise {\r\n return request(`api/order/${projectId}/filter-data`).then((x) => x.json());\r\n}\r\n\r\nexport function getOpenOrderAttachmentUrl(attachment: OrderAttachmentInfo) {\r\n switch (attachment.attachmentType) {\r\n case OrderAttachmentType.OfferGroup:\r\n return getOpenBuyerOfferAttachmentUrl(attachment.id);\r\n case OrderAttachmentType.Option:\r\n return getProjectCatalogProductFileUrl(attachment.id);\r\n }\r\n}\r\n\r\nexport function getDownloadOrderAttachmentUrl(attachment: OrderAttachmentInfo) {\r\n switch (attachment.attachmentType) {\r\n case OrderAttachmentType.OfferGroup:\r\n return getDownloadBuyerOfferAttachmentUrl(attachment.id);\r\n case OrderAttachmentType.Option:\r\n return getProjectCatalogProductFileUrl(attachment.id, true);\r\n }\r\n}\r\n\r\nexport function getOrderGroupPdfUrl(orderGroupId: number) {\r\n return generateApiUrl(`/api/order-group/${orderGroupId}/pdf`);\r\n}\r\n","import React from 'react';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { ValidatingInput } from 'components/forms/validation';\r\nimport { ChangedItem } from 'types';\r\nimport { Button } from 'components/Buttons';\r\nimport { faTrashAlt } from '@fortawesome/pro-light-svg-icons';\r\nimport { EditorFeeConfiguration } from '.';\r\nimport theme from './FeeEditorItem.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { InputWrapper } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface FeeEditorItemProps {\r\n value: EditorFeeConfiguration;\r\n onChange(change: ChangedItem): void;\r\n onDeleteClick(item: EditorFeeConfiguration): void;\r\n}\r\n\r\nfunction getNumberValue(value) {\r\n if (value === null || value === undefined || value === '') {\r\n return '';\r\n }\r\n return +value;\r\n}\r\n\r\nconst FeeEditorItem: React.FC = ({ value, onChange, onDeleteClick }) => {\r\n const triggerChange = (changes: Partial) => {\r\n onChange(ChangedItem.fromMerge(value, changes));\r\n };\r\n\r\n return (\r\n
\r\n
\r\n onDeleteClick(value)} />\r\n }>\r\n triggerChange({ name: e.target.value })}\r\n />\r\n \r\n\r\n {/*
\r\n\r\n \r\n\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FeeEditorItem;\r\n","import { request } from 'utils/ajax';\r\nimport { FeeConfiguration, PriceCalculationResult } from 'types';\r\n\r\nexport function getFeePreview(\r\n basePrice: number,\r\n quantity: number,\r\n fees: FeeConfiguration[],\r\n projectId?: number\r\n): Promise {\r\n return request(`api/fee/preview`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n basePrice,\r\n quantity,\r\n fees,\r\n projectId,\r\n },\r\n }).then((x) => x.json());\r\n}\r\n","import React from 'react';\r\nimport theme from './PriceCalculationDisplay.module.scss';\r\nimport { Trans } from '@lingui/macro';\r\nimport { PriceCalculationStep, PriceStepType } from 'types';\r\nimport { faSpinner } from '@fortawesome/pro-regular-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { ProjectCurrencyDisplay } from 'seller/components/currency';\r\n\r\ninterface PriceCalculationDisplayProps {\r\n value: PriceCalculationStep[];\r\n loading?: boolean;\r\n}\r\n\r\nconst PriceCalculationStepDisplay: React.FC<{ step: PriceCalculationStep; loading: boolean }> = ({ step, loading }) => {\r\n if (!step.priceChangeAmount && (step.type === PriceStepType.Fee || step.type === PriceStepType.Tax)) {\r\n return null;\r\n }\r\n\r\n const getStepName = () => {\r\n if (step.type === PriceStepType.Tax) {\r\n return (\r\n <>\r\n {step.name} {step.type === PriceStepType.Tax && VAT}\r\n \r\n );\r\n }\r\n\r\n if (step.type === PriceStepType.Final) {\r\n return Price for buyer;\r\n }\r\n\r\n if (step.type === PriceStepType.Base) {\r\n return Base price;\r\n }\r\n\r\n return step.name;\r\n };\r\n\r\n return (\r\n
\r\n \r\n {getStepName()}\r\n {loading && (\r\n \r\n \r\n \r\n )}\r\n {/* {step.percent > 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 {!!step.priceChangeAmount && step.priceChangeAmount > 0 && (\r\n \r\n  +\r\n \r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nconst PriceCalculationDisplay: React.FC = ({ value, loading = false }) => {\r\n if (value.filter((x) => x.changedFromPrevious && [PriceStepType.Tax, PriceStepType.Fee].includes(x.type)).length === 0) {\r\n return (\r\n
\r\n No fees and/or VAT setup selected. This is will be the price to the buyer\r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {value.map((step, i) => (\r\n \r\n ))}\r\n
\r\n );\r\n};\r\n\r\nexport default PriceCalculationDisplay;\r\n","import React, { useState, useEffect, ReactNode, useRef } from 'react';\r\nimport { FeeConfiguration, PriceCalculationResult } from 'types';\r\nimport { useEffectDebounced, useGetProjectId } from 'utils/hooks';\r\nimport { getFeePreview } from 'services/fees';\r\nimport PriceCalculationDisplay from './PriceCalculationDisplay';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { triggerHandler } from 'utils/events';\r\n\r\ntype ChildrenType = (calculation: PriceCalculationResult | null, loading: boolean) => ReactNode;\r\n\r\ninterface FeePreviewProps {\r\n basePrice: number;\r\n quantity: number;\r\n configuration: FeeConfiguration[];\r\n children?: ChildrenType;\r\n onUpdate?(calculation: PriceCalculationResult | null): void;\r\n}\r\n\r\nconst defaultRenderer: ChildrenType = (calculation, loading) =>\r\n calculation ? : ;\r\n\r\nconst FeePreview: React.FC = ({\r\n configuration,\r\n basePrice,\r\n quantity,\r\n children = defaultRenderer,\r\n onUpdate,\r\n}) => {\r\n const [calculationResult, setCalculationResult] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const projectId = useGetProjectId();\r\n useEffect(() => {\r\n setLoading(true);\r\n }, [configuration, quantity, basePrice]);\r\n\r\n useEffectDebounced(\r\n () => {\r\n async function loadData() {\r\n const safeConfiguration = configuration.map(({ feePercentage, taxPercentage, ...rest }) => ({\r\n feePercentage: feePercentage || 0,\r\n taxPercentage: taxPercentage || 0,\r\n ...rest,\r\n }));\r\n\r\n var calculation = await getFeePreview(basePrice, quantity, safeConfiguration, projectId);\r\n setCalculationResult(calculation);\r\n setLoading(false);\r\n // triggerHandler(onUpdate, calculation);\r\n }\r\n\r\n loadData();\r\n },\r\n [configuration, quantity, basePrice],\r\n 250\r\n );\r\n\r\n const oldValue = useRef(null);\r\n useEffect(() => {\r\n if (calculationResult !== oldValue.current) {\r\n triggerHandler(onUpdate, calculationResult);\r\n oldValue.current = calculationResult;\r\n }\r\n }, [calculationResult, onUpdate]);\r\n\r\n return <>{children(calculationResult, loading)};\r\n};\r\n\r\nexport default FeePreview;\r\n","import React from 'react';\r\nimport { FeeConfiguration, ChangedItem } from 'types';\r\nimport { arrayReplace } from 'utils/arrays';\r\nimport FeeEditorItem from './FeeEditorItem';\r\nimport { Button } from 'components/Buttons';\r\nimport { faPlus } from '@fortawesome/pro-light-svg-icons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { getUniqueId } from 'utils/html';\r\nimport { EditorFeeConfiguration } from '../FeeEditor';\r\nimport FeePreview from '../FeePreview';\r\nimport theme from './FeeEditor.module.scss';\r\nimport Banner from 'components/Banner';\r\n\r\ninterface Props {\r\n value: EditorFeeConfiguration[];\r\n onChange(newValue: FeeConfiguration[]): void;\r\n previewBasePrice?: number;\r\n previewQuantity?: number;\r\n}\r\n\r\nconst FeeEditor: React.FC = ({ value, onChange, previewBasePrice = 1000, previewQuantity = 1 }) => {\r\n const handleChange = (changes: ChangedItem) => {\r\n var newValue = arrayReplace(value, changes.original, changes.modified);\r\n onChange(newValue);\r\n };\r\n\r\n const handleDeleteClick = (item: EditorFeeConfiguration) => {\r\n onChange(value.filter((x) => x !== item) as any);\r\n };\r\n\r\n const handleAddRow = () => {\r\n const newValue: EditorFeeConfiguration[] = [\r\n ...value,\r\n {\r\n _internalId: getUniqueId(),\r\n id: 0,\r\n name: '',\r\n feePercentage: 0,\r\n taxPercentage: 0,\r\n sortOrder: 0,\r\n },\r\n ];\r\n\r\n onChange(newValue as FeeConfiguration[]);\r\n };\r\n\r\n return (\r\n
\r\n {value.length > 0 ? (\r\n
\r\n
\r\n {value.map((row) => (\r\n
\r\n \r\n
\r\n ))}\r\n
\r\n\r\n
\r\n

\r\n Preview\r\n

\r\n \r\n
\r\n
\r\n ) : (\r\n \r\n \r\n Currently no company charges any fees on top of the prices that the subcontractors take. Click on\r\n \"Add a layer\" in order to add a layer of fees. There can be several layers in a given project.\r\n \r\n \r\n )}\r\n\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default FeeEditor;\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { FeeConfiguration } from 'types';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport FeeEditor, { EditorFeeConfiguration } from '../FeeEditor';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Button } from 'components/Buttons';\r\n\r\ninterface FeeEditDialogProps {\r\n loader(): Promise;\r\n onClose(): void;\r\n onAccept(data: FeeConfiguration[]): Promise | void;\r\n show: boolean;\r\n quantity: number;\r\n basePrice: number;\r\n}\r\n\r\nconst FeeEditDialog: React.FC = ({ show, onClose, onAccept, loader, quantity, basePrice }) => {\r\n const [saving, setSaving] = useState(false);\r\n const [feeConfigurations, setFeeConfigurations] = useState(null);\r\n\r\n const handleOpen = async () => {\r\n setSaving(false);\r\n setFeeConfigurations(null);\r\n setFeeConfigurations(await loader());\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n const handleAccept = async (e) => {\r\n setSaving(true);\r\n\r\n const data = feeConfigurations!.map((x) => ({\r\n ...x,\r\n taxPercentage: x.taxPercentage || 0,\r\n feePercentage: x.feePercentage || 0,\r\n }));\r\n\r\n try {\r\n await triggerHandler(onAccept, data as FeeConfiguration[]);\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n Edit fees and VAT\r\n \r\n \r\n {feeConfigurations ? (\r\n \r\n ) : (\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 FeeEditDialog;\r\n","import React from 'react';\r\nimport theme from './FeeInfoIcon.module.scss';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faInfoCircle } from '@fortawesome/pro-light-svg-icons';\r\nimport { Trans } from '@lingui/macro';\r\n\r\ninterface FeeInfoIconProps {}\r\n\r\nconst FeeInfoIcon: React.FC = (props) => {\r\n return (\r\n Price including fees and VAT} interactive={false}>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FeeInfoIcon;\r\n","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport Banner from 'components/Banner';\r\n\r\ninterface NoAvailableFeesAlertProps {}\r\n\r\nconst NoAvailableFeesAlert: React.FC = (props) => {\r\n return (\r\n \r\n You have no available fees configured.\r\n \r\n );\r\n};\r\n\r\nexport default NoAvailableFeesAlert;\r\n","import React from 'react';\r\nimport theme from './FeePreviewCompact.module.scss';\r\nimport { ProjectFeeSet, PriceCalculationResult } from 'types';\r\nimport FeePreview from './FeePreview';\r\nimport PriceCalculationDisplay from './PriceCalculationDisplay';\r\nimport { ProjectCurrencyDisplay } from 'seller/components/currency';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSpinner } from '@fortawesome/pro-light-svg-icons';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport { classnames } from 'utils/html';\r\nimport { useGetActiveProject } from 'utils/hooks';\r\nimport {\r\n getMaximumFractionDigits,\r\n getMinimumProjectFractionDigits,\r\n} from 'components/localization/CurrencyDisplay';\r\n\r\ninterface FeePreviewCompactProps {\r\n price: number;\r\n quantity: number;\r\n projectFeeSet?: ProjectFeeSet | null;\r\n onUpdate?(calculation: PriceCalculationResult | null): void;\r\n className?: string;\r\n}\r\n\r\nconst empty = [];\r\n\r\nconst FeePreviewCompact: React.FC = ({ projectFeeSet, onUpdate, price, quantity, className }) => {\r\n const project = useGetActiveProject();\r\n return (\r\n \r\n {(calculation, loading) => (\r\n
\r\n \r\n }>\r\n \r\n {calculation && (\r\n \r\n )}\r\n \r\n \r\n {loading && }\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FeePreviewCompact;\r\n","import React from 'react';\r\nimport theme from './PriceDisplay.module.scss';\r\nimport { PriceCalculationResult } from 'types';\r\nimport { Trans } from '@lingui/macro';\r\nimport FeeInfoIcon from '../FeeInfoIcon';\r\nimport { ProjectCurrencyDisplay } from 'seller/components/currency';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface PriceInfo {\r\n basePrice: number | null;\r\n finalPrice: number | null;\r\n}\r\n\r\ninterface PriceDisplayProps {\r\n value: PriceCalculationResult | PriceInfo | null | undefined;\r\n redacted?: boolean;\r\n inline?: boolean;\r\n hideInfoIcon?: boolean;\r\n className?: string;\r\n}\r\n\r\nconst PriceDisplay: React.FC = ({ value, redacted, inline = false, hideInfoIcon = false, className }) => {\r\n if (redacted) {\r\n return Redacted;\r\n }\r\n\r\n if (!value) {\r\n return N/A;\r\n }\r\n return (\r\n
\r\n \r\n {!hideInfoIcon && }\r\n\r\n \r\n \r\n \r\n ()\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default React.memo(PriceDisplay);\r\n","import React from 'react';\r\nimport { FeeSetConnectionInfo } from 'types';\r\nimport { Trans } from '@lingui/macro';\r\n\r\ninterface FeeSetConnectionInfoDisplayProps {\r\n value: FeeSetConnectionInfo;\r\n}\r\n\r\nconst FeeSetConnectionInfoDisplay: React.FC = ({ value }) => {\r\n if (value.feeSetOverridden) {\r\n return Overridden;\r\n }\r\n\r\n return (\r\n <>\r\n {value.name}{' '}\r\n {value.feeSetOutdated ? (\r\n <>\r\n (Previous version)\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nexport default FeeSetConnectionInfoDisplay;\r\n","import { Trans, t } from '@lingui/macro';\r\nimport { Button } from 'components/Buttons';\r\nimport { ValidatingTextArea, ValidationForm, ValidationSummary } from 'components/forms/validation';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport React, { useState } from 'react';\r\nimport { OrderLine } from 'types';\r\nimport { triggerHandler } from 'utils/events';\r\nimport theme from './OrderLineNoteModal.module.scss';\r\nimport Banner from 'components/Banner';\r\nimport { saveOrderLineNote } from 'services/orders';\r\n\r\ninterface AddNoteModalProp {\r\n isOpen: boolean;\r\n onClose(): void;\r\n orderLine: OrderLine;\r\n onSubmit(): void;\r\n}\r\n\r\nconst OrderLineNoteModal: React.FC = ({ isOpen, onClose, orderLine, onSubmit }) => {\r\n const [saving, setSaving] = useState(false);\r\n const [note, setNote] = useState('');\r\n\r\n const handleNoteSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n setSaving(true);\r\n\r\n try {\r\n await saveOrderLineNote(orderLine.id, note);\r\n triggerHandler(onClose);\r\n triggerHandler(onSubmit);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n const onOpen = () => {\r\n if (orderLine.note) setNote(orderLine.note);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n Add a note\r\n \r\n \r\n
\r\n \r\n Note}\r\n required\r\n className=\"form-control\"\r\n placeholder={t`Add a note to explain this order line`}\r\n value={note}\r\n name=\"note\"\r\n onChange={(e) => setNote(e.target.value)}\r\n />\r\n
\r\n \r\n \r\n Please note, this note will appear in the room form export\r\n \r\n \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 OrderLineNoteModal;\r\n","import React, { useState } from 'react';\r\nimport theme from './OrderLineTab.module.scss';\r\nimport { Order, OrderLine } from 'types';\r\nimport { CardSection, SimpleCard } from 'components/Cards';\r\nimport { Trans } from '@lingui/macro';\r\nimport ProfileAndUserDisplay from 'components/ProfileAndUserDisplay';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport { Button, ConfirmButton } from 'components/Buttons';\r\nimport Banner from 'components/Banner';\r\nimport { faEdit, faTrashAlt } from '@fortawesome/pro-light-svg-icons';\r\nimport { PriceDisplay } from 'seller/components/fees';\r\nimport { ProjectCurrencyDisplay } from 'seller/components/currency';\r\nimport { sum } from 'lodash-es';\r\nimport ItemCategoryDisplay from 'components/item-categories/ItemCategoryDisplay';\r\nimport OrderLineNoteModal from './OrderLineNoteModal';\r\nimport { deleteOrderLineNote } from 'services/orders';\r\nimport { triggerHandler } from 'utils/events';\r\nimport Tags from 'components/Tags';\r\n\r\ninterface OrderLineTabProps {\r\n order: Order;\r\n onOrderChange(): void;\r\n}\r\n\r\nconst OrderLineTab: React.FC = ({ order, onOrderChange }) => {\r\n const [isNoteModalOpen, setIsNoteModalOpen] = useState(false);\r\n const [selectedOrderLine, setSelectOrderLine] = useState(null);\r\n\r\n const canSeeAllPrices = order.orderLines.every((x) => !!x.priceCalculation);\r\n\r\n const deleteNote = async (orderLineId: number) => {\r\n await deleteOrderLineNote(orderLineId);\r\n triggerHandler(onOrderChange);\r\n };\r\n\r\n const renderLines = () => {\r\n if (order.buyerOfferId === null && order.buyerOptionGroupId === null && order.buyerOptionPresetId === null) {\r\n return null;\r\n }\r\n\r\n return order.orderLines.map((x) => (\r\n \r\n Item}\r\n contentClassName={theme.orderLineDescription}\r\n grow>\r\n {x.itemName}\r\n \r\n {' '}\r\n {x.customFieldData}\r\n \r\n \r\n {order.buyerOptionGroupId !== null && x.productInfo && (\r\n Product ID} grow shrink width=\"100px\">\r\n {x.productInfo.sku}\r\n \r\n )}\r\n Category} width=\"100px\" shrink grow>\r\n \r\n \r\n {order.buyerOptionGroupId !== null && (\r\n Qty} width=\"80px\" shrink grow>\r\n {x.quantity}\r\n \r\n )}\r\n Fee preset} width=\"100px\" shrink grow>\r\n {x.projectFeeSetName}\r\n \r\n Note} width=\"100px\" shrink grow>\r\n {x.note ? (\r\n <>\r\n \r\n Note\r\n \r\n }\r\n className={theme.noteTooltip}\r\n content={\r\n
\r\n
{x.note}
\r\n \r\n Last updated by\r\n \r\n }\r\n />\r\n
\r\n }>\r\n
{x.note}
\r\n \r\n {\r\n setIsNoteModalOpen(true);\r\n setSelectOrderLine(x);\r\n }}\r\n />\r\n Delete note}\r\n dialogBody={\r\n <>\r\n \r\n You are about to delete the note connected to this order line, are you sure you\r\n want to do this?\r\n \r\n \r\n {\r\n \r\n Please note,\r\n if deleted, this note will not appear on the room form export\r\n \r\n }\r\n \r\n \r\n }\r\n confirmButtonText={Delete}\r\n dialogConfirmButtonColor=\"danger\"\r\n icon={faTrashAlt}\r\n color=\"text\"\r\n onConfirm={() => {\r\n deleteNote(x.id);\r\n }}\r\n />\r\n \r\n ) : (\r\n {\r\n setIsNoteModalOpen(true);\r\n setSelectOrderLine(x);\r\n }}>\r\n {Add note}\r\n \r\n )}\r\n
\r\n Tags}>\r\n \r\n \r\n Price} width=\"100px\" shrink grow className=\"text-right\">\r\n \r\n \r\n
\r\n ));\r\n };\r\n\r\n return (\r\n <>\r\n {renderLines()}\r\n\r\n {selectedOrderLine && (\r\n setIsNoteModalOpen(false)}\r\n onSubmit={onOrderChange}\r\n />\r\n )}\r\n\r\n {canSeeAllPrices && (\r\n
\r\n
\r\n Total price\r\n\r\n
\r\n x.priceCalculation!.finalPrice))}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n (\r\n x.priceCalculation!.basePrice))}\r\n />\r\n )\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default OrderLineTab;\r\n","import React, { useState, useEffect, useRef } from 'react';\r\nimport theme from './ProjectOrderDetails.module.scss';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Tabs, Tab } from 'components/Tabs';\r\nimport { Order } from 'types';\r\nimport { CardSection, SimpleCard, CardDropdownMenu, NoResultsCard } from 'components/Cards';\r\nimport { DateDisplay } from 'components/localization';\r\nimport { DropdownExternalLinkItem } from 'components/Dropdown';\r\nimport { faEye, faDownload } from '@fortawesome/pro-light-svg-icons';\r\nimport { triggerHandler } from 'utils/events';\r\nimport HistoryLogTable from 'seller/components/HistoryLog/HistoryLogTable';\r\nimport { getOpenOrderAttachmentUrl, getDownloadOrderAttachmentUrl } from 'services/orders';\r\nimport OrderLineTab from './OrderLineTab';\r\nimport { ExternalLink, FileIcon } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface ProjectOrderDetailsProps {\r\n order: Order;\r\n onLoad?: () => void;\r\n onOrderChange: () => void;\r\n}\r\n\r\nconst ProjectOrderDetails: React.FC = ({ order, onLoad, onOrderChange }) => {\r\n const [activeTab, setActiveTab] = useState<'orderLine' | 'attachments' | 'orderHistory' | 'comments'>('orderLine');\r\n\r\n const loaded = useRef(false);\r\n useEffect(() => {\r\n if (!loaded.current) {\r\n setTimeout(() => {\r\n triggerHandler(onLoad);\r\n }, 0);\r\n\r\n loaded.current = true;\r\n }\r\n }, [onLoad]);\r\n\r\n return (\r\n
\r\n \r\n setActiveTab('orderLine')}\r\n name={Order lines ({order.orderLines.length})}\r\n id={'orderLine'}>\r\n \r\n \r\n\r\n setActiveTab('attachments')}\r\n name={Attachments ({order.attachments.length})}\r\n id={'attachments'}>\r\n {order.attachments.length === 0 && (\r\n \r\n No documents\r\n \r\n )}\r\n {order.attachments.map((x) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {x.name}\r\n \r\n \r\n Created} width=\"250px\" right shrink>\r\n \r\n \r\n Uploaded by} width=\"250px\" right shrink>\r\n {x.createdByName}\r\n \r\n \r\n \r\n Open document\r\n \r\n \r\n Download document\r\n \r\n \r\n \r\n ))}\r\n \r\n setActiveTab('orderHistory')} name={Order History} id={'orderHistory'}>\r\n \r\n \r\n {/* setActiveTab('comments')} name={Messages} id={'comments'}>\r\n \r\n setActiveTab('orderHistory')}\r\n name={Order History}\r\n id={'orderHistory'}>\r\n \r\n \r\n {/* setActiveTab('comments')} name={Messages} id={'comments'}>\r\n \r\n */}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ProjectOrderDetails;\r\n","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport theme from './OrderExpand.module.scss';\r\nimport { IState } from 'state/IState';\r\nimport ProjectOrderDetails from 'seller/components/project/ProjectOrderDetails';\r\nimport { BatchedChanges, Order } from 'types';\r\nimport { getOrder } from 'services/orders';\r\nimport { classnames } from 'utils/html';\r\n\r\nconst mapDispatchToProps = () => ({});\r\nconst mapStateToProps = (state: IState) => ({\r\n profileId: state.global.activeProfile!.id,\r\n});\r\n\r\ntype Props = ReturnType &\r\n ReturnType & {\r\n order: Order;\r\n onChange(changes: BatchedChanges): void;\r\n onLoad?: () => void;\r\n };\r\n\r\nconst OrderExpand: React.FC = ({ order, onChange, onLoad }) => {\r\n const onOrderChange = async () => {\r\n const updatedOrder = await getOrder(order.id);\r\n onChange(BatchedChanges.single(updatedOrder.id, updatedOrder));\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OrderExpand);\r\n","import React from 'react';\r\nimport theme from './CheckList.module.scss';\r\nimport { classnames } from 'utils/html';\r\n\r\ninterface CheckListProps {\r\n className?: string;\r\n theme?: 1 | 2;\r\n}\r\n\r\nconst CheckList: React.FC = ({ children, className, theme: styleNumber = 1 }) => {\r\n return
    {children}
;\r\n};\r\n\r\nexport default CheckList;\r\n","import React, { ChangeEventHandler } from 'react';\r\nimport theme from './CheckList.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { Checkbox } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface CheckListItemProps {\r\n className?: string;\r\n checked: boolean;\r\n onChange: ChangeEventHandler;\r\n contentClassName?: string;\r\n disabled?: boolean;\r\n}\r\n\r\nconst CheckListItem: React.FC = ({\r\n children,\r\n className,\r\n contentClassName,\r\n checked,\r\n onChange,\r\n disabled,\r\n}) => {\r\n return (\r\n
  • \r\n \r\n
  • \r\n );\r\n};\r\n\r\nexport default CheckListItem;\r\n","import React from 'react';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { ProjectProfile } from 'types';\r\nimport theme from './OrderResponsibleSelection.module.scss';\r\nimport { ProfileIcon } from 'components/Icons';\r\nimport { CheckList, CheckListItem } from 'components/CheckList';\r\n\r\ninterface OrderResponsibleSelectionProps {\r\n members: ProjectProfile[];\r\n value: ProjectProfile | null;\r\n onChange(newValue: ProjectProfile | null): void;\r\n}\r\n\r\nconst OrderResponsibleSelection: React.FC = ({ members, value, onChange }) => {\r\n if (!members) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {members.map((m) => (\r\n (!!value && m.profileId === value.profileId ? onChange(null) : onChange(m))}>\r\n \r\n {m.profileName}\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default OrderResponsibleSelection;","import React, { useState, useEffect } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { useUniqueId } from 'utils/hooks';\r\nimport { Order } from 'types';\r\nimport { Radio } from 'components/forms/Radio';\r\nimport { toggleValue } from 'utils/arrays';\r\nimport theme from './OrderResponsibleOrderSelection.module.scss';\r\nimport Banner from 'components/Banner';\r\nimport { Checkbox } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface OrderResponsibleOrderSelectionProps {\r\n orders: Order[];\r\n originalOrderId: number;\r\n onChange(newValue: number[]): void;\r\n}\r\n\r\ntype Mode = 'Single' | 'Unassigned' | 'All' | 'Specific';\r\n\r\nconst OrderResponsibleOrderSelection: React.FC = ({\r\n orders,\r\n onChange,\r\n originalOrderId,\r\n}) => {\r\n const [mode, setMode] = useState('Single');\r\n const [selectedOrders, setSelectedOrders] = useState([]);\r\n const [alertOrders, setAlertOrders] = useState([]);\r\n\r\n const radioName = useUniqueId();\r\n\r\n useEffect(() => {\r\n let selection: number[] = [];\r\n\r\n if (mode === 'Single') {\r\n selection = [originalOrderId];\r\n } else if (mode === 'Unassigned') {\r\n selection = orders!.filter((x) => !x.responsibleProfileId).map((x) => x.id);\r\n } else if (mode === 'All') {\r\n selection = orders.map((x) => x.id);\r\n } else if (mode === 'Specific') {\r\n selection = [...selectedOrders];\r\n }\r\n\r\n onChange(selection);\r\n\r\n setAlertOrders(orders.filter((x) => x.responsibleProfileId && selection.includes(x.id)));\r\n }, [orders, mode, selectedOrders, originalOrderId, onChange]);\r\n\r\n return (\r\n
    \r\n
    \r\n setMode('Single')}>\r\n Assign to this order only\r\n \r\n\r\n setMode('Unassigned')}\r\n disabled={orders.length === 1}>\r\n Assign to all unassigned orders in within the same buyer option\r\n \r\n\r\n setMode('All')}\r\n disabled={orders.length === 1}>\r\n Assign to all orders within the same buyer option\r\n \r\n\r\n setMode('Specific')}\r\n disabled={orders.length === 1}>\r\n Assign to these orders\r\n \r\n
    \r\n\r\n {alertOrders.length > 0 && (\r\n \r\n You will be overriding the responsible for the following orders:{' '}\r\n {alertOrders.map((x) => '#' + x.orderNumber).join(', ')}\r\n \r\n )}\r\n\r\n {mode === 'Specific' && (\r\n <>\r\n Choose orders\r\n
      \r\n {orders.map((o) => (\r\n
    • \r\n setSelectedOrders(toggleValue(selectedOrders, o.id, e.target.checked))}>\r\n #{o.orderNumber} - ({o.residentialUnitName})\r\n \r\n
    • \r\n ))}\r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default OrderResponsibleOrderSelection;\r\n","import React, { useState } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { getOrder, getRelatedOrders, setOrderResponsibles } from 'services/orders';\r\nimport { getProjectProfiles } from 'services/projects';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Button } from 'components/Buttons';\r\nimport { Order, ProjectProfile } from 'types';\r\nimport OrderResponsibleSelection from './OrderResponsibleSelection';\r\nimport OrderResponsibleOrderSelection from './OrderResponsibleOrderSelection';\r\n\r\ninterface OrderChangeResponsibleDialogProps {\r\n orderId: number;\r\n projectId: number;\r\n show: boolean;\r\n onAccept(orderIds: number[], newResponsible: ProjectProfile | null): void;\r\n onClose(): void;\r\n}\r\n\r\nenum Step {\r\n User,\r\n Orders,\r\n}\r\n\r\nconst stepOrder = [Step.User, Step.Orders];\r\nconst firstStep = stepOrder[0];\r\nconst lastStep = stepOrder[stepOrder.length - 1];\r\n\r\nconst OrderChangeResponsibleDialog: React.FC = ({\r\n projectId,\r\n orderId,\r\n show,\r\n onAccept,\r\n onClose,\r\n}) => {\r\n const [step, setStep] = useState(firstStep);\r\n const [saving, setSaving] = useState(false);\r\n const [members, setMembers] = useState(null);\r\n const [chosenMember, setChosenMember] = useState(null);\r\n const [selectedOrderIds, setSelectedOrderIds] = useState([]);\r\n const [relatedOrders, setRelatedOrders] = useState(null);\r\n const [isChangeRequest, setIsChangeRequest] = useState(false);\r\n\r\n const moveStep = (delta) => {\r\n setStep(stepOrder[stepOrder.indexOf(step) + delta]);\r\n };\r\n\r\n const handleOpen = async () => {\r\n setSaving(false);\r\n setChosenMember(null);\r\n setStep(firstStep);\r\n\r\n const [order, members, relatedOrders] = await Promise.all([\r\n getOrder(orderId),\r\n getProjectProfiles(projectId),\r\n getRelatedOrders(orderId),\r\n ]);\r\n\r\n setMembers(members);\r\n setRelatedOrders(relatedOrders);\r\n\r\n const chosenMember = members.find((x) => x.profileId === order.responsibleProfileId);\r\n\r\n if (chosenMember) {\r\n setChosenMember(chosenMember);\r\n }\r\n setIsChangeRequest(!!order.changeRequestId);\r\n setSelectedOrderIds([order.id]);\r\n };\r\n\r\n const handleSaveClick = async () => {\r\n setSaving(true);\r\n\r\n try {\r\n await setOrderResponsibles(selectedOrderIds, chosenMember ? chosenMember.profileId : null);\r\n\r\n triggerHandler(onAccept, selectedOrderIds, chosenMember ? chosenMember : null);\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n const renderContent = () => {\r\n if (!members) {\r\n return ;\r\n }\r\n\r\n if (step === Step.User) {\r\n return ;\r\n }\r\n\r\n if (step === Step.Orders) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return null;\r\n };\r\n\r\n return (\r\n \r\n \r\n Set responsible\r\n \r\n {renderContent()}\r\n \r\n \r\n\r\n {step !== firstStep && (\r\n \r\n )}\r\n\r\n {step !== lastStep && !isChangeRequest && (\r\n moveStep(+1)}>\r\n Next\r\n \r\n )}\r\n\r\n {(step === lastStep || isChangeRequest) && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default OrderChangeResponsibleDialog;","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { OrderStatus } from 'types';\r\nimport { BaseStatusIndicatorProps } from '.';\r\nimport Indicator, { IndicatorColor } from 'components/Indicator';\r\n\r\ninterface OrderStatusIndicatorProps extends BaseStatusIndicatorProps {\r\n value: OrderStatus;\r\n isBuyer?: boolean;\r\n}\r\n\r\nconst colorMap: { [key in OrderStatus]: IndicatorColor } = {\r\n Pending: 'warning',\r\n ReadyToStart: 'success',\r\n Rejected: 'danger',\r\n Canceled: 'secondary',\r\n Completed: 'info',\r\n InProgress: 'info',\r\n};\r\n\r\nconst OrderStatusIndicator: React.FC = ({ value, isBuyer = false, children, ...rest }) => {\r\n return (\r\n \r\n {children || }\r\n \r\n );\r\n};\r\n\r\nexport default OrderStatusIndicator;","import React, { useState } from 'react';\r\nimport { Modal, ModalHeader, ModalBody } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { cancelOrder } from 'services/orders';\r\nimport { SimpleWizard, SimpleWizardStep, SimpleWizardConfirmStep } from 'components/SimpleWizard';\r\nimport { Radio } from 'components/forms/Radio';\r\nimport theme from './OrderCancelDialog.module.scss';\r\nimport Banner from 'components/Banner';\r\nimport { faCheckCircle } from '@fortawesome/pro-light-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport OrderListItem from '../OrderListItem';\r\nimport { OrderCloseDialogProps } from '.';\r\n\r\ninterface OptionOrderCancelDialogProps extends OrderCloseDialogProps {}\r\n\r\nenum Step {\r\n SelectCancelType = 1,\r\n Confirm = 2,\r\n Canceled = 3,\r\n}\r\n\r\nconst OptionOrderCancelDialog: React.FC = ({ show, onClose, onOrderCancel, order }) => {\r\n const [step, setStep] = useState(Step.SelectCancelType);\r\n const [cancelMode, setCancelMode] = useState<'Simple' | 'Reopen'>('Simple');\r\n const reset = () => {\r\n setCancelMode('Reopen');\r\n setStep(Step.SelectCancelType);\r\n };\r\n\r\n const handleOpen = () => {\r\n reset();\r\n };\r\n\r\n const handleSubmit = async () => {\r\n if (cancelMode === 'Simple') await cancelOrder(order.id);\r\n if (cancelMode === 'Reopen') await cancelOrder(order.id, true);\r\n triggerHandler(onOrderCancel, [order.id]);\r\n };\r\n\r\n const handleFinish = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n return (\r\n \r\n \r\n Cancel order\r\n \r\n \r\n Cancel order }}>\r\n Choose cancel type}>\r\n
    \r\n setCancelMode('Reopen')}>\r\n \r\n Cancel order and reopen the buyer option\r\n \r\n \r\n \r\n The existing order will be cancelled and the buyer option will be reopened to the\r\n buyer.\r\n \r\n \r\n \r\n setCancelMode('Simple')}>\r\n \r\n Cancel order\r\n \r\n \r\n The existing order will be cancelled, without confirmation from the buyer.\r\n \r\n \r\n
    \r\n
    \r\n Confirm cancellation of order #{order.id}}>\r\n
    \r\n \r\n You are about to cancel this order for buyer option {order.buyerOptionName}, this action is\r\n not reversible, are you sure you want to do this?\r\n \r\n
    \r\n {cancelMode === 'Simple' && (\r\n \r\n \r\n Warning Order #{order.id} will be cancelled, this will mean that will not be an\r\n order for {order.buyerOptionName} and the buyer will not be able to make a new choice.\r\n \r\n \r\n )}\r\n\r\n null} readOnly />\r\n {cancelMode === 'Simple' && (\r\n \r\n \r\n Please note cancelling an order means that this order will be cancelled straight\r\n away, without any input from the buyer; this is usually done when the buyer has chosen a\r\n different product in a change request and the order is not valid anymore.\r\n \r\n \r\n )}\r\n\r\n {cancelMode === 'Reopen' && (\r\n \r\n \r\n Please note cancelling an order and reopening the option is means that this order\r\n will be cancelled straight away, and the buyer will be able to make a new choice; this is\r\n usually done when the buyer would like to make another choice after submitting the\r\n choices and you would like to let the buyer do that.\r\n \r\n \r\n )}\r\n \r\n\r\n \r\n {cancelMode === 'Simple' && Cancellation of order {order.id} confirmed}\r\n {cancelMode === 'Reopen' && (\r\n \r\n Cancellation of order #{order.id}, and, reopening of buyer option{' '}\r\n {order.buyerOptionGroupName} confirmed\r\n \r\n )}\r\n \r\n }>\r\n
    \r\n \r\n
    \r\n\r\n {cancelMode === 'Simple' && Order #{order.id} has been cancelled.}\r\n {cancelMode === 'Reopen' && (\r\n \r\n Order #{order.id} cancelled and {order.buyerOptionGroupName} reopened successfully.\r\n \r\n )}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\nexport default OptionOrderCancelDialog;","import { request, getApiUrl } from 'utils/ajax';\r\nimport { ProfileCatalogProduct, ProductFile, CatalogFilterData } from 'types';\r\n\r\nexport function saveCatalogProduct(\r\n product: Partial,\r\n files: ProductFile[]\r\n): Promise {\r\n return request(`api/catalog-product`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n product,\r\n files,\r\n },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function deleteCatalogProduct(catalogProductId: number) {\r\n return request(`api/catalog-product/${catalogProductId}`, {\r\n method: 'DELETE',\r\n });\r\n}\r\n\r\nexport function getCatalogProductsByGroup(groupId: number): Promise {\r\n return request(`api/catalog-group/${groupId}/products`).then((x) => x.json());\r\n}\r\n\r\nexport function getCatalogProductsByOwner(profileId: number): Promise {\r\n return searchCatalogProducts({\r\n ownerProfileId: profileId,\r\n });\r\n}\r\n\r\nexport function getCatalogProduct(productId: number): Promise {\r\n return request(`api/catalog-product/${productId}`).then((x) => x.json());\r\n}\r\n\r\ninterface CatalogProductsSearchOptions {\r\n searchText?: string | null;\r\n itemCategoryIds?: number[] | null;\r\n ownerProfileId: number;\r\n suppliers?: string[] | null;\r\n}\r\n\r\nexport function searchCatalogProducts(options: CatalogProductsSearchOptions): Promise {\r\n return request(`api/catalog-product`, {\r\n query: options,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getCatalogFilters(profileId: number): Promise {\r\n return request(`api/catalog-product/filter-data`, {\r\n query: { profileId },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getCatalogProductFileUrl(productImageId: number, download: boolean = false) {\r\n return getApiUrl() + `/api/catalog-product-image/${productImageId}/${download ? 'download' : 'open'}`;\r\n}\r\n\r\nexport function getCatalogProductFileThumbnailUrl(productImageId: number) {\r\n return getApiUrl() + `/api/catalog-product-image/${productImageId}/thumbnail`;\r\n}\r\n\r\nexport function getImportableCatalogProducts(profileId: number, projectId: number): Promise {\r\n return request(`api/catalog-product/project-import`, { query: { profileId, projectId } }).then((x) => x.json());\r\n}\r\n\r\nexport function importProductsToProject(projectId: number, profileCatalogProductIds: number[]): Promise {\r\n return request(`api/catalog-product/project-import`, {\r\n method: 'POST',\r\n json: true,\r\n body: {\r\n projectId,\r\n profileCatalogProductIds,\r\n },\r\n });\r\n}\r\n\r\nexport function getConflictsWithProjectCatalog(\r\n projectId: number,\r\n profileProductIds: number[]\r\n): Promise {\r\n return request(`api/catalog-product/conflicts`, {\r\n query: { projectId, profileProductIds },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport interface ProjectImportableProduct {\r\n product: ProfileCatalogProduct;\r\n isAlreadyImported: boolean;\r\n hasPermissionsToImport: boolean;\r\n isImportable: boolean;\r\n}","import React, { useState, useMemo } from 'react';\r\nimport theme from './BuyerOptionPresetSelector.module.scss';\r\nimport { Dropdown, DropdownButtonItem, DropdownGroupItem } from 'components/Dropdown';\r\nimport { BuyerOptionPresetGroup, BuyerOptionPreset } from 'types';\r\nimport { Trans } from '@lingui/macro';\r\nimport { faSwatchbook, faCheck, faSpinner, faTimes } from '@fortawesome/pro-light-svg-icons';\r\nimport { classnames } from 'utils/html';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faChevronDown } from '@fortawesome/pro-regular-svg-icons';\r\nimport { ConfirmButton, Tooltip } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { LinkedOptionPresetInfo } from 'services/buyer-option-batches';\r\n\r\ninterface BuyerOptionPresetSelectorProps {\r\n presetGroups: BuyerOptionPresetGroup[];\r\n onAdd?(preset: BuyerOptionPreset): Promise;\r\n onRemove?(preset: BuyerOptionPreset): Promise;\r\n presetInfo: LinkedOptionPresetInfo[];\r\n}\r\n\r\nconst BuyerOptionPresetSelector: React.FC = ({\r\n presetGroups,\r\n onAdd,\r\n onRemove,\r\n presetInfo,\r\n}) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n\r\n const flatGroups = useMemo(() => {\r\n const data: { preset: BuyerOptionPreset; group: BuyerOptionPresetGroup; presetInfo?: LinkedOptionPresetInfo }[] = [];\r\n\r\n presetGroups.forEach((group) => {\r\n group.presets.forEach((preset) => {\r\n data.push({\r\n preset,\r\n group,\r\n presetInfo: presetInfo.find((x) => x.presetId === preset.id),\r\n });\r\n });\r\n });\r\n\r\n return data;\r\n }, [presetGroups, presetInfo]);\r\n\r\n return (\r\n
    \r\n {onAdd && onRemove && (\r\n \r\n \r\n Styles\r\n \r\n \r\n }\r\n open={isOpen}\r\n toggle={setIsOpen}\r\n className={classnames(theme.button, { [theme.open]: isOpen })}>\r\n {presetGroups\r\n .filter((x) => x.presets.length > 0)\r\n .map((group) => (\r\n \r\n {group.presets.map((preset) => (\r\n x.presetId).includes(preset.id)}\r\n onAdd={onAdd}\r\n onRemove={onRemove}\r\n />\r\n ))}\r\n \r\n ))}\r\n \r\n )}\r\n\r\n
      \r\n {flatGroups\r\n .filter((x) => presetInfo.map((x) => x.presetId).includes(x.preset.id))\r\n .map((x) => (\r\n Default option for the style {x.preset.name} : null\r\n }>\r\n \r\n {x.preset.name} (\r\n {x.group.name})\r\n {/* {x.presetInfo?.isDefault && (\r\n <>\r\n - Default\r\n \r\n )} */}\r\n {onRemove && (\r\n Remove from style}\r\n dialogBody={\r\n Are you sure you want to remove this item from {x.preset.name}?\r\n }\r\n dialogConfirmButtonColor=\"danger\"\r\n onConfirm={() => onRemove(x.preset)}\r\n icon={faTimes}\r\n className={theme.removeButton}\r\n />\r\n )}\r\n \r\n \r\n ))}\r\n\r\n {/* {flatGroups.length === 0 && (\r\n
    • \r\n No styles\r\n
    • \r\n )} */}\r\n
    \r\n\r\n {presetInfo.length === 0 && (\r\n \r\n No styles\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\ninterface PresetDropdownItemProps {\r\n preset: BuyerOptionPreset;\r\n selected: boolean;\r\n onAdd(preset: BuyerOptionPreset): Promise;\r\n onRemove(preset: BuyerOptionPreset): Promise;\r\n}\r\n\r\nconst PresetDropdownItem: React.FC = ({ preset, selected, onAdd, onRemove }) => {\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleClick = async () => {\r\n if (loading) {\r\n return;\r\n }\r\n\r\n setLoading(true);\r\n try {\r\n if (selected) {\r\n await onRemove(preset);\r\n } else {\r\n await onAdd(preset);\r\n }\r\n } finally {\r\n setLoading(false);\r\n }\r\n };\r\n\r\n const renderIcon = () => {\r\n if (loading) {\r\n return ;\r\n }\r\n\r\n return ;\r\n };\r\n\r\n return (\r\n \r\n {preset.name} {renderIcon()}\r\n \r\n );\r\n};\r\n\r\nexport default BuyerOptionPresetSelector;\r\n","import React from 'react';\r\nimport { BuyerOptionPresetGroup } from 'types';\r\n\r\nexport type LinkedBuyerOptionsContextData = {\r\n presetGroups: BuyerOptionPresetGroup[] | null;\r\n};\r\n\r\nconst LinkedBuyerOptionsContext = React.createContext({\r\n presetGroups: null,\r\n});\r\n\r\nexport default LinkedBuyerOptionsContext;\r\n","import React, { ReactNode, ReactElement, useContext } from 'react';\r\nimport { t, Trans } from '@lingui/macro';\r\nimport theme from './ProductDisplay.module.scss';\r\nimport { BuyerOption } from 'services/buyer-options';\r\nimport ProductThumbnails from './ProductThumbnails';\r\nimport { ProjectCurrencyDisplay, ProfileCurrencyDisplay } from 'seller/components/currency';\r\nimport {\r\n ProfileCatalogProduct,\r\n ProductSourceCatalog,\r\n TranslatableText,\r\n PriceCalculationResult,\r\n ProjectFeeSet,\r\n ProjectCatalogProduct,\r\n ProductType,\r\n BuyerOptionPreset,\r\n UnitOfMeasurement,\r\n} from 'types';\r\nimport ItemCategoryDisplay from 'components/item-categories/ItemCategoryDisplay';\r\nimport { Input } from 'components/generic-controls';\r\nimport { Radio } from 'components/forms/Radio';\r\nimport { classnames } from 'utils/html';\r\nimport {\r\n faEdit,\r\n faTrashAlt,\r\n faInfoCircle,\r\n faCheckSquare,\r\n faBoxCheck,\r\n faExternalLink,\r\n faClone,\r\n} from '@fortawesome/pro-light-svg-icons';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { SimpleCard, CardHeader, CardDropdownMenu, CardRow } from 'components/Cards';\r\nimport ScrollToWrapper from 'components/ScrollToWrapper';\r\nimport { FeeInfoIcon, FeePreviewCompact } from '../fees';\r\nimport SmallAttachmentList from 'components/SmallAttachmentList';\r\nimport ExternalLink from 'components/navigation/ExternalLink';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport { DropdownButtonItem, DropdownConfirmButtonItem, DropdownInternalLinkItem } from 'components/Dropdown';\r\nimport { LinkGroupItemInfo } from 'services/buyer-option-batches';\r\nimport { getProjectCatalogProductFileThumbnailUrl, getProjectCatalogProductFileUrl } from 'services/project-catalog';\r\nimport { getCatalogProductFileThumbnailUrl, getCatalogProductFileUrl } from 'services/profile-catalog-products';\r\nimport { ProjectRelativeLink } from 'components/navigation';\r\nimport { ValidatingInput, ValidationSummary, ValidationScope } from 'components/forms/validation';\r\nimport { checkIfNCSCodeIsValid } from 'utils/color';\r\nimport BuyerOptionPresetSelector from '../buyer-option-presets/BuyerOptionPresetSelector/BuyerOptionPresetSelector';\r\nimport LinkedBuyerOptionsContext from '../buyer-options/LinkedBuyerOptionList/LinkedBuyerOptionsContext';\r\nimport { convertToUnit, unitAbbreviations } from 'utils/unit-of-measurements';\r\nimport {\r\n useGetActiveProfile,\r\n useGetDefaultProjectUnitOfMeasurement,\r\n useShouldDisplayDefaultTextOnOptions,\r\n} from 'utils/hooks';\r\nimport { Checkbox, LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { TextView } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport const MeasurementDetailsField: React.FC<{ show: boolean; caption: TranslatableText }> = ({\r\n show,\r\n caption,\r\n children,\r\n}) => {\r\n return (\r\n \r\n {caption}:\r\n {show ? (\r\n children\r\n ) : (\r\n \r\n N/A\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\ntype SupportedProductTypes = ProfileCatalogProduct | ProjectCatalogProduct;\r\n\r\ninterface ExternalProps {\r\n item: T;\r\n onEditClick?(item: T): void;\r\n onEditPriceClick?(item: T): void;\r\n onDeleteClick?(item: T): void;\r\n onRemoveClick?(item: T): void;\r\n onDuplicateClick?(item: T): void;\r\n onMakeDefaultClick?(item: T): void;\r\n onCheckChange?(item: T, flag: boolean): void;\r\n onRadioChange?(item: T, flag: boolean): void;\r\n productUrl?: string;\r\n checked?: boolean;\r\n showCategory?: boolean;\r\n isDefault?: boolean;\r\n selected?: boolean | null;\r\n hasStyles?: boolean;\r\n customFieldData?: string;\r\n onCustomFieldDataChange?(item: T, value: string): void;\r\n}\r\n\r\ninterface InternalProps {\r\n priceElement?: ReactNode;\r\n sourceCatalog: ProductSourceCatalog;\r\n}\r\n\r\nfunction ProductDisplay({\r\n item,\r\n sourceCatalog,\r\n checked,\r\n priceElement,\r\n productUrl,\r\n onEditClick,\r\n onEditPriceClick,\r\n onDeleteClick,\r\n onRemoveClick,\r\n onMakeDefaultClick,\r\n onDuplicateClick,\r\n onCheckChange,\r\n onRadioChange,\r\n customFieldData,\r\n onCustomFieldDataChange,\r\n showCategory = true,\r\n isDefault = false,\r\n selected = null,\r\n hasStyles = false,\r\n}: ExternalProps & InternalProps) {\r\n const projectDefaultUnitOfMeasurement = useGetDefaultProjectUnitOfMeasurement();\r\n const showDefaultText = useShouldDisplayDefaultTextOnOptions();\r\n const profile = useGetActiveProfile();\r\n\r\n if (!projectDefaultUnitOfMeasurement && !profile) {\r\n return ;\r\n }\r\n const unitOfMeasurement: UnitOfMeasurement =\r\n sourceCatalog === ProductSourceCatalog.Profile\r\n ? profile!.defaultUnitOfMeasurement\r\n : projectDefaultUnitOfMeasurement!;\r\n\r\n const renderDropdown = () => {\r\n const items: ReactElement[] = [];\r\n\r\n if (productUrl) {\r\n items.push(\r\n \r\n Go to product\r\n \r\n );\r\n }\r\n\r\n if (onEditClick) {\r\n items.push(\r\n {\r\n triggerHandler(onEditClick, item);\r\n }}>\r\n Edit\r\n \r\n );\r\n }\r\n if (onEditPriceClick) {\r\n items.push(\r\n {\r\n triggerHandler(onEditPriceClick, item);\r\n }}>\r\n Edit price\r\n \r\n );\r\n }\r\n\r\n if (onDeleteClick) {\r\n items.push(\r\n {\r\n triggerHandler(onDeleteClick, item);\r\n }}\r\n dialogBody={Are you sure you want to delete {item.name}?}\r\n dialogTitle={Delete product}\r\n confirmButtonText={Delete}>\r\n Delete\r\n \r\n );\r\n }\r\n\r\n if (onRemoveClick) {\r\n items.push(\r\n Cannot delete default options. : undefined}\r\n disabled={isDefault}\r\n icon={faTrashAlt}\r\n size=\"small\"\r\n iconPosition=\"left\"\r\n onConfirm={() => {\r\n triggerHandler(onRemoveClick, item);\r\n }}\r\n dialogBody={\r\n <>\r\n \r\n Are you sure you want to remove {item.name}?\r\n \r\n {hasStyles && (\r\n \r\n
    \r\n This will also remove it from Styles\r\n
    \r\n )}\r\n \r\n }\r\n dialogTitle={Remove product}>\r\n Remove\r\n \r\n );\r\n }\r\n if (onMakeDefaultClick) {\r\n items.push(\r\n {\r\n triggerHandler(onMakeDefaultClick, item);\r\n }}>\r\n Make default\r\n \r\n );\r\n }\r\n if (onDuplicateClick) {\r\n items.push(\r\n {\r\n triggerHandler(onDuplicateClick, item);\r\n }}>\r\n Duplicate\r\n \r\n );\r\n }\r\n\r\n if (items.length === 0) {\r\n return
    \r\n \r\n setLogModalIsOpen(true)}>\r\n View log\r\n \r\n \r\n \r\n {projectId && (\r\n setLogModalIsOpen(false)}\r\n isOpen={logModalIsOpen}\r\n filter={{\r\n projectId: projectId,\r\n groupByIds: [orderGroup.id],\r\n }}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default OrderGroupListItem;\r\n","import React from 'react';\r\nimport { NoResultsCard } from 'components/Cards';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Order, OrderGroup, BatchedChanges } from 'types';\r\nimport OrderGroupListItem from './OrderGroupListItem';\r\n\r\ntype OrderListProps = {\r\n orders: OrderGroup[];\r\n defaultExpandedId?: number;\r\n onChange: (changes: BatchedChanges) => void;\r\n};\r\n\r\nconst OrderGroupList: React.FC = ({ orders, onChange, defaultExpandedId, ...rest }) => {\r\n return (\r\n <>\r\n {orders.map((order) => (\r\n \r\n ))}\r\n\r\n {orders.length === 0 && (\r\n \r\n No orders\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default OrderGroupList;","import React, { useState } from 'react';\r\nimport { Modal, ModalHeader, ModalBody } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport DocumentSelectList from 'components/DocumentSelectList';\r\nimport { ButtonProps } from 'components/Buttons';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { searchResidentialUnitDocuments } from 'services/documents';\r\nimport { ResidentialUnitDocument } from 'types';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { SimpleWizard, SimpleWizardStep } from 'components/SimpleWizard';\r\nimport { LargeRadio } from 'components/forms/Radio';\r\nimport { FileType } from 'utils/FileData';\r\n\r\ninterface OrderExportSelectSketchDialogProps {\r\n residentialUnitId: number;\r\n show: boolean;\r\n onClose(): void;\r\n onAccept(includeSketch: boolean, documentVersionId: number | null): void;\r\n}\r\n\r\nenum Step {\r\n SelectMode,\r\n SelectDocument,\r\n}\r\n\r\nenum ExportMode {\r\n Normal,\r\n AutoSelectFile,\r\n ManualFile,\r\n}\r\n\r\nconst OrderExportSelectSketchDialog: React.FC = ({\r\n residentialUnitId,\r\n show,\r\n onAccept,\r\n onClose,\r\n}) => {\r\n const [exportMode, setExportMode] = useState(ExportMode.Normal);\r\n const [currentStep, setCurrentStep] = useState(Step.SelectMode);\r\n const [selectedDocumentId, setSelectedDocumentId] = useState(null);\r\n const [documents, setDocuments] = useState(null);\r\n\r\n const handleOpen = async () => {\r\n setExportMode(ExportMode.Normal);\r\n setCurrentStep(Step.SelectMode);\r\n setSelectedDocumentId(null);\r\n setDocuments(null);\r\n\r\n var docs = await searchResidentialUnitDocuments({\r\n residentialUnitIds: [residentialUnitId],\r\n });\r\n\r\n setDocuments(docs.filter((x) => [FileType.Image, FileType.Pdf].includes(x.lastVersionFileMetadata.fileType)));\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n const handleAcceptClick = () => {\r\n let documentVersionId: number | null = null;\r\n\r\n if (selectedDocumentId) {\r\n var document = documents!.find((x) => x.documentId === selectedDocumentId);\r\n\r\n if (document) {\r\n documentVersionId = document.lastVersionId;\r\n }\r\n }\r\n\r\n if (exportMode === ExportMode.ManualFile && !documentVersionId) {\r\n return;\r\n }\r\n\r\n const includeSketch = exportMode !== ExportMode.Normal;\r\n triggerHandler(onAccept, includeSketch, documentVersionId);\r\n };\r\n\r\n const saveButtonProps: Partial = {\r\n children: Export,\r\n disabled: !selectedDocumentId && exportMode === ExportMode.ManualFile,\r\n };\r\n\r\n const steps = exportMode === ExportMode.ManualFile ? [Step.SelectMode, Step.SelectDocument] : [Step.SelectMode];\r\n\r\n return (\r\n \r\n \r\n Export room form\r\n \r\n \r\n \r\n Choose export mode}>\r\n setExportMode(ExportMode.Normal)}\r\n checked={exportMode === ExportMode.Normal}>\r\n \r\n No attachment\r\n The room form will include only the the list of orders.\r\n \r\n \r\n\r\n setExportMode(ExportMode.AutoSelectFile)}\r\n checked={exportMode === ExportMode.AutoSelectFile}>\r\n \r\n Pick automatically\r\n On the end of the room form, you will have an image of the first architect sketch we find.\r\n \r\n \r\n\r\n setExportMode(ExportMode.ManualFile)}\r\n checked={exportMode === ExportMode.ManualFile}>\r\n \r\n Choose manually\r\n Choose a file to have on the end of the room form file. Only PDFs and images are allowed.\r\n \r\n \r\n \r\n Choose a document}>\r\n {documents ? (\r\n setSelectedDocumentId(value as string)}\r\n />\r\n ) : (\r\n \r\n )}\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 OrderExportSelectSketchDialog;\r\n","import { generateApiUrl, request } from 'utils/ajax';\r\nimport { OrderSearchOptions } from './orders';\r\n\r\nexport interface ExportColumnDefinition {\r\n key: string;\r\n name: string;\r\n isMandatory: boolean;\r\n isDefault: boolean;\r\n}\r\n\r\nexport interface SimpleOrderExportOptions {\r\n columns: string[];\r\n}\r\n\r\nexport interface RoomFormExportOptions {\r\n columns: string[];\r\n}\r\n\r\nexport interface RoomFormByUnitExportOptions {\r\n includeFloorPlan: boolean;\r\n columns: string[];\r\n}\r\n\r\nexport interface InvoiceExportOptions {\r\n columns: string[];\r\n}\r\n\r\nexport function getSimpleOrderExportColumns(): Promise {\r\n return request(`api/order/export/simple/columns`, {\r\n method: 'GET',\r\n json: true,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getRoomFormOrderExportColumns(): Promise {\r\n return request(`api/order/export/room-form/columns`, {\r\n method: 'GET',\r\n json: true,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getRoomFormByUnitOrderExportColumns(): Promise {\r\n return request(`api/order/export/room-form/by-unit/columns`, {\r\n method: 'GET',\r\n json: true,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getInvoiceExportColumns(): Promise {\r\n return request(`api/order/export/invoice/columns`, {\r\n method: 'GET',\r\n json: true,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getOrderSimpleExportUrl(filter: OrderSearchOptions, options: SimpleOrderExportOptions) {\r\n return generateApiUrl(`/api/order/export/simple`, { ...filter, columns: options?.columns?.join(',') });\r\n}\r\n\r\nexport function getOrderRoomFormExportUrl(filter: OrderSearchOptions, options: RoomFormExportOptions) {\r\n return generateApiUrl(`/api/order/export/room-form`, { ...filter, columns: options?.columns?.join(',') });\r\n}\r\n\r\nexport function getOrderRoomFormByUnitExportUrl(filter: OrderSearchOptions, options: RoomFormByUnitExportOptions) {\r\n return generateApiUrl(`/api/order/export/room-form/by-unit`, { ...filter, ...options });\r\n}\r\n\r\nexport function getInvoiceExportUrl(filter: OrderSearchOptions, options: InvoiceExportOptions | null) {\r\n return generateApiUrl(`/api/order/export/invoice`, { ...filter, columns: options?.columns?.join(',') });\r\n}\r\n\r\nexport function getCostsBreakdownExportUrl(filter: OrderSearchOptions, options: InvoiceExportOptions | null) {\r\n return generateApiUrl(`/api/order/export/costs`, { ...filter, columns: options?.columns?.join(',') });\r\n}\r\n\r\nexport function getUniziteOrderExport(options: OrderSearchOptions) {\r\n return generateApiUrl(`/api/order/export/unizite`, options);\r\n}\r\n","import React, { useState, useEffect } from 'react';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { OrderSearchOptions, searchOrderGroups, getSingleUnitOrderRoomFormExportUrl } from 'services/orders';\r\nimport { useDefaultScrollToId, useMergeState, useEffectSkipFirst } from 'utils/hooks';\r\nimport { OrderGroup, OrderStatus } from 'types';\r\nimport { ToggleButtons, Button, ButtonBar } from 'components/Buttons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ExternalLinkButton } from 'components/Buttons';\r\nimport { faDownload } from '@fortawesome/pro-light-svg-icons';\r\nimport OrderGroupList from 'seller/components/orders/OrderGroupList';\r\nimport OrderExportSelectSketchDialog from 'seller/components/orders/OrderExportSelectSketchDialog';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { getInvoiceExportUrl } from 'services/order-export';\r\nimport { SlideToggle } from '@ygtechnologies/rubus-ui';\r\n\r\ntype ResidentialUnitOrdersProps = {\r\n projectId: number;\r\n residentialUnitId: number;\r\n};\r\n\r\nconst ResidentialUnitOrders: React.FC = ({ projectId, residentialUnitId }) => {\r\n const [orders, setOrders] = useState(null);\r\n const [visibleOrders, setVisibleOrders] = useState(null);\r\n const defaultExpandedId = useDefaultScrollToId();\r\n const [toggleState, setToggleState] = useState<'all' | 'options' | 'change-requests'>('all');\r\n const [showRoomFormExportDialog, setShowRoomFormExportDialog] = useState(false);\r\n const project = useSelector((state: IState) => state.global.activeProject!);\r\n const [showCancelled, setShowCancelled] = useState(false);\r\n\r\n const [filters, mergeFilters] = useMergeState({\r\n residentialUnitIds: [residentialUnitId],\r\n // status: [OrderStatus.ReadyToStart],\r\n });\r\n\r\n useEffectSkipFirst(() => {\r\n mergeFilters({ residentialUnitIds: [residentialUnitId] });\r\n }, [residentialUnitId, mergeFilters]);\r\n\r\n useEffect(() => {\r\n async function loadData() {\r\n setOrders(null);\r\n setOrders(\r\n await searchOrderGroups({ ...filters, status: showCancelled ? undefined : [OrderStatus.ReadyToStart] })\r\n );\r\n }\r\n\r\n loadData();\r\n }, [filters, showCancelled]);\r\n\r\n useEffect(() => {\r\n if (defaultExpandedId && orders !== null) {\r\n var order = orders.find((x) => x.orders.find((y) => y.id === defaultExpandedId));\r\n if (order && order.deadlineName) {\r\n setToggleState('options');\r\n } else if (order && order.changeRequestName) {\r\n setToggleState('change-requests');\r\n }\r\n }\r\n }, [orders, defaultExpandedId]);\r\n\r\n useEffect(() => {\r\n function getCurrentOrders() {\r\n switch (toggleState) {\r\n case 'options':\r\n return orders?.filter((x) => x.deadlineName);\r\n case 'change-requests':\r\n return orders?.filter((x) => x.changeRequestName);\r\n default:\r\n return orders;\r\n }\r\n }\r\n\r\n var newVisibleOrders = getCurrentOrders();\r\n setVisibleOrders(newVisibleOrders || null);\r\n }, [toggleState, orders]);\r\n const showInvoiceExport = project.permissions.canViewSensitiveData;\r\n\r\n return (\r\n \r\n \r\n \r\n setToggleState('all')}>\r\n All\r\n \r\n setToggleState('options')}>\r\n Option orders\r\n \r\n setToggleState('change-requests')}>\r\n Change request orders\r\n \r\n \r\n\r\n {/* \r\n Export room form\r\n */}\r\n\r\n \r\n setShowCancelled(!showCancelled)} checked={showCancelled}>\r\n Show cancelled orders\r\n \r\n {showInvoiceExport && (\r\n \r\n Invoice export\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n\r\n {visibleOrders ? (\r\n {\r\n orders?.forEach((x) => (x.orders = changes.updateArray(x.orders)));\r\n orders && setOrders([...orders]);\r\n }}\r\n defaultExpandedId={defaultExpandedId}\r\n orders={visibleOrders}\r\n />\r\n ) : (\r\n \r\n )}\r\n\r\n setShowRoomFormExportDialog(false)}\r\n onAccept={(includeSketch, documentVersionId) => {\r\n setShowRoomFormExportDialog(false);\r\n window.open(getSingleUnitOrderRoomFormExportUrl(residentialUnitId, includeSketch, documentVersionId));\r\n }}\r\n residentialUnitId={residentialUnitId}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ResidentialUnitOrders;\r\n","import React from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Button } from 'components/Buttons';\r\nimport { ResidentialUnit, ResidentialUnitDeadline } from 'types';\r\nimport { DateDisplay } from 'components/localization';\r\nimport Banner from 'components/Banner';\r\n\r\ninterface RevertToDefaultDialogProps {\r\n isOpen: boolean;\r\n toggle: () => void;\r\n onAccept: () => void;\r\n deadline: ResidentialUnitDeadline;\r\n residentialUnit: ResidentialUnit;\r\n}\r\n\r\nconst RevertToDefaultDialog: React.FC = ({\r\n isOpen,\r\n toggle,\r\n onAccept,\r\n deadline,\r\n residentialUnit,\r\n}) => {\r\n return (\r\n \r\n \r\n \r\n Revert choices for \"{deadline.name} - \" for unit{' '}\r\n {residentialUnit.name}\r\n \r\n \r\n\r\n \r\n \r\n \r\n Are you sure you want to revert all choices to default for deadline \"{deadline.name} -\r\n \r\n \"?\r\n \r\n \r\n \r\n \r\n Please note that once you have reversed these choices to default, you will not be able to undo this\r\n change.\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 RevertToDefaultDialog;\r\n","import React from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport { DateDisplay } from 'components/localization';\r\nimport { Button } from 'components/Buttons';\r\nimport { ResidentialUnit, ResidentialUnitDeadline } from 'types';\r\nimport { faHandPointer } from '@fortawesome/pro-light-svg-icons';\r\nimport Banner from 'components/Banner';\r\n\r\ninterface MakeChoicesDialogProps {\r\n isOpen: boolean;\r\n toggle: () => void;\r\n onAccept: () => void;\r\n deadline: ResidentialUnitDeadline;\r\n residentialUnit: ResidentialUnit;\r\n}\r\n\r\nconst MakeChoicesDialog: React.FC = ({ isOpen, toggle, onAccept, deadline, residentialUnit }) => {\r\n return (\r\n \r\n \r\n \r\n Make choices for \"{deadline.name} - \" options for unit{' '}\r\n {residentialUnit.name}\r\n \r\n \r\n\r\n \r\n \r\n \r\n To make choices for unit {residentialUnit.name} you will need to change the selected options using\r\n the radio buttons.\r\n
    \r\n Once you are finished, remember to save your changes.\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 MakeChoicesDialog;\r\n","import React from 'react';\r\nimport theme from './BuyerOptionGroupRow.module.scss';\r\nimport { BuyerOptionGroup } from 'types';\r\nimport { SimpleCard, CardThumbnail, CardHeader } from 'components/Cards';\r\nimport ItemCategoryDisplay from 'components/item-categories/ItemCategoryDisplay';\r\nimport { Trans } from '@lingui/macro';\r\nimport Tags from 'components/Tags';\r\nimport { CalculatedProductPriceDisplay } from 'seller/components/products/ProductDisplay';\r\nimport { getProjectCatalogProductFileThumbnailUrl } from 'services/project-catalog';\r\n\r\ninterface Props {\r\n optionGroup: BuyerOptionGroup;\r\n}\r\n\r\nconst BuyerOptionGroupRow: React.FC = ({ optionGroup }) => {\r\n const selectedOption = optionGroup.selectedOption;\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n \r\n {optionGroup.name}\r\n \r\n \r\n Selected option: {selectedOption.name} \r\n \r\n \r\n {optionGroup.tags && optionGroup.tags.length > 0 && }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default BuyerOptionGroupRow;\r\n","import { request } from 'utils/ajax';\r\nimport { ResidentialUnitGroup } from 'types';\r\n\r\ninterface ResidentialUnitGroupUpdateRequest {\r\n id?: number;\r\n name: string;\r\n projectId: number;\r\n constructionPhaseId: number | null;\r\n}\r\n\r\nexport function getResidentialUnitGroup(residentialUnitGroupId: number): Promise {\r\n return request(`api/residential-unit-group/${residentialUnitGroupId}`).then((x) => x.json());\r\n}\r\n\r\nexport function getResidentialUnitGroupsByProjectId(projectId: number): Promise {\r\n return request(`api/project/${projectId}/residential-unit-groups`).then((x) => x.json());\r\n}\r\n\r\nfunction createResidentialUnitGroup(residentialUnitGroup: ResidentialUnitGroupUpdateRequest): Promise {\r\n return request(`api/residential-unit-group`, {\r\n method: 'POST',\r\n json: true,\r\n body: residentialUnitGroup,\r\n }).then((x) => x.json());\r\n}\r\n\r\nfunction updateResidentialUnitGroup(\r\n residentialUnitGroupId: number,\r\n residentialUnitGroup: ResidentialUnitGroupUpdateRequest\r\n): Promise {\r\n return request(`api/residential-unit-group/${residentialUnitGroupId}`, {\r\n method: 'PUT',\r\n json: true,\r\n body: residentialUnitGroup,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function createOrUpdateResidentialUnitGroup(\r\n residentialUnitGroup: ResidentialUnitGroupUpdateRequest\r\n): Promise {\r\n return residentialUnitGroup.id\r\n ? updateResidentialUnitGroup(residentialUnitGroup.id, residentialUnitGroup)\r\n : createResidentialUnitGroup(residentialUnitGroup);\r\n}\r\n\r\nexport function deleteGroup(residentialUnitGroupId: number) {\r\n return request(`api/residential-unit-group/${residentialUnitGroupId}`, {\r\n method: 'DELETE',\r\n });\r\n}","import React from 'react';\r\nimport theme from './ResidentialUnitSubmitOptionsModal.module.scss';\r\nimport { ResidentialUnit, BuyerOptionGroup, ResidentialUnitDeadline } from 'types';\r\nimport { Trans } from '@lingui/macro';\r\nimport { DateDisplay } from 'components/localization';\r\nimport { ProjectCurrencyDisplay } from 'seller/components/currency';\r\nimport BuyerOptionGroupRow from './BuyerOptionGroupRow';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { ModalBody } from 'components/Modal';\r\nimport { getResidentialUnitGroup } from 'services/residential-unit-groups';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport Banner from 'components/Banner';\r\n\r\ninterface ResidentialUnitSubmitOptionsOverviewProps {\r\n deadline: ResidentialUnitDeadline;\r\n residentialUnit: ResidentialUnit;\r\n optionGroups: BuyerOptionGroup[] | null;\r\n}\r\n\r\nconst ResidentialUnitSubmitOptionsOverview: React.FC = ({\r\n deadline,\r\n residentialUnit,\r\n optionGroups,\r\n}) => {\r\n const total = optionGroups?.reduce((acc, curr) => acc + curr.selectedOption.priceCalculation.finalPrice, 0) ?? null;\r\n const [group] = useAsyncState(\r\n () =>\r\n residentialUnit.residentialUnitGroupId\r\n ? getResidentialUnitGroup(residentialUnit.residentialUnitGroupId)\r\n : Promise.resolve(null),\r\n [],\r\n null\r\n );\r\n return (\r\n \r\n \r\n \r\n Please confirm the options below as the choices for {group && `${group.name} - `} unit{' '}\r\n {residentialUnit.name} for the deadline {deadline.name} - . This\r\n operation will create orders.\r\n \r\n \r\n\r\n {optionGroups?.map((og) => ) ?? }\r\n {total !== null && (\r\n
    \r\n \r\n Total\r\n \r\n \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default ResidentialUnitSubmitOptionsOverview;\r\n","import React from 'react';\r\nimport theme from './ResidentialUnitSubmitOptionsModal.module.scss';\r\nimport { ModalBody } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ResidentialUnitDeadline } from 'types';\r\nimport { Button } from 'components/Buttons';\r\nimport Banner from 'components/Banner';\r\n\r\ninterface ResidentialUnitSubmitOptionsVerifyProps {\r\n deadline: ResidentialUnitDeadline;\r\n code: string;\r\n onCodeChange: (c: string) => void;\r\n onResendClick: () => void;\r\n codeIsWrong: boolean;\r\n}\r\n\r\nconst ResidentialUnitSubmitOptionsVerify: React.FC = ({\r\n deadline,\r\n code,\r\n onCodeChange,\r\n onResendClick,\r\n codeIsWrong,\r\n}) => {\r\n return (\r\n \r\n \r\n We have sent you an SMS\r\n \r\n

    \r\n \r\n Please enter the five-digit code that we have sent to your phone. After signing this order, it will\r\n not be possible to make changes to the choices on the submitted items in the deadline {deadline.name}.\r\n \r\n

    \r\n {codeIsWrong && (\r\n \r\n The one time code you entered is not correct.\r\n \r\n )}\r\n {\r\n const { value, maxLength } = e.target;\r\n const message = value.slice(0, maxLength);\r\n onCodeChange(message);\r\n }}\r\n type=\"number\"\r\n maxLength={5}\r\n className={theme.codeInput}\r\n />\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default ResidentialUnitSubmitOptionsVerify;\r\n","import React, { useState } from 'react';\r\nimport theme from './ResidentialUnitSubmitOptionsModal.module.scss';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ResidentialUnit, BuyerOptionGroup, ResidentialUnitDeadline } from 'types';\r\nimport { requestSellerOptionSignature, signSellerOption } from 'services/buyer-options';\r\nimport { Button } from 'components/Buttons';\r\nimport ResidentialUnitSubmitOptionsOverview from './ResidentialUnitSubmitOptionsOverview';\r\nimport ResidentialUnitSubmitOptionsVerify from './ResidentialUnitSubmitOptionsVerify';\r\nimport { requestOneTimeCode } from 'services/signatures';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\n\r\nenum Step {\r\n Overview,\r\n VerifyIdentity,\r\n Submitted,\r\n}\r\n\r\ninterface ResidentialUnitSubmitOptionsModalProps {\r\n isOpen: boolean;\r\n toggle: () => void;\r\n deadline: ResidentialUnitDeadline;\r\n residentialUnit: ResidentialUnit;\r\n onSuccess: () => void;\r\n}\r\n\r\nconst ResidentialUnitSubmitOptionsModal: React.FC = ({\r\n isOpen,\r\n toggle,\r\n deadline,\r\n residentialUnit,\r\n onSuccess,\r\n}) => {\r\n const [optionGroups, setOptionGroups] = useState(null);\r\n const [step, setStep] = useState(Step.Overview);\r\n const [code, setCode] = useState('');\r\n const [clientKey, setClientKey] = useState(null);\r\n const [codeIsWrong, setCodeIsWrong] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const profileId = useSelector((state: IState) => state.global.activeProfile!.id);\r\n\r\n const handleOpen = async () => {\r\n const signatureInfo = await requestSellerOptionSignature(residentialUnit.id, deadline.id, profileId);\r\n setClientKey(signatureInfo.clientKey);\r\n setOptionGroups(signatureInfo.optionGroups);\r\n };\r\n const sendOneTimeCode = async () => {\r\n await requestOneTimeCode(clientKey!);\r\n };\r\n\r\n const onNextClick = async () => {\r\n if (!clientKey) return;\r\n\r\n if (step === Step.Overview) {\r\n setStep(Step.VerifyIdentity);\r\n await sendOneTimeCode();\r\n } else if (step === Step.VerifyIdentity) {\r\n try {\r\n setIsLoading(true);\r\n await signSellerOption(residentialUnit.id, clientKey, code, profileId);\r\n onSuccess();\r\n setStep(Step.Submitted);\r\n } catch (e: any) {\r\n if (e.status === 400) {\r\n setCodeIsWrong(true);\r\n }\r\n } finally {\r\n setIsLoading(false);\r\n }\r\n } else if (step === Step.Submitted) {\r\n toggle();\r\n }\r\n };\r\n return (\r\n \r\n \r\n {step === 0 && (\r\n \r\n Submit options for \"{deadline.name}\" for unit {residentialUnit.name}\r\n \r\n )}\r\n {step === Step.VerifyIdentity && Verify identity}\r\n {step === Step.Submitted && Orders submitted}\r\n \r\n\r\n {step === Step.Overview && (\r\n \r\n )}\r\n {step === Step.VerifyIdentity && (\r\n setCode(c)}\r\n deadline={deadline}\r\n />\r\n )}\r\n {step === Step.Submitted && (\r\n \r\n \r\n The orders has been created\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n
    \r\n {step === Step.VerifyIdentity && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ResidentialUnitSubmitOptionsModal;\r\n","import React, { useEffect, useRef, useCallback, useState } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { default as ReactDatePicker } from 'react-datepicker';\r\nimport { useRequestLanguage } from 'utils/hooks';\r\n\r\nexport interface DatePickerProps {\r\n onChange(date: Date | null, event: React.SyntheticEvent | undefined): void;\r\n value?: Date | null;\r\n className?: string;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n}\r\n\r\nconst DatePicker: React.FC = ({ onChange, value, className, placeholder, disabled }) => {\r\n const portalRef = useRef(document.createElement('div'));\r\n const [locale, setLocale] = useState(null);\r\n useRequestLanguage(useCallback((name, obj) => setLocale(obj), []));\r\n\r\n useEffect(() => {\r\n const portal = portalRef.current;\r\n\r\n document.body.appendChild(portal);\r\n\r\n return function cleanup() {\r\n portal.remove();\r\n };\r\n }, []);\r\n\r\n const popperContainer = ({ children }) => ReactDOM.createPortal(children, portalRef.current);\r\n return (\r\n {\r\n // Hack to fix timezone issues\r\n if (date) {\r\n date.setHours(12);\r\n }\r\n onChange(date, e);\r\n }}\r\n selected={value}\r\n className={className}\r\n disabled={disabled}\r\n popperModifiers={[\r\n {\r\n name: 'computeStyles',\r\n options: {\r\n gpuAcceleration: false,\r\n },\r\n },\r\n ]}\r\n />\r\n );\r\n};\r\n\r\nexport default DatePicker;\r\n","import { faHistory, faInfoCircle } from '@fortawesome/pro-light-svg-icons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Checkbox, YesNoDialog } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport Banner from 'components/Banner';\r\nimport { Button } from 'components/Buttons';\r\nimport DatePicker from 'components/DatePicker';\r\nimport { Modal, ModalBody, ModalFooter, ModalHeader } from 'components/Modal';\r\nimport { ProjectRelativeLink } from 'components/navigation';\r\nimport { orderBy } from 'lodash-es';\r\nimport React, { useState } from 'react';\r\nimport { revertUnitDeadlines } from 'services/projects';\r\nimport {\r\n getDeadlineForResidentialUnitAndDeadline,\r\n getDeadlinesForResidentialUnit,\r\n saveResidentialUnitDeadlines\r\n} from 'services/residential-units';\r\nimport { ResidentialUnitDeadline } from 'types';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { classnames } from 'utils/html';\r\nimport theme from './DeadlineEditDialog.module.scss';\r\n\r\ninterface DeadlineEditDialogProps {\r\n onClose(): void;\r\n onAccept?(): void;\r\n show: boolean;\r\n residentialUnitId: number;\r\n deadlineId?: number;\r\n}\r\n\r\nconst DeadlineEditDialog: React.FC = ({\r\n show,\r\n onClose,\r\n onAccept,\r\n residentialUnitId,\r\n deadlineId,\r\n}) => {\r\n const [saving, setSaving] = useState(false);\r\n const [deadlines, setDeadlines] = useState([]);\r\n const [showRevertDialog, setShowRevertDialog] = useState(false);\r\n\r\n const handleRevertOpen = () => {\r\n setShowRevertDialog(true);\r\n };\r\n\r\n const handleRevertClose = () => {\r\n setShowRevertDialog(false);\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n const handleRevertAll = async () => {\r\n setSaving(true);\r\n deadlines\r\n .filter((x) => x.isEdited)\r\n .forEach((x) => {\r\n if (x.residentialUnitDeadlineId !== null) {\r\n revertUnitDeadlines(x.residentialUnitId, x.id);\r\n }\r\n });\r\n setSaving(false);\r\n iconToast.success(Reverted successfully);\r\n triggerHandler(onAccept);\r\n };\r\n\r\n const handleAccept = async (e) => {\r\n setSaving(true);\r\n deadlines\r\n .filter((x) => x.isEdited === false)\r\n .forEach((x) => {\r\n if (x.residentialUnitDeadlineId !== null) {\r\n revertUnitDeadlines(x.residentialUnitId, x.id);\r\n }\r\n });\r\n await saveResidentialUnitDeadlines(\r\n residentialUnitId,\r\n deadlines.filter((x) => x.isEdited)\r\n );\r\n setSaving(false);\r\n iconToast.success(Updated successfully);\r\n triggerHandler(onAccept);\r\n };\r\n\r\n const changeDate = (date, deadline) => {\r\n setDeadlines(\r\n deadlines.map((dl) => {\r\n if (dl.id === deadline.id) return { ...dl, deadline: date };\r\n else return dl;\r\n })\r\n );\r\n };\r\n\r\n const handleOverride = (deadline, checked) => {\r\n setDeadlines(\r\n deadlines.map((dl) => {\r\n if (dl.id === deadline.id) return { ...dl, isEdited: checked };\r\n else return dl;\r\n })\r\n );\r\n };\r\n\r\n const handleOpen = async () => {\r\n setSaving(false);\r\n\r\n if (deadlineId) {\r\n setDeadlines([await getDeadlineForResidentialUnitAndDeadline(residentialUnitId, deadlineId)]);\r\n } else {\r\n setDeadlines(await getDeadlinesForResidentialUnit(residentialUnitId));\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n Edit deadlines\r\n \r\n \r\n \r\n \r\n Edit deadlines enables you to change the date of an individual deadline already\r\n assigned to a unit, to ensure the date is updated remember to click on ‘Save changes’ before you\r\n close this modal.\r\n \r\n \r\n
    \r\n
    Current deadlines
    \r\n {deadlines.length === 0 && (\r\n \r\n \r\n Please note you have no project deadlines, to add a deadline go to\r\n project settings.\r\n \r\n \r\n )}\r\n {orderBy(deadlines, 'name').map((dl) => (\r\n
    \r\n
    {dl.name}
    \r\n
    \r\n handleOverride(dl, e.target.checked)}>\r\n Override\r\n \r\n
    \r\n
    \r\n changeDate(date, dl)}\r\n value={new Date(dl.deadline)}\r\n className={classnames('form-control')}\r\n disabled={!dl.isEdited}\r\n />\r\n
    \r\n
    \r\n ))}\r\n
    \r\n Revert all deadlines}\r\n body={Are you sure you want to revert to default deadlines?}\r\n show={showRevertDialog}\r\n onAccept={() => handleRevertAll()}\r\n onClose={handleRevertClose}\r\n confirmButtonColor={'primary'}\r\n cancelButtonColor={'warning'}\r\n confirmButtonText={Revert}\r\n cancelButtonText={Cancel}\r\n />\r\n
    \r\n \r\n {\r\n handleRevertOpen();\r\n }}\r\n disabled={saving}\r\n icon={faHistory}>\r\n Revert all\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default DeadlineEditDialog;\r\n","import { Dependency, DependencyItem } from 'services/dependencies';\r\n\r\nexport function legalDependency(o1: number, o2: number, dependencies: DependencyItem[]) {\r\n let not = dependencies.some((n) => (n.from === o1 && n.to === o2) || (n.from === o2 && n.to === o1));\r\n\r\n if (not) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n\r\n // const from_o1 = dependencies.filter((x) => !x.isNegates).filter((d) => d.from === o1);\r\n // const from_o2 = dependencies.filter((x) => !x.isNegates).filter((d) => d.from === o2);\r\n\r\n // if (from_o1.length === 0 && from_o2.length === 0) {\r\n // return true;\r\n // }\r\n\r\n // if (from_o1.some((d) => d.to === o2)) {\r\n // return true;\r\n // }\r\n\r\n // if (from_o2.some((d) => d.to === o1)) {\r\n // return true;\r\n // }\r\n\r\n // return false;\r\n}\r\ninterface Selection {\r\n linkGroupId: number;\r\n selectedLinkGroupItemId: number;\r\n}\r\n\r\nexport interface DependencyError {\r\n fromItemId: number;\r\n toItemId: number;\r\n dependency: Dependency;\r\n}\r\n\r\nexport function checkIfLegalDep(listOfSelections: Selection[], dependencies: Dependency[]) {\r\n let errors: DependencyError[] = [];\r\n dependencies.forEach((d) => {\r\n let from = listOfSelections.find((x) => x.linkGroupId === d.fromLinkGroupId);\r\n let to = listOfSelections.find((x) => x.linkGroupId === d.toLinkGroupId);\r\n\r\n if (from && to) {\r\n let legal = legalDependency(from.selectedLinkGroupItemId, to.selectedLinkGroupItemId, d.dependencyItems);\r\n if (!legal) {\r\n errors.push({\r\n fromItemId: from.selectedLinkGroupItemId,\r\n toItemId: to.selectedLinkGroupItemId,\r\n dependency: d,\r\n });\r\n }\r\n }\r\n });\r\n return errors;\r\n}\r\n\r\n","import React, { Fragment, useEffect, useMemo } from 'react';\r\nimport theme from './ResidentialUnitBuyerOptionsDeadline.module.scss';\r\nimport { BuyerOptionGroup, ChangedItem, ResidentialUnit, BuyerOptionGroupStatus, ResidentialUnitDeadline } from 'types';\r\nimport { useState } from 'react';\r\nimport { IndicatorColor } from 'components/Indicator';\r\nimport { ExpandableCard, CardSection, ExpandableCardHandle, CardDropdownMenu } from 'components/Cards';\r\nimport BuyerOptionGroupList from 'seller/components/buyer-options/BuyerOptionGroupList';\r\nimport { DateDisplay } from 'components/localization';\r\nimport { Trans } from '@lingui/macro';\r\nimport { DropdownButtonItem } from 'components/Dropdown';\r\nimport { faHandPointer, faHistory, faFileInvoice, faCalendarDay } from '@fortawesome/pro-light-svg-icons';\r\nimport { uniqBy } from 'lodash-es';\r\nimport Tags from 'components/Tags';\r\nimport { Button } from 'components/Buttons';\r\nimport { setSelectedBuyerOptionId } from 'services/buyer-options';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport RevertToDefaultDialog from './RevertToDefaultDialog';\r\nimport MakeChoicesDialog from './MakeChoicesDialog';\r\nimport ResidentialUnitSubmitOptionsModal from '../ResidentialUnitSubmitOptionsModal';\r\nimport { ProjectPermissionToggle } from 'components/permissions';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\r\nimport { isDeadlineInPast } from 'utils/date';\r\nimport DeadlineEditDialog from 'seller/components/deadline';\r\nimport { ValidationScope } from 'components/forms/validation';\r\nimport { useAsyncState, useValidationManager } from 'utils/hooks';\r\nimport { HttpStatusCode } from 'HttpStatusCodes';\r\nimport { Dependency, getDependency, searchDependencies } from 'services/dependencies';\r\nimport { checkIfLegalDep, DependencyError } from 'seller/components/buyer-options/Dependencies/Dependencies.util';\r\nimport { IconIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface ResidentialUnitBuyerOptionsProps {\r\n deadline: ResidentialUnitDeadline;\r\n optionGroups: BuyerOptionGroup[];\r\n defaultExpandedId: number | undefined;\r\n onChange: (changes: ChangedItem[]) => void;\r\n resetOptionGroups: () => void;\r\n residentialUnit: ResidentialUnit;\r\n dependencies: Dependency[];\r\n}\r\n\r\nconst ResidentialUnitBuyerOptionsDeadline: React.FC = ({\r\n deadline,\r\n optionGroups,\r\n defaultExpandedId,\r\n onChange,\r\n resetOptionGroups,\r\n residentialUnit,\r\n dependencies,\r\n}) => {\r\n const [isExpanded, setIsExpanded] = useState(true);\r\n const [canMakeChoices, setCanMakeChoices] = useState(false);\r\n const [isSaveModalOpen, setIsSaveModalOpen] = useState(false);\r\n const [revertDialogIsOpen, setRevertDialogIsOpen] = useState(false);\r\n const [makeChoicesDialogIsOpen, setMakeChoicesDialogIsOpen] = useState(false);\r\n const [showEditDeadlines, setShowEditDeadlines] = useState(false);\r\n const [dependencyErrors, setDependencyErrors] = useState([]);\r\n\r\n useEffect(() => {\r\n const errors = checkIfLegalDep(\r\n optionGroups.map((x) => ({\r\n linkGroupId: x.linkGroupId!,\r\n selectedLinkGroupItemId: x.selectedLinkGroupItemId!,\r\n })),\r\n dependencies || []\r\n );\r\n setDependencyErrors(errors);\r\n }, [dependencies, optionGroups]);\r\n\r\n const validationManager = useValidationManager();\r\n const tags = useMemo(\r\n () =>\r\n uniqBy(\r\n optionGroups.flatMap((og) => og.tags),\r\n 'id'\r\n ),\r\n [optionGroups]\r\n );\r\n const hasUnsentOptions = optionGroups.some(\r\n (og) => og.status === BuyerOptionGroupStatus.Approved && !og.isNotApplicable && !og.isSent\r\n );\r\n\r\n const renderSendStatusSection = () => {\r\n let color: IndicatorColor = 'success';\r\n const approvedOptions = optionGroups.filter(\r\n (og) => !og.isNotApplicable && og.status === BuyerOptionGroupStatus.Approved\r\n );\r\n const numberOfOptionsSent = approvedOptions.filter((og) => og.isSent).length;\r\n let label = (\r\n \r\n {numberOfOptionsSent}/{approvedOptions.length} choices sent\r\n \r\n );\r\n if (optionGroups.length === 0) {\r\n return null;\r\n // label = No options added;\r\n // color = 'danger';\r\n }\r\n if (numberOfOptionsSent !== approvedOptions.length) {\r\n if (isDeadlineInPast(deadline.deadline)) {\r\n color = 'danger';\r\n } else {\r\n color = 'warning';\r\n }\r\n }\r\n return (\r\n Send status}>\r\n {label}\r\n \r\n );\r\n };\r\n const renderInternalStatusSection = () => {\r\n let color: IndicatorColor = 'success';\r\n let icon: IconProp | undefined = undefined;\r\n const nonRejectedOptions = optionGroups.filter((og) => og.status !== BuyerOptionGroupStatus.Rejected);\r\n\r\n const numberOfOptionsSent = nonRejectedOptions.filter((og) => og.status === BuyerOptionGroupStatus.Approved).length;\r\n let label = (\r\n \r\n {numberOfOptionsSent}/{nonRejectedOptions.length} options published\r\n \r\n );\r\n if (nonRejectedOptions.length === 0) {\r\n label = No options added;\r\n color = 'danger';\r\n icon = faTimes;\r\n }\r\n if (numberOfOptionsSent !== nonRejectedOptions.length) {\r\n color = 'warning';\r\n }\r\n return (\r\n Internal status}>\r\n \r\n {label}\r\n \r\n \r\n );\r\n };\r\n const onCancel = () => {\r\n resetOptionGroups();\r\n setCanMakeChoices(false);\r\n };\r\n const onSave = async () => {\r\n const errors = validationManager.validate();\r\n if (errors.length > 0) {\r\n iconToast.error(\r\n <>\r\n {errors.map((x, i) => (\r\n {x.summaryMessage}\r\n ))}\r\n \r\n );\r\n return;\r\n }\r\n try {\r\n await setSelectedBuyerOptionId(\r\n optionGroups.map((og) => ({\r\n buyerOptionGroupId: og.id,\r\n selectedLinkGroupItemId: og.selectedLinkGroupItemId,\r\n customFieldData: og.customFieldData,\r\n }))\r\n );\r\n iconToast.success(Saved selected options.);\r\n setCanMakeChoices(false);\r\n } catch (e: any) {\r\n if (e.status === HttpStatusCode.Conflict) {\r\n iconToast.error(Dependency error);\r\n }\r\n }\r\n };\r\n\r\n const revertToDefault = async () => {\r\n setRevertDialogIsOpen(false);\r\n onChange(\r\n optionGroups.filter((og) => !og.isSent).map((og) => ChangedItem.fromMerge(og, { selectedLinkGroupItemId: null }))\r\n );\r\n await setSelectedBuyerOptionId(\r\n optionGroups.map((og) => ({ buyerOptionGroupId: og.id, selectedLinkGroupItemId: null }))\r\n );\r\n iconToast.success(Reverted to default.);\r\n };\r\n\r\n const onSendSuccess = () => {\r\n onChange(optionGroups.map((og) => ChangedItem.fromMerge(og, { isSent: true })));\r\n };\r\n return (\r\n <>\r\n
    \r\n \r\n {canMakeChoices && (\r\n
    \r\n \r\n \r\n
    \r\n )}\r\n \r\n \r\n }>\r\n Deadline}>\r\n {deadline.name} - \r\n \r\n Tags}>\r\n \r\n \r\n {renderInternalStatusSection()}\r\n {renderSendStatusSection()}\r\n setIsExpanded(!isExpanded)}\r\n expanded={isExpanded}>\r\n \r\n \r\n {\r\n setMakeChoicesDialogIsOpen(true);\r\n }}\r\n icon={faHandPointer}>\r\n Make choices\r\n \r\n {\r\n setIsSaveModalOpen(true);\r\n }}\r\n icon={faFileInvoice}>\r\n Submit options\r\n \r\n {\r\n setRevertDialogIsOpen(true);\r\n }}\r\n icon={faHistory}>\r\n Revert to default\r\n \r\n {\r\n setShowEditDeadlines(true);\r\n }}\r\n icon={faCalendarDay}>\r\n Edit deadline\r\n \r\n \r\n \r\n \r\n \r\n setIsSaveModalOpen(!isSaveModalOpen)}\r\n isOpen={isSaveModalOpen}\r\n onSuccess={onSendSuccess}\r\n />\r\n revertToDefault()}\r\n isOpen={revertDialogIsOpen}\r\n toggle={() => setRevertDialogIsOpen(!revertDialogIsOpen)}\r\n residentialUnit={residentialUnit}\r\n />\r\n {\r\n setCanMakeChoices(true);\r\n setMakeChoicesDialogIsOpen(false);\r\n }}\r\n isOpen={makeChoicesDialogIsOpen}\r\n toggle={() => setMakeChoicesDialogIsOpen(!makeChoicesDialogIsOpen)}\r\n residentialUnit={residentialUnit}\r\n />\r\n {\r\n setShowEditDeadlines(false);\r\n }}\r\n onAccept={() => {\r\n setShowEditDeadlines(false);\r\n }}\r\n show={showEditDeadlines}\r\n />\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ResidentialUnitBuyerOptionsDeadline;","import { request } from 'utils/ajax';\r\n\r\nexport interface SearchDependenciesOptions {\r\n projectId: number;\r\n}\r\n\r\nexport function addDependency(options: AddDependency): Promise {\r\n return request(`api/dependency`, {\r\n method: 'PUT',\r\n body: options,\r\n json: true,\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function searchDependencies(options: SearchDependenciesOptions): Promise {\r\n return request(`api/dependency`, {\r\n query: options,\r\n }).then((x) => x.json());\r\n}\r\nexport function getDependency(groupId: number): Promise {\r\n return request(`api/dependency/${groupId}`).then((x) => x.json());\r\n}\r\n\r\nexport function deleteDependency(groupId: number): Promise {\r\n return request(`api/dependency/${groupId}`, {\r\n method: 'DELETE',\r\n });\r\n}\r\n\r\nexport interface Dependency {\r\n id: number;\r\n name: string;\r\n projectId: number;\r\n fromLinkGroupId: number;\r\n toLinkGroupId: number;\r\n dependencyItems: DependencyItem[];\r\n}\r\n\r\nexport interface DependencyItem {\r\n from: number;\r\n to: number;\r\n}\r\n\r\nexport interface AddDependency {\r\n id?: number | null;\r\n name: string;\r\n projectId: number;\r\n fromLinkGroupId: number;\r\n toLinkGroupId: number;\r\n dependencyItems: DependencyItem[];\r\n}","import React, { useState, useEffect } from 'react';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { searchBuyerOptionGroups } from 'services/buyer-options';\r\nimport { BuyerOptionGroup, ChangedItem, ResidentialUnit, BuyerOptionGroupStatus } from 'types';\r\nimport { arrayReplaceMany } from 'utils/arrays';\r\nimport { useDefaultScrollToId, useAsyncState } from 'utils/hooks';\r\nimport ResidentialUnitBuyerOptionsDeadline from '../ResidentialUnitBuyerOptionsDeadline';\r\nimport { getDeadlinesForResidentialUnit } from 'services/residential-units';\r\nimport { Trans } from '@lingui/macro';\r\nimport { NoResultsCard } from 'components/Cards';\r\nimport { searchDependencies } from 'services/dependencies';\r\nimport { SlideToggle } from '@ygtechnologies/rubus-ui';\r\n\r\ntype ResidentialUnitBuyerOptionsProps = {\r\n residentialUnit: ResidentialUnit;\r\n};\r\n\r\nconst ResidentialUnitBuyerOptions: React.FC = ({ residentialUnit }) => {\r\n const [deadlines] = useAsyncState(() => getDeadlinesForResidentialUnit(residentialUnit.id), [residentialUnit.id], null);\r\n const [originalOptionGroups, setOriginalOptionGroups] = useState(null);\r\n const [optionGroups, setOptionGroups] = useState(null);\r\n const defaultExpandedId = useDefaultScrollToId();\r\n const [showRejected, setShowRejected] = useState(false);\r\n\r\n const [dependencies] = useAsyncState(\r\n () =>\r\n searchDependencies({\r\n projectId: residentialUnit.projectId,\r\n }),\r\n [residentialUnit.projectId],\r\n null\r\n );\r\n useEffect(() => {\r\n const loadData = async () => {\r\n setOptionGroups(null);\r\n const optionGroups = await searchBuyerOptionGroups({\r\n residentialUnitId: residentialUnit.id,\r\n });\r\n setOptionGroups(optionGroups);\r\n setOriginalOptionGroups(optionGroups);\r\n };\r\n\r\n loadData();\r\n }, [residentialUnit.id]);\r\n\r\n const resetOptionGroups = () => {\r\n setOptionGroups(originalOptionGroups);\r\n };\r\n\r\n const handleChange = (changes: ChangedItem[]) => {\r\n if (!optionGroups) {\r\n return;\r\n }\r\n\r\n setOptionGroups(arrayReplaceMany(optionGroups, changes, (a, b) => a.id === b.id));\r\n };\r\n\r\n if (!optionGroups || !originalOptionGroups || !deadlines || !dependencies) {\r\n return ;\r\n }\r\n\r\n const filteredOptionGroups = showRejected\r\n ? optionGroups\r\n : optionGroups.filter((og) => og.status !== BuyerOptionGroupStatus.Rejected);\r\n\r\n const renderData = () => {\r\n if (filteredOptionGroups.length === 0) {\r\n return (\r\n \r\n No results\r\n \r\n );\r\n }\r\n\r\n return deadlines.map((dl) => (\r\n o.selectedBuyerOptionId) !==\r\n // optionGroups.map((o) => o.selectedBuyerOptionId)\r\n // }\r\n defaultExpandedId={defaultExpandedId}\r\n deadline={dl}\r\n optionGroups={filteredOptionGroups.filter((og) => og.projectDeadlineId === dl.id)}\r\n dependencies={dependencies}\r\n />\r\n ));\r\n };\r\n\r\n return (\r\n \r\n
    \r\n setShowRejected(!showRejected)} checked={showRejected}>\r\n Show rejected buyer options\r\n \r\n
    \r\n\r\n {renderData()}\r\n
    \r\n );\r\n};\r\n\r\nexport default ResidentialUnitBuyerOptions;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { getChangeRequestAvailableParticipants } from 'services/change-requests';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { ChangeRequestAvailableParticipant, ChangeRequestParticipantInfo } from 'types';\r\nimport theme from './ChangeRequestParticipantSelectList.module.scss';\r\nimport { UserIcon } from 'components/Icons';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { CheckList, CheckListItem } from 'components/CheckList';\r\nimport Banner from 'components/Banner';\r\nimport { Trans } from '@lingui/macro';\r\n\r\n//TODO: make this not change request specific\r\n\r\nexport interface ChangeRequestParticipantSelectListItem {\r\n userId: number;\r\n profileId: number;\r\n}\r\n\r\ninterface ChangeRequestParticipantSelectListProps {\r\n projectId: number;\r\n onChange(participants: ChangeRequestParticipantSelectListItem[]): void;\r\n value: ChangeRequestParticipantSelectListItem[];\r\n forceCurrentUser?: boolean;\r\n participantsIdsWithOffer?: number[] | null;\r\n}\r\n\r\nfunction itemCompare(x: ChangeRequestParticipantSelectListItem, y: ChangeRequestParticipantSelectListItem) {\r\n return x.userId === y.userId && x.profileId === y.profileId;\r\n}\r\n\r\nconst ChangeRequestParticipantSelectList: React.FC = ({\r\n projectId,\r\n onChange,\r\n value,\r\n forceCurrentUser = false,\r\n participantsIdsWithOffer,\r\n}) => {\r\n const [availableParticipants] = useAsyncState(() => getChangeRequestAvailableParticipants(projectId), [projectId], null);\r\n\r\n const handleParticipantAdd = useCallback(\r\n (participant: ChangeRequestAvailableParticipant) => {\r\n if (value!.some((x) => itemCompare(x, participant))) {\r\n return;\r\n }\r\n\r\n const newValue = [...value!, { userId: participant.userId, profileId: participant.profileId }];\r\n\r\n triggerHandler(onChange, newValue);\r\n },\r\n [value, onChange]\r\n );\r\n\r\n useEffect(() => {\r\n if (forceCurrentUser && availableParticipants) {\r\n const currentUser = availableParticipants.find((x) => x.isCurrentUser);\r\n\r\n if (currentUser) {\r\n handleParticipantAdd(currentUser);\r\n }\r\n }\r\n }, [handleParticipantAdd, forceCurrentUser, availableParticipants]);\r\n\r\n const handleParticipantRemove = (participant: ChangeRequestAvailableParticipant) => {\r\n // const newValue = participants!.filter((x) => x.userId !== participant.userId);\r\n const newValue = value.filter((x) => !itemCompare(x, participant));\r\n\r\n if (forceCurrentUser && participant.isCurrentUser) {\r\n return;\r\n }\r\n\r\n triggerHandler(onChange, newValue);\r\n };\r\n\r\n if (!availableParticipants) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n {availableParticipants.map((ap) => (\r\n itemCompare(x, ap))}\r\n onChange={(e) => (e.target.checked ? handleParticipantAdd(ap) : handleParticipantRemove(ap))}>\r\n
    \r\n \r\n {ap.displayName}\r\n {ap.profileName}\r\n
    \r\n {!value.some((x) => itemCompare(x, ap)) && participantsIdsWithOffer?.some((x) => x === ap.userId) && (\r\n \r\n \r\n Please note removing this participant, will mean that their offer will be\r\n removed as well.\r\n \r\n \r\n )}\r\n \r\n ))}\r\n
    \r\n );\r\n};\r\n\r\nexport default ChangeRequestParticipantSelectList;","import React, { ReactNode } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Button } from 'components/Buttons';\r\n\r\ninterface Props {\r\n title: ReactNode;\r\n body: ReactNode;\r\n show: boolean;\r\n onAccept(): void;\r\n onClose(): void;\r\n onCancel?(): void;\r\n isLoading: boolean;\r\n}\r\n\r\nconst ConfirmDeleteDialog: React.FC = ({ title, body, show, onClose, onAccept, onCancel, isLoading }) => {\r\n const handleAcceptClick = () => {\r\n triggerHandler(onAccept);\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onCancel);\r\n triggerHandler(onClose);\r\n };\r\n\r\n return (\r\n \r\n {title}\r\n {body}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ConfirmDeleteDialog;","import React from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Input } from 'components/generic-controls';\r\nimport { Button } from 'components/Buttons';\r\nexport default class PromptDialog extends React.Component {\r\n state = { newValue: \"\" }\r\n\r\n focusElementRef = React.createRef();\r\n handleOpened = () => {\r\n this.setState({\r\n newValue: this.props.value\r\n }, () => {\r\n this.focusElementRef.current.focus();\r\n this.focusElementRef.current.select();\r\n });\r\n }\r\n\r\n handleAcceptClick = () => {\r\n const { onClose, onAccept } = this.props;\r\n const { newValue } = this.state;\r\n\r\n triggerHandler(onAccept, newValue);\r\n triggerHandler(onClose);\r\n }\r\n\r\n handleCancelClick = () => {\r\n const { onClose, onCancel } = this.props;\r\n\r\n triggerHandler(onCancel);\r\n triggerHandler(onClose);\r\n }\r\n\r\n handleChange = e => {\r\n this.setState({\r\n newValue: e.target.value\r\n });\r\n }\r\n\r\n\r\n render() {\r\n const { title, show } = this.props;\r\n const { newValue } = this.state;\r\n\r\n return (\r\n \r\n {title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}","import React, { useState, useRef } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { Button } from 'components/Buttons';\r\nimport { TranslatableText } from 'types';\r\nimport { Checkbox, TextArea } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nexport interface RejectDialogProps {\r\n dialogName: string;\r\n title: TranslatableText;\r\n show: boolean;\r\n onClose(): void;\r\n onReject(reason: string): Promise | void;\r\n onSendRejectChange(v: boolean): void;\r\n sendRejectEmail?: boolean;\r\n sendRejectEmailLabel?: TranslatableText;\r\n}\r\n\r\nconst RejectDialog: React.FC = ({\r\n title,\r\n show,\r\n onClose,\r\n onReject,\r\n dialogName,\r\n onSendRejectChange,\r\n sendRejectEmail,\r\n sendRejectEmailLabel,\r\n}) => {\r\n const [reason, setReason] = useState('');\r\n const [saving, setSaving] = useState(false);\r\n\r\n const focusElementRef = useRef(null);\r\n\r\n const handleOpen = () => {\r\n setReason('');\r\n setSaving(false);\r\n\r\n if (focusElementRef.current) {\r\n focusElementRef.current.focus();\r\n }\r\n };\r\n\r\n const handleRejectClick = async () => {\r\n setSaving(true);\r\n\r\n try {\r\n await triggerHandler(onReject, reason);\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n return (\r\n \r\n {title}\r\n \r\n
    \r\n \r\n setReason(e.target.value)}\r\n autoResize\r\n minRows={4}\r\n maxRows={12}\r\n />\r\n
    \r\n {sendRejectEmail !== undefined && (\r\n onSendRejectChange(e.target.checked)}>\r\n {sendRejectEmailLabel}\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 RejectDialog;","import React, { ReactNode } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { t, Trans } from '@lingui/macro';\r\nimport { Button } from 'components/Buttons';\r\nimport { TranslatableText } from 'types';\r\n\r\ninterface ConfirmDialogProps {\r\n title: ReactNode;\r\n body: ReactNode;\r\n confirmText?: TranslatableText;\r\n show: boolean;\r\n onConfirm(): void;\r\n onClose(): void;\r\n onCancel?(): void;\r\n isLoading?: boolean;\r\n}\r\n\r\nexport const ConfirmDialog: React.FC = ({\r\n title,\r\n body,\r\n confirmText,\r\n show,\r\n onClose,\r\n onConfirm,\r\n onCancel,\r\n isLoading = false,\r\n}) => {\r\n const handleAcceptClick = () => {\r\n triggerHandler(onConfirm);\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onCancel);\r\n triggerHandler(onClose);\r\n };\r\n\r\n return (\r\n \r\n {title}\r\n {body}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from 'react';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { Trans } from '@lingui/macro';\r\nimport { getChangeRequestParticipants, setChangeRequestParticipants } from 'services/change-requests';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Button } from 'components/Buttons';\r\nimport ChangeRequestParticipantSelectList, {\r\n ChangeRequestParticipantSelectListItem,\r\n} from './ChangeRequestParticipantSelectList';\r\nimport { YesNoDialog } from 'components/dialogs';\r\nimport Banner from 'components/Banner';\r\n\r\ninterface ChangeRequestParticipantsDialogProps {\r\n projectId: number;\r\n changeRequestId: number;\r\n show: boolean;\r\n onClose(): void;\r\n onSave(participants: ChangeRequestParticipantSelectListItem[]): void;\r\n}\r\n\r\n//TODO: switch to ChangeRequestParticipantSelectList\r\nconst ChangeRequestParticipantsDialog: React.FC = ({\r\n projectId,\r\n changeRequestId,\r\n show,\r\n onClose,\r\n onSave,\r\n}) => {\r\n const [saving, setSaving] = useState(false);\r\n const [selection, setSelection] = useState(null);\r\n const [participantsWithOffer, setParticipantsWithOffer] = useState(null);\r\n const [showConfirmRemoveParticipantModal, setShowConfirmRemoveParticipantModal] = useState(false);\r\n\r\n const onOpen = async () => {\r\n setSelection(null);\r\n };\r\n\r\n const onOpened = async () => {\r\n var result = await getChangeRequestParticipants(changeRequestId);\r\n setParticipantsWithOffer(result.filter((x) => x.offerFinalPrice !== null).map((x) => x.userId));\r\n setSelection(result);\r\n };\r\n\r\n const save = async () => {\r\n const data = selection!.map((item, index) => ({ ...item, priority: index + 1 }));\r\n\r\n setSaving(true);\r\n\r\n try {\r\n await setChangeRequestParticipants(changeRequestId, data);\r\n triggerHandler(onSave, selection!);\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n const handleSaveClick = () => {\r\n const selectionUserIds = selection?.map((x) => x.userId);\r\n\r\n if (participantsWithOffer?.some((pwo) => !selectionUserIds?.some((x) => x === pwo))) {\r\n // A participant with an offer has been removed\r\n setShowConfirmRemoveParticipantModal(true);\r\n } else {\r\n save();\r\n }\r\n };\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onClose);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n Add / remove participants\r\n \r\n \r\n {selection ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n setShowConfirmRemoveParticipantModal(false)}\r\n show={showConfirmRemoveParticipantModal}\r\n onAccept={save}\r\n confirmButtonColor=\"danger\"\r\n confirmButtonText={Remove}\r\n cancelButtonText={Cancel}\r\n title={Remove participant}\r\n body={\r\n <>\r\n Are you sure you would like to remove this user?\r\n \r\n \r\n Please note removing this participant, will mean that their offer will be\r\n removed as well.\r\n \r\n \r\n \r\n }\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ChangeRequestParticipantsDialog;","import React, { useState } from 'react';\r\nimport ChangeRequestAttachmentList from '../ChangeRequestAttachmentList';\r\nimport { DateTimeDisplay } from 'components/localization';\r\nimport theme from './ChangeRequestDetails.module.scss';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { ChangeRequest } from 'types';\r\nimport {\r\n BatchedChanges,\r\n Button,\r\n DropdownButtonItem,\r\n EllipsisDropdown,\r\n Input,\r\n TextArea,\r\n} from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { faPencil } from '@fortawesome/pro-light-svg-icons';\r\nimport { editChangeRequest } from 'services/change-requests';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport { ProjectPermissionToggle } from 'components/permissions';\r\n\r\nconst ChangeRequestDetailsRequestTab: React.FC<{\r\n changeRequest: ChangeRequest;\r\n onChange(changes: BatchedChanges): void;\r\n}> = ({ changeRequest, onChange }) => {\r\n const [isEdit, setIsEdit] = useState(false);\r\n const [localChangeRequest, setLocalChangeRequest] = useState(changeRequest);\r\n const [isSaving, setIsSaving] = useState(false);\r\n\r\n const handleSave = async () => {\r\n setIsSaving(true);\r\n try {\r\n await editChangeRequest(changeRequest.id, {\r\n internalDescription: localChangeRequest.internalDescription,\r\n subject: localChangeRequest.subject,\r\n });\r\n onChange(\r\n BatchedChanges.single(changeRequest.id, {\r\n internalDescription: localChangeRequest.internalDescription,\r\n subject: localChangeRequest.subject,\r\n })\r\n );\r\n iconToast.success(t`Change request edited successfully`);\r\n\r\n setIsEdit(false);\r\n } catch (e) {\r\n iconToast.error(t`Failed to save changes`);\r\n } finally {\r\n setIsSaving(false);\r\n }\r\n };\r\n\r\n const renderField = (label: string, value: string, onChange: (e) => void) => (\r\n <>\r\n {(value || isEdit) &&
    {label}
    }\r\n \r\n {isEdit ? (\r\n \r\n ) : (\r\n value\r\n )}\r\n \r\n \r\n );\r\n\r\n return (\r\n
    \r\n \r\n \r\n setIsEdit(true)} icon={faPencil}>\r\n Edit\r\n \r\n \r\n \r\n {isEdit && (\r\n
    \r\n Subject\r\n
    \r\n )}\r\n\r\n
    \r\n {isEdit ? (\r\n {\r\n setLocalChangeRequest({ ...localChangeRequest, subject: e.target.value });\r\n }}\r\n />\r\n ) : (\r\n <>\r\n {changeRequest.subject}\r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n {changeRequest.description && (\r\n <>\r\n
    \r\n Description\r\n
    \r\n
    {changeRequest.description}
    \r\n \r\n )}\r\n {renderField(t`Internal description`, localChangeRequest.internalDescription, (e) =>\r\n setLocalChangeRequest({ ...localChangeRequest, internalDescription: e.target.value })\r\n )}\r\n {isEdit && (\r\n
    \r\n \r\n {\r\n setIsEdit(false);\r\n setLocalChangeRequest(changeRequest);\r\n }}\r\n color=\"tertiary\">\r\n Cancel\r\n \r\n
    \r\n )}\r\n {changeRequest.attachments.length > 0 && (\r\n <>\r\n
    \r\n Attachments\r\n
    \r\n \r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default ChangeRequestDetailsRequestTab;\r\n","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport theme from './ChangeRequestParticipantOfferLines.module.scss';\r\nimport { ChangeRequestParticipantLineInfo } from 'types';\r\nimport { FeeSetConnectionInfoDisplay, PriceDisplay } from 'seller/components/fees';\r\nimport { sumBy } from 'lodash-es';\r\nimport ItemCategoryDisplay from 'components/item-categories/ItemCategoryDisplay';\r\nimport Tags from 'components/Tags';\r\n\r\ninterface ChangeRequestParticipantOfferLinesProps {\r\n offerLines: ChangeRequestParticipantLineInfo[] | null;\r\n priceIsRedacted?: boolean;\r\n}\r\n\r\nconst ChangeRequestParticipantOfferLines: React.FC = ({\r\n offerLines,\r\n priceIsRedacted,\r\n}) => {\r\n if (!offerLines || offerLines.length === 0) {\r\n return null;\r\n }\r\n\r\n const renderTotalPrice = () => {\r\n return (\r\n x.priceCalculation?.basePrice ?? 0),\r\n finalPrice: sumBy(offerLines, (x) => x.priceCalculation?.finalPrice ?? 0),\r\n }}\r\n redacted={priceIsRedacted}\r\n />\r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n Price breakdown\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {offerLines.map((line) => (\r\n \r\n \r\n {line.feeSetInfo && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Description\r\n \r\n Fees\r\n \r\n Category\r\n \r\n Tags\r\n \r\n Amount\r\n
    {line.description}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n Subtotal\r\n {renderTotalPrice()}
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ChangeRequestParticipantOfferLines;\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { triggerHandler } from 'utils/events';\r\nimport theme from './ChangeRequestParticipantList.module.scss';\r\nimport { ChangeRequestParticipantInfo, ChangeRequestAttachment, ChangedItem } from 'types';\r\nimport { CardSection, ExpandableCard, ExpandableCardHandle, NoResultsCard } from 'components/Cards';\r\nimport { Button, ButtonBar } from 'components/Buttons';\r\nimport { ProfileIcon } from 'components/Icons';\r\nimport { faFileInvoiceDollar } from '@fortawesome/pro-light-svg-icons';\r\nimport { getChangeRequestParticipantFees, saveChangeRequestParticipantFees } from 'services/change-requests';\r\nimport { FeeEditDialog, PriceDisplay } from 'seller/components/fees';\r\nimport { sumBy } from 'lodash-es';\r\nimport ChangeRequestAttachmentList from '../ChangeRequestAttachmentList';\r\nimport Indicator from 'components/Indicator';\r\nimport { DateTimeDisplay } from 'components/localization';\r\nimport { ChangeRequestParticipantOfferLines } from '../ChangeRequestParticipantOfferLines';\r\nimport { ProjectPermissionToggle } from 'components/permissions';\r\nimport { SlideToggle } from '@ygtechnologies/rubus-ui';\r\n\r\ninterface ChangeRequestParticipantListItemProps {\r\n participant: ChangeRequestParticipantInfo;\r\n onGiveOfferClick?(participant: ChangeRequestParticipantInfo): void;\r\n onReadyStateChange?(participant: ChangeRequestParticipantInfo, newValue: boolean): void;\r\n onAttachmentChange?(participant: ChangeRequestParticipantInfo, changes: ChangedItem): void;\r\n onParticipantChangeClick?(participant: ChangeRequestParticipantInfo): void;\r\n readOnly: boolean;\r\n}\r\n\r\nconst ChangeRequestParticipantListItem: React.FC = ({\r\n participant,\r\n onGiveOfferClick,\r\n onReadyStateChange,\r\n onAttachmentChange,\r\n onParticipantChangeClick,\r\n readOnly,\r\n}) => {\r\n const [showFeeDialog, setShowFeeDialog] = useState(false);\r\n const [expanded, setExpanded] = useState(participant.isCurrentUser);\r\n\r\n const canChangeOffer = participant.permissions.canChangeOffer && !readOnly;\r\n\r\n const renderChangeButtons = () => {\r\n const hasOffer = participant.offerPrice != null;\r\n\r\n if (!canChangeOffer || !onGiveOfferClick) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {onParticipantChangeClick && (\r\n \r\n )}\r\n \r\n triggerHandler(onGiveOfferClick, participant)}\r\n disabled={participant.isReadyToSend}>\r\n {hasOffer ? Update quote : Give quote}\r\n \r\n \r\n );\r\n };\r\n\r\n const renderTotalPrice = () => {\r\n return (\r\n x.priceCalculation!.basePrice),\r\n finalPrice: sumBy(participant.offerLines, (x) => x.priceCalculation!.finalPrice),\r\n }}\r\n redacted={participant.priceRedacted}\r\n />\r\n );\r\n };\r\n\r\n const handleAttachmentChange = (change: ChangedItem) => {\r\n triggerHandler(onAttachmentChange, participant, change);\r\n };\r\n\r\n const renderExpandableContent = () => {\r\n const hasNoOffer = !participant.offerNote && !participant.hasLines && !participant.isReadyToSend;\r\n\r\n return (\r\n
    \r\n {renderChangeButtons()}\r\n\r\n {hasNoOffer && (\r\n \r\n {participant.isCurrentUser ? (\r\n You have not yet provided a offer for this change request\r\n ) : (\r\n {participant.displayName} has not yet provided a offer for this change request\r\n )}\r\n \r\n )}\r\n\r\n {participant.offerNote && (\r\n
    \r\n
    \r\n Offer message\r\n
    \r\n
    {participant.offerNote}
    \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n {participant.offerAttachments.length > 0 && (\r\n
    \r\n
    \r\n Attachments\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n {canChangeOffer && (\r\n
    \r\n Click to mark as ‘Ready to send’\r\n triggerHandler(onReadyStateChange, participant, e.target.checked)}\r\n />\r\n
    \r\n )}\r\n
    \r\n\r\n getChangeRequestParticipantFees(participant.id)}\r\n onAccept={(data) => saveChangeRequestParticipantFees(participant.id, data)}\r\n onClose={() => setShowFeeDialog(false)}\r\n basePrice={participant.offerPrice || 0}\r\n quantity={1}\r\n />\r\n
    \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n {/* */}\r\n \r\n {participant.displayName} {participant.profileName}\r\n \r\n
    \r\n\r\n Modified} width=\"200px\" right>\r\n {participant.lastModified ? (\r\n \r\n ) : (\r\n \r\n N/A\r\n \r\n )}\r\n \r\n\r\n Quote status} width=\"120px\" right>\r\n {participant.isReadyToSend ? (\r\n \r\n Ready to send\r\n \r\n ) : (\r\n \r\n Not ready\r\n \r\n )}\r\n \r\n\r\n Subtotal} width=\"120px\" right>\r\n {renderTotalPrice()}\r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChangeRequestParticipantListItem;\r\n","import React from 'react';\r\nimport { ChangeRequestParticipantInfo } from 'types';\r\nimport { NoResultsCard } from 'components/Cards';\r\nimport { ChangeRequestParticipantListItemProps } from '.';\r\nimport ChangeRequestParticipantListItem from './ChangeRequestParticipantListItem';\r\nimport { Trans } from '@lingui/macro';\r\n\r\n// const ReadyStatusIndicator: React.FC<{ value: boolean }> = ({ value }) => {\r\n// return (\r\n// \r\n// {value ? Ready to send : In progress}\r\n// \r\n// );\r\n// };\r\n\r\ntype ChangeRequestParticipantListProps = Omit & {\r\n participants: ChangeRequestParticipantInfo[];\r\n};\r\n\r\nconst ChangeRequestParticipantList: React.FC = ({ participants, ...rest }) => {\r\n return (\r\n <>\r\n {participants.map((participant) => (\r\n \r\n ))}\r\n\r\n {participants.length === 0 && (\r\n \r\n There are no participants added to this change requests yet.\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ChangeRequestParticipantList;","import React from 'react';\r\nimport theme from './ItemCategorySelect.module.scss';\r\nimport { useSelector } from 'react-redux';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { IState } from 'state/IState';\r\nimport { TranslatableText, ItemCategory } from 'types';\r\nimport Select from 'components/Select';\r\nimport { components } from 'react-select';\r\nimport { Option } from 'react-select/src/filters';\r\n\r\ninterface Props {\r\n value: number | null | undefined;\r\n className?: string;\r\n onChange?;\r\n required?: boolean;\r\n fieldName?: TranslatableText;\r\n rootItemCategoryFilter?(itemCategory: ItemCategory): boolean;\r\n showNoneOption?: boolean;\r\n isDisabled?: boolean;\r\n}\r\n\r\ninterface SelectItem {\r\n label: TranslatableText;\r\n value: number | null | undefined;\r\n options?: SelectItem[];\r\n}\r\n\r\nconst ValueContainer = (props) => {\r\n const selected: SelectItem | null = props.getValue()[0];\r\n\r\n if (!selected) {\r\n return ;\r\n }\r\n\r\n let group: SelectItem | null = null;\r\n const options: SelectItem[] = props.options;\r\n const inputValue = props.selectProps.inputValue;\r\n\r\n if (props.hasValue) {\r\n group = options.find((o) => o.options && o.options.some((x) => x.value === selected!.value)) ?? null;\r\n }\r\n\r\n if (!group) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n {props.hasValue && inputValue === '' && group &&
    {group.label as string}
    }\r\n {/*
    */}\r\n \r\n {/*
    */}\r\n \r\n );\r\n};\r\n\r\nconst ItemCategorySelect: React.FC = ({\r\n value,\r\n rootItemCategoryFilter = () => true,\r\n showNoneOption = true,\r\n ...rest\r\n}) => {\r\n const itemCategories = useSelector((state: IState) => state.global.itemCategories);\r\n const uncategorizedOption = { label: No category, value: null };\r\n\r\n if (!itemCategories) {\r\n return \r\n \r\n {image ? {renderImage()} : }\r\n \r\n \r\n )}\r\n */}\r\n \r\n );\r\n};\r\n\r\nexport default ProductImageUploadBox; ","import React from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ValidationScope } from 'components/forms/validation';\r\nimport theme from './EditProductWizardStepImages.module.scss';\r\nimport { arrayReplace } from 'utils/arrays';\r\nimport {\r\n ProductFile,\r\n ChangedItem,\r\n ProductSourceCatalog,\r\n ProductFileAttachment,\r\n ProductFileImage,\r\n LocalUnsaved,\r\n} from 'types';\r\nimport ProductImageUploadBox from '../ProductImageUploadBox';\r\nimport { Button } from 'components/Buttons';\r\nimport { SortableContainer, SortableElement, arrayMove } from 'react-sortable-hoc';\r\nimport AttachmentList from 'components/AttachmentList';\r\nimport { faTrashAlt } from '@fortawesome/pro-light-svg-icons';\r\n\r\ninterface ImageEditorProps {\r\n sourceCatalog: ProductSourceCatalog;\r\n image: ProductFile;\r\n index: number;\r\n onChange: (item: ChangedItem) => void;\r\n onRemove: (image: ProductFile) => void;\r\n}\r\n\r\nconst ImageEditor: React.FC = ({ image, index, onChange, onRemove, sourceCatalog }) => {\r\n const handleChange = (changes: LocalUnsaved) => {\r\n onChange(ChangedItem.fromMerge(image, { ...image, ...changes }));\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n handleChange(newImage[0])}\r\n sourceCatalog={sourceCatalog}\r\n />\r\n
    \r\n
    \r\n {/* */}\r\n\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\ninterface SortableImageProps extends Omit {\r\n index: number;\r\n image: any;\r\n}\r\nconst SortableImage = SortableElement(({ index, image, onChange, onRemove, sourceCatalog }: SortableImageProps) => (\r\n
    \r\n \r\n
    \r\n));\r\n\r\ninterface SortableListProps {\r\n images: LocalUnsaved[];\r\n onChange: (item: ChangedItem) => void;\r\n onRemove: (image: ProductFile) => void;\r\n sourceCatalog: ProductSourceCatalog;\r\n handleAdd: any;\r\n}\r\nconst SortableList = SortableContainer(({ images, onChange, onRemove, sourceCatalog, handleAdd }: SortableListProps) => {\r\n return (\r\n
    \r\n {images.map((image, index) => (\r\n \r\n ))}\r\n
    \r\n
    \r\n handleAdd(files)}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n});\r\ninterface EditProductWizardStepImagesProps {\r\n sourceCatalog: ProductSourceCatalog;\r\n images: LocalUnsaved[];\r\n onImageChange: (images: LocalUnsaved[]) => void;\r\n onAttachmentsChange: (attachments: ProductFileAttachment[]) => void;\r\n attachments: ProductFileAttachment[];\r\n}\r\nconst EditProductWizardStepImages: React.FC = ({\r\n images,\r\n onImageChange,\r\n sourceCatalog,\r\n attachments,\r\n onAttachmentsChange,\r\n}) => {\r\n const handleChange = (change: ChangedItem) => {\r\n const newImages = arrayReplace(images, change.original, change.modified);\r\n\r\n onImageChange(newImages);\r\n };\r\n\r\n const handleAdd = (newImage: LocalUnsaved[]) => {\r\n onImageChange([...images, ...newImage]);\r\n };\r\n\r\n const handleRemove = (image: ProductFile) => {\r\n const newImages = images.filter((x) => x !== image).map((img, index) => ({ ...img, sortOrder: index }));\r\n onImageChange(newImages);\r\n };\r\n const onSortEnd = ({ oldIndex, newIndex }) => {\r\n const newArray = arrayMove(images, oldIndex, newIndex).map((img, index) => ({ ...img, sortOrder: index }));\r\n onImageChange(newArray);\r\n };\r\n\r\n return (\r\n \r\n \r\n
    \r\n You can add attachments that contain details about this product in, for example, PDF form.\r\n
    \r\n onAttachmentsChange(e)}\r\n urlGenerator={() => ''}\r\n value={attachments}\r\n allowPaste\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default EditProductWizardStepImages;","import React from 'react';\r\nimport theme from './EditProductWizard.module.scss';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { ValidatingInput } from 'components/forms/validation';\r\nimport { BaseProduct, ProfileCatalogProduct } from 'types';\r\nimport Select from 'components/Select';\r\nimport InfoIconWithTooltip from 'seller/components/InfoIconWithTooltip';\r\n\r\ninterface EditProductWizardStepPaintInfoProps {\r\n product: BaseProduct;\r\n onChange: (product: BaseProduct | ProfileCatalogProduct) => void;\r\n allowPriceEdit: boolean;\r\n}\r\n\r\nconst EditProductWizardStepPaintInfo = ({ product, onChange, allowPriceEdit }: EditProductWizardStepPaintInfoProps) => {\r\n return (\r\n <>\r\n {/* */}\r\n {allowPriceEdit && (\r\n \r\n )}\r\n
    \r\n );\r\n };\r\n\r\n const isNewGroup = !group || !group.id;\r\n // if (updatedGroup == null) return null;\r\n\r\n return (\r\n \r\n \r\n \r\n {isNewGroup ? (\r\n \r\n ) : (\r\n Edit group\r\n )}\r\n \r\n {renderContent()}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default connect(mapStateToProps)(CatalogGroupEditDialog);","import React, { useState, useEffect, useMemo } from 'react';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { deleteCatalogProduct, getCatalogFilters, searchCatalogProducts } from 'services/profile-catalog-products';\r\nimport CatalogProductList from '../catalog-products/CatalogProductList';\r\nimport { Trans } from '@lingui/macro';\r\nimport CatalogProductEditDialog from '../catalog-products/CatalogProductEditDialog';\r\nimport { Button, ButtonBar } from 'components/Buttons';\r\nimport { faBox, faBrush } from '@fortawesome/pro-light-svg-icons';\r\nimport { useAsyncState, useAsyncStateWithIsLoading } from 'utils/hooks';\r\nimport { ProfileCatalogProduct, CatalogGroup, OptionalId } from 'types';\r\nimport { IState } from 'state/IState';\r\nimport { useSelector } from 'react-redux';\r\nimport CatalogGroupEditDialog from '../catalog-groups/CatalogGroupEditDialog';\r\nimport { useParams } from 'react-router';\r\nimport { CatalogFilter, CatalogFilterValue } from './CatalogFilter';\r\n\r\ntype CatalogProductsProps = {};\r\n\r\nconst CatalogProducts: React.FC = () => {\r\n const profileId = useSelector((state: IState) => state.global.activeProfile!.id);\r\n const [isDuplicating, setIsDuplicating] = useState(false);\r\n const [checkedProducts, setCheckedProducts] = useState([]);\r\n const [editingProductId, setEditingProductId] = useState(null);\r\n const [isPaintProduct, setIsPaintProduct] = useState(false);\r\n const [showEditDialog, setShowEditDialog] = useState(false);\r\n const [defaultSelectedId, setDefaultSelected] = useState(undefined);\r\n const [editingGroup, setEditingGroup] = useState | null>(null);\r\n const [filter, setFilter] = useState(CatalogFilterValue.empty());\r\n const [products, , reloadProducts, isLoading] = useAsyncStateWithIsLoading(\r\n () =>\r\n searchCatalogProducts({\r\n ownerProfileId: profileId,\r\n itemCategoryIds: filter.itemCategoryIds,\r\n searchText: filter.searchText,\r\n suppliers: filter.suppliers.length === 0 ? null : filter.suppliers,\r\n }),\r\n [profileId, filter],\r\n null\r\n );\r\n\r\n const [filterData, , reloadFilterData] = useAsyncState(() => getCatalogFilters(profileId), [profileId], null);\r\n\r\n let { id: paramId } = useParams<{ id: string }>();\r\n useEffect(() => {\r\n if (paramId && !isNaN(+paramId)) setDefaultSelected(+paramId);\r\n else setDefaultSelected(undefined);\r\n }, [paramId]);\r\n\r\n const handleCreateProductClick = () => {\r\n setEditingProductId(null);\r\n setIsPaintProduct(false);\r\n setShowEditDialog(true);\r\n };\r\n\r\n const handleCreatePaintProductClick = () => {\r\n setEditingProductId(null);\r\n setIsPaintProduct(true);\r\n setShowEditDialog(true);\r\n };\r\n\r\n const handleEditProductClick = (product: ProfileCatalogProduct) => {\r\n setIsDuplicating(false);\r\n setEditingProductId(product.id);\r\n setShowEditDialog(true);\r\n };\r\n\r\n const handleDuplicateProductClick = (product: ProfileCatalogProduct) => {\r\n setIsDuplicating(true);\r\n setEditingProductId(product.id);\r\n setShowEditDialog(true);\r\n };\r\n\r\n const handleEditProductDialogClose = () => {\r\n setIsDuplicating(false);\r\n setEditingProductId(null);\r\n setShowEditDialog(false);\r\n };\r\n\r\n const handleEditProductDialogSave = async () => {\r\n reloadProducts();\r\n reloadFilterData();\r\n };\r\n\r\n const handleDeleteClick = async (product: ProfileCatalogProduct) => {\r\n await deleteCatalogProduct(product.id);\r\n reloadFilterData();\r\n reloadProducts();\r\n };\r\n\r\n const handleCreateGroupClick = (e) => {\r\n setEditingGroup({\r\n ownerProfileId: profileId,\r\n name: '',\r\n noneOptionDescription: '',\r\n noneOptionName: '',\r\n hasNoneOption: false,\r\n });\r\n };\r\n\r\n const handleEditGroupDialogClose = () => {\r\n setEditingGroup(null);\r\n };\r\n\r\n const handleEditGroupDialogSave = () => {\r\n setCheckedProducts([]);\r\n };\r\n\r\n // const handleCheckChange = (products: CatalogProduct[]) => {\r\n // setCheckedProducts(products);\r\n // }\r\n\r\n if (!products || !filterData) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n\r\n {checkedProducts.length > 0 && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n x.id)}\r\n />\r\n\r\n setCheckedProducts(value)}\r\n checkedProductIds={checkedProducts.map((x) => x.id)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default CatalogProducts;","import React from 'react';\r\nimport { saveCatalogGroup } from 'services/profile-catalog-groups';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { CatalogProductDisplay } from '../products/ProductDisplay';\r\nimport { CatalogGroup, ProfileCatalogProduct } from 'types';\r\nimport { InternalLinkButton } from 'components/Buttons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { faLink } from '@fortawesome/pro-light-svg-icons';\r\nimport { Tooltip } from 'components/Tooltip';\r\n\r\ntype CatalogGroupListItemDetailsProps = {\r\n group: CatalogGroup;\r\n setIsLoading: (v: boolean) => void;\r\n products: ProfileCatalogProduct[] | null;\r\n onProductsChange: (products: ProfileCatalogProduct[]) => void;\r\n};\r\n\r\nconst CatalogGroupListItemDetails: React.FC = ({ group, products, onProductsChange }) => {\r\n async function removeProduct(product) {\r\n const newProducts = products!.filter((x) => x !== product && x.id > 0);\r\n\r\n await saveCatalogGroup(\r\n group,\r\n newProducts.map((x) => x.id)\r\n );\r\n onProductsChange(newProducts);\r\n }\r\n\r\n if (!products) {\r\n return ;\r\n }\r\n const containsNonEmptyProduct = products.some((x) => !x.isNone); //group.hasNoneOption; //products.some((p) => p.isNone === false);\r\n\r\n return (\r\n
    \r\n {products.map((product) => (\r\n 0 ? () => removeProduct(product) : undefined}\r\n onRemoveClick={product.id > 0 ? () => removeProduct(product) : undefined}\r\n showCategory={false}\r\n />\r\n ))}\r\n
    \r\n Add a product in order to link the group : null}>\r\n \r\n \r\n Link product group to units\r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CatalogGroupListItemDetails;","import React, { useState, useEffect } from 'react';\r\nimport { ProfileCatalogProduct } from 'types';\r\nimport { searchCatalogProducts } from 'services/profile-catalog-products';\r\nimport { useDebounce } from 'utils/hooks';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faSpinnerThird } from '@fortawesome/pro-light-svg-icons';\r\nimport theme from './ProductSearch.module.scss';\r\nimport { CatalogProductDisplay, ProfileCatalogProductDisplayProps } from './ProductDisplay';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { Input } from 'components/generic-controls';\r\nimport { classnames } from 'utils/html';\r\nimport ItemCategoryDisplay from 'components/item-categories/ItemCategoryDisplay';\r\nimport { LoadingOverlay } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ntype ProductSearchProps = Pick & {\r\n profileId: number;\r\n checkedProductIds?: number[];\r\n resultsClassName?: string;\r\n inputClassName?: string;\r\n itemCategoryId?: number | null;\r\n};\r\n\r\nconst ProductSearch: React.FC = ({\r\n profileId,\r\n onCheckChange,\r\n checkedProductIds,\r\n itemCategoryId,\r\n resultsClassName,\r\n inputClassName,\r\n}) => {\r\n const [products, setProducts] = useState([]);\r\n const [searchText, setSearchText] = useState('');\r\n const [loading, setLoading] = useState(false);\r\n\r\n const searchTextDebounced = useDebounce(searchText, 250);\r\n useEffect(() => {\r\n setLoading(true);\r\n }, [searchTextDebounced]);\r\n\r\n useEffect(() => {\r\n async function loadData() {\r\n const result = await searchCatalogProducts({\r\n ownerProfileId: profileId,\r\n searchText: searchTextDebounced,\r\n itemCategoryIds: itemCategoryId ? [itemCategoryId] : [],\r\n });\r\n\r\n setProducts(result);\r\n setLoading(false);\r\n }\r\n\r\n setLoading(true);\r\n loadData();\r\n }, [searchTextDebounced, itemCategoryId, profileId]);\r\n\r\n return (\r\n
    \r\n
    \r\n setSearchText(e.target.value)}\r\n placeholder={t`Search...`}\r\n />\r\n {loading && }\r\n
    \r\n\r\n {itemCategoryId && (\r\n \r\n Showing only \r\n \r\n )}\r\n
    \r\n 0}>\r\n {products.length === 0 && !loading && No results}\r\n {products.map((p) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ProductSearch;","import React, { useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter } from 'components/Modal';\r\nimport { triggerHandler } from 'utils/events';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ProfileCatalogProduct, CatalogGroup } from 'types';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { getCatalogProductsByGroup } from 'services/profile-catalog-products';\r\nimport ProductSearch from '../products/ProductSearch';\r\nimport theme from './CatalogGroupAddProductDialog.module.scss';\r\nimport { Button } from 'components/Buttons';\r\nimport { faTimes } from '@fortawesome/pro-light-svg-icons';\r\nimport { saveCatalogGroup } from 'services/profile-catalog-groups';\r\nimport { findTopLevelCategory } from 'utils/categories';\r\nimport { IState } from 'state/IState';\r\n\r\nconst mapStateToProps = (state: IState) => ({\r\n profileId: state.global.activeProfile!.id,\r\n itemCategories: state.global.itemCategories,\r\n});\r\n\r\ntype OwnProps = ReturnType & {\r\n group: CatalogGroup;\r\n show: boolean;\r\n onClose: () => void;\r\n onSave: () => void;\r\n onCancel?: () => void;\r\n};\r\n\r\nconst CatalogGroupAddProductDialog: React.FC = ({\r\n profileId,\r\n itemCategories,\r\n group,\r\n show,\r\n onCancel,\r\n onSave,\r\n onClose,\r\n}) => {\r\n // const [groupProducts, setGroupProducts, reloadGroupProducts] = useAsyncState(\r\n // () => getCatalogProductsByGroup(group.id),\r\n // [group.id],\r\n // null\r\n // );\r\n const [groupProducts, setGroupProducts] = useState(null);\r\n const loadData = async () => {\r\n const products = await getCatalogProductsByGroup(group.id);\r\n setGroupProducts(products.filter((p) => p.id > 0));\r\n };\r\n\r\n // const [productsToAdd, setProductsToAdd] = useState([]);\r\n const [saving, setSaving] = useState(false);\r\n\r\n function reset() {\r\n setGroupProducts(null);\r\n }\r\n\r\n const handleCancelClick = () => {\r\n triggerHandler(onCancel);\r\n triggerHandler(onClose);\r\n };\r\n\r\n const handleSaveClick = async () => {\r\n setSaving(true);\r\n\r\n try {\r\n await saveCatalogGroup(\r\n group,\r\n groupProducts!.map((x) => x.id)\r\n );\r\n\r\n triggerHandler(onSave);\r\n triggerHandler(onClose);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n const handleProductCheckChange = (product: ProfileCatalogProduct, checked: boolean) => {\r\n const index = groupProducts!.findIndex((x) => x.id === product.id);\r\n if (index === -1 && checked) {\r\n setGroupProducts([...groupProducts!, product]);\r\n } else if (index > -1 && !checked) {\r\n setGroupProducts(groupProducts!.filter((x) => x.id !== product.id));\r\n }\r\n };\r\n\r\n const handleRemoveProductClick = (product: ProfileCatalogProduct) => {\r\n setGroupProducts(groupProducts!.filter((x) => x !== product));\r\n };\r\n\r\n const topLevelCategory =\r\n groupProducts && groupProducts[0] && groupProducts[0].itemCategoryId\r\n ? findTopLevelCategory(itemCategories, groupProducts[0].itemCategoryId)\r\n : null;\r\n\r\n return (\r\n \r\n \r\n Add / remove products\r\n \r\n \r\n {groupProducts ? (\r\n <>\r\n
      \r\n {groupProducts.map((p) => (\r\n
    • \r\n {p.name}\r\n
    • \r\n ))}\r\n
    \r\n\r\n x.id)}\r\n onCheckChange={handleProductCheckChange}\r\n itemCategoryId={topLevelCategory ? topLevelCategory.id : null}\r\n />\r\n \r\n ) : (\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 connect(mapStateToProps)(CatalogGroupAddProductDialog);","import React, { useState, useEffect, useRef } from 'react';\r\nimport CatalogGroupListItemDetails from './CatalogGroupListItemDetails';\r\nimport { CatalogGroup } from 'types';\r\nimport { deleteCatalogGroup } from 'services/profile-catalog-groups';\r\nimport { ExpandableCard, CardHeader, ExpandableCardHandle, CardSection, CardDropdownMenu } from 'components/Cards';\r\nimport ItemCategoryDisplay from 'components/item-categories/ItemCategoryDisplay';\r\nimport { Button } from 'components/Buttons';\r\nimport { faEdit, faTrashAlt } from '@fortawesome/pro-light-svg-icons';\r\nimport { Trans } from '@lingui/macro';\r\nimport theme from './CatalogGroupListItem.module.scss';\r\nimport { scrollTo } from 'utils/html';\r\nimport { triggerHandler } from 'utils/events';\r\nimport CatalogGroupAddProductDialog from './CatalogGroupAddProductDialog';\r\nimport { getCatalogProductsByGroup } from 'services/profile-catalog-products';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { DropdownButtonItem } from 'components/Dropdown';\r\nimport { YesNoDialog } from 'components/dialogs';\r\n\r\ninterface CatalogGroupListItemProps {\r\n group: CatalogGroup;\r\n onEditClick?(group: CatalogGroup): void;\r\n onDelete?(group: CatalogGroup): void;\r\n defaultExpand?: boolean;\r\n}\r\n\r\nconst CatalogGroupListItem: React.FC = ({ group, onEditClick, defaultExpand, onDelete }) => {\r\n const [expanded, setExpanded] = useState(!!defaultExpand);\r\n const containerRef = useRef(null);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [showAddProductsDialog, setShowAddProductsDialog] = useState(false);\r\n const [showYesNoDialog, setShowYesNoDialog] = useState(false);\r\n\r\n const [products, setProducts, reloadProducts] = useAsyncState(\r\n () => getCatalogProductsByGroup(group.id),\r\n [group.id],\r\n null\r\n );\r\n\r\n useEffect(() => {\r\n const load = async () => {\r\n await reloadProducts();\r\n setIsLoading(false);\r\n };\r\n load();\r\n }, [group, reloadProducts]);\r\n\r\n useEffect(() => {\r\n if (defaultExpand && !isLoading) {\r\n scrollTo(0, containerRef.current!.offsetTop);\r\n }\r\n }, [containerRef, isLoading, defaultExpand]);\r\n\r\n const handleDelete = async () => {\r\n await deleteCatalogGroup(group.id);\r\n triggerHandler(onDelete, group);\r\n };\r\n\r\n return (\r\n
    \r\n setProducts(products)}\r\n setIsLoading={setIsLoading}\r\n group={group}\r\n />\r\n }>\r\n \r\n \r\n {!!group.itemCategoryId ? (\r\n \r\n ) : (\r\n No category\r\n )}\r\n \r\n\r\n {group.name}\r\n \r\n\r\n \r\n 0 ? 'tertiary' : 'secondary'}\r\n icon={faEdit}\r\n onClick={() => setShowAddProductsDialog(true)}>\r\n Add products\r\n \r\n \r\n\r\n setExpanded(!expanded)}\r\n expanded={expanded}\r\n expandText={Show products}\r\n collapseText={Hide products}\r\n />\r\n \r\n {\r\n onEditClick(group);\r\n }\r\n : undefined\r\n }>\r\n Edit product group\r\n \r\n {\r\n setShowYesNoDialog(true);\r\n }}>\r\n Delete product group\r\n \r\n \r\n \r\n setShowAddProductsDialog(false)}\r\n onSave={() => reloadProducts()}\r\n />\r\n\r\n \r\n onClose={() => setShowYesNoDialog(false)}\r\n show={showYesNoDialog}\r\n confirmButtonColor=\"danger\"\r\n confirmButtonText={Delete}\r\n cancelButtonText={Cancel}\r\n title={Delete product group}\r\n onAccept={handleDelete}\r\n body={\r\n \r\n Are you sure you want to delete this product group?\r\n
    \r\n Linked groups and products will not be affected\r\n
    \r\n }\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default CatalogGroupListItem;","import React from 'react';\r\nimport CatalogGroupListItem from './CatalogGroupListItem';\r\nimport { CatalogGroup } from 'types';\r\nimport { NoResultsCard } from 'components/Cards';\r\nimport { useCanScroll } from 'utils/hooks';\r\n\r\ninterface CatalogGroupListProps {\r\n groups: CatalogGroup[];\r\n onEditClick?(group: CatalogGroup): void;\r\n onDelete?(group: CatalogGroup): void;\r\n defaultExpandedId?: number;\r\n}\r\n\r\nconst CatalogGroupList: React.FC = ({ groups, onEditClick, onDelete, defaultExpandedId }) => {\r\n const canScroll = useCanScroll(defaultExpandedId);\r\n\r\n return (\r\n <>\r\n {groups.map((g) => (\r\n \r\n ))}\r\n\r\n {groups.length === 0 && }\r\n \r\n );\r\n};\r\n\r\nexport default CatalogGroupList;","import React, { useMemo, useState } from 'react';\r\nimport CatalogGroupList from 'seller/components/catalog-groups/CatalogGroupList';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Trans } from '@lingui/macro';\r\nimport CatalogGroupEditDialog from '../catalog-groups/CatalogGroupEditDialog';\r\nimport { Button, ButtonBar } from 'components/Buttons';\r\nimport { faPlus } from '@fortawesome/pro-light-svg-icons';\r\nimport { IState } from 'state/IState';\r\nimport { CatalogFilterData, CatalogGroup, OptionalId } from 'types';\r\nimport { connect } from 'react-redux';\r\nimport { searchCatalogGroups } from 'services/profile-catalog-groups';\r\nimport { useDefaultScrollToId, useAsyncStateWithIsLoading } from 'utils/hooks';\r\nimport { CatalogFilter, CatalogFilterValue } from './CatalogFilter';\r\n\r\nconst mapStateToProps = (state: IState) => ({\r\n profileId: state.global.activeProfile!.id,\r\n});\r\n\r\ntype OwnProps = ReturnType & {\r\n floorPlanSketchTypeId?: number;\r\n};\r\n\r\nconst CatalogGroups: React.FC = ({ profileId, floorPlanSketchTypeId }) => {\r\n const [floorPlanSketchType] = useState(null);\r\n const [editingGroup, setEditingGroup] = useState | null>(null);\r\n const defaultExpandedId = useDefaultScrollToId();\r\n const [filter, setFilter] = useState(CatalogFilterValue.empty());\r\n const [groups, , reloadGroups, isLoading] = useAsyncStateWithIsLoading(\r\n () =>\r\n searchCatalogGroups({\r\n ownerProfileId: profileId,\r\n itemCategoryIds: filter.itemCategoryIds,\r\n searchText: filter.searchText,\r\n }),\r\n [filter, profileId],\r\n null\r\n );\r\n\r\n const filterData = useMemo(() => {\r\n return {\r\n suppliers: [],\r\n };\r\n }, [groups]);\r\n\r\n // useEffect(() => {\r\n // const loadFilteredGroups = async () => {\r\n // setIsLoading(true);\r\n // setFilteredGroups(\r\n // await searchCatalogGroups({\r\n // ownerProfileId: profileId,\r\n // itemCategoryIds: filter.itemCategoryIds,\r\n // searchText: filter.searchText,\r\n // })\r\n // );\r\n // setIsLoading(false);\r\n // };\r\n // if (filter.itemCategoryIds.length === 0 && filter.searchText === '') {\r\n // setIsLoading(true);\r\n // setFilteredGroups(groups);\r\n // setTimeout(() => setIsLoading(false), 0);\r\n // } else loadFilteredGroups();\r\n // }, [profileId, filter, groups]);\r\n\r\n function checkIfIsLoading() {\r\n if (!groups) {\r\n return true;\r\n }\r\n\r\n if (floorPlanSketchTypeId && !floorPlanSketchType) {\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const handleCreateGroupClick = (e) => {\r\n setEditingGroup({\r\n ownerProfileId: profileId,\r\n name: '',\r\n hasNoneOption: false,\r\n noneOptionDescription: '',\r\n noneOptionName: '',\r\n });\r\n };\r\n\r\n const handleEditDialogClose = () => {\r\n setEditingGroup(null);\r\n };\r\n\r\n const handleEditDialogSave = () => {\r\n reloadGroups();\r\n };\r\n\r\n const handleDelete = () => {\r\n reloadGroups();\r\n };\r\n\r\n if (checkIfIsLoading()) {\r\n return ;\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 setEditingGroup(g)}\r\n onDelete={handleDelete}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default connect(mapStateToProps)(CatalogGroups);\r\n","import React from 'react';\r\nimport { Tabs, LinkTab } from 'components/Tabs';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport CatalogProducts from './CatalogProducts';\r\nimport CatalogGroups from './CatalogGroups';\r\nimport { PageTitle, SimplePageTitle } from 'components/layout/PageTitle';\r\n\r\nconst tabs = [\r\n {\r\n id: 'products',\r\n name: All products,\r\n render: () => ,\r\n },\r\n {\r\n id: 'groups',\r\n name: Product groups,\r\n render: () => ,\r\n },\r\n];\r\n\r\ninterface CatalogProps {\r\n tab: 'products' | 'groups';\r\n}\r\n\r\nconst Catalog: React.FC = ({ tab, ...rest }) => {\r\n return (\r\n
    \r\n \r\n\r\n \r\n {tabs.map((tab) => (\r\n \r\n {tab.render()}\r\n \r\n ))}\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Catalog;","import { FileData } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { StandardReply } from 'types';\r\nimport { getChatApiUrl, request } from 'utils/ajax';\r\n\r\nexport function getStandardRepliesByProfileId(profileId: number): Promise {\r\n return request(getChatApiUrl() + `/api/standardreplies`, { query: { profileId } }).then((x) => x.json());\r\n}\r\n\r\nexport async function editStandardReply(id: number, standardReply: StandardReplyUpdateOptions): Promise {\r\n return request(getChatApiUrl() + `/api/standardreplies/${id}`, {\r\n method: 'PUT',\r\n json: true,\r\n body: standardReply,\r\n }).then((r) => r.json());\r\n}\r\n\r\nexport async function deleteStandardReply(id: number) {\r\n await request(getChatApiUrl() + `/api/standardreplies/${id}`, { method: 'DELETE' });\r\n}\r\n\r\nexport async function addStandardReply(standardReply: StandardReplyUpdateOptions): Promise {\r\n return request(getChatApiUrl() + `/api/standardreplies`, {\r\n method: 'POST',\r\n json: true,\r\n body: standardReply,\r\n }).then((r) => r.json());\r\n}\r\n\r\nexport interface StandardReplyUpdateOptions {\r\n title: string;\r\n text: string;\r\n comment: string;\r\n profileId: number;\r\n attachments: StandardReplyUpdateOptionsAttachment[] | null;\r\n}\r\nexport interface StandardReplyUpdateOptionsAttachment {\r\n id: number | null;\r\n file: FileData | null;\r\n}\r\n","import { Trans, t } from '@lingui/macro';\r\nimport { Button, ButtonBar } from 'components/Buttons';\r\nimport { ValidatingInput, ValidatingTextArea } from 'components/forms/validation';\r\nimport { Modal, ModalBody, ModalHeader, ModalFooter } from 'components/Modal';\r\nimport React, { useState } from 'react';\r\nimport { StandardReply, StandardReplyAttachmentDto } from 'types';\r\nimport { classnames } from 'utils/html';\r\nimport theme from './StandardReplies.module.scss';\r\nimport MandatoryIndicator from 'components/forms/MandatoryIndicator';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport {\r\n editStandardReply,\r\n addStandardReply,\r\n StandardReplyUpdateOptionsAttachment,\r\n StandardReplyUpdateOptions,\r\n} from 'services/standard-replies';\r\nimport { useMergeState } from 'utils/hooks';\r\nimport FileUpload from 'components/generic-controls/FileUpload';\r\nimport FileData from 'utils/FileData';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faFile, faTrashAlt } from '@fortawesome/pro-light-svg-icons';\r\n\r\ntype EditStandardReplyModalProps = {\r\n isOpen: boolean;\r\n toggle: () => void;\r\n onSave(standardReply: StandardReply): void;\r\n standardReply?: StandardReply;\r\n onDeleteClick?(): void;\r\n};\r\n\r\nfunction getEmptyState(profileId: number): StandardReplyUpdateOptions {\r\n return {\r\n profileId,\r\n title: '',\r\n text: '',\r\n comment: '',\r\n attachments: [],\r\n };\r\n}\r\n\r\nfunction toUploadOptions(profileId: number, standardReply: StandardReply): StandardReplyUpdateOptions {\r\n return {\r\n profileId,\r\n text: standardReply.text,\r\n title: standardReply.title,\r\n comment: standardReply.comment,\r\n attachments: null,\r\n };\r\n}\r\n\r\ntype PendingAttachment = StandardReplyUpdateOptionsAttachment | StandardReplyAttachmentDto;\r\n\r\nconst EditStandardReplyModal: React.FC = ({\r\n isOpen,\r\n toggle,\r\n standardReply,\r\n onSave,\r\n onDeleteClick,\r\n}) => {\r\n const profileId = useSelector((state: IState) => state.global.activeProfile!.id);\r\n const [error, setError] = useState(false);\r\n const [saving, setSaving] = useState(false);\r\n const [unsavedStandardReply, mergeUnsavedStandardReply, setUnsavedStandardReply] = useMergeState(\r\n getEmptyState(profileId)\r\n );\r\n\r\n const [attachments, setAttachments] = useState([]);\r\n\r\n const reset = () => {\r\n setError(false);\r\n setSaving(false);\r\n\r\n if (standardReply) {\r\n setUnsavedStandardReply(toUploadOptions(profileId, standardReply));\r\n setAttachments(standardReply.attachments);\r\n } else {\r\n setUnsavedStandardReply(getEmptyState(profileId));\r\n setAttachments([]);\r\n }\r\n };\r\n\r\n const handleDeleteAttachment = (att: PendingAttachment) => {\r\n setAttachments((prev) => prev.filter((x) => x !== att));\r\n };\r\n\r\n const validate = async () => {\r\n if (unsavedStandardReply.title && unsavedStandardReply.text) {\r\n setSaving(true);\r\n var result: StandardReply | null = null;\r\n var data = {\r\n ...unsavedStandardReply,\r\n attachments: attachments.map((x) => ({\r\n id: x.id,\r\n file: 'file' in x ? x.file : null,\r\n })),\r\n };\r\n\r\n try {\r\n if (standardReply && standardReply.id) {\r\n result = await editStandardReply(standardReply.id, data);\r\n } else {\r\n result = await addStandardReply(data);\r\n }\r\n\r\n onSave(result);\r\n toggle();\r\n } finally {\r\n setSaving(false);\r\n }\r\n }\r\n\r\n setError(true);\r\n };\r\n\r\n return (\r\n \r\n \r\n Edit reply\r\n \r\n \r\n
    \r\n \r\n mergeUnsavedStandardReply({ title: e.target.value })}\r\n placeholder={t`Make a short yet descriptive name of a reply`}\r\n />\r\n {error && !unsavedStandardReply.title && (\r\n
    \r\n Name required\r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n mergeUnsavedStandardReply({ text: e.target.value })}\r\n placeholder={t`Main body`}\r\n />\r\n\r\n {error && !unsavedStandardReply.text && (\r\n
    \r\n Content body required\r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n {\r\n // Helps with certain fileTypes (.HEIC)\r\n // if (!f?.[0]) return;\r\n\r\n try {\r\n const newFiles = f.map((x) => ({\r\n id: null,\r\n file: new FileData(x),\r\n }));\r\n setAttachments((prev) => [...prev, ...newFiles]);\r\n } catch (error) {\r\n console.error('Error:', error);\r\n }\r\n }}\r\n />\r\n\r\n {attachments.map((att, i) => (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {'file' in att ? att.file?.fileName : att.fileMetadata.fileName}\r\n
    \r\n
    \r\n handleDeleteAttachment(att)}\r\n className={theme.attachmentRemoveButton}\r\n />\r\n
    \r\n ))}\r\n
    \r\n\r\n
    \r\n \r\n mergeUnsavedStandardReply({ comment: e.target.value })}\r\n placeholder={t`Here you can add an explanation of when to use the reply`}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n {onDeleteClick && (\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 EditStandardReplyModal;\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faEnvelope, faLongArrowRight } from '@fortawesome/pro-light-svg-icons';\r\nimport theme from './StandardReplies.module.scss';\r\nimport EditStandardReplyModal from './EditStandardReplyModal';\r\n\r\ninterface StandardRepliesEmptyProps {\r\n onCreate(): void;\r\n}\r\n\r\nexport enum CompanySettingsTabs {\r\n Profile = 'profile',\r\n StandardReplies = 'standard-replies',\r\n}\r\n\r\nconst StandardRepliesEmpty: React.FC = ({ onCreate }) => {\r\n const [newStandardReplyModalIsOpen, setNewStandardReplyModalIsOpen] = useState(false);\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n You do not have any standard replies yet\r\n
    \r\n
    \r\n Add message templates that agents can use in their customer dialogues.\r\n
    \r\n
    setNewStandardReplyModalIsOpen(true)}>\r\n \r\n
    \r\n
    \r\n\r\n setNewStandardReplyModalIsOpen(false)}\r\n onSave={onCreate}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default StandardRepliesEmpty;","import { faSearch, faSpinner } from '@fortawesome/pro-light-svg-icons';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { t } from '@lingui/macro';\r\nimport { Input } from 'components/generic-controls';\r\nimport React, { ChangeEventHandler, useCallback, useEffect, useState } from 'react';\r\nimport { useDebounce, usePrevious } from 'utils/hooks';\r\nimport { classnames } from 'utils/html';\r\nimport theme from './SearchInput.module.scss';\r\n\r\ninterface Props {\r\n isLoading?: boolean;\r\n searchText?: string;\r\n onSearchTextChange?: (v: string) => void;\r\n className?: string;\r\n}\r\n\r\nconst SearchInput: React.FC = ({ isLoading, searchText = '', onSearchTextChange, className }) => {\r\n const [internalText, setInternalText] = useState(searchText);\r\n\r\n useEffect(() => {\r\n setInternalText(searchText);\r\n }, [searchText]);\r\n\r\n const [isTyping, setIsTyping] = useState(false);\r\n\r\n const searchTextDebounced = useDebounce(internalText, 250);\r\n const previousSearchTextDebounced = usePrevious(searchTextDebounced);\r\n useEffect(() => {\r\n if (\r\n onSearchTextChange &&\r\n previousSearchTextDebounced !== undefined &&\r\n searchTextDebounced !== previousSearchTextDebounced\r\n ) {\r\n onSearchTextChange(searchTextDebounced || '');\r\n setIsTyping(false);\r\n }\r\n }, [searchTextDebounced, previousSearchTextDebounced, onSearchTextChange]);\r\n\r\n const handleTextChange: ChangeEventHandler = useCallback((e) => {\r\n setIsTyping(true);\r\n setInternalText(e.target.value);\r\n }, []);\r\n\r\n const showSpinner = isLoading || isTyping;\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\nexport default SearchInput;\r\n","import { Trans } from '@lingui/macro';\r\nimport { Button, ButtonBar } from 'components/Buttons';\r\nimport { Modal, ModalBody } from 'components/Modal';\r\nimport React from 'react';\r\nimport theme from './StandardReplies.module.scss';\r\n\r\ntype DeleteStandardReplyModalProps = {\r\n isOpen: boolean;\r\n toggle: () => void;\r\n confirmDeleteReply: () => void;\r\n};\r\n\r\nconst DeleteStandardReplyModal: React.FC = ({ isOpen, toggle, confirmDeleteReply }) => {\r\n return (\r\n \r\n \r\n
    \r\n Are you sure you want to delete the reply?\r\n
    \r\n
    \r\n \r\n It will then disappear from the list. If you change your mind later, then you have to start all over\r\n again.\r\n \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 DeleteStandardReplyModal;","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faChevronRight } from '@fortawesome/pro-light-svg-icons';\r\nimport theme from './StandardReplies.module.scss';\r\nimport { DateDisplay } from 'components/localization';\r\nimport { classnames } from 'utils/html';\r\nimport EditStandardReplyModal from './EditStandardReplyModal';\r\nimport { StandardReply } from 'types';\r\nimport { deleteStandardReply } from 'services/standard-replies';\r\nimport DeleteStandardReplyModal from './DeleteStandardReplyModal';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\n\r\ninterface StandardReplyCardProps {\r\n standardReply: StandardReply;\r\n onChange(): void;\r\n}\r\n\r\nconst StandardReplyCard: React.FC = ({ standardReply, onChange }) => {\r\n const [editStandardReplyModalIsOpen, setEditStandardReplyModalIsOpen] = useState(false);\r\n const [deleteStandardReplyModalIsOpen, setDeleteStandardReplyModalIsOpen] = useState(false);\r\n\r\n const onSave = async () => {\r\n onChange();\r\n };\r\n\r\n const handleDeleteClick = () => {\r\n setEditStandardReplyModalIsOpen(false);\r\n setDeleteStandardReplyModalIsOpen(true);\r\n };\r\n\r\n const confirmDeleteStandardReply = async () => {\r\n setDeleteStandardReplyModalIsOpen(false);\r\n // setEditStandardReplyModalIsOpen(false);\r\n await deleteStandardReply(standardReply.id!);\r\n onChange();\r\n iconToast.success(Standard reply has been deleted);\r\n };\r\n\r\n return (\r\n <>\r\n setEditStandardReplyModalIsOpen(true)}>\r\n
    \r\n
    \r\n
    \r\n {standardReply.title}\r\n
    \r\n
    \r\n {standardReply.text}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Comment\r\n
    \r\n {standardReply.updateDate === null ? (\r\n
    \r\n Created \r\n
    \r\n ) : (\r\n
    \r\n Updated \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n {editStandardReplyModalIsOpen && (\r\n setEditStandardReplyModalIsOpen(false)}\r\n standardReply={standardReply}\r\n onSave={onSave}\r\n onDeleteClick={handleDeleteClick}\r\n />\r\n )}\r\n\r\n {deleteStandardReplyModalIsOpen && (\r\n {\r\n setDeleteStandardReplyModalIsOpen(false);\r\n setEditStandardReplyModalIsOpen(true);\r\n }}\r\n confirmDeleteReply={confirmDeleteStandardReply}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default StandardReplyCard;","import { request } from 'utils/ajax';\r\n\r\nexport type SearchResultType = 'Project' | 'ResidentialUnit' | 'CatalogProduct' | 'User';\r\nexport interface SearchResult {\r\n projectId: number;\r\n objectId: number;\r\n objectType: SearchResultType;\r\n displayName: string;\r\n objectInfo: any;\r\n imageId: number | null;\r\n residentialUnitName: string | null;\r\n}\r\n\r\nexport function globalSearch(projectId: number, query: string): Promise {\r\n return request(`api/search`, { query: { projectId, q: query } }).then((x) => x.json());\r\n}\r\n\r\nexport function searchByFields(data: T[] | null, searchText: string, fields: string[]): T[] {\r\n if (data && data?.length && fields.length && searchText.length) {\r\n searchText = searchText.toLowerCase();\r\n return data.filter((x) =>\r\n fields?.some((field) => {\r\n // Check if field is an array to include in search\r\n if (field.includes('[].')) {\r\n const [array, arrayField] = field.split('[].');\r\n return x[array].some((y) => {\r\n return y[arrayField].toLowerCase().match(searchText);\r\n });\r\n }\r\n\r\n return x[field]?.toLowerCase()?.includes(searchText);\r\n })\r\n );\r\n }\r\n return data ?? [];\r\n}\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport theme from './StandardReplies.module.scss';\r\nimport SimpleFormPage from 'components/SimpleFormPage/SimpleFormPage';\r\nimport StandardRepliesEmpty from './StandardRepliesEmpty';\r\nimport SearchInput from 'components/SearchInput';\r\nimport { Button } from 'components/Buttons';\r\nimport StandardReplyCard from './StandardReplyCard';\r\nimport { getStandardRepliesByProfileId } from 'services/standard-replies';\r\nimport { searchByFields } from 'services/search';\r\nimport EditStandardReplyModal from './EditStandardReplyModal';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { faPlus } from '@fortawesome/pro-light-svg-icons';\r\n\r\ninterface StandardRepliesPageProps {\r\n profileId: number;\r\n}\r\n\r\nconst StandardRepliesPage: React.FC = ({ profileId }) => {\r\n const [newStandardReplyModalIsOpen, setNewStandardReplyModalIsOpen] = useState(false);\r\n const [standardReplies, , reloadStandardReplies] = useAsyncState(\r\n () => getStandardRepliesByProfileId(profileId),\r\n [profileId],\r\n null\r\n );\r\n const [searchText, setSearchText] = useState('');\r\n\r\n return (\r\n
    \r\n {standardReplies?.length === 0 && (\r\n \r\n \r\n \r\n )}\r\n\r\n {standardReplies && standardReplies.length > 0 && (\r\n
    \r\n
    \r\n \r\n Create a message \"template\" that agents can use frequently. The template can then be added\r\n directly to client messages.\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n setSearchText(text)} />\r\n
    \r\n \r\n
    \r\n {searchByFields(standardReplies, searchText, ['title', 'name', 'text', 'comment'])?.map(\r\n (standardReply) => (\r\n \r\n )\r\n )}\r\n
    \r\n )}\r\n\r\n setNewStandardReplyModalIsOpen(false)}\r\n onSave={reloadStandardReplies}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default StandardRepliesPage;","import { request } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { ReportEmbedConfig, ReportTheme } from '@ygtechnologies/embedded-reports';\r\nimport { getCoreApiUrl } from 'utils/ajax';\r\n\r\n\r\nexport function generateReportToken(profileId: number, report: string): Promise {\r\n return request(getCoreApiUrl() + `/v1/analysis/${report}/embed`, {\r\n method: 'POST',\r\n json: true,\r\n query: { profileId },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function getAnalyticsTheme(profileId: number) {\r\n return request(getCoreApiUrl() + `/v1/analysis/theme`, {\r\n method: 'GET',\r\n json: true,\r\n query: { profileId },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function setAnalyticsTheme(profileId: number, theme: ReportTheme) {\r\n return request(getCoreApiUrl() + `/v1/analysis/theme`, {\r\n method: 'PUT',\r\n json: true,\r\n body: theme,\r\n query: { profileId },\r\n }).then((x) => x.json());\r\n}\r\n","import React, { useEffect, useState } from 'react';\r\nimport theme from './AnalyticsSettings.module.scss';\r\nimport { useAsyncState, useMergeState } from 'utils/hooks';\r\nimport { getAnalyticsTheme, setAnalyticsTheme } from 'services/analytics';\r\nimport { Button, ButtonBar, ColorPicker, ValidationForm } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { t } from '@lingui/macro';\r\nimport SimpleFormPage from 'components/SimpleFormPage/SimpleFormPage';\r\nimport { Trans } from '@lingui/macro';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport { ReportTheme } from '@ygtechnologies/embedded-reports';\r\n\r\ninterface AnalyticsSettingsProps {\r\n profileId: number;\r\n}\r\n\r\ninterface ColorField {\r\n field: keyof ReportTheme;\r\n name: string;\r\n description: string;\r\n}\r\n\r\nconst AnalyticsSettings = ({ profileId }: AnalyticsSettingsProps) => {\r\n const [currentTheme] = useAsyncState(() => getAnalyticsTheme(profileId), [profileId], null);\r\n const [newTheme, mergeNewTheme, setNewTheme] = useMergeState(null);\r\n const [saving, setSaving] = useState(false);\r\n\r\n const fields: ColorField[] = [\r\n { field: 'color1', name: t`Color` + ' 1', description: t`Header and columns` },\r\n { field: 'color2', name: t`Color` + ' 2', description: t`Lines and secondary columns` },\r\n { field: 'color3', name: t`Color` + ' 3', description: t`Grid lines and borders` },\r\n { field: 'color4', name: t`Color` + ' 4', description: t`Alternative red` },\r\n { field: 'color5', name: t`Color` + ' 5', description: t`Alternative yellow` },\r\n { field: 'color6', name: t`Color` + ' 6', description: t`Alternative green` },\r\n ];\r\n\r\n useEffect(() => {\r\n setNewTheme({ ...currentTheme });\r\n }, [currentTheme, setNewTheme]);\r\n\r\n const handleSubmit = async () => {\r\n if (!newTheme) {\r\n return;\r\n }\r\n setSaving(true);\r\n try {\r\n await setAnalyticsTheme(profileId, newTheme);\r\n iconToast.success(Saved);\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n if (!newTheme) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n
    \r\n Colors\r\n
    \r\n
    \r\n {fields.map((field) => (\r\n
    \r\n mergeNewTheme({ [field.field]: v })}\r\n value={newTheme[field.field] || ''}\r\n placeholder={t`Use default`}\r\n />\r\n {field.description}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \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 AnalyticsSettings;\r\n","import { ProfileSurveyOverview } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport React from 'react';\r\n\r\nexport interface SurveySetupProps {\r\n profileId: number;\r\n}\r\n\r\nexport const SurveySetup: React.FC = ({ profileId }) => {\r\n return ;\r\n};\r\n","import React, { useState, useEffect } from 'react';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { COUNTRY_CODES, InputWrapper, LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { ValidationForm, ValidatingInput, ValidationSummary, ValidatingSelect } from 'components/forms/validation';\r\nimport ImageUpload from 'components/generic-controls/ImageUpload';\r\nimport {\r\n getProfileImageUrl,\r\n createOrUpdateProfile,\r\n getProfileConfiguration,\r\n getProfileBackgroundImageUrl,\r\n ProfileConfiguration,\r\n UpdateProfileOptions,\r\n} from 'services/profiles';\r\nimport theme from './ProfileEdit.module.scss';\r\nimport { Button } from 'components/Buttons';\r\nimport { setActiveProfile } from 'state/global/actions';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { TranslatableText, UnitOfMeasurement } from 'types';\r\nimport { useTimestamp, useMergeState, useAsyncState, useParamReplace } from 'utils/hooks';\r\nimport { IState } from 'state/IState';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport { validateSubdomain } from 'utils/url';\r\nimport SimpleFormPage from 'components/SimpleFormPage/SimpleFormPage';\r\nimport { getCurrencies } from 'services/currencies';\r\nimport { toNullableNumber } from 'utils/html';\r\nimport { PageTitle, SimplePageTitle } from 'components/layout/PageTitle';\r\nimport { Tabs, LinkTab } from 'components/Tabs';\r\nimport StandardRepliesPage from './StandardReplies/StandardRepliesPage';\r\nimport { useParams, Redirect } from 'react-router';\r\nimport AnalyticsSettings from './Analytics/AnalyticsSettings';\r\nimport { SurveySetup } from './SurveySetup/SurveySetup';\r\nimport { FeatureToggleFlags, useCheckValidNumber } from 'utils/featureToggle';\r\n\r\ninterface ProfileEditProps {}\r\n\r\nexport enum CompanySettingsTab {\r\n Profile = 'profile',\r\n StandardReplies = 'standard-replies',\r\n SurveySetup = 'survey-setup',\r\n Analytics = 'analytics',\r\n}\r\n\r\ntype UrlParams = {\r\n tab: CompanySettingsTab;\r\n};\r\n\r\nconst ProfileEdit: React.FC = () => {\r\n const { tab } = useParams();\r\n const replaceParams = useParamReplace();\r\n const currentProfile = useSelector((state: IState) => state.global.activeProfile);\r\n\r\n const [saving, setSaving] = useState(false);\r\n const [headerImage, setHeaderImage] = useState(null);\r\n const [backgroundImage, setBackgroundImage] = useState(null);\r\n const [errors, setErrors] = useState([]);\r\n const [config, mergeConfig, setConfig] = useMergeState(null);\r\n const [currencies] = useAsyncState(() => getCurrencies(), [], []);\r\n const showBuyerSurvey = useCheckValidNumber(FeatureToggleFlags.ShowProfileSurvey, currentProfile?.id) as boolean;\r\n\r\n const { id: profileId, permissions: profilePermissions } = useSelector((state: IState) => state.global.activeProfile!);\r\n const dispatch = useDispatch();\r\n\r\n const cacheBuster = useTimestamp([profileId]);\r\n\r\n useEffect(() => {\r\n async function loadData() {\r\n setConfig(null);\r\n const config = await getProfileConfiguration(profileId);\r\n setConfig(config);\r\n }\r\n\r\n loadData();\r\n }, [profileId, setConfig]);\r\n\r\n const handleFormSubmit = async (e) => {\r\n e.preventDefault();\r\n\r\n if (!config) {\r\n return;\r\n }\r\n\r\n setErrors([]);\r\n setSaving(true);\r\n\r\n var data: UpdateProfileOptions = {\r\n ...config,\r\n image: headerImage,\r\n backgroundImage,\r\n };\r\n\r\n try {\r\n var result = await createOrUpdateProfile(profileId, data);\r\n dispatch(setActiveProfile(result));\r\n iconToast.success(Profile settings saved);\r\n } catch (e: any) {\r\n // duplicate subdomain\r\n if (e.status === 409) {\r\n const errorMessage = Subdomain name taken;\r\n iconToast.error(errorMessage);\r\n setErrors(errors.concat([errorMessage]));\r\n }\r\n } finally {\r\n setSaving(false);\r\n }\r\n };\r\n\r\n if (!tab) {\r\n return ;\r\n }\r\n\r\n if (!config || !currencies) {\r\n return ;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n Profile}>\r\n \r\n \r\n
    \r\n Logo\r\n
    \r\n setHeaderImage(image)}\r\n previewClassName={theme.headerImageEditPreview}\r\n />\r\n
    \r\n
    \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n {profilePermissions.isPaying && (\r\n \r\n )}\r\n\r\n {/*
    \r\n
    \r\n External logins\r\n
    \r\n {Object.values(ExternalLoginProvider).map((provider: ExternalLoginProvider) => (\r\n setLoginProviders(toggleValue(loginProviders, provider, e.target.checked))}>\r\n \r\n \r\n ))}\r\n
    \r\n
    \r\n
    */}\r\n {profilePermissions.isPaying && (\r\n
    \r\n Background image\r\n
    \r\n setBackgroundImage(image)}\r\n aspectRatio={16 / 10}\r\n currentImage={\r\n backgroundImage ||\r\n getProfileBackgroundImageUrl(profileId) + '?__' + cacheBuster\r\n }\r\n />\r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n Standard replies}>\r\n \r\n \r\n {showBuyerSurvey && (\r\n Survey setup}>\r\n \r\n \r\n )}\r\n {profilePermissions.canManageAnalytics && (\r\n Analytics}>\r\n \r\n \r\n )}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ProfileEdit;\r\n","import React, { useCallback } from 'react';\r\nimport { PageTitle, SimplePageTitle } from 'components/layout/PageTitle';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport ProjectSettingsGeneral from './ProjectSettings/ProjectSettingsGeneral';\r\nimport { useHistory } from 'react-router';\r\nimport { Project } from 'types';\r\nimport Breadcrumbs from 'components/layout/Breadcrumbs';\r\n\r\ninterface CreateProjectProps {}\r\n\r\nconst CreateProject: React.FC = (props) => {\r\n const history = useHistory();\r\n\r\n const handleSave = useCallback(\r\n (project: Project) => {\r\n history.push(`/projects/${project.id}`);\r\n },\r\n [history]\r\n );\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n Projects\r\n \r\n\r\n \r\n Create new project\r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CreateProject;\r\n","import React from 'react';\r\nimport theme from './ZipFileDownload.module.scss';\r\nimport { useParams } from 'react-router';\r\nimport { getZipDownloadUrl } from 'services/documents';\r\nimport { Trans } from '@lingui/macro';\r\nimport { ExternalLinkButton } from 'components/Buttons';\r\nimport { faFileArchive } from '@fortawesome/pro-light-svg-icons';\r\n\r\ninterface ZipFileDownloadProps {}\r\n\r\n/**\r\n * Currently not in use\r\n */\r\nconst ZipFileDownload: React.FC = (props) => {\r\n const { downloadId } = useParams<{ downloadId: string }>();\r\n\r\n return (\r\n
    \r\n

    \r\n Your zip file is ready to download. \r\n

    \r\n \r\n Download zip file\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default ZipFileDownload;\r\n","import { lazy } from 'react';\r\n\r\nexport const LazyReport = lazy(() => import('./Report.js'));\r\n","import React, { Suspense, useCallback } from 'react';\r\nimport { generateReportToken } from 'services/analytics';\r\nimport theme from './SellerReportsPage.module.scss';\r\nimport { LazyReport } from 'components/Reporting/LazyReport';\r\nimport { useCurrentCulture } from 'utils/hooks';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { SimplePageTitle } from 'components/layout/PageTitle';\r\nimport { t } from '@lingui/macro';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface SellerReportsPageProps {}\r\n\r\nconst SellerReportsPage: React.FC = (props) => {\r\n const profile = useSelector((state: IState) => state.global.activeProfile);\r\n const [currentCulture] = useCurrentCulture();\r\n\r\n const loader = useCallback(() => {\r\n if (!profile) {\r\n return Promise.resolve(null);\r\n }\r\n\r\n return generateReportToken(profile.id, 'AdminProducts');\r\n }, [profile?.id]);\r\n\r\n if (!profile) {\r\n return ;\r\n }\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\nexport default SellerReportsPage;\r\n","import React from 'react';\r\nimport { Route, Switch, Redirect } from 'react-router-dom';\r\nimport { ModalReleaseInfo, ListReleasesInfo, LanguageOptions } from '@ygtechnologies/bygr-frontend-tools';\r\nimport { rubusTheme, RootStyle, useThemeStyle } from '@ygtechnologies/rubus-ui';\r\n\r\nimport NotFound from 'components/error-pages/NotFound';\r\nimport MyProjects from 'seller/components/project/MyProjects';\r\nimport ProfileInvite from 'components/profile/ProfileInvite';\r\nimport ProjectRouting from 'seller/components/project/ProjectRouting';\r\nimport ProfileUserManagement from 'components/profile/ProfileUserManagement';\r\nimport AuthRoute, { AuthRouteConditions } from 'components/app/AuthRoute';\r\nimport SellerListener from './SellerListener';\r\nimport UserSettings from 'components/user-settings/UserSettings';\r\nimport SellerSidebar from './components/SellerSidebar';\r\nimport LinkStepWizard from './components/catalog-groups/LinkToUnit';\r\nimport Catalog from './components/catalog/Catalog';\r\nimport ProfileEdit from 'seller/components/profiles/ProfileEdit';\r\nimport CreateProject from './components/project/CreateProject';\r\nimport ZipFileDownload from './components/documents/ZipFileDownload';\r\nimport { FeatureToggleFlags, useGetFeatureFlag } from 'utils/featureToggle';\r\nimport { useCurrentCulture } from '../utils/hooks';\r\nimport SellerReportsPage from './components/reports/SellerReportsPage';\r\n\r\nconst changeSettingsOnly: AuthRouteConditions = { profile: 'canChangeProfileSettings' };\r\nconst manageUsersOnly: AuthRouteConditions = { profile: 'canManageUsers' };\r\nconst profileCanCreateProject: AuthRouteConditions = { profile: 'canCreateProject' };\r\ntype SellerRoutingProps = {};\r\n\r\nconst currentEnvironment = window['APP_CONFIG']['ENVIRONMENT'];\r\nconst SellerRouting: React.FC = () => {\r\n let baseUrl = '';\r\n const showReleaseInformation = useGetFeatureFlag(FeatureToggleFlags.ShowReleaseInformation) as boolean;\r\n\r\n const [cultureInfo] = useCurrentCulture();\r\n const currentLanguage = cultureInfo?.languageCode as LanguageOptions;\r\n const { styles } = useThemeStyle(rubusTheme);\r\n\r\n return (\r\n <>\r\n \r\n \r\n\r\n \r\n \r\n {showReleaseInformation && currentLanguage && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n (\r\n \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 SellerRouting;\r\n","import React, { useEffect } from 'react';\r\nimport { useSelector, useDispatch } from 'react-redux';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { setActiveProfileId } from 'state/global/creators';\r\nimport BuyerRouting from 'buyer/BuyerRouting';\r\nimport { IState } from 'state/IState';\r\nimport ClientStorage from 'ClientStorage';\r\nimport { ProfileType } from 'types';\r\nimport SessionStorage from 'SessionStorage';\r\nimport NoProfilesMessage from 'components/profile/NoProfilesMessage';\r\nimport SellerRouting from 'seller/SellerRouting';\r\n\r\ninterface ProfileRoutingProps {}\r\n\r\nconst ProfileRouting: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const activeProfile = useSelector((state: IState) => state.global.activeProfile);\r\n const profiles = useSelector((state: IState) => state.global.profiles);\r\n\r\n useEffect(() => {\r\n if (!profiles) {\r\n return;\r\n }\r\n\r\n if (activeProfile) {\r\n ClientStorage.lastProfileId = activeProfile.id;\r\n return;\r\n }\r\n\r\n // if (profiles.length === 0) {\r\n // history.push('/profiles/new');\r\n // return;\r\n // }\r\n\r\n if (profiles[0]) {\r\n // ClientStorage.lastProfileId = profiles[0].profileId;\r\n setActiveProfileId(dispatch, profiles[0].profileId);\r\n }\r\n }, [profiles, activeProfile, dispatch]);\r\n\r\n if (profiles && profiles.length === 0) {\r\n return ;\r\n }\r\n\r\n if (!activeProfile) {\r\n return ;\r\n }\r\n\r\n //Fixes redirect after changing profile\r\n //TODO: find better solution instead of this workaround\r\n // if (!activeProfile || activeProfile.id !== +match.params.profileId) {\r\n // return ;\r\n // }\r\n\r\n // if (location.state && location.state.impersonationResidentialUnitId) {\r\n // return ;\r\n // }\r\n\r\n if (SessionStorage.impersonationResidentialUnitId) {\r\n return ;\r\n }\r\n\r\n switch (activeProfile.type) {\r\n case ProfileType.Buyer:\r\n return ;\r\n\r\n case ProfileType.Seller:\r\n return ;\r\n\r\n default:\r\n return null;\r\n }\r\n};\r\n\r\nexport default ProfileRouting;\r\n\r\n","import { request } from 'utils/ajax'\r\n\r\n// export function inviteBuyer(residentialUnitId, email) {\r\n// return request(`api/residential-unit/${residentialUnitId}/invite-buyer`, {\r\n// method: \"POST\",\r\n// json: true,\r\n// body: { email }\r\n// }).then(x => x.json());\r\n// }\r\n\r\nexport function getInvitationInfo(token) {\r\n \r\n return request(`api/user-invitation?token=${encodeURIComponent(token)}`).then(x => x.json());\r\n}\r\n\r\n\r\nexport function acceptInvite(token, newUserInfo) {\r\n return request(`api/user-invitation/accept`, {\r\n method: \"POST\",\r\n json: true,\r\n body: {\r\n token,\r\n userRegistrationInfo: newUserInfo\r\n }\r\n }).then(x => x.json());\r\n}","import React from 'react';\r\nimport { EmailValidity } from 'types';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Trans } from '@lingui/macro';\r\nimport { faSpinner, faCheck, faTimes } from '@fortawesome/pro-light-svg-icons';\r\nimport { Tooltip } from 'components/Tooltip';\r\nimport theme from './RegisterForm.module.scss';\r\n\r\ninterface RegisterFormEmailWrapperProps {\r\n emailValidity: EmailValidity;\r\n}\r\n\r\nconst RegisterFormEmailWrapper: React.FC = ({ emailValidity, children }) => {\r\n return (\r\n
    \r\n {children}\r\n
    \r\n {(emailValidity === EmailValidity.BadEmail || emailValidity === EmailValidity.AlreadyExists) && (\r\n \r\n )}\r\n {emailValidity === EmailValidity.Checking && }\r\n {emailValidity === EmailValidity.Valid && (\r\n <>\r\n Email is valid.}>\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n {emailValidity === EmailValidity.BadEmail && (\r\n

    \r\n Invalid email.\r\n

    \r\n )}\r\n {emailValidity === EmailValidity.AlreadyExists && (\r\n

    \r\n A user with this email address already exists.\r\n

    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default RegisterFormEmailWrapper;\r\n","import React from 'react';\r\nimport { classnames } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nimport { TranslatableText } from 'types';\r\n\r\nimport { ValidatingSelect } from 'components/forms/validation';\r\n\r\nimport theme from './UserPageInput.module.scss'; // reuse same css module as UserPageInput\r\n\r\ninterface WrapperProps {\r\n label: TranslatableText;\r\n}\r\n\r\nexport const UserPageSelectWrapper: React.FC = ({ label, children }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\ninterface ValidatingSelectProps extends React.SelectHTMLAttributes {}\r\n\r\ntype OwnProps = ValidatingSelectProps & WrapperProps;\r\n\r\nconst UserPageSelect = React.forwardRef(\r\n ({ label, placeholder, children, ...selectProps }, ref) => {\r\n return (\r\n \r\n
    \r\n \r\n {children}\r\n \r\n
    \r\n
    \r\n );\r\n }\r\n);\r\n\r\nexport default UserPageSelect;\r\n","import React, { useState, useMemo } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { register, RegisterData, checkRegisterEmailAddress } from 'services/users';\r\nimport { t, Trans } from '@lingui/macro';\r\nimport { ValidationSummary, ValidationForm } from 'components/forms/validation';\r\nimport { loadUser } from 'state/global/creators';\r\nimport { useGetCorrectLanguageCodeForPhoneInput, useValidationManager } from 'utils/hooks';\r\nimport UserPageInput, { UserPageInputWrapper } from './UserPageInput';\r\nimport { InvitationWithToken, TranslatableText, EmailValidity } from 'types';\r\nimport theme from './RegisterForm.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport RegisterFormEmailWrapper from './RegisterFormEmailWrapper';\r\nimport PasswordValidation from './PasswordValidation';\r\nimport { getDefaultPasswordRequirements, PasswordValidator } from 'utils/password';\r\nimport {\r\n COUNTRY_CODES,\r\n PhoneInput,\r\n USER_SALUTATION_OPTOIONS,\r\n USER_TITLE_OPTIONS,\r\n} from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { Button as RubusButton } from '@ygtechnologies/rubus-ui';\r\nimport UserPageSelect from './UserPageSelect';\r\n\r\ntype WithStateProps = {\r\n invitation?: InvitationWithToken;\r\n onRegister?: () => void;\r\n};\r\n\r\nexport const RegisterWithState: React.FC = ({ invitation, onRegister: onRegisterCallback }) => {\r\n function getInviteValueOrDefault(\r\n invitation: T | undefined,\r\n field: K\r\n ): T[K] | '' {\r\n if (!invitation) {\r\n return '' as T[K];\r\n }\r\n\r\n const value = invitation[field];\r\n return (value !== undefined && value !== null ? value : '') as T[K];\r\n }\r\n\r\n const [registerData, setRegisterData] = useState({\r\n email: getInviteValueOrDefault(invitation, 'inviteeEmail'),\r\n firstName: getInviteValueOrDefault(invitation, 'inviteeFirstName'),\r\n inviteToken: invitation ? invitation.token : null,\r\n lastName: getInviteValueOrDefault(invitation, 'inviteeLastName'),\r\n salutation: getInviteValueOrDefault(invitation, 'inviteeSalutation') || null,\r\n title: getInviteValueOrDefault(invitation, 'inviteeTitle') || null,\r\n password: '',\r\n phoneNumber: getInviteValueOrDefault(invitation, 'inviteePhoneNumber'),\r\n });\r\n const [isSaving, setIsSaving] = useState(false);\r\n const dispatch = useDispatch();\r\n const setRegisterField = (field: keyof RegisterData, value: string) => {\r\n setRegisterData({ ...registerData, [field]: value });\r\n };\r\n\r\n const onRegister = async () => {\r\n setIsSaving(true);\r\n try {\r\n await register(registerData);\r\n\r\n await loadUser(dispatch);\r\n if (onRegisterCallback) onRegisterCallback();\r\n } finally {\r\n setIsSaving(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\ninterface RegisterProps {\r\n registerData: RegisterData;\r\n countryCode?: keyof typeof COUNTRY_CODES | null;\r\n setRegisterField: (field: keyof RegisterData, value: string) => void;\r\n isSaving: boolean;\r\n buttonLabel?: TranslatableText;\r\n onRegister: () => void;\r\n}\r\n\r\nconst Register: React.FC = ({\r\n buttonLabel = Register,\r\n registerData,\r\n countryCode,\r\n setRegisterField,\r\n onRegister,\r\n isSaving,\r\n}) => {\r\n const [confirmPassword, setConfirmPassword] = useState(registerData.password);\r\n const [emailValidity, setEmailValidity] = useState(EmailValidity.NotChecked);\r\n const validator = useMemo(() => new PasswordValidator(getDefaultPasswordRequirements()), []);\r\n\r\n const currentLanguagePhoneLang = useGetCorrectLanguageCodeForPhoneInput();\r\n const validationManager = useValidationManager([\r\n {\r\n isValid: (value, options) => registerData.password === confirmPassword,\r\n message: ({ field }) => Passwords must match,\r\n summaryMessage: ({ field }) => Passwords must match,\r\n },\r\n {\r\n isValid: (value, options) => validator.validate(registerData.password).valid,\r\n message: ({ field }) => Password does not fulfill complexity rules,\r\n summaryMessage: ({ field }) => Password does not fulfill complexity rules,\r\n },\r\n ]);\r\n\r\n const handleFormSubmit = async (e) => {\r\n e.preventDefault();\r\n onRegister();\r\n };\r\n\r\n const checkEmail = async () => {\r\n if (registerData.email.length === 0) {\r\n setEmailValidity(EmailValidity.NotChecked);\r\n return;\r\n }\r\n try {\r\n setEmailValidity(EmailValidity.Checking);\r\n const validity = await checkRegisterEmailAddress(registerData.email);\r\n setEmailValidity(validity);\r\n } catch (e: any) {\r\n console.error(e);\r\n }\r\n };\r\n return (\r\n
    \r\n \r\n \r\n Email}\r\n value={registerData.email}\r\n onChange={(e) => setRegisterField('email', e.target.value)}\r\n autoFocus\r\n className={classnames({\r\n 'is-invalid':\r\n emailValidity === EmailValidity.BadEmail || emailValidity === EmailValidity.AlreadyExists,\r\n })}\r\n />\r\n \r\n\r\n {countryCode === 'DE' && (\r\n <>\r\n Salutation}\r\n value={registerData.salutation ?? ''}\r\n onChange={(e) => setRegisterField('salutation', e.target.value)}>\r\n \r\n {USER_SALUTATION_OPTOIONS.map((option) => (\r\n \r\n ))}\r\n \r\n\r\n Title}\r\n value={registerData.title ?? ''}\r\n onChange={(e) => setRegisterField('title', e.target.value)}>\r\n \r\n {USER_TITLE_OPTIONS.map((option) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n\r\n First name}\r\n value={registerData.firstName}\r\n onChange={(e) => setRegisterField('firstName', e.target.value)}\r\n />\r\n\r\n Last name}\r\n value={registerData.lastName}\r\n onChange={(e) => setRegisterField('lastName', e.target.value)}\r\n />\r\n Phone number}>\r\n setRegisterField('phoneNumber', value)}\r\n required\r\n fieldName={t`Phone number`}\r\n initialCountry={currentLanguagePhoneLang}\r\n />\r\n \r\n\r\n Password}\r\n value={registerData.password}\r\n onChange={(e) => setRegisterField('password', e.target.value)}\r\n />\r\n\r\n Repeat password}\r\n value={confirmPassword}\r\n onChange={(e) => setConfirmPassword(e.target.value)}\r\n />\r\n\r\n \r\n\r\n \r\n\r\n \r\n {buttonLabel}\r\n \r\n \r\n
    \r\n );\r\n};\r\nexport default Register;\r\n","import React, { useState } from 'react';\r\nimport { acceptInvite } from 'services/user-invitations';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Button } from 'components/Buttons';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { withRouter, RouteComponentProps } from 'react-router';\r\nimport { IState } from 'state/IState';\r\nimport { InvitationWithToken, TranslatableText } from 'types';\r\nimport { RegisterWithState } from './RegisterForm';\r\nimport { useQueryString } from 'utils/hooks';\r\nimport LoginForm from './LoginForm';\r\nimport { loadUser } from 'state/global/creators';\r\nimport { Button as RubusButton } from '@ygtechnologies/rubus-ui';\r\nimport { CustomLink } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ntype OwnProps = RouteComponentProps & {\r\n invitation: InvitationWithToken;\r\n greetingText: TranslatableText;\r\n};\r\n\r\ninterface QueryStringParams {\r\n mode: PageMode;\r\n}\r\n\r\nenum PageMode {\r\n Login = 'login',\r\n Register = 'register',\r\n}\r\n\r\nconst InvitationDetailsBuyerOrProfile: React.FC = ({ invitation, history, location, greetingText }) => {\r\n const [acceptInProgress, setAcceptInProgress] = useState(false);\r\n const { mode } = useQueryString(location);\r\n const user = useSelector((state: IState) => state.global.user!);\r\n const dispatch = useDispatch();\r\n\r\n const redirectUrl = `/profiles/${invitation.inviteeProfileId}`;\r\n\r\n async function handleAccept(e) {\r\n e.preventDefault();\r\n\r\n setAcceptInProgress(true);\r\n\r\n try {\r\n // const redirectUrl = `/profiles/${invitation.inviteeProfileId}`;\r\n await acceptInvite(invitation.token);\r\n await loadUser(dispatch);\r\n history.replace(redirectUrl);\r\n } finally {\r\n setAcceptInProgress(false);\r\n }\r\n }\r\n\r\n if (user.isLoggedIn) {\r\n if (invitation.inviteeEmail.toLowerCase() !== user.email.toLowerCase()) {\r\n return (\r\n
    \r\n {greetingText}\r\n\r\n \r\n Log out and switch user\r\n \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n

    {greetingText}

    \r\n \r\n \r\n );\r\n }\r\n\r\n if (mode === PageMode.Login || invitation.emailExists) {\r\n return (\r\n <>\r\n
    {greetingText}
    \r\n\r\n

    \r\n Sign in\r\n

    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n Don't have an account? \r\n Create one here\r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n
    {greetingText}
    \r\n\r\n

    \r\n Create an account\r\n

    \r\n history.replace(redirectUrl)} />\r\n\r\n
    \r\n\r\n
    \r\n \r\n Already have an account? \r\n Log in here\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default withRouter(InvitationDetailsBuyerOrProfile);\r\n","import React, { useState } from 'react';\r\nimport { Trans } from '@lingui/macro';\r\nimport { Button, InternalLinkButton } from 'components/Buttons';\r\nimport { withRouter, RouteComponentProps } from 'react-router';\r\nimport { IState } from 'state/IState';\r\nimport { InvitationWithToken } from 'types';\r\nimport LoginForm from './LoginForm';\r\nimport { acceptInvite } from 'services/user-invitations';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { loadUser } from 'state/global/creators';\r\nimport { Button as RubusButton } from '@ygtechnologies/rubus-ui';\r\nimport { CustomLink } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ntype OwnProps = RouteComponentProps & {\r\n invitation: InvitationWithToken;\r\n};\r\n\r\nconst InvitationDetailsProject: React.FC = ({ invitation, history, location }) => {\r\n const [acceptInProgress, setAcceptInProgress] = useState(false);\r\n const user = useSelector((state: IState) => state.global.user!);\r\n const dispatch = useDispatch();\r\n\r\n const redirectUrl = `/profiles/${invitation.inviteeProfileId}`;\r\n async function handleAccept(e) {\r\n e.preventDefault();\r\n\r\n setAcceptInProgress(true);\r\n\r\n try {\r\n await acceptInvite(invitation.token);\r\n loadUser(dispatch);\r\n history.replace(redirectUrl);\r\n } finally {\r\n setAcceptInProgress(false);\r\n }\r\n }\r\n\r\n if (!user.isLoggedIn) {\r\n return (\r\n <>\r\n You are invited to collaborate on {invitation.invitedTo}.\r\n\r\n

    \r\n Sign in to your Rubus account\r\n

    \r\n\r\n \r\n \r\n );\r\n }\r\n\r\n if (invitation.inviteeEmail.toLowerCase() !== user.email.toLowerCase()) {\r\n return (\r\n
    \r\n \r\n You are currently logged in as {user.email}
    \r\n In order to accept this invitation you must be logged in as {invitation.inviteeEmail}.\r\n
    \r\n\r\n \r\n Log out and switch user\r\n \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n Click accept in order to accept the invitation to collaborate on {invitation.invitedTo} with {user.email}\r\n \r\n\r\n \r\n Accept invitation\r\n \r\n \r\n );\r\n};\r\n\r\nexport default withRouter(InvitationDetailsProject);\r\n","import React, { useEffect, useState } from 'react';\r\nimport { getInvitationInfo } from 'services/user-invitations';\r\nimport { Trans } from '@lingui/macro';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { connect, useSelector } from 'react-redux';\r\nimport { withRouter, RouteComponentProps } from 'react-router';\r\nimport { IState } from 'state/IState';\r\nimport { InviteType, InvitationWithToken, TranslatableText } from 'types';\r\nimport { useQueryString } from 'utils/hooks';\r\nimport SplashPage from './SplashPage';\r\nimport { getProjectHeaderImageUrl } from 'services/projects';\r\nimport InvitationDetailsBuyerOrProfile from './InvitationDetailsBuyerOrProfile';\r\nimport InvitationDetailsProject from './InvitationDetailsProject';\r\nimport { InternalLinkButton } from 'components/Buttons';\r\nimport { HttpStatusCode } from 'HttpStatusCodes';\r\nimport { CustomRedirect } from 'components/navigation';\r\nimport theme from './InvitationDetails.module.scss';\r\n\r\nconst mapStateToProps = (state: IState) => ({\r\n user: state.global.user!,\r\n});\r\n\r\ntype OwnProps = ReturnType & RouteComponentProps & {};\r\n\r\ninterface QueryStringParams {\r\n token: string;\r\n}\r\n\r\nconst InvitationDetails: React.FC = ({ location }) => {\r\n const [invitation, setInvitation] = useState(null);\r\n const [autoRedirect, setAutoRedirect] = useState(false);\r\n const [errorMessage, setErrorMessage] = useState(null);\r\n const { token } = useQueryString(location);\r\n const user = useSelector((state: IState) => state.global.user);\r\n\r\n useEffect(() => {\r\n async function loadData() {\r\n try {\r\n if (!token) {\r\n throw Error('Invalid token');\r\n }\r\n\r\n setInvitation({ ...(await getInvitationInfo(token)), token });\r\n } catch (e: any) {\r\n if (e.status === HttpStatusCode.BadRequest) {\r\n setAutoRedirect(true);\r\n setErrorMessage(This invitation has already been accepted.);\r\n } else {\r\n setErrorMessage(This invitation does not seem to be valid.);\r\n }\r\n }\r\n }\r\n\r\n loadData();\r\n }, [token]);\r\n\r\n if (autoRedirect && user && user.isLoggedIn) {\r\n return ;\r\n }\r\n\r\n if (errorMessage) {\r\n return (\r\n \r\n
    \r\n

    {errorMessage}

    \r\n\r\n \r\n Proceed to login\r\n \r\n\r\n \r\n \r\n If you think there is an issue with the invitation please contact the person who invited you.\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n if (!invitation) {\r\n return ;\r\n }\r\n\r\n const renderInviteDetails = () => {\r\n switch (invitation.inviteType) {\r\n case InviteType.Buyer:\r\n return (\r\n \r\n Welcome and congratulations for your new home!
    \r\n {invitation.invitedTo}\r\n \r\n }\r\n invitation={invitation}\r\n />\r\n );\r\n case InviteType.Profile:\r\n return (\r\n You are invited to collaborate on {invitation.invitedTo}.}\r\n invitation={invitation}\r\n />\r\n );\r\n case InviteType.Project:\r\n return ;\r\n }\r\n };\r\n\r\n return (\r\n \r\n

    \r\n Hi {invitation.inviteeFirstName || ''}!\r\n

    \r\n\r\n {renderInviteDetails()}\r\n {/*
    {renderActions()}
    */}\r\n
    \r\n );\r\n};\r\n\r\nexport default connect(mapStateToProps)(withRouter(InvitationDetails));\r\n","import React, { useEffect } from 'react';\r\n\r\nimport { withRouter, RouteComponentProps } from 'react-router-dom';\r\n\r\nimport { setActiveProfileId } from 'state/global/creators';\r\nimport { IState } from 'state/IState';\r\nimport { connect } from 'react-redux';\r\nimport { CustomRedirect } from 'components/navigation';\r\nimport { Dispatch } from 'redux';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nconst mapStateToProps = (state: IState) => ({ activeProfile: state.global.activeProfile });\r\n\r\nconst mapDispatchToProps = (dispatch: Dispatch) => ({\r\n setActiveProfileId: (profileId: number) => setActiveProfileId(dispatch, profileId),\r\n});\r\n\r\ntype IOwnProps = ReturnType & ReturnType & RouteComponentProps;\r\n\r\nconst ProfileSwitcher = ({ match, activeProfile, setActiveProfileId }: IOwnProps) => {\r\n const urlProfileId = +match.params.profileId;\r\n\r\n useEffect(() => {\r\n if (!activeProfile || activeProfile.id !== urlProfileId) {\r\n setActiveProfileId(urlProfileId);\r\n }\r\n }, [urlProfileId, activeProfile, setActiveProfileId]);\r\n\r\n if (activeProfile && activeProfile.id === urlProfileId) {\r\n return ;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(withRouter(ProfileSwitcher));","import React, { useEffect } from 'react';\r\nimport { CustomRedirect } from 'components/navigation';\r\nimport SessionStorage from 'SessionStorage';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { clearBuyerPermissions } from 'state/buyer/permissions/actions';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { IState } from 'state/IState';\r\nimport { useHistory } from 'react-router';\r\n\r\nexport const ImpersonateBuyer: React.FC<{ residentialUnitId: number }> = ({ residentialUnitId }) => {\r\n SessionStorage.impersonationResidentialUnitId = residentialUnitId;\r\n\r\n return ;\r\n};\r\n\r\nexport const EndBuyerImpersonation: React.FC = () => {\r\n SessionStorage.impersonationResidentialUnitId = null;\r\n\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const buyerPermissions = useSelector((state: IState) => state.buyer.permissions);\r\n\r\n useEffect(() => {\r\n dispatch(clearBuyerPermissions());\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (!buyerPermissions) {\r\n history.replace('/');\r\n }\r\n dispatch(clearBuyerPermissions());\r\n }, [dispatch, history, buyerPermissions]);\r\n\r\n return ;\r\n};\r\n","import { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport NotFound from 'components/error-pages/NotFound';\r\nimport { CustomRedirect } from 'components/navigation';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { useIsBuyer } from 'utils/hooks';\r\n\r\nconst ExternalLinkMeetings: React.FC<{ theProjectId: number }> = ({ theProjectId }) => {\r\n const isBuyer = useIsBuyer();\r\n const [projectId, setProjectId] = useState(null);\r\n const [error, setError] = useState(false);\r\n\r\n useEffect(() => {\r\n async function load() {\r\n try {\r\n setProjectId(theProjectId);\r\n } catch {\r\n setError(true);\r\n }\r\n }\r\n\r\n if (!isBuyer) {\r\n load();\r\n }\r\n }, [theProjectId, isBuyer]);\r\n\r\n if (isBuyer) {\r\n return ;\r\n }\r\n\r\n if (error) {\r\n return ;\r\n }\r\n\r\n if (!projectId) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ExternalLinkMeetings;","import React, { useState, useEffect } from 'react';\r\nimport { CustomRedirect } from 'components/navigation';\r\nimport { getDocument } from 'services/documents';\r\nimport { getExternalAgreement } from 'services/external-agreements';\r\nimport { useIsBuyer } from 'utils/hooks';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { getCatalogLinkGroup } from 'services/buyer-option-batches';\r\n\r\ntype objectType = 'project-documents' | 'documents' | 'external-agreements' | 'buyer-options';\r\n\r\nasync function getProjectId(type: objectType, objectId: string | number) {\r\n switch (type) {\r\n case 'project-documents':\r\n case 'documents':\r\n return (await getDocument(objectId as string)).projectId;\r\n case 'buyer-options':\r\n return (await getCatalogLinkGroup(objectId as number)).projectId;\r\n case 'external-agreements':\r\n return (await getExternalAgreement(objectId as number)).projectId;\r\n default:\r\n return null;\r\n }\r\n}\r\n\r\nconst ExternalLinkTasksRouting: React.FC<{\r\n type: objectType;\r\n objectId: number | string;\r\n}> = ({ type, objectId }) => {\r\n const isBuyer = useIsBuyer();\r\n\r\n const [projectId, setProjectId] = useState(null);\r\n\r\n useEffect(() => {\r\n async function load() {\r\n setProjectId(await getProjectId(type, objectId));\r\n }\r\n\r\n if (!isBuyer) {\r\n load();\r\n }\r\n }, [objectId, isBuyer, type]);\r\n\r\n if (isBuyer) {\r\n return null;\r\n }\r\n\r\n if (!projectId) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ExternalLinkTasksRouting;","import React, { useEffect, useState } from 'react';\r\nimport { useIsBuyer } from 'utils/hooks';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { CustomRedirect } from 'components/navigation';\r\nimport NotFound from 'components/error-pages/NotFound';\r\nimport { getChangeRequest } from 'services/change-requests';\r\n\r\nconst ExternalLinksRoutingChangeRequest: React.FC<{ changeRequestId: number }> = ({ changeRequestId }) => {\r\n const isBuyer = useIsBuyer();\r\n const [projectId, setProjectId] = useState(null);\r\n const [residentialUnitId, setResidentialUnitId] = useState(null);\r\n const [error, setError] = useState(false);\r\n\r\n useEffect(() => {\r\n async function load() {\r\n try {\r\n const changeRequest = await getChangeRequest(changeRequestId);\r\n setProjectId(changeRequest.projectId);\r\n setResidentialUnitId(changeRequest.residentialUnitId);\r\n } catch {\r\n setError(true);\r\n }\r\n }\r\n\r\n if (!isBuyer) {\r\n load();\r\n }\r\n }, [changeRequestId, isBuyer]);\r\n\r\n if (isBuyer) {\r\n return ;\r\n }\r\n\r\n if (error) {\r\n return ;\r\n }\r\n\r\n if (!projectId || !residentialUnitId) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ExternalLinksRoutingChangeRequest;","import React from 'react';\r\nimport { useIsBuyer } from 'utils/hooks';\r\nimport { CustomRedirect } from 'components/navigation';\r\nimport NotFound from 'components/error-pages/NotFound';\r\n\r\nconst ExternalLinksRoutingChangeRequestOffer: React.FC<{ changeRequestId: number }> = ({ changeRequestId }) => {\r\n const isBuyer = useIsBuyer();\r\n\r\n if (isBuyer) {\r\n return ;\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default ExternalLinksRoutingChangeRequestOffer;","import React from 'react';\r\nimport { useAsyncState, useIsBuyer } from 'utils/hooks';\r\nimport { getCommentThreadRelationInfo } from 'services/comments';\r\nimport { CommentThreadType, BygrModule } from 'types';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { CustomRedirect } from 'components/navigation';\r\nimport NotFound from 'components/error-pages/NotFound';\r\nimport { getModuleUrl } from 'utils/returnUrl';\r\nimport { urlCombine } from 'utils/url';\r\nfunction goToModule(targetModule: BygrModule, relativeUrl: string) {\r\n window.location.href = urlCombine(getModuleUrl(targetModule, window.APP_CONFIG), relativeUrl);\r\n}\r\n\r\nconst ExternalRoutingChat: React.FC<{ threadId: number }> = ({ threadId }) => {\r\n const isBuyer = useIsBuyer();\r\n const [relation] = useAsyncState(() => getCommentThreadRelationInfo(threadId), [threadId], null);\r\n\r\n if (!relation) {\r\n return ;\r\n }\r\n\r\n if (isBuyer) {\r\n switch (relation.threadType) {\r\n case CommentThreadType.ChangeRequest:\r\n return ;\r\n case CommentThreadType.ResidentialUnit:\r\n return ;\r\n case CommentThreadType.Case:\r\n goToModule(BygrModule.Aftermarket, `cases/${relation.entityId}`);\r\n return ;\r\n case CommentThreadType.ResidentialUnitAftermarket:\r\n goToModule(BygrModule.Aftermarket, `messages`);\r\n return ;\r\n }\r\n } else {\r\n switch (relation.threadType) {\r\n case CommentThreadType.ChangeRequest:\r\n return (\r\n \r\n );\r\n case CommentThreadType.ExternalAgreement:\r\n return (\r\n \r\n );\r\n case CommentThreadType.ResidentialUnit:\r\n return (\r\n \r\n );\r\n case CommentThreadType.Project:\r\n return ;\r\n case CommentThreadType.Case:\r\n goToModule(BygrModule.Aftermarket, `${relation.projectId}/units/${relation.residentialUnitId}/cases`);\r\n return ;\r\n case CommentThreadType.ResidentialUnitAftermarket:\r\n goToModule(BygrModule.Aftermarket, `${relation.projectId}/units/${relation.residentialUnitId}/messages`);\r\n return ;\r\n }\r\n }\r\n\r\n return ;\r\n};\r\n\r\nexport default ExternalRoutingChat;","import NotFound from 'components/error-pages/NotFound';\r\nimport React from 'react';\r\nimport { Route, RouteComponentProps, Switch, withRouter } from 'react-router';\r\nimport AuthRoute from '../AuthRoute';\r\nimport ExternalLinkMeetings from './ExternalLinkMeetings';\r\nimport ExternalLinkRejectedTasksRouting from './ExternalLinkTasksRouting';\r\nimport ExternalLinksRoutingChangeRequest from './ExternalLinksRoutingChangeRequest';\r\nimport ExternalLinksRoutingChangeRequestOffer from './ExternalLinksRoutingChangeRequestOffer';\r\nimport ExternalRoutingChat from './ExternalLinksRoutingChat';\r\n\r\ntype ExternalLinksRoutingProps = RouteComponentProps & {};\r\n\r\nconst ExternalLinksRouting: React.FC = ({ match }) => {\r\n var baseUrl = match ? match.url : '/';\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\nexport default withRouter(ExternalLinksRouting);\r\n","import React, { useEffect, useState } from 'react';\r\nimport theme from './ApproveExternal.module.scss';\r\nimport { useQueryString } from 'utils/hooks';\r\nimport { Redirect, useLocation } from 'react-router';\r\nimport { approveExternalLogin } from 'services/users';\r\nimport { useReturnUrl } from 'utils/returnUrl';\r\nimport { BygrModule } from 'types';\r\nimport { HttpStatusCode } from 'HttpStatusCodes';\r\nimport SplashPage from '../SplashPage';\r\nimport { Trans } from '@lingui/macro';\r\n\r\ninterface ExternalUserRequestProps {}\r\n\r\ninterface QueryStringParams {\r\n email?: string;\r\n}\r\n\r\nconst ExternalUserRequest = ({}: ExternalUserRequestProps) => {\r\n const location = useLocation();\r\n const { email } = useQueryString(location);\r\n return (\r\n \r\n

    \r\n Link user\r\n

    \r\n \r\n You already have an account with Rubus. You need to link that account to your Plyo account. An email has been\r\n sent to {email} with further instructions. You must click 'accept' in this email to gain access to the\r\n property.\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default ExternalUserRequest;\r\n","import React, { useEffect, useState } from 'react';\r\nimport theme from './ApproveExternal.module.scss';\r\nimport { useQueryString } from 'utils/hooks';\r\nimport { Redirect, useLocation } from 'react-router';\r\nimport { approveExternalLogin } from 'services/users';\r\nimport { useReturnUrl } from 'utils/returnUrl';\r\nimport { BygrModule } from 'types';\r\nimport { HttpStatusCode } from 'HttpStatusCodes';\r\nimport SplashPage from '../SplashPage';\r\nimport { Trans } from '@lingui/macro';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { loadUser } from 'state/global/creators';\r\n\r\ninterface ExternalUserValidateProps {\r\n};\r\n\r\ninterface QueryStringParams {\r\n token?: string;\r\n returnUrl?: string;\r\n}\r\n\r\ntype Result = \"success\" | \"token-error\";\r\n\r\nconst ExternalUserValidate = ({ }: ExternalUserValidateProps) => {\r\n const location = useLocation();\r\n const { token } = useQueryString(location);\r\n const currentUser = useSelector((state: IState) => state.global.user);\r\n const navigateToReturnUrl = useReturnUrl(BygrModule.ChangeManagement);\r\n const [result, setResult] = useState(null);\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n if (!token) {\r\n return;\r\n }\r\n\r\n async function approve() {\r\n try {\r\n await approveExternalLogin(token!);\r\n await loadUser(dispatch);\r\n setResult(\"success\");\r\n navigateToReturnUrl();\r\n }\r\n catch (e: any) {\r\n if (e.status === HttpStatusCode.BadRequest || e.status === HttpStatusCode.NotFound || e.status === HttpStatusCode.Unauthorized) {\r\n if (currentUser?.isLoggedIn) {\r\n navigateToReturnUrl();\r\n }\r\n else {\r\n setResult(\"token-error\");\r\n }\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n\r\n approve();\r\n\r\n }, [token])\r\n\r\n function renderContent() {\r\n if (!result) {\r\n return Please wait...\r\n }\r\n\r\n if (result === \"token-error\") {\r\n return Error\r\n }\r\n\r\n if (result === \"success\") {\r\n return Success, redirecting...;\r\n }\r\n }\r\n\r\n return (\r\n \r\n

    Link user

    \r\n {renderContent()}\r\n
    \r\n );\r\n};\r\n\r\nexport default ExternalUserValidate;\r\n","import React, { useEffect, useState } from 'react';\r\nimport theme from './ConfirmMeeting.module.scss';\r\nimport SplashPage from './SplashPage';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { confirmMeetingForBuyer } from 'services/booking';\r\nimport { Trans } from '@lingui/macro';\r\nimport { useQueryString } from 'utils/hooks';\r\nimport { useLocation } from 'react-router';\r\n\r\nexport interface ConfirmMeetingProps {}\r\n\r\ninterface QueryString {\r\n token?: string;\r\n}\r\n\r\nenum ConfirmStatus {\r\n Loading,\r\n Success,\r\n Failed,\r\n}\r\n\r\nexport const ConfirmMeeting: React.FC = ({}) => {\r\n const location = useLocation();\r\n const { token } = useQueryString(location);\r\n const [status, setStatus] = useState(ConfirmStatus.Loading);\r\n useEffect(() => {\r\n async function confirm() {\r\n if (token) {\r\n setStatus(ConfirmStatus.Loading);\r\n try {\r\n await confirmMeetingForBuyer(token);\r\n setStatus(ConfirmStatus.Success);\r\n } catch {\r\n setStatus(ConfirmStatus.Failed);\r\n }\r\n }\r\n }\r\n\r\n confirm();\r\n }, [token]);\r\n\r\n const renderContent = () => {\r\n if (status === ConfirmStatus.Loading) {\r\n return ;\r\n } else if (status === ConfirmStatus.Success) {\r\n return (\r\n

    \r\n Meeting time confirmed\r\n

    \r\n );\r\n } else if (status === ConfirmStatus.Failed) {\r\n return (\r\n

    \r\n Meeting time could not be confirmed\r\n

    \r\n );\r\n }\r\n };\r\n\r\n return {renderContent()};\r\n};\r\n","import React, { useEffect, useRef } from 'react';\r\nimport AuthRoute from './AuthRoute';\r\n\r\nimport { Route, Switch, withRouter, RouteComponentProps, Redirect, useLocation } from 'react-router-dom';\r\nimport { StartMixpanelLogging } from '@ygtechnologies/bygr-frontend-tools';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\n\r\nimport LoginRegister from 'components/application-user/LoginRegister';\r\nimport Logout from 'components/application-user/Logout';\r\nimport ForgotPassword from 'components/application-user/ForgotPassword';\r\nimport ResetPassword from 'components/application-user/ResetPassword';\r\nimport ConfirmEmail from 'components/application-user/ConfirmEmail';\r\nimport ProfileDetails from 'components/app/ProfileRouting';\r\nimport InvitationDetails from 'components/application-user/InvitationDetails';\r\nimport NotFound from 'components/error-pages/NotFound';\r\nimport ProfileSwitcher from './ProfileSwitcher';\r\nimport { getRelativePath } from 'utils/url';\r\nimport { ImpersonateBuyer, EndBuyerImpersonation } from './BuyerImpersonation';\r\nimport ExternalLinksRouting from './ExternalLinkRouting';\r\nimport ExternalUserRequest from 'components/application-user/ExternalUser/ExternalUserRequest';\r\nimport ExternalUserValidate from 'components/application-user/ExternalUser/ExternalUserValidate';\r\nimport { ConfirmMeeting } from 'components/application-user/ConfirmMeeting';\r\nimport { rubusTheme, RootStyle, useThemeStyle } from '@ygtechnologies/rubus-ui';\r\n\r\ntype MainRoutingProps = RouteComponentProps & {\r\n isLoggedIn: boolean;\r\n};\r\n\r\nconst MainRouting: React.FC = ({ match, location, isLoggedIn }) => {\r\n const baseUrl = match ? match.url : '/';\r\n\r\n const user = useSelector((state: IState) => state.global.user);\r\n const project = useSelector((state: IState) => state.global.activeProject);\r\n const profile = useSelector((state: IState) => state.global.activeProfile);\r\n\r\n const { styles } = useThemeStyle(rubusTheme);\r\n\r\n return (\r\n <>\r\n \r\n\r\n {\r\n if (user && user.email && user.email.indexOf('bygr.io') > -1) {\r\n return 'Internal';\r\n } else if (profile) {\r\n return profile.type;\r\n }\r\n return 'unknown';\r\n })(user, profile),\r\n }}\r\n project={{\r\n id: project ? project.id : 0,\r\n name: project ? project.name : 'unknown',\r\n }}\r\n company={{\r\n id: project ? project.sellerProfileId : 0,\r\n name: project ? project.sellerProfileName : 'unknown',\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n {!isLoggedIn && }\r\n\r\n {isLoggedIn && [\r\n // ,\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 withRouter(MainRouting);\r\n","import { request } from 'utils/ajax';\r\n\r\nexport interface Terms {\r\n sellerTermsText: string;\r\n sellerPrivacyPolicyUrl: string;\r\n sellerTermsAcceptRequired: boolean;\r\n bygrTermsAcceptRequired: boolean;\r\n}\r\n\r\nexport function getTerms(profileId: number | null): Promise {\r\n return request(`api/terms`, {\r\n json: true,\r\n query: {\r\n profileId,\r\n },\r\n }).then((x) => x.json());\r\n}\r\n\r\nexport function acceptTerms(profileId: number | null) {\r\n return request(`api/terms/accept`, {\r\n json: true,\r\n body: {\r\n profileId,\r\n },\r\n method: 'PUT',\r\n });\r\n}","import React, { useState } from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { useGetActiveProfileName, useAsyncState } from 'utils/hooks';\r\nimport TermsModal from './TermsModal';\r\nimport { getTerms, acceptTerms } from 'services/terms';\r\n\r\ninterface TermsModalWrapperProps {\r\n preview?: boolean;\r\n}\r\n\r\n// const supportedLocales = ['nb-NO'];\r\n\r\nconst TermsModalWrapper: React.FC = ({ preview }) => {\r\n // const isBuyer = useIsBuyer();\r\n const [checked, setChecked] = useState(false);\r\n \r\n const user = useSelector((state: IState) => state.global.user);\r\n const activeProfile = useSelector((state: IState) => state.global.activeProfile);\r\n const profileId = activeProfile?.id ?? null;\r\n\r\n const [terms, , reloadTerms] = useAsyncState(\r\n () => ((user?.isLoggedIn && profileId) ? getTerms(profileId) : Promise.resolve(null)),\r\n [user, profileId],\r\n null\r\n );\r\n const profileName = useGetActiveProfileName();\r\n const [saving, setSaving] = useState(false);\r\n\r\n const acceptRequired = terms && (terms.bygrTermsAcceptRequired || terms.sellerTermsAcceptRequired);\r\n\r\n if (preview || !user || !user.isLoggedIn || !terms || !acceptRequired) {\r\n return null;\r\n }\r\n\r\n const onAcceptClick = async () => {\r\n setSaving(true);\r\n await acceptTerms(profileId);\r\n await reloadTerms();\r\n setSaving(false);\r\n // await loadUser();\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default TermsModalWrapper;\r\n","import React, { useEffect, useCallback } from 'react';\r\nimport { useDispatch } from 'react-redux';\r\nimport { debounce } from 'lodash-es';\r\nimport { setWindowWidth } from 'state/global/actions';\r\n\r\ntype Props = {\r\n // OwnProps\r\n};\r\n\r\nconst WindowSizeListener: React.FC = (props) => {\r\n const dispatch = useDispatch();\r\n\r\n const setWidth = useCallback(() => {\r\n dispatch(setWindowWidth(window.innerWidth));\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n const handleResize = debounce(() => {\r\n setWidth();\r\n }, 20);\r\n\r\n window.addEventListener('resize', handleResize);\r\n return () => {\r\n window.removeEventListener('resize', handleResize);\r\n };\r\n }, [setWidth]);\r\n return null;\r\n};\r\n\r\nexport default WindowSizeListener;\r\n","export const setSellerDocumentTypes = (data) => ({\r\n type: 'SELLER_SET_DOCUMENT_TYPES',\r\n data,\r\n});\r\n","import { setSellerDocumentTypes } from './actions';\r\nimport { getResidentialUnitDocumentTypes } from 'services/documents';\r\n\r\nexport const loadSellerDocumentTypes = async (dispatch, projectId) => {\r\n const data = await getResidentialUnitDocumentTypes(projectId);\r\n dispatch(setSellerDocumentTypes(data));\r\n};","import { useEffect } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\n\r\nexport default function ScrollToTop() {\r\n const { pathname } = useLocation();\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n }, [pathname]);\r\n\r\n return null;\r\n}","import React, { useContext, RefCallback } from 'react';\r\nimport HeaderContext from './HeaderContext';\r\n\r\ninterface HeaderTitleProps {\r\n className?: string;\r\n}\r\n\r\n// const CustomContent: React.FC<{}> = () => {\r\n// return ReactDOM.createPortal(children, domNode);\r\n// };\r\n\r\nconst PageTitleContainer: React.FC = ({ children, className }) => {\r\n const context = useContext(HeaderContext);\r\n\r\n const updateRef: RefCallback = (ref) => {\r\n if (ref && context.container) {\r\n ref.appendChild(context.container);\r\n }\r\n };\r\n\r\n return
    ;\r\n};\r\n\r\nexport default PageTitleContainer;\r\n","import React, { useState, useEffect, useRef, useCallback } from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport theme from './HeaderSearch.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport { globalSearch, SearchResult } from 'services/search';\r\nimport { CustomLink } from 'components/navigation';\r\nimport Autosuggest from 'react-autosuggest';\r\nimport { useHistory } from 'react-router-dom';\r\nimport { faSearch, faSpinner } from '@fortawesome/pro-light-svg-icons';\r\nimport { getProjectHeaderImageThumbnailUrl } from 'services/projects';\r\nimport { useDebounce, usePrevious } from 'utils/hooks';\r\nimport { getUserAvatarThumbnailUrl } from 'services/users';\r\nimport { IState } from 'state/IState';\r\nimport { useSelector } from 'react-redux';\r\nimport { Thumbnail } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ninterface HeaderSearchProps {\r\n className?: string;\r\n}\r\n\r\nconst HeaderSearch: React.FC = ({ className }) => {\r\n const projectId = useSelector((state: IState) => state.global.activeProject?.id);\r\n const history = useHistory();\r\n\r\n const [searchText, setSearchText] = useState('');\r\n const [searchResults, setSearchResults] = useState([]);\r\n const [resultsSearchText, setResultsSearchText] = useState('');\r\n\r\n const inputEl = useRef(null);\r\n const activeRequestRef = useRef | null>(null);\r\n\r\n const debouncedText = useDebounce(searchText, 300);\r\n\r\n const doSearch = useCallback(\r\n (value) => {\r\n activeRequestRef.current = globalSearch(projectId!, value);\r\n\r\n activeRequestRef.current.then((result) => {\r\n if (value === searchText) {\r\n setSearchResults(result);\r\n setResultsSearchText(value);\r\n }\r\n });\r\n },\r\n [searchText, projectId]\r\n );\r\n\r\n const previousDebouncedText = usePrevious(debouncedText);\r\n useEffect(() => {\r\n if (previousDebouncedText !== undefined && debouncedText !== previousDebouncedText) {\r\n doSearch(debouncedText);\r\n }\r\n }, [debouncedText, previousDebouncedText, doSearch]);\r\n\r\n const getItemLink = (searchResult: SearchResult) => {\r\n const prefix = ``;\r\n switch (searchResult.objectType) {\r\n // case 'Project':\r\n // return `${prefix}/projects/${searchResult.objectId}`;\r\n case 'ResidentialUnit':\r\n return `${prefix}/projects/${searchResult.projectId}/residential-units/${searchResult.objectId}`;\r\n // case 'CatalogProduct':\r\n // return `${prefix}/catalog/products/${searchResult.objectId}`;\r\n case 'User':\r\n return `${prefix}/projects/${searchResult.projectId}/residential-units/${searchResult.objectInfo}`;\r\n default:\r\n return prefix;\r\n }\r\n };\r\n\r\n const getObjectTypeName = (searchResult: SearchResult) => {\r\n switch (searchResult.objectType) {\r\n // case 'Project':\r\n // return Project;\r\n case 'ResidentialUnit':\r\n return Residential unit;\r\n // case 'CatalogProduct':\r\n // return Product;\r\n case 'User':\r\n return User;\r\n default:\r\n return Unknown;\r\n }\r\n };\r\n\r\n const handleSearchChange = (e, { newValue }) => {\r\n setSearchText(newValue);\r\n };\r\n\r\n const onSuggestionsFetchRequested = ({ value, reason }) => {\r\n if (reason === 'input-focused') {\r\n doSearch(value);\r\n }\r\n\r\n // else {\r\n // debouncedSearch(value);\r\n // }\r\n };\r\n\r\n const onSuggestionsClearRequested = () => {\r\n //TODO:Fix fetch abort\r\n // if(this.activeRequest) {\r\n // this.activeRequest.abort();\r\n // }\r\n setSearchResults([]);\r\n };\r\n\r\n const handleSuggestionSelected = (e, { method, suggestion }) => {\r\n if (method === 'enter') {\r\n history.push(getItemLink(suggestion));\r\n }\r\n\r\n inputEl.current && inputEl.current.blur();\r\n };\r\n\r\n const getImageUrl = (searchResult: SearchResult) => {\r\n switch (searchResult.objectType) {\r\n // case 'Project':\r\n // return getProjectHeaderImageThumbnailUrl(searchResult.projectId);\r\n case 'ResidentialUnit':\r\n return getProjectHeaderImageThumbnailUrl(searchResult.projectId);\r\n // case 'CatalogProduct':\r\n // return getCatalogProductImageThumbnailUrl(searchResult.imageId!);\r\n case 'User':\r\n return getUserAvatarThumbnailUrl(searchResult.objectId);\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const getInfoText = (searchResult: SearchResult) => {\r\n switch (searchResult.objectType) {\r\n // case 'Project':\r\n // return (\r\n // <>\r\n // {searchResult.objectInfo} Units\r\n // \r\n // );\r\n case 'ResidentialUnit':\r\n return searchResult.objectInfo ? Sold : Available;\r\n // case 'CatalogProduct':\r\n // return ;\r\n case 'User':\r\n return searchResult.residentialUnitName;\r\n default:\r\n return null;\r\n }\r\n };\r\n const getImageStyle = (searchResult: SearchResult) => {\r\n switch (searchResult.objectType) {\r\n // case 'Project':\r\n case 'User':\r\n case 'ResidentialUnit':\r\n return 'circle';\r\n default:\r\n return 'square';\r\n }\r\n };\r\n\r\n const renderSuggestion = (suggestion) => {\r\n const infoText = getInfoText(suggestion);\r\n const imageUrl = getImageUrl(suggestion);\r\n\r\n const imageStyle = getImageStyle(suggestion);\r\n\r\n // return (\r\n // : undefined}\r\n // title={suggestion.displayName}\r\n // subtitle={getObjectTypeName(suggestion)}\r\n // />\r\n // );\r\n\r\n return (\r\n \r\n
    \r\n {imageUrl && }\r\n
    \r\n
    \r\n
    {suggestion.displayName}
    \r\n
    {getObjectTypeName(suggestion)}
    \r\n
    \r\n
    {infoText}
    \r\n
    \r\n );\r\n };\r\n\r\n //TODO: Implement (Type “H101” or “Goaleitet”) in placeholder\r\n\r\n const loading = searchText && resultsSearchText !== searchText;\r\n\r\n if (!projectId) {\r\n return null;\r\n }\r\n const inputProps = {\r\n placeholder: t`Search...`,\r\n value: searchText,\r\n onChange: handleSearchChange,\r\n type: 'search',\r\n };\r\n return (\r\n
    \r\n searchText}\r\n renderSuggestion={renderSuggestion}\r\n inputProps={inputProps}\r\n focusInputOnSuggestionClick={false}\r\n onSuggestionSelected={handleSuggestionSelected}\r\n highlightFirstSuggestion\r\n ref={(autosuggest) => {\r\n if (autosuggest) {\r\n inputEl.current = (autosuggest as any).input;\r\n }\r\n }}\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 HeaderSearch;\r\n","import React, { DependencyList } from 'react';\r\nimport { ProfileType, ProfileInfo } from 'types';\r\nimport { ProjectIcon, ProfileIcon } from 'components/Icons';\r\n\r\ninterface HeaderProfileThumbnailProps {\r\n profile: ProfileInfo;\r\n sizeInPx: number;\r\n className?: string;\r\n cacheDependencies?: DependencyList;\r\n}\r\n\r\nconst HeaderProfileThumbnail: React.FC = ({\r\n profile,\r\n sizeInPx,\r\n className,\r\n cacheDependencies,\r\n}) => {\r\n if (profile.profileType === ProfileType.Buyer) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default HeaderProfileThumbnail;","import React from 'react';\r\nimport { faCog, faProjectDiagram, faUsers } from '@fortawesome/pro-light-svg-icons';\r\nimport { t, Trans } from '@lingui/macro';\r\nimport { ProfileType } from 'types';\r\nimport { IState } from 'state/IState';\r\nimport { useSelector } from 'react-redux';\r\nimport NavigationContextMenu from '../NavigationContextMenu';\r\nimport HeaderProfileThumbnail from './HeaderProfileThumbnail';\r\nimport { useImpersonationInfo } from 'utils/hooks';\r\nimport { FeatureToggleFlags, useGetFeatureFlag } from 'utils/featureToggle';\r\n\r\ninterface HeaderProfileMenuProps {}\r\n\r\nconst HeaderProfileMenu: React.FC = (props) => {\r\n const impersonationInfo = useImpersonationInfo();\r\n\r\n const activeProfile = useSelector((state: IState) => state.global.activeProfile);\r\n const userProfiles = useSelector((state: IState) => state.global.profiles);\r\n const activeProfileInfo = userProfiles?.find((x) => x.profileId === activeProfile?.id);\r\n const showReleaseInformation = useGetFeatureFlag(FeatureToggleFlags.ShowReleaseInformation) as boolean;\r\n\r\n if (!userProfiles) {\r\n return null;\r\n }\r\n\r\n const isSeller = activeProfileInfo?.profileType === ProfileType.Seller;\r\n\r\n const otherUserProfiles = userProfiles.filter((p) => p.profileId !== activeProfileInfo?.profileId);\r\n\r\n const otherSellerUserProfiles = otherUserProfiles.filter((x) => x.profileType === ProfileType.Seller);\r\n const otherBuyerUsrProfiles = otherUserProfiles.filter((x) => x.profileType === ProfileType.Buyer);\r\n\r\n if (impersonationInfo) {\r\n return (\r\n <>\r\n {activeProfileInfo && (\r\n }\r\n title={activeProfileInfo.profileName}\r\n subtitle={Impersonating {impersonationInfo.unitName}}\r\n />\r\n )}\r\n\r\n End impersonation}\r\n />\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {activeProfileInfo && (\r\n }\r\n title={activeProfileInfo.projectName ? activeProfileInfo.projectName : activeProfileInfo.profileName}\r\n subtitle={activeProfileInfo.residentialUnitName}\r\n />\r\n )}\r\n\r\n {isSeller && activeProfile?.permissions.canChangeProfileSettings && (\r\n Company settings}\r\n />\r\n )}\r\n\r\n {isSeller && activeProfile?.permissions.canManageUsers && (\r\n Users and permissions}\r\n />\r\n )}\r\n\r\n {otherSellerUserProfiles.length > 0 && }\r\n {otherSellerUserProfiles.map((p) => (\r\n }\r\n to={`/profiles/${p.profileId}`}\r\n title={p.profileName}\r\n />\r\n ))}\r\n {showReleaseInformation && isSeller ? (\r\n \r\n ) : null}\r\n {otherBuyerUsrProfiles.length > 0 && }\r\n {otherBuyerUsrProfiles.map((p) => (\r\n }\r\n to={`/profiles/${p.profileId}`}\r\n title={p.projectName ? p.projectName : p.profileName}\r\n subtitle={p.residentialUnitName}\r\n />\r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default HeaderProfileMenu;\r\n","import React from 'react';\r\nimport NavigationContextMenu from '../NavigationContextMenu';\r\nimport { faCog, faSignOut } from '@fortawesome/pro-light-svg-icons';\r\nimport { Trans } from '@lingui/macro';\r\nimport { UserIcon } from 'components/Icons';\r\nimport { IState } from 'state/IState';\r\nimport { useSelector } from 'react-redux';\r\ninterface HeaderUserMenuProps {}\r\n\r\nconst HeaderUserMenu: React.FC = (props) => {\r\n const user = useSelector((state: IState) => state.global.user);\r\n\r\n if (!user) {\r\n return null;\r\n }\r\n\r\n return (\r\n <>\r\n }\r\n title={user.displayName}\r\n subtitle={user.email}\r\n />\r\n\r\n \r\n\r\n {!user.readOnly && (\r\n User settings} />\r\n )}\r\n\r\n Sign out} />\r\n \r\n );\r\n};\r\n\r\nexport default HeaderUserMenu;\r\n","import React from 'react';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { useCurrentCulture } from 'utils/hooks';\r\nimport { setUserLocale } from 'services/users';\r\nimport { SupportedCultures } from 'utils/localization';\r\nimport NavigationContextMenu from '../NavigationContextMenu';\r\n\r\ninterface HeaderLanguageMenuProps {}\r\n\r\nconst HeaderLanguageMenu: React.FC = (props) => {\r\n const user = useSelector((state: IState) => state.global.user);\r\n const [, setCurrentCulture] = useCurrentCulture();\r\n\r\n const changeLocale = (locale: string) => {\r\n const actualCulture = setCurrentCulture(locale);\r\n\r\n if (user && user.isLoggedIn && actualCulture.locale !== user?.locale) {\r\n setUserLocale(actualCulture.locale);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {SupportedCultures.map((culture) => (\r\n changeLocale(culture.locale)}\r\n />\r\n // \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default HeaderLanguageMenu;\r\n","import HubSession from './HubSession';\r\nimport { NotificationResult, INotification } from 'types';\r\nimport { getCMConnectionManager } from './connections';\r\n\r\ntype ReceiveNotificationsHandler = (data: NotificationResult) => void;\r\n\r\ntype EventHandler = ReceiveNotificationsHandler;\r\n\r\nexport class NotificationsSession extends HubSession {\r\n // _dispatch: any;\r\n\r\n // constructor() {\r\n // connectionManagerInstance.on('ReceiveNotifications', this.handleReceiveNotifications);\r\n // }\r\n\r\n constructor() {\r\n super(getCMConnectionManager());\r\n }\r\n\r\n markAsViewed(notifications: INotification[]) {\r\n this.connection.invoke(\r\n 'MarkNotificationsAsViewed',\r\n notifications.map((x) => x.id)\r\n );\r\n }\r\n\r\n markAsClicked(notification: INotification) {\r\n this.connection.invoke('MarkNotificationAsClicked', notification.id);\r\n }\r\n requestNotifications(offset: number) {\r\n this.connection.invoke('RequestNotifications', offset);\r\n }\r\n\r\n // handleReceiveNotifications = (data: INotification[]) => {\r\n // this._dispatch(addNotifications(data));\r\n // };\r\n\r\n protected addHandler(method: 'ReceiveNotifications', handler: ReceiveNotificationsHandler): void;\r\n protected addHandler(method: string, handler: EventHandler): void {\r\n super.addHandler(method, handler);\r\n }\r\n\r\n addOnReceiveNotifications(handler: ReceiveNotificationsHandler) {\r\n this.addHandler('ReceiveNotifications', (data) => {\r\n handler(data);\r\n });\r\n }\r\n\r\n // connect() {\r\n // connectionManagerInstance.connect();\r\n // }\r\n\r\n // dispose() {\r\n // connectionManagerInstance.off('ReceiveNotifications', this.handleReceiveNotifications);\r\n // }\r\n}","import React from 'react';\r\nimport theme from './HeaderNotificationsButton.module.scss';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faBell } from '@fortawesome/pro-light-svg-icons';\r\nimport { classnames } from 'utils/html';\r\nimport NotificationBadge from 'components/NotificationBadge';\r\n\r\ninterface NotificationIconProps {\r\n active: boolean;\r\n sizeInPx: number;\r\n unreadNotificationCount: number;\r\n}\r\n\r\nconst NotificationIcon: React.FC = ({ active, sizeInPx, unreadNotificationCount }) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotificationIcon;\r\n","import React from 'react';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport {\r\n faUser,\r\n faCommentsAlt,\r\n faBallotCheck,\r\n faTag,\r\n faFolder,\r\n faFolders,\r\n faDollyFlatbed,\r\n faRulerCombined,\r\n} from '@fortawesome/pro-light-svg-icons';\r\n\r\nconst mapping = {\r\n User: faUser,\r\n Exchange: faRulerCombined,\r\n Comments: faCommentsAlt,\r\n BallotCheck: faBallotCheck,\r\n Tag: faTag,\r\n Folder: faFolder,\r\n Folders: faFolders,\r\n DollyFlatbed: faDollyFlatbed,\r\n};\r\n\r\nexport type BackendIconNames = keyof typeof mapping;\r\n\r\ntype Props = {\r\n iconName: BackendIconNames;\r\n};\r\n\r\nconst BackendIcon: React.FC = (props) => {\r\n return ;\r\n};\r\n\r\nexport default BackendIcon;\r\n","import React from 'react';\r\nimport theme from './NotificationRow.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { DateDistanceDisplay } from 'components/localization';\r\nimport { CustomLink } from 'components/navigation';\r\nimport BackendIcon, { BackendIconNames } from 'components/Icons/BackendIcon';\r\nimport { ProfileIcon } from 'components/Icons';\r\nimport { INotification } from 'types';\r\nimport { Thumbnail } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\ntype Props = {\r\n notification: INotification;\r\n onClick?: (notification: INotification) => void;\r\n};\r\n\r\nconst DeprecatedContent: React.FC = ({ notification, onClick }) => {\r\n const handleClick = (e) => {\r\n if (onClick) {\r\n onClick(notification);\r\n }\r\n };\r\n\r\n if (notification.url) {\r\n return (\r\n \r\n \r\n
    \r\n {notification.message}\r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n }\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n {notification.message}\r\n \r\n \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst DeprecatedRenderIcon: React.FC<{ notification: INotification }> = ({ notification }) => {\r\n if (notification.imageUrl) {\r\n return ;\r\n }\r\n if (notification.iconName === 'ProfileImage') {\r\n return ;\r\n } else if (notification.iconName) {\r\n return ;\r\n } else return
    ;\r\n};\r\n\r\nconst Image: React.FC<{ url: string }> = ({ url }) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst ProfileImage: React.FC<{ profileId: number }> = ({ profileId }) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst Icon: React.FC<{ iconName: BackendIconNames }> = ({ iconName }) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default DeprecatedContent;","import React, { ReactNode } from 'react';\r\nimport theme from './NotificationRow.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { DateDistanceDisplay } from 'components/localization';\r\nimport { CustomLink } from 'components/navigation';\r\nimport BackendIcon, { BackendIconNames } from 'components/Icons/BackendIcon';\r\nimport { ProfileIcon } from 'components/Icons';\r\nimport { Trans } from '@lingui/macro';\r\nimport DeprecatedContent from './DeprecatedNotificationContent';\r\nimport {\r\n ChangeRequestAcceptedData,\r\n ChangeRequestClosedData,\r\n OfferRejectedByBuyerData,\r\n ChangeRequestAddedParticipantData,\r\n DocumentAddedData,\r\n ChangeRequestAddedAttachmentData,\r\n TaskChangeData,\r\n NewLandingPageMessageData,\r\n ProjectInviteAcceptedData,\r\n InvitedUserAcceptedData,\r\n TaggedInChatData,\r\n DeadlineApproachingData,\r\n OfferOnChangeRequestToBuyerData,\r\n ChangeRequestCreatedData,\r\n TaskType,\r\n DeadlineReminderAllSentData,\r\n DeadlineReminderNoOptionsData,\r\n DeadlineReminderWithUnsentData,\r\n BuyerSignedOptionsData,\r\n SendChangeRequestRequestedNewOffersData,\r\n TaggedInChatVer2,\r\n INotification,\r\n NotificationTemplateType,\r\n SendZippedFileReadyData,\r\n} from 'types';\r\n\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { faFileArchive } from '@fortawesome/pro-light-svg-icons';\r\nimport ExternalLink from 'components/navigation/ExternalLink';\r\nimport { getZipDownloadUrl } from 'services/documents';\r\ntype DataProps = {\r\n notification: INotification;\r\n handleClick: Function;\r\n};\r\n\r\ntype NoLinkRowProps = DataProps & {\r\n icon: ReactNode;\r\n};\r\n\r\ntype LinkRowProps = NoLinkRowProps & {\r\n url: string;\r\n};\r\n\r\ninterface NotificationRowProps {\r\n notification: INotification;\r\n onClick?: (notification: INotification) => void;\r\n}\r\n\r\nconst NotificationRow: React.FC = ({ notification, onClick }) => {\r\n const handleClick = (e) => {\r\n if (onClick) {\r\n onClick(notification);\r\n }\r\n };\r\n\r\n switch (notification.templateType) {\r\n case NotificationTemplateType.OldNotification:\r\n return ;\r\n case NotificationTemplateType.ChangeRequestCreated:\r\n return ;\r\n case NotificationTemplateType.OfferOnChangeRequestToBuyer:\r\n return ;\r\n case NotificationTemplateType.DeadlineApproaching:\r\n return ;\r\n case NotificationTemplateType.TaggedInChat:\r\n return ;\r\n case NotificationTemplateType.InvitedUserAccepted:\r\n return ;\r\n case NotificationTemplateType.ProjectInviteAccepted:\r\n return ;\r\n case NotificationTemplateType.NewLandingPageMessage:\r\n return ;\r\n case NotificationTemplateType.TaskChange:\r\n return ;\r\n case NotificationTemplateType.ChangeRequestAddedAttachment:\r\n return ;\r\n case NotificationTemplateType.DocumentAdded:\r\n return ;\r\n case NotificationTemplateType.ChangeRequestAddedParticipant:\r\n return ;\r\n case NotificationTemplateType.OfferRejectedByBuyer:\r\n return ;\r\n case NotificationTemplateType.ChangeRequestClosed:\r\n return ;\r\n case NotificationTemplateType.ChangeRequestAccepted:\r\n return ;\r\n case NotificationTemplateType.DeadlineReminderAllSent:\r\n return ;\r\n case NotificationTemplateType.DeadlineReminderNoOptions:\r\n return ;\r\n case NotificationTemplateType.DeadlineReminderWithUnsent:\r\n return ;\r\n case NotificationTemplateType.BuyerSignedOptions:\r\n return ;\r\n case NotificationTemplateType.ChangeRequestRequestedNewOffers:\r\n return ;\r\n case NotificationTemplateType.ZippedFileReady:\r\n return ;\r\n\r\n default:\r\n return ;\r\n }\r\n};\r\n\r\nconst appendInProjectMessage = (projectName: string) => {\r\n if (projectName) {\r\n return (\r\n \r\n {' '}\r\n \r\n in {projectName}\r\n \r\n \r\n );\r\n }\r\n};\r\n\r\ninterface DataObject {\r\n ResidentialUnitId: number | undefined;\r\n ProfileId?: number | undefined;\r\n ProjectId: number | undefined;\r\n ChangeRequestId: number;\r\n}\r\nconst generateChangeRequestUrl = ({ ResidentialUnitId, ProfileId, ProjectId, ChangeRequestId }: DataObject) => {\r\n if (ResidentialUnitId) {\r\n if (ProfileId && ProjectId) {\r\n return `/profiles/${ProfileId}/projects/${ProjectId}/residential-units/${ResidentialUnitId}/changes/${ChangeRequestId}`;\r\n }\r\n if (ProjectId) {\r\n return `/${ProjectId}/residential-units/${ResidentialUnitId}/changes/${ChangeRequestId}`;\r\n }\r\n return `/residential-units/${ResidentialUnitId}/changes/${ChangeRequestId}`;\r\n }\r\n if (ProfileId && ProjectId) {\r\n return `/profiles/${ProfileId}/projects/${ProjectId}/changes/${ChangeRequestId}`;\r\n }\r\n if (ProjectId) {\r\n return `/projects/${ProjectId}/changes/${ChangeRequestId}`;\r\n }\r\n return `/changes/${ChangeRequestId}`;\r\n};\r\n\r\nconst ChangeRequestCreated: React.FC = ({ notification, handleClick }) => {\r\n const data: ChangeRequestCreatedData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n New change request received from the buyer of {data.UnitName}\r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n};\r\n\r\nconst OfferOnChangeRequestToBuyer: React.FC = ({ notification, handleClick }) => {\r\n const data: OfferOnChangeRequestToBuyerData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n You have received an offer for a request you sent - {data.Name}\r\n \r\n );\r\n};\r\n\r\nconst DeadlineApproaching: React.FC = ({ notification, handleClick }) => {\r\n const data: DeadlineApproachingData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n {data.Name} date arrives soon. Make sure you send your selections in time\r\n \r\n );\r\n};\r\n\r\nconst TaggedInChat: React.FC = ({ notification, handleClick }) => {\r\n const data: TaggedInChatData | TaggedInChatVer2 = notification.data;\r\n\r\n if (data.Version === 2) {\r\n if (data.IsBuyer) {\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n You have been tagged in a message by {data.TaggedByName}\r\n \r\n );\r\n }\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {data.IsMainThread && (\r\n
    \r\n Main thread\r\n
    \r\n )}\r\n {data.IncludesBuyer ? (\r\n
    \r\n Includes buyer\r\n
    \r\n ) : (\r\n
    \r\n Internal\r\n
    \r\n )}\r\n
    \r\n \r\n You have been tagged in a message by {data.TaggedByName}\r\n \r\n {data.ResidentialUnitName && (\r\n <>\r\n {' '}\r\n \r\n connected to unit {data.ResidentialUnitName}\r\n \r\n \r\n )}\r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n } else {\r\n if (data.IsBuyer) {\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n You have been tagged in a message\r\n \r\n );\r\n }\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n You have been tagged in a message\r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n }\r\n};\r\n\r\nconst InvitedUserAccepted: React.FC = ({ notification, handleClick }) => {\r\n const data: InvitedUserAcceptedData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n \r\n {data.Email} has accepted your invitation to {data.Unit}\r\n \r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n};\r\n\r\nconst ProjectInviteAccepted: React.FC = ({ notification, handleClick }) => {\r\n const data: ProjectInviteAcceptedData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n \r\n {data.Email} accepted your invitation to participate in {data.ProjectName}\r\n \r\n \r\n );\r\n};\r\n\r\nconst NewLandingPageMessage: React.FC = ({ notification, handleClick }) => {\r\n const data: NewLandingPageMessageData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n {data.Header}\r\n \r\n );\r\n};\r\n\r\nconst TaskChange: React.FC = ({ notification, handleClick }) => {\r\n const data: TaskChangeData = notification.data;\r\n\r\n const getUrl = () => {\r\n if (data.Type === TaskType.DocumentLink && data.Approved) {\r\n return `/projects/${data.ProjectId}/residential-units/${data.ResidentialUnitId}/documents/${data.DocumentId}`;\r\n } else if (data.Type === TaskType.DocumentLink && data.Rejected) {\r\n return `/projects/${data.ProjectId}/tasks/${\r\n data.IsProjectDocument ? 'project-documents' : 'documents'\r\n }/rejected/${data.DocumentId}`;\r\n } else if (data.Type === TaskType.OptionGroup && data.Approved) {\r\n return `/projects/${data.ProjectId}/linked-options/${data.BuyerOptionGroupBatchId}`;\r\n } else if (data.Type === TaskType.OptionGroup && data.Rejected) {\r\n return `/projects/${data.ProjectId}/tasks/buyer-options/rejected/${data.BuyerOptionGroupBatchId}`;\r\n }\r\n\r\n return '';\r\n };\r\n\r\n const getText = () => {\r\n if (data.Approved && data.Count) {\r\n return (\r\n \r\n {data.Name} has been published to {data.Count} units\r\n \r\n );\r\n } else if (data.Approved && data.UnitName) {\r\n return (\r\n \r\n {data.Name} has been published to {data.UnitName}\r\n \r\n );\r\n } else if (data.Rejected && data.Count) {\r\n return (\r\n \r\n {data.Name} has been rejected to {data.Count} units\r\n \r\n );\r\n } else if (data.Rejected && data.UnitName) {\r\n return (\r\n \r\n {data.Name} has been rejected to {data.UnitName}\r\n \r\n );\r\n } else {\r\n return Oops, something went wrong;\r\n }\r\n };\r\n\r\n const getIconName = () => {\r\n if (data.Type === TaskType.OptionGroup) {\r\n return 'DollyFlatbed';\r\n } else if (data.IsProjectDocument) {\r\n return 'Folders';\r\n }\r\n\r\n return 'Folder';\r\n };\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n {getText()}\r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n};\r\n\r\nconst ChangeRequestAddedAttachment: React.FC = ({ notification, handleClick }) => {\r\n const data: ChangeRequestAddedAttachmentData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n \r\n {data.UnitName} has added a attachment to change request: \"{data.ChangeRequestName}\"\r\n \r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n};\r\n\r\nconst DocumentAdded: React.FC = ({ notification, handleClick }) => {\r\n const data: DocumentAddedData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n <>\r\n \r\n {data.DocumentName} ({data.DocumentTypeName}) has been added to your documents.\r\n \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst ChangeRequestAddedParticipant: React.FC = ({ notification, handleClick }) => {\r\n const data: ChangeRequestAddedParticipantData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n <>\r\n \r\n You have been added as a participant of a change request \"{data.ChangeRequestName}\" connected to the unit{' '}\r\n {data.UnitName}\r\n \r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n \r\n );\r\n};\r\n\r\nconst OfferRejectedByBuyer: React.FC = ({ notification, handleClick }) => {\r\n const data: OfferRejectedByBuyerData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n \r\n The buyer of {data.UnitName} has rejected the offer for \"{data.ChangeRequestName}\"\r\n \r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n};\r\n\r\nconst ChangeRequestClosed: React.FC = ({ notification, handleClick }) => {\r\n const data: ChangeRequestClosedData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n A change request has been closed - {data.ChangeRequestName}\r\n bug/sc-11325/change-cr-inappnotifications-to-link-to-the\r\n \r\n );\r\n};\r\n\r\nconst ChangeRequestAccepted: React.FC = ({ notification, handleClick }) => {\r\n const data: ChangeRequestAcceptedData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n \r\n The buyer of {data.UnitName} has accepted the offer for \"{data.ChangeRequestName}\"\r\n \r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n};\r\n\r\nconst DeadlineReminderAllSent: React.FC = ({ notification, handleClick }) => {\r\n const data: DeadlineReminderAllSentData = notification.data;\r\n const url = data.ProfileId ? `/profiles/${data.ProfileId}/options` : `/options`;\r\n\r\n return (\r\n } notification={notification} handleClick={handleClick}>\r\n \r\n Deadline {data.Name} is in {data.NumberOfDaysToDeadline} days. Your choices for this deadline have been\r\n received.\r\n \r\n \r\n );\r\n};\r\n\r\nconst DeadlineReminderNoOptions: React.FC = ({ notification, handleClick }) => {\r\n const data: DeadlineReminderNoOptionsData = notification.data;\r\n\r\n return (\r\n } notification={notification} handleClick={handleClick}>\r\n \r\n Deadline {data.Name} is in {data.NumberOfDaysToDeadline} days.\r\n \r\n \r\n );\r\n};\r\n\r\nconst DeadlineReminderWithUnsent: React.FC = ({ notification, handleClick }) => {\r\n const data: DeadlineReminderWithUnsentData = notification.data;\r\n const url = data.ProfileId ? `/profiles/${data.ProfileId}/options` : `/options`;\r\n\r\n return (\r\n } notification={notification} handleClick={handleClick}>\r\n \r\n Deadline {data.Name} is in {data.NumberOfDaysToDeadline} days. Remember to send your choices before that.\r\n \r\n \r\n );\r\n};\r\n\r\nconst BuyerSignedOptions: React.FC = ({ notification, handleClick }) => {\r\n const data: BuyerSignedOptionsData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n \r\n {data.UnitName} has sent the options for the deadline \"{data.DeadlineName}\"\r\n \r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n};\r\n\r\nconst ChangeRequestRequestedNewOffers: React.FC = ({ notification, handleClick }) => {\r\n const data: SendChangeRequestRequestedNewOffersData = notification.data;\r\n\r\n return (\r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n Quotes required from you for \"{data.ChangeRequestSubject}\"\r\n {appendInProjectMessage(data.ProjectName)}\r\n \r\n );\r\n};\r\n\r\nconst ZippedFileReady: React.FC = ({ notification, handleClick }) => {\r\n const data: SendZippedFileReadyData = notification.data;\r\n\r\n return (\r\n \r\n \r\n \r\n }\r\n notification={notification}\r\n handleClick={handleClick}>\r\n Your zipped file of {data.NumberOfFiles} documents is ready to download.\r\n \r\n );\r\n};\r\n\r\nconst NotImplemented: React.FC = ({ notification, handleClick }) => {\r\n return (\r\n } notification={notification} handleClick={handleClick}>\r\n Oops, something went wrong\r\n \r\n );\r\n};\r\n\r\nconst NoLinkRow: React.FC = ({ notification, handleClick, icon, children }) => {\r\n return (\r\n {\r\n handleClick();\r\n }}\r\n className={classnames(theme.notificationRow, theme[notification.status.toLowerCase()])}>\r\n {icon}\r\n
    \r\n {children}\r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst ExternalLinkRow: React.FC = ({ notification, handleClick, icon, children, url }) => {\r\n return (\r\n {\r\n handleClick();\r\n }}\r\n className={classnames(theme.notificationRow, theme[notification.status.toLowerCase()])}\r\n href={url}>\r\n {icon}\r\n
    \r\n {children}\r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst LinkRow: React.FC = ({ notification, handleClick, icon, children, url }) => {\r\n return (\r\n {\r\n handleClick();\r\n }}\r\n className={classnames(theme.notificationRow, theme[notification.status.toLowerCase()])}\r\n to={url}>\r\n {icon}\r\n
    \r\n {children}\r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst ProfileImage: React.FC<{ profileId: number }> = ({ profileId }) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst Icon: React.FC<{ iconName: BackendIconNames }> = ({ iconName }) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\n// const Image: React.FC<{ url: string }> = ({ url }) => {\r\n// return (\r\n//
    \r\n// \r\n//
    \r\n// );\r\n// };\r\n\r\nconst IconPlaceHolder: React.FC<{}> = () => {\r\n return
    ;\r\n};\r\n\r\nexport default NotificationRow;\r\n","import React, { useContext, useCallback } from 'react';\r\nimport NotificationRow from 'components/notifications/NotificationRow';\r\nimport { Trans } from '@lingui/macro';\r\nimport { NavigationContextMenuContext } from '../../NavigationContextMenu';\r\nimport { triggerHandler } from 'utils/events';\r\nimport theme from './HeaderNotificationsButton.module.scss';\r\nimport { Button } from 'components/Buttons';\r\nimport { INotification } from 'types';\r\n\r\ninterface HeaderNotificationMenuProps {\r\n notifications: INotification[];\r\n onNotificationClick(notification: INotification): void;\r\n requestMoreNotifications?(): void;\r\n}\r\n\r\nconst HeaderNotificationMenu: React.FC = ({\r\n onNotificationClick,\r\n notifications,\r\n requestMoreNotifications,\r\n}) => {\r\n const menuContext = useContext(NavigationContextMenuContext);\r\n const handleNotificationClick = useCallback(\r\n (notification: INotification) => {\r\n menuContext.toggle(false);\r\n triggerHandler(onNotificationClick, notification);\r\n },\r\n [menuContext, onNotificationClick]\r\n );\r\n\r\n return (\r\n <>\r\n {notifications.map((n) => (\r\n \r\n ))}\r\n\r\n {notifications.length === 0 && (\r\n
    \r\n \r\n No notifications\r\n \r\n
    \r\n )}\r\n\r\n {notifications.length > 0 && requestMoreNotifications && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default HeaderNotificationMenu;\r\n","import React, { useCallback, useRef, useEffect } from 'react';\r\nimport theme from './HeaderNotificationsButton.module.scss';\r\nimport { NotificationsSession } from 'server-events/NotificationsSession';\r\nimport { useSelector } from 'react-redux';\r\nimport HeaderNotificationsIcon from './HeaderNotificationsIcon';\r\nimport NavigationContextMenu from 'components/layout/NavigationContextMenu/NavigationContextMenu';\r\nimport { IState } from 'state/IState';\r\nimport HeaderNotificationMenu from './HeaderNotificationsMenu';\r\nimport { INotification } from 'types';\r\n\r\ninterface HeaderNotificationsButtonProps {\r\n open: boolean;\r\n toggle(flag: boolean): void;\r\n}\r\n\r\nconst HeaderNotificationsButton: React.FC = ({ open, toggle }) => {\r\n const { notifications, totalCount } = useSelector((state: IState) => state.notifications);\r\n const numberOfNotifications = notifications.filter((x) => !x.viewDate).length;\r\n const notificationSession = useRef(null);\r\n\r\n useEffect(() => {\r\n const newSession = new NotificationsSession();\r\n notificationSession.current = newSession;\r\n\r\n return function cleanup() {\r\n newSession.dispose();\r\n };\r\n }, []);\r\n\r\n const handleNotificationClick = useCallback((notification: INotification) => {\r\n notificationSession.current!.markAsClicked(notification);\r\n }, []);\r\n\r\n const handleRequestMore = useCallback(() => {\r\n notificationSession.current!.requestNotifications(notifications.length);\r\n }, [notifications.length]);\r\n\r\n useEffect(() => {\r\n if (open && notificationSession.current && notifications.some((x) => !x.viewDate)) {\r\n notificationSession.current.markAsViewed(notifications);\r\n }\r\n }, [open, notifications]);\r\n\r\n return (\r\n }\r\n open={open}\r\n className={theme.notificationsMenuContainer}\r\n menuClassName={theme.notificationsMenu}\r\n size=\"large\"\r\n toggle={toggle}>\r\n \r\n \r\n );\r\n};\r\n\r\nexport default HeaderNotificationsButton;\r\n","import { HelpKitHelper } from '@ygtechnologies/bygr-frontend-tools';\r\n\r\nexport const helpkitHelper = new HelpKitHelper();\r\n","import React, { useRef, useState } from 'react';\r\nimport { Button, classnames } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { faQuestion } from '@fortawesome/pro-light-svg-icons';\r\nimport theme from './Header.module.scss';\r\nimport { helpkitHelper } from 'globals';\r\nimport { useHelpkitPopupObserver } from '@ygtechnologies/bygr-frontend-tools';\r\n\r\nexport interface HelpkitButtonProps {}\r\n\r\nexport const HelpkitButton: React.FC = ({}) => {\r\n const [active, setActive] = useState(false);\r\n const loadObserver = useHelpkitPopupObserver(setActive, []);\r\n const init = useRef(false);\r\n\r\n return (\r\n {\r\n helpkitHelper.togglePopover();\r\n loadObserver();\r\n if (!init.current) {\r\n setActive(true);\r\n init.current = true;\r\n }\r\n }}\r\n />\r\n );\r\n};\r\n","import React, { useState, useContext } from 'react';\r\nimport theme from './Header.module.scss';\r\nimport PageTitleContainer from './PageTitleContainer';\r\nimport HeaderSearch from './HeaderSearch/HeaderSearch';\r\nimport { UserIcon } from 'components/Icons';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport HeaderProfileMenu from './HeaderProfileMenu';\r\nimport HeaderUserMenu from './HeaderUserMenu';\r\nimport NavigationContextMenu from '../NavigationContextMenu';\r\nimport { useCurrentCulture, useIsBuyer, useIsSeller, useIsWhiteLabel } from 'utils/hooks';\r\nimport { faChevronDown } from '@fortawesome/pro-light-svg-icons';\r\nimport HeaderLanguageMenu from './HeaderLanguageMenu';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { classnames } from 'utils/html';\r\nimport HeaderContext from './HeaderContext';\r\nimport { Sticky } from 'components/Sticky';\r\nimport HeaderProfileThumbnail from './HeaderProfileThumbnail';\r\nimport HeaderNotificationsButton from './HeaderNotificationsButton';\r\nimport { BuyerSurvey } from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { HelpkitButton } from './HelpkitButton';\r\n\r\ninterface HeaderProps {}\r\n\r\nconst Header: React.FC = () => {\r\n const [showProfileMenu, setShowProfileMenu] = useState(false);\r\n const [showUserMenu, setShowUserMenu] = useState(false);\r\n const [showNotificationsMenu, setShowNotificationsMenu] = useState(false);\r\n const [showLanguageMenu, setShowLanguageMenu] = useState(false);\r\n const isSeller = useIsSeller();\r\n const isBuyer = useIsBuyer();\r\n\r\n const [currentCulture] = useCurrentCulture();\r\n\r\n const profiles = useSelector((state: IState) => state.global.profiles);\r\n const activeProfile = useSelector((state: IState) => state.global.activeProfile);\r\n const activeProfileInfo = profiles?.find((x) => x.profileId === activeProfile?.id);\r\n const currentUser = useSelector((state: IState) => state.global.user);\r\n const context = useContext(HeaderContext);\r\n\r\n const hasSidebar = !!activeProfile;\r\n\r\n const isWhiteLabel = useIsWhiteLabel();\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {currentUser?.isLoggedIn && isBuyer && }\r\n {currentUser?.isLoggedIn && isSeller && }\r\n\r\n {isBuyer && currentCulture?.showHelp && }\r\n\r\n {activeProfile && (\r\n \r\n )}\r\n\r\n {currentCulture && (\r\n \r\n {currentCulture.localName}\r\n \r\n
    \r\n }\r\n open={showLanguageMenu}\r\n toggle={setShowLanguageMenu}\r\n noIcons\r\n direction=\"right\"\r\n size=\"fit\">\r\n \r\n \r\n )}\r\n\r\n {activeProfileInfo && (\r\n \r\n }\r\n size=\"fit\"\r\n open={showProfileMenu}\r\n toggle={setShowProfileMenu}\r\n className={theme.profileMenuButton}\r\n menuClassName={theme.profileMenu}>\r\n \r\n \r\n )}\r\n\r\n {currentUser?.isLoggedIn && (\r\n \r\n }\r\n open={showUserMenu}\r\n toggle={setShowUserMenu}>\r\n \r\n \r\n )}\r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Header;\r\n","import React from 'react';\r\nimport theme from './Content.module.scss';\r\nimport { classnames } from 'utils/html';\r\nimport { useIsBuyer, useIsSeller, useIsWhiteLabel } from 'utils/hooks';\r\nimport { use100vh } from 'react-div-100vh';\r\n\r\ntype ContentProps = {};\r\n\r\nconst Content: React.FC = ({ children }) => {\r\n const isBuyer = useIsBuyer();\r\n const isSeller = useIsSeller();\r\n const height = use100vh();\r\n const isWhiteLabel = useIsWhiteLabel();\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default Content;","import { NotificationResult } from \"types\";\r\n\r\nexport const addNotification = (notificationResult: NotificationResult) => ({\r\n type: 'NOTIFICATION::ADD',\r\n data: notificationResult,\r\n});\r\n\r\nexport const addNotifications = (notificationResult: NotificationResult) => ({\r\n type: 'NOTIFICATION::ADD_MANY',\r\n data: notificationResult,\r\n});","import React, { useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { NotificationsSession } from 'server-events/NotificationsSession';\r\nimport { addNotifications } from 'state/notifications/actions';\r\n\r\ninterface NotificationListenerProps {}\r\n\r\nconst NotificationListener: React.FC = (props) => {\r\n const dispatch = useDispatch();\r\n const user = useSelector((state: IState) => state.global.user);\r\n\r\n useEffect(() => {\r\n if (!user?.isLoggedIn) {\r\n return;\r\n }\r\n\r\n const session = new NotificationsSession();\r\n\r\n session.addOnReceiveNotifications((data) => dispatch(addNotifications(data)));\r\n\r\n return function cleanup() {\r\n session.dispose();\r\n };\r\n }, [user, dispatch]);\r\n\r\n return null;\r\n};\r\n\r\nexport default NotificationListener;\r\n","import React from 'react';\r\nimport theme from './CommentListEventItem.module.scss';\r\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { IconProp } from '@fortawesome/fontawesome-svg-core';\r\nimport { InternalLinkButton } from 'components/Buttons';\r\nimport { TranslatableText } from 'types';\r\n\r\ninterface CommentListEventItemProps {\r\n title: TranslatableText;\r\n icon: IconProp;\r\n topText: TranslatableText;\r\n bottomText?: TranslatableText;\r\n buttonText?: TranslatableText;\r\n url?: string;\r\n}\r\n\r\nexport const CommentListEventItem: React.FC = ({\r\n title,\r\n icon,\r\n topText,\r\n bottomText,\r\n buttonText,\r\n url,\r\n}) => {\r\n const showBottomPart = !!(bottomText || url);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    {title}
    \r\n
    {topText}
    \r\n
    \r\n
    \r\n {showBottomPart && (\r\n
    \r\n
    {bottomText}
    \r\n {!!url && (\r\n \r\n {buttonText}\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n );\r\n};","import React from 'react';\r\nimport { CommentListEventItem } from './CommentListEventItem';\r\nimport { t, Trans } from '@lingui/macro';\r\nimport { faUserPlus } from '@fortawesome/pro-light-svg-icons';\r\nimport { CommentMessage } from '@ygtechnologies/bygr-frontend-chat';\r\n\r\ninterface Data {\r\n buyerName: string;\r\n}\r\n\r\ninterface CommentListEventBuyerAcceptedInvitationProps {\r\n comment: CommentMessage;\r\n isAdditional?: boolean;\r\n}\r\n\r\nexport const CommentListEventBuyerAcceptedInvitation = ({\r\n comment,\r\n isAdditional,\r\n}: CommentListEventBuyerAcceptedInvitationProps) => {\r\n const data: Data = comment.data;\r\n return (\r\n {data.buyerName} has accepted the invitation}\r\n topText={\r\n isAdditional\r\n ? t`An additional buyer has been added to this unit, ${data.buyerName} will be able to see messages from when the previous accepted the invitation`\r\n : t`Any message before this is not visible to ${data.buyerName}`\r\n }\r\n />\r\n );\r\n};\r\n","import React from 'react';\r\nimport { CommentListEventItem } from './CommentListEventItem';\r\nimport { Trans } from '@lingui/macro';\r\nimport { faUserTimes } from '@fortawesome/pro-light-svg-icons';\r\nimport { useIsSeller } from 'utils/hooks';\r\nimport { CommentMessage } from '@ygtechnologies/bygr-frontend-chat';\r\n\r\ninterface Data {\r\n buyerName: string;\r\n}\r\n\r\ninterface CommentListEventBuyerRemovedProps {\r\n comment: CommentMessage;\r\n isLastBuyer?: boolean;\r\n}\r\n\r\nexport const CommentListEventBuyerRemoved = ({ comment, isLastBuyer }: CommentListEventBuyerRemovedProps) => {\r\n const isSeller = useIsSeller();\r\n const data: Data = comment.data;\r\n return (\r\n {data.buyerName} has been removed from the unit}\r\n topText={isSeller && isLastBuyer ? Messages sent before this is not visible to new buyers. : ''}\r\n />\r\n );\r\n};\r\n","import React from 'react';\r\nimport { CommentListEventItem } from './CommentListEventItem';\r\nimport { Trans } from '@lingui/macro';\r\nimport { faFilePlus } from '@fortawesome/pro-light-svg-icons';\r\nimport { useIsBuyer, useGetActiveProjectId } from 'utils/hooks';\r\nimport { CommentMessage } from '@ygtechnologies/bygr-frontend-chat';\r\n\r\ninterface CommentListEventItemChangeRequestProps {\r\n comment: CommentMessage;\r\n}\r\n\r\ninterface Data {\r\n changeRequestId: number;\r\n status: Status;\r\n}\r\n\r\nenum Status {\r\n Closed = 1,\r\n}\r\n\r\nconst getUrl = (isBuyer: boolean, data: Data, projectId: number | undefined) => {\r\n if (isBuyer) {\r\n return `/change-requests/${data.changeRequestId}/offer`;\r\n } else {\r\n return `/projects/${projectId}/changes/all/${data.changeRequestId}`;\r\n }\r\n};\r\n\r\nexport const CommentListEventItemChangeRequest: React.FC = ({ comment }) => {\r\n var data: Data = comment.data;\r\n var isBuyer = useIsBuyer();\r\n var currentProject = useGetActiveProjectId();\r\n return (\r\n \r\n Change request #{data.changeRequestId} closed\r\n \r\n }\r\n topText={\r\n \r\n Request #{data.changeRequestId} closed by {comment.sentByProfileName}\r\n \r\n }\r\n bottomText={Request #{data.changeRequestId} can be reviewed via the request tab}\r\n buttonText={Review change request}\r\n url={getUrl(isBuyer, comment.data, currentProject)}\r\n icon={faFilePlus}\r\n />\r\n );\r\n};\r\n","import React from 'react';\r\nimport { CommentListEventItem } from './CommentListEventItem';\r\nimport { Trans } from '@lingui/macro';\r\nimport { faFilePlus } from '@fortawesome/pro-light-svg-icons';\r\nimport { useIsBuyer, useAsyncState, useGetActiveProjectId } from 'utils/hooks';\r\nimport { getOfferProfileName } from 'services/buyer-dashboard';\r\nimport { CommentMessage } from '@ygtechnologies/bygr-frontend-chat';\r\n\r\ninterface CommentListEventItemOfferProps {\r\n comment: CommentMessage;\r\n}\r\n\r\ninterface Data {\r\n offerId: number;\r\n changeRequestId: number;\r\n status: Status;\r\n}\r\n\r\nenum Status {\r\n Sent = 1,\r\n Rejected = 2,\r\n Retracted = 3,\r\n Approved = 4,\r\n}\r\n\r\nconst getUrl = (isBuyer: boolean, data: Data, projectId: number | undefined) => {\r\n if (isBuyer) {\r\n return `/change-requests/${data.changeRequestId}/offer`;\r\n } else {\r\n return `/ext/change-request/${data.changeRequestId}`;\r\n }\r\n};\r\n\r\n//TODO: use the status translations?\r\nconst getVerb = (status: Status, isBuyer: boolean) => {\r\n switch (status) {\r\n case Status.Sent:\r\n if (isBuyer) {\r\n return received;\r\n } else {\r\n return sent;\r\n }\r\n case Status.Rejected:\r\n return rejected;\r\n case Status.Retracted:\r\n return retracted;\r\n case Status.Approved:\r\n return accepted;\r\n }\r\n};\r\n\r\nconst getTopText = (comment: CommentMessage, data: Data, isBuyer: boolean, profileName: string | null) => {\r\n switch (data.status) {\r\n case Status.Sent:\r\n if (isBuyer) {\r\n return (\r\n \r\n Offer received from {profileName} for request #{data.changeRequestId}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n Offer sent from {profileName} for request #{data.changeRequestId}\r\n \r\n );\r\n }\r\n case Status.Rejected:\r\n return (\r\n \r\n Offer from {profileName} for request #{data.changeRequestId} rejected\r\n \r\n );\r\n case Status.Retracted:\r\n return (\r\n \r\n Offer from {profileName} for request #{data.changeRequestId} retracted\r\n \r\n );\r\n case Status.Approved:\r\n return (\r\n \r\n Offer from {profileName} for request #{data.changeRequestId} accepted\r\n \r\n );\r\n }\r\n};\r\n\r\nexport const CommentListEventItemOffer: React.FC = ({ comment }) => {\r\n var data: Data = comment.data;\r\n var isBuyer = useIsBuyer();\r\n var currentProject = useGetActiveProjectId();\r\n var [profileName] = useAsyncState(\r\n async () => await getOfferProfileName(data.changeRequestId, data.offerId),\r\n [data.offerId],\r\n null\r\n );\r\n\r\n if (isBuyer && data.status === Status.Retracted) {\r\n return (\r\n \r\n Offer #{data.offerId} {getVerb(data.status, isBuyer)}\r\n \r\n }\r\n topText={getTopText(comment, data, isBuyer, profileName)}\r\n icon={faFilePlus}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n \r\n Offer #{data.offerId} {getVerb(data.status, isBuyer)}\r\n \r\n }\r\n topText={getTopText(comment, data, isBuyer, profileName)}\r\n bottomText={Offer #{data.offerId} can be reviewed via the offers tab}\r\n buttonText={Review offer}\r\n url={getUrl(isBuyer, comment.data, currentProject)}\r\n icon={faFilePlus}\r\n />\r\n );\r\n};\r\n","import React from 'react';\r\nimport { CommentListEventItem } from './CommentListEventItem';\r\nimport { Trans } from '@lingui/macro';\r\nimport { faPencil } from '@fortawesome/pro-light-svg-icons';\r\nimport HistoryLogComparison, { ComparisonObject } from 'seller/components/HistoryLog/HistoryLogComparison';\r\nimport { CommentMessage } from '@ygtechnologies/bygr-frontend-chat';\r\n\r\nexport interface CommentListEventChangeRequestEditedProps {\r\n comment: CommentMessage;\r\n}\r\n\r\nexport const CommentListEventChangeRequestEdited: React.FC = ({ comment }) => {\r\n var data: ComparisonObject[] = comment.data;\r\n return (\r\n Change request edited}\r\n topText={''}\r\n bottomText={data.length > 0 && }\r\n icon={faPencil}\r\n />\r\n );\r\n};\r\n","import React from 'react';\r\nimport { CommentEventMapping, CommentEventType } from '@ygtechnologies/bygr-frontend-chat';\r\nimport { CommentListEventBuyerAcceptedInvitation } from './CommentListEventBuyerAcceptedInvitation';\r\nimport { CommentListEventBuyerRemoved } from './CommentListEventBuyerRemoved';\r\nimport { CommentListEventItemChangeRequest } from './CommentListEventItemChangeRequest';\r\nimport { CommentListEventItemOffer } from './CommentListEventItemOffer';\r\nimport { CommentListEventChangeRequestEdited } from './CommentListEventChangeRequestEdited';\r\n\r\nexport const commentEventMapping: CommentEventMapping = {\r\n [CommentEventType.BuyerAcceptedInvitation]: (comment, extraProps) => (\r\n \r\n ),\r\n [CommentEventType.AdditionalBuyerAcceptedInvitation]: (comment, extraProps) => (\r\n \r\n ),\r\n [CommentEventType.BuyerRemoved]: (comment, extraProps) => ,\r\n [CommentEventType.LastBuyerRemoved]: (comment, extraProps) => (\r\n \r\n ),\r\n [CommentEventType.ChangeRequestEvent]: (comment, extraProps) => ,\r\n [CommentEventType.ChangeRequestEdited]: (comment, extraProps) => (\r\n \r\n ),\r\n [CommentEventType.OfferEvent]: (comment, extraProps) => ,\r\n};\r\n","import React from 'react';\r\n// import theme from './ChangeRequestTooltip.module.scss';\r\nimport { useAsyncState } from 'utils/hooks';\r\nimport { getChangeRequest } from 'services/change-requests';\r\nimport { Tooltip, TooltipChildren } from 'components/Tooltip';\r\n\r\ninterface ChangeRequestTooltipProps {\r\n changeRequestId: number;\r\n children: TooltipChildren;\r\n}\r\n\r\nconst ChangeRequestTooltip: React.FC = ({ changeRequestId, children }) => {\r\n const [changeRequest] = useAsyncState(() => getChangeRequest(changeRequestId), [changeRequestId], null);\r\n\r\n return (\r\n {changeRequest?.description}}>\r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ChangeRequestTooltip;\r\n","import React, { useState } from 'react';\r\nimport HeaderContext, { HeaderContextData } from './HeaderContext';\r\n\r\ninterface HeaderContextProviderProps {}\r\nconst HeaderContextProvider: React.FC = ({ children }) => {\r\n const [value, setValue] = useState({\r\n container: document.createElement('div'),\r\n isInProject: false,\r\n transparent: false,\r\n setTransparent: (flag) =>\r\n setValue((v) => {\r\n if (v.transparent !== flag) {\r\n return { ...v, transparent: flag };\r\n }\r\n\r\n return v;\r\n }),\r\n });\r\n\r\n return {children};\r\n};\r\n\r\nexport default HeaderContextProvider;\r\n","import React, { useMemo } from 'react';\r\nimport { t } from '@lingui/macro';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { RubusUIContextData, RubusUIProvider } from '@ygtechnologies/rubus-ui';\r\nimport { useLingui } from '@lingui/react';\r\n\r\ninterface LocalizationForwarderProps {}\r\n\r\nconst LocalizationForwarder: React.FC = ({ children }) => {\r\n const { i18n } = useLingui();\r\n const rubusUiData: RubusUIContextData = useMemo(\r\n () => ({\r\n currentLocale: i18n.locale,\r\n texts: {\r\n ShowMore: t`Show more`,\r\n ShowLess: t`Show less`,\r\n },\r\n }),\r\n [i18n.locale]\r\n );\r\n return {children};\r\n};\r\n\r\nexport default LocalizationForwarder;\r\n","import React, { useMemo } from 'react';\r\nimport {\r\n ResidentialUnitTooltipContext,\r\n ResidentialUnitTooltipContextData,\r\n} from '@ygtechnologies/bygr-frontend-component-library';\r\nimport { getResidentialUnitExtraData } from 'services/residential-units';\r\nimport { useCurrentCulture } from 'utils/hooks';\r\nimport { getUserAvatarThumbnailUrl } from 'services/users';\r\nimport {\r\n ApiService,\r\n ChatProvider,\r\n ChatProviderData,\r\n ChatService,\r\n CommentThreadType,\r\n} from '@ygtechnologies/bygr-frontend-chat';\r\nimport { getChatConnectionManager } from 'server-events/connections';\r\nimport { useSelector } from 'react-redux';\r\nimport { IState } from 'state/IState';\r\nimport { commentEventMapping } from 'components/Comments/CommentListItemViews';\r\nimport ChangeRequestTooltip from 'seller/components/data-tooltips/ChangeRequestTooltip';\r\nimport { HeaderContextProvider } from 'components/layout/Header';\r\nimport LocalizationForwarder from './LocalizationForwarder';\r\n\r\nexport interface ContextsProps {}\r\n\r\nexport const Contexts: React.FC = ({ children }) => {\r\n const { user, activeProfile, activeProject } = useSelector((state: IState) => ({\r\n user: state.global.user,\r\n activeProfile: state.global.activeProfile,\r\n activeProject: state.global.activeProject,\r\n }));\r\n const [cultureInfo] = useCurrentCulture();\r\n\r\n const unitTooltipContext: ResidentialUnitTooltipContextData = useMemo(\r\n () => ({\r\n getData: (unitId) => {\r\n return getResidentialUnitExtraData(unitId) as any; //TODO:Fix typing\r\n },\r\n getUrl: (unitId) => `/projects/${activeProject?.id}/residential-units/${unitId}`,\r\n getAvatarThumbnailUrl: (userId) => getUserAvatarThumbnailUrl(userId),\r\n }),\r\n [activeProject]\r\n );\r\n\r\n const chatContextData = useMemo(() => {\r\n const apiService = new ApiService(window.APP_CONFIG.API_CHAT_URL);\r\n\r\n return {\r\n chatService: new ChatService(apiService),\r\n hubConnection: getChatConnectionManager(),\r\n currentUserId: user?.userId ?? null,\r\n currentProfileId: activeProfile?.id ?? null,\r\n eventMapping: commentEventMapping,\r\n threadTitleOverride: ({ type, threadName, entityId }) => {\r\n if (type === CommentThreadType.ChangeRequest && entityId) {\r\n return (\r\n \r\n {threadName}\r\n \r\n );\r\n }\r\n return threadName;\r\n },\r\n };\r\n }, [user, activeProfile]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {children}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport '@ygtechnologies/bygr-frontend-component-library/dist/style.css';\r\nimport 'css/normalize.css';\r\nimport 'css/base.scss';\r\nimport 'react-image-lightbox/style.css';\r\nimport 'react-datepicker/dist/react-datepicker.css';\r\nimport 'react-toastify/dist/ReactToastify.css';\r\nimport 'react-image-crop/dist/ReactCrop.css';\r\nimport 'css/toast.scss';\r\nimport 'css/forms.scss';\r\nimport 'css/react-datepicker.scss';\r\nimport 'css/main.scss';\r\nimport '@ygtechnologies/bygr-frontend-component-library/dist/style.css';\r\nimport '@ygtechnologies/bygr-frontend-chat/dist/style.css';\r\nimport '@ygtechnologies/rubus-ui/dist/style.css';\r\n\r\nimport { BrowserRouter as Router } from 'react-router-dom';\r\nimport { SentryErrorHandler as SentryToolsErrorHandler } from '@ygtechnologies/bygr-frontend-tools';\r\n\r\nimport AjaxErrorHandler from './AjaxErrorHandler';\r\n\r\nimport { ComponentLibraryLocalizationProvider, LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\n\r\nimport { loadUser, setCurrentCulture, loadConfiguration, setActiveProjectId } from 'state/global/creators';\r\nimport { IState } from 'state/IState';\r\nimport I18nLoader from './I18nLoader';\r\nimport { DefaultCulture, tryGetCultureInfo } from 'utils/localization';\r\nimport MainRouting from './MainRouting';\r\nimport TermsModalWrapper from 'components/TermsModal';\r\nimport { ToastContainer } from 'react-toastify';\r\nimport WindowSizeListener from './WindowListener';\r\nimport NotFound from 'components/error-pages/NotFound';\r\nimport { useCurrentCulture } from 'utils/hooks';\r\nimport { ProfileType } from 'types';\r\nimport { loadBuyerDocumentTypes } from 'state/buyer/document-types/creator';\r\nimport { loadSellerDocumentTypes } from 'state/seller/document-types/creator';\r\nimport ClientStorage from 'ClientStorage';\r\nimport { logVisit } from 'services/users';\r\nimport { Trans, t } from '@lingui/macro';\r\nimport ScrollToTop from './ScrollToTop';\r\nimport { browser } from 'utils/browser';\r\nimport Header from 'components/layout/Header/Header';\r\nimport Content from 'components/layout/Content';\r\nimport { StickyContainer } from 'components/Sticky';\r\nimport NotificationListener from 'components/notifications/NotificationListener';\r\nimport { Contexts } from './Contexts';\r\n\r\nexport const SentryDsn = 'https://eb38476080864542a976743fa4965b11@sentry.bygr.no/3';\r\ntype AppProps = {};\r\n\r\nconst App: React.FC = () => {\r\n const dispatch = useDispatch();\r\n const [cultureInfo] = useCurrentCulture();\r\n\r\n const { user, configuration, activeProfile, activeProject } = useSelector((state: IState) => ({\r\n user: state.global.user,\r\n configuration: state.global.configuration,\r\n activeProfile: state.global.activeProfile,\r\n activeProject: state.global.activeProject,\r\n }));\r\n const [isUnsupportedBrowser, setIsUnsupportedBrowser] = useState(false);\r\n useEffect(() => {\r\n var parsedBrowser = browser.getBrowser();\r\n\r\n if (parsedBrowser.name === 'Internet Explorer') {\r\n setIsUnsupportedBrowser(true);\r\n }\r\n\r\n const versionParts = (parsedBrowser.version || '').split('.');\r\n const majorVersion = +versionParts[0];\r\n if (parsedBrowser.name === 'Safari' && majorVersion < 10) {\r\n setIsUnsupportedBrowser(true);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n loadUser(dispatch);\r\n }, [dispatch]);\r\n\r\n useEffect(() => {\r\n if (!configuration) {\r\n loadConfiguration(dispatch);\r\n }\r\n }, [configuration, dispatch]);\r\n\r\n useEffect(() => {\r\n if (user) {\r\n setCurrentCulture(dispatch, tryGetCultureInfo(user.locale) || DefaultCulture);\r\n }\r\n }, [user, dispatch]);\r\n\r\n useEffect(() => {\r\n if (user && user.isLoggedIn) {\r\n logVisit();\r\n }\r\n }, [user]);\r\n\r\n useEffect(() => {\r\n if (!activeProfile) {\r\n return;\r\n }\r\n\r\n if (activeProfile.type === ProfileType.Buyer) {\r\n loadBuyerDocumentTypes(dispatch);\r\n } else if (activeProfile.type === ProfileType.Seller && activeProject) {\r\n loadSellerDocumentTypes(dispatch, activeProject.id);\r\n }\r\n }, [cultureInfo, activeProfile, activeProject, dispatch]);\r\n\r\n useEffect(() => {\r\n async function load() {\r\n const lastProjectId = ClientStorage.lastProjectId;\r\n if (!activeProject && activeProfile && activeProfile.type === ProfileType.Seller) {\r\n try {\r\n await setActiveProjectId(dispatch, lastProjectId, true);\r\n } catch {\r\n ClientStorage.lastProjectId = null;\r\n }\r\n }\r\n }\r\n\r\n load();\r\n\r\n if (activeProject) {\r\n ClientStorage.lastProjectId = activeProject.id;\r\n }\r\n }, [activeProfile, activeProject, dispatch]);\r\n\r\n // useEffect(() => {\r\n // const handleResize = () => {\r\n // setDimensions({\r\n // width: window.innerWidth,\r\n // height: window.innerHeight,\r\n // });\r\n // };\r\n // window.addEventListener('resize', handleResize);\r\n // return () => {\r\n // window.removeEventListener('resize', handleResize);\r\n // };\r\n // }, []);\r\n if (!user || !cultureInfo || !configuration) {\r\n return ;\r\n }\r\n\r\n if (!configuration.valid) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (isUnsupportedBrowser) {\r\n return (\r\n \r\n \r\n

    \r\n \r\n This browser is not supported.\r\n
    \r\n Please use a newer browser.\r\n
    \r\n

    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n Dear user,\r\n
    \r\n We are sorry, but something went wrong. We have been notified and will look into it.\r\n \r\n }\r\n popupButtonCloseLabel={t`Close`}\r\n popupButtonOpenFeedbackLabel={t`Report problem`}>\r\n \r\n {\r\n /* Empty callback to block the default browser prompt \r\n user by RouterPrompt.\r\n */\r\n }}\r\n basename={import.meta.env.BASE_URL}>\r\n \r\n
    \r\n {/* */}\r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \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 App;\r\n","import React from 'react';\r\nimport { version } from '../../package.json';\r\nimport preval from 'preval.macro';\r\nimport { iconToast } from 'utils/bygr-toastr';\r\nimport { Trans } from '@lingui/macro';\r\nimport { cacheBustParam, urlCombine } from './url';\r\n\r\nexport const buildTime: Date = preval`module.exports = new Date()`;\r\n\r\nconsole.log(`Version ${version}`);\r\nconsole.log(`Version ${buildTime.toLocaleString()}`);\r\n\r\nexport function initVersionMonitoring() {\r\n if (!import.meta.env.DEV) {\r\n let build: string | null = null;\r\n let toastVisible = false;\r\n\r\n setInterval(async () => {\r\n try {\r\n const response = await fetch(\r\n urlCombine(window.location.origin, import.meta.env.BASE_URL, `build.txt?${cacheBustParam()}`)\r\n );\r\n\r\n if (!response.ok) {\r\n throw new Error('Failed to fetch build.txt');\r\n }\r\n\r\n const newBuild = await response.text();\r\n\r\n if (!toastVisible && build && build !== newBuild) {\r\n toastVisible = true;\r\n\r\n iconToast.warn(A new version is available, click here to refresh., null, {\r\n autoClose: false,\r\n closeOnClick: false,\r\n closeButton: false,\r\n onClick: () => {\r\n // @ts-ignore\r\n window.location.reload(true);\r\n },\r\n });\r\n }\r\n\r\n build = newBuild;\r\n } catch (e: any) {\r\n console.warn('Failed to fetch build.txt', e);\r\n }\r\n }, 30000);\r\n }\r\n}","import 'utils/polyfill';\r\nimport React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport App from 'components/app/App';\r\nimport { BrowserRouter as Router } from 'react-router-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { getStore } from 'store';\r\nimport { initVersionMonitoring } from 'utils/buildVersionMonitoring';\r\nimport { InitMixpanel } from '@ygtechnologies/bygr-frontend-tools';\r\nimport { LoadingIndicator } from '@ygtechnologies/bygr-frontend-component-library';\r\nconst store = getStore();\r\n\r\ninitVersionMonitoring();\r\n\r\nsetInterval(() => {\r\n localStorage.setItem('cm-lastDate', JSON.stringify(new Date()));\r\n}, 10000);\r\n\r\n//TODO: Remove any\r\nvar reactDom: any = ReactDOM;\r\nreactDom.render(\r\n \r\n \r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root')\r\n);\r\n"],"file":"assets/index-5add7832.js"}