{"version":3,"file":"static/js/6984.bd8b4014.chunk.js","mappings":"2HAEAA,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IAEtDD,EAAAA,QADoB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,+LAAmM,KAAQ,QAAS,MAAS,W,sBCDxXF,OAAOC,eAAeC,EAAS,aAAc,CAAEC,OAAO,IAEtDD,EAAAA,QADmB,CAAE,KAAQ,CAAE,IAAO,MAAO,MAAS,CAAE,QAAW,gBAAiB,UAAa,SAAW,SAAY,CAAC,CAAE,IAAO,OAAQ,MAAS,CAAE,EAAK,gMAAoM,KAAQ,OAAQ,MAAS,W,wBCGrX,IAEgCE,EAPhCJ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAAA,aAAkB,EAMlB,IAAIG,GAF4BD,EAFYE,EAAQ,SAECF,EAAIG,WAAaH,EAAM,CAAE,QAAWA,GAGzFF,EAAAA,QAAkBG,EAClBG,EAAON,QAAUG,C,wBCNjB,IAEgCD,EAPhCJ,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAAA,aAAkB,EAMlB,IAAIG,GAF4BD,EAFWE,EAAQ,SAEEF,EAAIG,WAAaH,EAAM,CAAE,QAAWA,GAGzFF,EAAAA,QAAkBG,EAClBG,EAAON,QAAUG,C,wBCVnB,IAAII,EAAyBH,EAAQ,OACjCI,EAAUJ,EAAQ,OACtBN,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAAA,aAAkB,EAClB,IAAIS,EAAiBF,EAAuBH,EAAQ,QAChDM,EAIJ,SAAiCR,EAAKS,GAAe,IAAKA,GAAeT,GAAOA,EAAIG,WAAc,OAAOH,EAAO,GAAY,OAARA,GAAiC,WAAjBM,EAAQN,IAAoC,oBAARA,EAAsB,MAAO,CAAEU,QAASV,GAAS,IAAIW,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAME,IAAIb,GAAQ,OAAOW,EAAMG,IAAId,GAAQ,IAAIe,EAAS,CAAC,EAAOC,EAAwBpB,OAAOC,gBAAkBD,OAAOqB,yBAA0B,IAAK,IAAIC,KAAOlB,EAAO,GAAY,YAARkB,GAAqBtB,OAAOuB,UAAUC,eAAeC,KAAKrB,EAAKkB,GAAM,CAAE,IAAII,EAAON,EAAwBpB,OAAOqB,yBAAyBjB,EAAKkB,GAAO,KAAUI,IAASA,EAAKR,KAAOQ,EAAKC,KAAQ3B,OAAOC,eAAekB,EAAQG,EAAKI,GAAgBP,EAAOG,GAAOlB,EAAIkB,EAAQ,CAAIH,EAAOL,QAAUV,EAASW,GAASA,EAAMY,IAAIvB,EAAKe,GAAW,OAAOA,CAAQ,CAJzxBS,CAAwBtB,EAAQ,QACxCuB,EAAiBpB,EAAuBH,EAAQ,QAChDwB,EAAYrB,EAAuBH,EAAQ,QAC/C,SAASU,EAAyBH,GAAe,GAAuB,oBAAZkB,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQf,EAA2B,SAAkCH,GAAe,OAAOA,EAAcoB,EAAmBD,CAAmB,GAAGnB,EAAc,CAK9U,IAAIqB,EAAgB,SAAuBC,EAAOC,GAChD,OAAoBxB,EAAMyB,cAAcP,EAAUhB,SAAS,EAAIH,EAAeG,UAAS,EAAIH,EAAeG,SAAS,CAAC,EAAGqB,GAAQ,CAAC,EAAG,CACjIC,IAAKA,EACLE,KAAMT,EAAef,UAEzB,EACAoB,EAAcK,YAAc,gBAC5B,IAAIlC,EAAwBO,EAAM4B,WAAWN,GAC7ChC,EAAAA,QAAkBG,C,wBCvBlB,IAAII,EAAyBH,EAAQ,OACjCI,EAAUJ,EAAQ,OACtBN,OAAOC,eAAeC,EAAS,aAAc,CAC3CC,OAAO,IAETD,EAAAA,aAAkB,EAClB,IAAIS,EAAiBF,EAAuBH,EAAQ,QAChDM,EAIJ,SAAiCR,EAAKS,GAAe,IAAKA,GAAeT,GAAOA,EAAIG,WAAc,OAAOH,EAAO,GAAY,OAARA,GAAiC,WAAjBM,EAAQN,IAAoC,oBAARA,EAAsB,MAAO,CAAEU,QAASV,GAAS,IAAIW,EAAQC,EAAyBH,GAAc,GAAIE,GAASA,EAAME,IAAIb,GAAQ,OAAOW,EAAMG,IAAId,GAAQ,IAAIe,EAAS,CAAC,EAAOC,EAAwBpB,OAAOC,gBAAkBD,OAAOqB,yBAA0B,IAAK,IAAIC,KAAOlB,EAAO,GAAY,YAARkB,GAAqBtB,OAAOuB,UAAUC,eAAeC,KAAKrB,EAAKkB,GAAM,CAAE,IAAII,EAAON,EAAwBpB,OAAOqB,yBAAyBjB,EAAKkB,GAAO,KAAUI,IAASA,EAAKR,KAAOQ,EAAKC,KAAQ3B,OAAOC,eAAekB,EAAQG,EAAKI,GAAgBP,EAAOG,GAAOlB,EAAIkB,EAAQ,CAAIH,EAAOL,QAAUV,EAASW,GAASA,EAAMY,IAAIvB,EAAKe,GAAW,OAAOA,CAAQ,CAJzxBS,CAAwBtB,EAAQ,QACxCmC,EAAgBhC,EAAuBH,EAAQ,QAC/CwB,EAAYrB,EAAuBH,EAAQ,QAC/C,SAASU,EAAyBH,GAAe,GAAuB,oBAAZkB,QAAwB,OAAO,KAAM,IAAIC,EAAoB,IAAID,QAAeE,EAAmB,IAAIF,QAAW,OAAQf,EAA2B,SAAkCH,GAAe,OAAOA,EAAcoB,EAAmBD,CAAmB,GAAGnB,EAAc,CAK9U,IAAI6B,EAAe,SAAsBP,EAAOC,GAC9C,OAAoBxB,EAAMyB,cAAcP,EAAUhB,SAAS,EAAIH,EAAeG,UAAS,EAAIH,EAAeG,SAAS,CAAC,EAAGqB,GAAQ,CAAC,EAAG,CACjIC,IAAKA,EACLE,KAAMG,EAAc3B,UAExB,EACA4B,EAAaH,YAAc,eAC3B,IAAIlC,EAAwBO,EAAM4B,WAAWE,GAC7CxC,EAAAA,QAAkBG,C,oXCnBPsC,EAAiC/B,EAAAA,cAAoB,MACjD,SAASgC,IACtB,OAAOhC,EAAAA,WAAiB+B,EAC1B,CCDe,SAASE,IACtB,IAAIC,EAAWC,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,IAC/EG,EAAUtC,EAAAA,OAAa,MACvBuC,EAAavC,EAAAA,OAAa,MAiB9B,OAdAA,EAAAA,WAAgB,WACd,OAAO,WACLwC,OAAOC,aAAaF,EAAWG,QACjC,CACF,GAAG,IAUI,CAAC,WACN,OAAOJ,EAAQI,OACjB,EAXA,SAAgBC,IACVA,GAA8B,OAApBL,EAAQI,WACpBJ,EAAQI,QAAUC,GAEpBH,OAAOC,aAAaF,EAAWG,SAC/BH,EAAWG,QAAUF,OAAOI,YAAW,WACrCN,EAAQI,QAAU,IACpB,GAAGR,EACL,EAIF,C,0BCKA,EAlCe,SAAkBW,GAC/B,IAMInB,EANAoB,EAAYD,EAAKC,UACnBC,EAAgBF,EAAKE,cACrBC,EAAqBH,EAAKG,mBAC1BC,EAAeJ,EAAKK,YACpBC,EAAUN,EAAKM,QACfC,EAAWP,EAAKO,SAOlB,OAJE1B,EAD2B,oBAAlBqB,EACFA,EAAcC,GAEdD,EAEW/C,EAAAA,cAAoB,OAAQ,CAC9C8C,UAAWA,EACXI,YAAa,SAAqBG,GAChCA,EAAMC,iBACFL,GACFA,EAAaI,EAEjB,EACAE,MAAO,CACLC,WAAY,OACZC,iBAAkB,QAEpBC,aAAc,KACdP,QAASA,EACT,eAAe,QACLd,IAATX,EAAqBA,EAAoB1B,EAAAA,cAAoB,OAAQ,CACtE8C,UAAWa,IAAWb,EAAUc,MAAM,OAAOC,KAAI,SAAUC,GACzD,MAAO,GAAGC,OAAOD,EAAK,QACxB,MACCV,GACL,EC9BIY,EAAQ,SAAenB,EAAMrB,GAC/B,IAAIyC,EAAaC,EACbC,EAAYtB,EAAKsB,UACnBC,EAAKvB,EAAKuB,GACVC,EAAexB,EAAKwB,aACpBC,EAAWzB,EAAKyB,SAChBC,EAAW1B,EAAK0B,SAChBC,EAAY3B,EAAK2B,UACjBC,EAAe5B,EAAK4B,aACpBC,EAAW7B,EAAK6B,SAChBC,EAAqB9B,EAAK8B,mBAC1BpF,EAAQsD,EAAKtD,MACbqF,EAAY/B,EAAK+B,UACjBC,EAAahC,EAAKiC,UAClB7B,EAAeJ,EAAKK,YACpB6B,EAAYlC,EAAKmC,SACjBC,EAAUpC,EAAKoC,QACfC,EAAsBrC,EAAKsC,mBAC3BC,EAAoBvC,EAAKwC,iBACzBC,EAAOzC,EAAKyC,KACZC,EAAQ1C,EAAK0C,MACXC,EAAYnB,GAA6BrE,EAAAA,cAAoB,QAAS,MACtEyF,EAAaD,EACfE,EAAYD,EAAWjE,IACvBmE,EAAcF,EAAWlE,MACvBqE,EAAkBD,EAAYb,UAChCe,EAAiBF,EAAYX,SAC7Bc,EAAoBH,EAAYzC,YAChC6C,EAA2BJ,EAAYR,mBACvCa,EAAyBL,EAAYN,iBACrC9B,EAAQoC,EAAYpC,MA4DtB,OA3DA0C,EAAAA,EAAAA,MAAU,cAAeT,EAAUjE,OAAQ,yGAC3CiE,EAAyBxF,EAAAA,aAAmBwF,GAAWU,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAC/FC,KAAM,UACLR,GAAc,CAAC,EAAG,CAEnBvB,GAAIA,EACJ5C,KAAK4E,EAAAA,EAAAA,IAAW5E,EAAKkE,GACrBpB,SAAUA,EACVC,SAAUA,EACVE,aAAcA,GAAgB,MAC9BD,UAAWA,EACX1B,UAAWa,IAAW,GAAGI,OAAOI,EAAW,2BAA0D,QAA7BF,EAAcuB,SAAuC,IAAhBvB,GAA8E,QAA3CC,EAAoBD,EAAY1C,aAAyC,IAAtB2C,OAA7D,EAAqGA,EAAkBpB,WAC7PuD,KAAM,WACN,gBAAiBf,EACjB,gBAAiB,UACjB,YAAa,GAAGvB,OAAOK,EAAI,SAC3B,oBAAqB,OACrB,gBAAiB,GAAGL,OAAOK,EAAI,SAC/B,wBAAyBO,GACxBY,GAAQ,CAAC,EAAG,CACbhG,MAAOmF,EAAWnF,EAAQ,GAC1BqF,UAAWA,EACX0B,UAAW5B,EACXhB,aAAegB,EAAkB,KAAP,KAC1BnB,OAAO2C,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAAC,EAAG3C,GAAQ,CAAC,EAAG,CACjDgD,QAAS7B,EAAW,KAAO,IAE7BI,UAAW,SAAmBzB,GAC5BwB,EAAWxB,GACPuC,GACFA,EAAgBvC,EAEpB,EACAH,YAAa,SAAqBG,GAChCJ,EAAaI,GACTyC,GACFA,EAAkBzC,EAEtB,EACA2B,SAAU,SAAkB3B,GAC1B0B,EAAU1B,GACNwC,GACFA,EAAexC,EAEnB,EACA8B,mBAAoB,SAA4B9B,GAC9C6B,EAAoB7B,GAChB0C,GACFA,EAAyB1C,EAE7B,EACAgC,iBAAkB,SAA0BhC,GAC1C+B,EAAkB/B,GACd2C,GACFA,EAAuB3C,EAE3B,EACA4B,QAASA,IAGb,EACIuB,EAAwBxG,EAAAA,WAAiBgE,GAC7CwC,EAAS7E,YAAc,QACvB,QClGO,SAAS8E,EAAQlH,GACtB,OAAImH,MAAMC,QAAQpH,GACTA,OAEQ8C,IAAV9C,EAAsB,CAACA,GAAS,EACzC,CACO,IAGIqH,EAH6B,qBAAXpE,QAA0BA,OAAOqE,UAAYrE,OAAOqE,SAASC,gBAO1F,SAASC,EAAYC,GACnB,MAAO,CAAC,SAAU,UAAUC,UAASnH,EAAAA,EAAAA,GAAQkH,GAC/C,CACO,SAASE,EAASC,GACvB,IAAIH,OAAQ3E,EAQZ,OAPI8E,IACEJ,EAAYI,EAAKH,OACnBA,EAAQG,EAAKH,MAAMI,WACVL,EAAYI,EAAKE,SAC1BL,EAAQG,EAAKE,MAAMD,aAGhBJ,CACT,CChBA,SAASM,EAAQ/H,GACf,IAAIgI,EACJ,OAAoC,QAA5BA,EAAahI,EAAMmB,WAAgC,IAAf6G,EAAwBA,EAAahI,EAAMA,KACzF,CACA,IAAIiI,EAAqB,SAA4BnE,GACnDA,EAAMC,iBACND,EAAMoE,iBACR,EAkKA,EAjKqB,SAAwBlG,GAC3C,ICbsCmG,EAAQC,EDa1CvD,EAAK7C,EAAM6C,GACbD,EAAY5C,EAAM4C,UAClByD,EAASrG,EAAMqG,OACftC,EAAO/D,EAAM+D,KACbuC,EAActG,EAAMsG,YACpBC,EAAuBvG,EAAMuG,qBAC7BC,EAAWxG,EAAMwG,SACjBC,EAAczG,EAAMyG,YACpB1D,EAAW/C,EAAM+C,SACjB2D,EAAO1G,EAAM0G,KACbC,EAAa3G,EAAM2G,WACnB1D,EAAYjD,EAAMiD,UAClBC,EAAelD,EAAMkD,aACrBE,EAAqBpD,EAAMoD,mBAC3BJ,EAAWhD,EAAMgD,SACjB4D,EAAa5G,EAAM4G,WACnBC,EAAc7G,EAAM6G,YACpBC,EAAmB9G,EAAM8G,iBACzBC,EAAwB/G,EAAMgH,kBAC9BA,OAA8C,IAA1BD,EAAmC,SAAUE,GAC/D,MAAO,KAAKzE,OAAOyE,EAAcpG,OAAQ,OAC3C,EAAIkG,EACJG,EAAYlH,EAAMkH,UAClBC,EAAenH,EAAMmH,aACrBC,EAAWpH,EAAMoH,SACjBC,EAAgBrH,EAAMqH,cACtBC,EAAetH,EAAMsH,aACrBC,EAAiBvH,EAAMuH,eACvBC,EAAmBxH,EAAMwH,iBACzBC,EAA0BzH,EAAMyH,wBAChCC,EAAwB1H,EAAM0H,sBAC5BC,EAAalJ,EAAAA,OAAa,MAC1BmJ,GAAYC,EAAAA,EAAAA,UAAS,GACvBC,GAAaC,EAAAA,EAAAA,GAAeH,EAAW,GACvCI,EAAaF,EAAW,GACxBG,EAAgBH,EAAW,GACzBI,GAAaL,EAAAA,EAAAA,WAAS,GACxBM,GAAaJ,EAAAA,EAAAA,GAAeG,EAAY,GACxCE,EAAUD,EAAW,GACrBE,EAAaF,EAAW,GACtBG,EAAqB,GAAG9F,OAAOI,EAAW,cAG1C2F,GAAaxE,GAAiB,aAAT2C,IAAgD,IAAzBH,GAA2C,SAATG,EAAkBJ,EAAc,GAC9GkC,GAAyB,SAAT9B,GAA4B,aAATA,IAAgD,IAAzBH,GAAkCI,IAAe5C,GAAQqE,GASvH,SAASK,GAAsB7C,EAAM8C,EAASC,EAAcC,EAAUC,GACpE,OAAoBpK,EAAAA,cAAoB,OAAQ,CAC9C8C,UAAWa,IAAW,GAAGI,OAAO8F,EAAoB,UAAUQ,EAAAA,EAAAA,GAAgB,CAAC,EAAG,GAAGtG,OAAO8F,EAAoB,kBAAmBK,IACnIlD,MAAOE,EAASC,IACFnH,EAAAA,cAAoB,OAAQ,CAC1C8C,UAAW,GAAGiB,OAAO8F,EAAoB,kBACxCI,GAAUE,GAAyBnK,EAAAA,cAAoBsK,EAAU,CAClExH,UAAW,GAAGiB,OAAO8F,EAAoB,gBACzC3G,YAAasE,EACbrE,QAASiH,EACTrH,cAAeoF,GACd,QACL,CC9EsCT,ED4DtB,WACd8B,EAAcN,EAAWxG,QAAQ6H,YACnC,EC9D8C5C,ED8D3C,CAACmC,IC5DAlD,EAEF5G,EAAAA,gBAAsB0H,EAAQC,GAE9B3H,EAAAA,UAAgB0H,EAAQC,GDoH1B,IAAInC,GAAyBxF,EAAAA,cAAoB,MAAO,CACtD8C,UAAW,GAAGiB,OAAO8F,EAAoB,WACzCtG,MAAO,CACLiH,MAAOjB,GAETkB,QAAS,WACPb,GAAW,EACb,EACAc,OAAQ,WACNd,GAAW,EACb,GACc5J,EAAAA,cAAoBgE,EAAO,CACzCxC,IAAKuG,EACLzC,KAAMA,EACNnB,UAAWA,EACXC,GAAIA,EACJC,aAAc,KACdC,SAAUA,EACVE,UAAWA,EACXC,aAAcA,EACdC,SAAUqF,GACVpF,mBAAoBA,EACpBpF,MAAOuK,GACPhF,UAAWgE,EACX5F,YAAa6F,EACb/D,SAAU4D,EACV3D,QAAS4D,EACT1D,mBAAoB6D,EACpB3D,iBAAkB4D,EAClB1E,SAAUA,EACVgB,OAAOoF,EAAAA,EAAAA,GAAUpJ,GAAO,KACTvB,EAAAA,cAAoB,OAAQ,CAC3CwB,IAAK0H,EACLpG,UAAW,GAAGiB,OAAO8F,EAAoB,kBACzC,eAAe,GACdC,GAAY,SAGXc,GAA6B5K,EAAAA,cAAoB6K,EAAAA,EAAU,CAC7D1G,UAAW,GAAGJ,OAAO8F,EAAoB,aACzCiB,KAAMlD,EACNmD,WArEF,SAAoBC,GAClB,IAAId,EAAec,EAAU1G,SAC3B+C,EAAQ2D,EAAU3D,MAClB9H,EAAQyL,EAAUzL,MAChB4K,GAAY7F,IAAa4F,EACzBe,EAAe5D,EACnB,GAAgC,kBAArBgB,IACY,kBAAVhB,GAAuC,kBAAVA,GAAoB,CAC1D,IAAI6D,EAAWC,OAAOF,GAClBC,EAAS9I,OAASiG,IACpB4C,EAAe,GAAGlH,OAAOmH,EAASE,MAAM,EAAG/C,GAAmB,OAElE,CAEF,IAAI+B,EAAU,SAAiB/G,GACzBA,GAAOA,EAAMoE,kBACjBkB,EAASqC,EACX,EACA,MAA4B,oBAAdvC,EAjChB,SAAiClJ,EAAO0K,EAASC,EAAcC,EAAUC,GAKvE,OAAoBpK,EAAAA,cAAoB,OAAQ,CAC9CkD,YALgB,SAAqBmI,GACrC7D,EAAmB6D,GACnB3C,GAAcpD,EAChB,GAGGmD,EAAU,CACXpB,MAAO4C,EACP1K,MAAOA,EACP+E,SAAU4F,EACVC,SAAUA,EACVC,QAASA,IAEb,CAmB2CkB,CAAwB/L,EAAO0L,EAAcf,EAAcC,EAAUC,GAAWJ,GAAsBgB,EAAWC,EAAcf,EAAcC,EAAUC,EAClM,EAmDEmB,WAlDF,SAAoB/C,GAClB,IAAIyB,EAAuC,oBAAtB1B,EAAmCA,EAAkBC,GAAiBD,EAC3F,OAAOyB,GAAsB,CAC3BhD,MAAOiD,GACNA,GAAS,EACd,EA8CEuB,OAAQhG,GACR8B,QAASA,EACTmE,SAAUrD,IAEZ,OAAoBpI,EAAAA,cAAoBA,EAAAA,SAAgB,KAAM4K,IAAgBhD,EAAOxF,SAAW0H,IAA2B9J,EAAAA,cAAoB,OAAQ,CACrJ8C,UAAW,GAAGiB,OAAO8F,EAAoB,iBACxC7B,GACL,EE9EA,EAhGqB,SAAwBzG,GAC3C,IAAI8C,EAAe9C,EAAM8C,aACvBF,EAAY5C,EAAM4C,UAClBC,EAAK7C,EAAM6C,GACX2D,EAAWxG,EAAMwG,SACjBzD,EAAW/C,EAAM+C,SACjBE,EAAYjD,EAAMiD,UAClBC,EAAelD,EAAMkD,aACrBE,EAAqBpD,EAAMoD,mBAC3BsD,EAAO1G,EAAM0G,KACb3C,EAAO/D,EAAM+D,KACbsC,EAASrG,EAAMqG,OACfI,EAAczG,EAAMyG,YACpBzD,EAAWhD,EAAMgD,SACjB2D,EAAa3G,EAAM2G,WACnBL,EAActG,EAAMsG,YACpB6D,EAAcnK,EAAMmK,YACpB9G,EAAYrD,EAAMqD,UAClBkE,EAAiBvH,EAAMuH,eACvBC,EAAmBxH,EAAMwH,iBACzBH,EAAgBrH,EAAMqH,cACtBC,EAAetH,EAAMsH,aACrBG,EAA0BzH,EAAMyH,wBAChCC,EAAwB1H,EAAM0H,sBAC5B0C,EAAkB3L,EAAAA,UAAe,GACnC4L,GAAmBtC,EAAAA,EAAAA,GAAeqC,EAAiB,GACnDE,EAAeD,EAAiB,GAChCE,EAAkBF,EAAiB,GACjCG,EAAoB,aAAT9D,EACX8B,EAAgBgC,GAAY7D,EAC5Bf,EAAOS,EAAO,GACdkC,EAAajC,GAAe,GAC5BkE,GAAYL,IAAgBG,IAC9B/B,EAAa4B,GAEf1L,EAAAA,WAAgB,WACV+L,GACFD,GAAgB,EAEpB,GAAG,CAACC,EAAUL,IAGd,IAAIM,IAAwB,aAAT/D,IAAwB3C,IAAS4C,MAAuB4B,EAGvE9C,EAAQE,EAASC,GAarB,OAAoBnH,EAAAA,cAAoBA,EAAAA,SAAgB,KAAmBA,EAAAA,cAAoB,OAAQ,CACrG8C,UAAW,GAAGiB,OAAOI,EAAW,sBAClBnE,EAAAA,cAAoBgE,EAAO,CACzCxC,IAAKuG,EACL5D,UAAWA,EACXC,GAAIA,EACJkB,KAAMA,EACNjB,aAAcA,EACdC,SAAUA,EACVE,UAAWA,EACXC,aAAcA,EACdC,SAAUqF,EACVpF,mBAAoBA,EACpBpF,MAAOuK,EACPhF,UAAWgE,EACX5F,YAAa6F,EACb/D,SAAU,SAAkBqG,GAC1BS,GAAgB,GAChBlD,EAAcyC,EAChB,EACApG,QAAS4D,EACT1D,mBAAoB6D,EACpB3D,iBAAkB4D,EAClB1E,SAAUA,EACVgB,OAAOoF,EAAAA,EAAAA,GAAUpJ,GAAO,GACxBqD,UAAWmH,EAAWnH,OAAYvC,MAC9B0J,GAAY5E,EAAoBnH,EAAAA,cAAoB,OAAQ,CAChE8C,UAAW,GAAGiB,OAAOI,EAAW,mBAChC6C,MAAOA,EAKPzD,MAAOyI,EAAe,CACpBC,WAAY,eACV5J,GACH8E,EAAKE,OAAS,KAhDO,WACtB,GAAIF,EACF,OAAO,KAET,IAAI+E,EAAcF,EAAe,CAC/BC,WAAY,eACV5J,EACJ,OAAoBrC,EAAAA,cAAoB,OAAQ,CAC9C8C,UAAW,GAAGiB,OAAOI,EAAW,0BAChCZ,MAAO2I,GACNlE,EACL,CAqCuBmE,GACzB,ECjFA,IAAIC,EAAW,SAAkB7K,EAAOC,GACtC,IAAIuG,GAAWsE,EAAAA,EAAAA,QAAO,MAClBC,GAAuBD,EAAAA,EAAAA,SAAO,GAC9BlI,EAAY5C,EAAM4C,UACpBmB,EAAO/D,EAAM+D,KACb2C,EAAO1G,EAAM0G,KACbC,EAAa3G,EAAM2G,WACnBqE,EAAiBhL,EAAMgL,eACvBzE,EAAuBvG,EAAMuG,qBAC7B0E,EAAWjL,EAAMiL,SACjBC,EAAiBlL,EAAMkL,eACvB/D,EAAenH,EAAMmH,aACrBI,EAAiBvH,EAAMuH,eACvB4D,EAASnL,EAAMmL,OAGjB1M,EAAAA,oBAA0BwB,GAAK,WAC7B,MAAO,CACLmL,MAAO,WACL5E,EAASrF,QAAQiK,OACnB,EACAC,KAAM,WACJ7E,EAASrF,QAAQkK,MACnB,EAEJ,IAGA,IAAIC,EAAW5K,EAAQ,GACrB6K,GAAYxD,EAAAA,EAAAA,GAAeuD,EAAU,GACrCE,EAAoBD,EAAU,GAC9BE,EAAoBF,EAAU,GA4B5BG,GAAgBZ,EAAAA,EAAAA,QAAO,MACvBa,EAAkB,SAAyB3N,IACe,IAAxDiN,EAASjN,GAAO,EAAM+M,EAAqB5J,UAC7CgG,GAAa,EAEjB,EA4DIyE,EAAc,CAChBpF,SAAUA,EACVe,eA9F2B,SAAgCzF,GAC3D,ICjD8B+J,EDiD1BC,EAAQhK,EAAMgK,MACdA,IAAUC,EAAAA,EAAQC,IAAMF,IAAUC,EAAAA,EAAQE,MAC5CnK,EAAMC,iBAEJwF,GACFA,EAAezF,GAEbgK,IAAUC,EAAAA,EAAQG,OAAkB,SAATxF,GAAoBqE,EAAqB5J,SAAY4C,GAG/D,OAAnBmH,QAA8C,IAAnBA,GAAqCA,EAAepJ,EAAMqK,OAAOnO,OC3DhE6N,ED6DRC,EC5DhB,CAERC,EAAAA,EAAQK,IAAKL,EAAAA,EAAQM,MAAON,EAAAA,EAAQO,UAAWP,EAAAA,EAAQQ,IAAKR,EAAAA,EAAQS,QAAST,EAAAA,EAAQU,IAAKV,EAAAA,EAAQW,KAAMX,EAAAA,EAAQY,cAAeZ,EAAAA,EAAQa,KAAMb,EAAAA,EAAQc,UAAWd,EAAAA,EAAQe,OAAQf,EAAAA,EAAQgB,UAAWhB,EAAAA,EAAQiB,aAE3MjB,EAAAA,EAAQkB,GAAIlB,EAAAA,EAAQmB,GAAInB,EAAAA,EAAQoB,GAAIpB,EAAAA,EAAQqB,GAAIrB,EAAAA,EAAQsB,GAAItB,EAAAA,EAAQuB,GAAIvB,EAAAA,EAAQwB,GAAIxB,EAAAA,EAAQyB,GAAIzB,EAAAA,EAAQ0B,GAAI1B,EAAAA,EAAQ2B,IAAK3B,EAAAA,EAAQ4B,IAAK5B,EAAAA,EAAQ6B,KAAKlI,SAASmG,IDyDxJ1E,GAAa,EAEjB,EA+EEK,iBAzE6B,WAC7BiE,GAAkB,EACpB,EAwEEpE,cApDkB,SAAuBvF,GACzC,IAAI9D,EAAQ8D,EAAMqK,OAAOnO,MAGzB,GAAIgN,GAAkBU,EAAcvK,SAAW,SAAS0M,KAAKnC,EAAcvK,SAAU,CAEnF,IAAI2M,EAAepC,EAAcvK,QAAQ4M,QAAQ,WAAY,IAAIA,QAAQ,QAAS,KAAKA,QAAQ,UAAW,KAC1G/P,EAAQA,EAAM+P,QAAQD,EAAcpC,EAAcvK,QACpD,CACAuK,EAAcvK,QAAU,KACxBwK,EAAgB3N,EAClB,EA0CEsJ,aAzCiB,SAAsBwC,GACvC,IACI9L,EADgB8L,EAAEkE,cACIC,QAAQ,QAClCvC,EAAcvK,QAAUnD,CAC1B,EAsCEyJ,wBAjE4B,WAC5BsD,EAAqB5J,SAAU,CACjC,EAgEEuG,sBA/D0B,SAA+BoC,GACzDiB,EAAqB5J,SAAU,EAGlB,aAATuF,GACFiF,EAAgB7B,EAAEqC,OAAOnO,MAE7B,GA0DIkQ,EAAsB,aAATxH,GAAgC,SAATA,EAA+BjI,EAAAA,cAAoB0P,GAAkBC,EAAAA,EAAAA,GAAS,CAAC,EAAGpO,EAAO4L,IAA6BnN,EAAAA,cAAoB4P,GAAgBD,EAAAA,EAAAA,GAAS,CAAC,EAAGpO,EAAO4L,IACtN,OAAoBnN,EAAAA,cAAoB,MAAO,CAC7CwB,IAAKkL,EACL5J,UAAW,GAAGiB,OAAOI,EAAW,aAChChB,QA5CY,SAAiBN,GAChBA,EAAK6K,SACH3F,EAASrF,eAE2BL,IAAtCwE,SAASgJ,KAAKtM,MAAMuM,cAE7BlN,YAAW,WACTmF,EAASrF,QAAQiK,OACnB,IAEA5E,EAASrF,QAAQiK,QAGvB,EAgCEzJ,YA/BgB,SAAqBG,GACrC,IAAI0M,EAAiBhD,IAIjB1J,EAAMqK,SAAW3F,EAASrF,SAAYqN,GAA2B,aAAT9H,GAC1D5E,EAAMC,kBAEK,aAAT2E,GAAyBC,GAAe6H,IAAoBzK,IAC1DA,IAAiC,IAAzBwC,GACV0E,EAAS,IAAI,GAAM,GAErB9D,IAEJ,GAkBG+G,EACL,EACIO,EAA+BhQ,EAAAA,WAAiBoM,GACpD4D,EAAgBrO,YAAc,WAC9B,Q,WE9JIsO,EAAY,CAAC,YAAa,WAAY,UAAW,WAAY,eAAgB,iBAAkB,YAAa,iBAAkB,gBAAiB,oBAAqB,YAAa,YAAa,2BAA4B,iBAAkB,gBAAiB,oBAAqB,QAAS,oBAAqB,uBAAwB,qBA0CxUC,EAAgB,SAAuB3O,EAAOC,GAChD,IAAI2C,EAAY5C,EAAM4C,UAEpBgM,GADW5O,EAAM+C,SACP/C,EAAM4O,SAChB/M,EAAW7B,EAAM6B,SACjBgN,EAAe7O,EAAM6O,aACrBC,EAAiB9O,EAAM8O,eACvBC,EAAY/O,EAAM+O,UAClBC,EAAiBhP,EAAMgP,eACvBC,EAAgBjP,EAAMiP,cACtBC,EAAoBlP,EAAMkP,kBAC1BC,EAAmBnP,EAAMoP,UACzBA,OAAiC,IAArBD,EAA8B,MAAQA,EAClDE,EAAYrP,EAAMqP,UAClBC,EAA2BtP,EAAMsP,yBACjCC,EAAiBvP,EAAMuP,eACvBC,EAAgBxP,EAAMwP,cACtBC,EAAoBzP,EAAMyP,kBAC1BC,EAAQ1P,EAAM0P,MACdC,EAAoB3P,EAAM2P,kBAC1BC,EAAuB5P,EAAM4P,qBAC7BC,EAAoB7P,EAAM6P,kBAC1BC,GAAYC,EAAAA,EAAAA,GAAyB/P,EAAO0O,GAC1CsB,EAAoB,GAAGxN,OAAOI,EAAW,aACzCqN,EAAYpB,EACZU,IACFU,EAAYV,EAAeV,IAE7B,IAAIqB,EAAoBzR,EAAAA,SAAc,WACpC,OAnEuB,SAA8B6Q,GAEvD,IAAIa,GAAuC,IAA7Bb,EAAoC,EAAI,EACtD,MAAO,CACLc,WAAY,CACVC,OAAQ,CAAC,KAAM,MACfC,OAAQ,CAAC,EAAG,GACZC,SAAU,CACRJ,QAASA,EACTK,QAAS,IAGbC,YAAa,CACXJ,OAAQ,CAAC,KAAM,MACfC,OAAQ,CAAC,EAAG,GACZC,SAAU,CACRJ,QAASA,EACTK,QAAS,IAGbE,QAAS,CACPL,OAAQ,CAAC,KAAM,MACfC,OAAQ,CAAC,GAAI,GACbC,SAAU,CACRJ,QAASA,EACTK,QAAS,IAGbG,SAAU,CACRN,OAAQ,CAAC,KAAM,MACfC,OAAQ,CAAC,GAAI,GACbC,SAAU,CACRJ,QAASA,EACTK,QAAS,IAIjB,CA8BWI,CAAqBtB,EAC9B,GAAG,CAACA,IAGAuB,EAAuB9B,EAAY,GAAGvM,OAAOwN,EAAmB,KAAKxN,OAAOuM,GAAaC,EAGzF8B,EAAWrS,EAAAA,OAAa,MAC5BA,EAAAA,oBAA0BwB,GAAK,WAC7B,MAAO,CACL8Q,gBAAiB,WACf,OAAOD,EAAS3P,OAClB,EAEJ,IACA,IAAI6P,GAAarM,EAAAA,EAAAA,GAAc,CAC7BsM,SAAUnC,GACTG,GAMH,MALwC,kBAA7BK,EACT0B,EAAW/H,MAAQqG,EACVA,IACT0B,EAAW/H,MAAQ6F,GAEDrQ,EAAAA,cAAoByS,EAAAA,GAAS9C,EAAAA,EAAAA,GAAS,CAAC,EAAG0B,EAAW,CACvEqB,WAAYvB,EAAuB,CAAC,SAAW,GAC/CwB,WAAYxB,EAAuB,CAAC,SAAW,GAC/CyB,eAAgBhC,IAA4B,QAAdD,EAAsB,cAAgB,cACpEkC,kBAAmBpB,EACnBtN,UAAWoN,EACXuB,oBAAqBV,EACrBW,MAAoB/S,EAAAA,cAAoB,MAAO,CAC7CwB,IAAK6Q,EACLW,aAAc5B,GACbI,GACHyB,WAAYlC,EACZmC,aAAc/C,EACda,kBAAmBA,EACnBmC,eAAgBxP,IAAW8M,GAAmBpG,EAAAA,EAAAA,GAAgB,CAAC,EAAG,GAAGtG,OAAOwN,EAAmB,UAAWN,IAC1GsB,WAAYA,EACZrB,kBAAmBA,EACnBC,qBAAsBA,IACpB/N,EACN,EACIgQ,EAAgCpT,EAAAA,WAAiBkQ,GACrDkD,EAAiBzR,YAAc,gBAC/B,Q,WCpHA,SAAS0R,EAAOvI,EAAMwI,GACpB,IACI/T,EADAmB,EAAMoK,EAAKpK,IAKf,MAHI,UAAWoK,IACbvL,EAAQuL,EAAKvL,OAEH,OAARmB,QAAwB2B,IAAR3B,EACXA,OAEK2B,IAAV9C,EACKA,EAEF,gBAAgBwE,OAAOuP,EAChC,CACO,SAASC,EAAeC,EAAYC,GACzC,IAAI5Q,EAAO2Q,GAAc,CAAC,EAI1B,MAAO,CACLnM,MAJQxE,EAAKwE,QAIIoM,EAAiB,WAAa,SAC/ClU,MAJQsD,EAAKtD,OAIG,QAChBmU,QAJU7Q,EAAK6Q,SAIK,UAExB,CAsDO,SAASC,EAAsBC,GACpC,IAAIC,GAAY3N,EAAAA,EAAAA,GAAc,CAAC,EAAG0N,GASlC,MARM,UAAWC,GACfzU,OAAOC,eAAewU,EAAW,QAAS,CACxCvT,IAAK,WAEH,OADA2F,EAAAA,EAAAA,KAAQ,EAAO,iHACR4N,CACT,IAGGA,CACT,CCtFA,IAAI5D,EAAY,CAAC,KAAM,YAAa,YAAa,aAAc,YAAa,YAAa,eAAgB,gBAAiB,wBAAyB,eAAgB,kBAAmB,UAAW,OAAQ,WAAY,UAAW,kBAAmB,qBAAsB,OAAQ,cAAe,0BAA2B,cAAe,sBAAuB,qBAAsB,cAAe,uBAAwB,WAAY,gBAAiB,kBAAmB,aAAc,YAAa,YAAa,YAAa,aAAc,YAAa,iBAAkB,gBAAiB,oBAAqB,2BAA4B,iBAAkB,gBAAiB,YAAa,oBAAqB,aAAc,UAAW,SAAU,UAAW,YAAa,eAgB9uB6D,EAAqB,CAAC,QAAS,WAAY,aAAc,cAAe,YAAa,cAAe,mBAAoB,oBAAqB,uBAAwB,iBAAkB,gBAAiB,YACrM,SAASC,EAAW9L,GACzB,MAAgB,SAATA,GAA4B,aAATA,CAC5B,CACA,IAAI+L,EAA0BhU,EAAAA,YAAiB,SAAUuB,EAAOC,GAC9D,IAAIyS,EAAuBC,EACvB9P,EAAK7C,EAAM6C,GACbD,EAAY5C,EAAM4C,UAClBrB,EAAYvB,EAAMuB,UAClBoF,EAAa3G,EAAM2G,WACnBO,EAAYlH,EAAMkH,UAClBkI,EAAYpP,EAAMoP,UAClBwD,EAAe5S,EAAM4S,aACrBC,EAAgB7S,EAAM6S,cACtBC,EAAwB9S,EAAM8S,sBAC9BC,EAAe/S,EAAM+S,aACrBC,EAAwBhT,EAAMiT,gBAC9BA,OAA4C,IAA1BD,EAAmC,YAAcA,EACnEE,EAAUlT,EAAMkT,QAChBxM,EAAO1G,EAAM0G,KACb3D,EAAW/C,EAAM+C,SACjBoQ,EAAUnT,EAAMmT,QAChBC,EAAkBpT,EAAMoT,gBACxBC,EAAqBrT,EAAMqT,mBAC3BtP,EAAO/D,EAAM+D,KACbuP,EAActT,EAAMsT,YACpBC,EAA0BvT,EAAMuT,wBAChCpJ,EAAcnK,EAAMmK,YACpBqJ,EAAsBxT,EAAMwT,oBAC5BpQ,EAAqBpD,EAAMoD,mBAC3BkD,EAActG,EAAMsG,YACpBC,EAAuBvG,EAAMuG,qBAC7B0E,EAAWjL,EAAMiL,SACjBwI,GAAgBzT,EAAMyT,cACtBC,GAAkB1T,EAAM0T,gBACxBC,GAAa3T,EAAM2T,WACnBC,GAAY5T,EAAM4T,UAClBC,GAAY7T,EAAM6T,UAClBC,GAAY9T,EAAM8T,UAClBC,GAAa/T,EAAM+T,WACnBhF,GAAY/O,EAAM+O,UAClBC,GAAiBhP,EAAMgP,eACvBC,GAAgBjP,EAAMiP,cACtBC,GAAoBlP,EAAMkP,kBAC1BI,GAA2BtP,EAAMsP,yBACjCC,GAAiBvP,EAAMuP,eACvBC,GAAgBxP,EAAMwP,cACtBH,GAAYrP,EAAMqP,UAClBI,GAAoBzP,EAAMyP,kBAC1BuE,GAAoBhU,EAAMmR,WAC1BA,QAAmC,IAAtB6C,GAA+B,GAAKA,GACjD9K,GAAUlJ,EAAMkJ,QAChBC,GAASnJ,EAAMmJ,OACf8K,GAAUjU,EAAMiU,QAChB1Q,GAAYvD,EAAMuD,UAClB5B,GAAc3B,EAAM2B,YACpBmO,IAAYC,EAAAA,EAAAA,GAAyB/P,EAAO0O,GAG1CwF,GAAW1B,EAAW9L,GACtByN,SAAmCrT,IAAf6F,EAA2BA,EAAauN,KAAsB,aAATxN,EACzE0N,IAAWzP,EAAAA,EAAAA,GAAc,CAAC,EAAGmL,IACjCyC,EAAmB8B,SAAQ,SAAUC,UAC5BF,GAASE,EAClB,IACiB,OAAjB1B,QAA0C,IAAjBA,GAAmCA,EAAayB,SAAQ,SAAUC,UAClFF,GAASE,EAClB,IAGA,IAAIlK,GAAkB3L,EAAAA,UAAe,GACnC4L,IAAmBtC,EAAAA,EAAAA,GAAeqC,GAAiB,GACnDmK,GAASlK,GAAiB,GAC1BmK,GAAYnK,GAAiB,GAC/B5L,EAAAA,WAAgB,WAEd+V,IAAUC,EAAAA,EAAAA,KACZ,GAAG,IAGH,IAAIC,GAAejW,EAAAA,OAAa,MAC5BkW,GAAiBlW,EAAAA,OAAa,MAC9BmW,GAAanW,EAAAA,OAAa,MAC1BoW,GAAcpW,EAAAA,OAAa,MAC3BqW,GAAUrW,EAAAA,OAAa,MAGvBsW,GCvGS,WACb,IAAIC,EAAUpU,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GAC9EwJ,EAAkB3L,EAAAA,UAAe,GACnC4L,GAAmBtC,EAAAA,EAAAA,GAAeqC,EAAiB,GACnD6K,EAAO5K,EAAiB,GACxB6K,EAAU7K,EAAiB,GACzB8K,EAAW1W,EAAAA,OAAa,MACxB2W,EAAe,WACjBnU,OAAOC,aAAaiU,EAAShU,QAC/B,EAaA,OAZA1C,EAAAA,WAAgB,WACd,OAAO2W,CACT,GAAG,IAUI,CAACH,EATW,SAAsBjX,EAAOqX,GAC9CD,IACAD,EAAShU,QAAUF,OAAOI,YAAW,WACnC6T,EAAQlX,GACJqX,GACFA,GAEJ,GAAGL,EACL,EAC4BI,EAC9B,CDgFuBE,GACnBC,IAAkBxN,EAAAA,EAAAA,GAAegN,GAAgB,GACjDS,GAAcD,GAAgB,GAC9BE,GAAiBF,GAAgB,GACjCG,GAAuBH,GAAgB,GAGzC9W,EAAAA,oBAA0BwB,GAAK,WAC7B,IAAI0V,EAAsBC,EAC1B,MAAO,CACLxK,MAAwD,QAAhDuK,EAAuBd,GAAY1T,eAA8C,IAAzBwU,OAAkC,EAASA,EAAqBvK,MAChIC,KAAwD,QAAjDuK,EAAwBf,GAAY1T,eAA+C,IAA1ByU,OAAmC,EAASA,EAAsBvK,KAClIwK,SAAU,SAAkBC,GAC1B,IAAIC,EACJ,OAAgD,QAAxCA,EAAmBjB,GAAQ3T,eAA0C,IAArB4U,OAA8B,EAASA,EAAiBF,SAASC,EAC3H,EAEJ,IAGA,IAAIE,GAAoBvX,EAAAA,SAAc,WACpC,IAAIwX,EACJ,GAAa,aAATvP,EACF,OAAOJ,EAET,IAAI4P,EAA+C,QAAxCD,EAAkBpD,EAAc,UAAoC,IAApBoD,OAA6B,EAASA,EAAgBjY,MACjH,MAAsB,kBAARkY,GAAmC,kBAARA,EAAmBtM,OAAOsM,GAAO,EAC5E,GAAG,CAAC5P,EAAaI,EAAMmM,IAInBsD,GAAiC,aAATzP,GAAkD,oBAApB0M,GAAkCA,KAAqB,KAG7GgD,GAAyD,oBAAvB/C,GAAqCA,IACvEgD,IAAuBC,EAAAA,EAAAA,IAAc3B,GAA6C,OAA7ByB,SAAkE,IAA7BA,IAA4G,QAA5D1D,EAAwB0D,GAAyBpW,aAA6C,IAA1B0S,OAA9E,EAA0HA,EAAsBzS,KAGhRsW,IAAkBC,EAAAA,EAAAA,QAAe1V,EAAW,CAC5C2V,aAAcnD,EACdtV,MAAO+F,IAET2S,IAAmB3O,EAAAA,EAAAA,GAAewO,GAAiB,GACnDI,GAAYD,GAAiB,GAC7BE,GAAeF,GAAiB,GAC9BG,GAAaF,GAGbG,IAAoB7D,GAAmBF,GACvChQ,GAAY+T,IAAoBD,IAAuB,aAATnQ,KAChDmQ,IAAa,GAEf,IAAIE,IAAcD,IAA2BD,GACzC1P,GAAe1I,EAAAA,aAAkB,SAAUuY,GAC7C,IAAIC,OAAuBnW,IAAZkW,EAAwBA,GAAWH,GAC7C9T,IACH6T,GAAaK,GACTJ,KAAeI,IACW,OAA5B1D,QAAgE,IAA5BA,GAA8CA,EAAwB0D,IAGhH,GAAG,CAAClU,EAAU8T,GAAYD,GAAcrD,IAGpCvI,GAAiBvM,EAAAA,SAAc,WACjC,OAAQiV,IAAmB,IAAIwD,MAAK,SAAUC,GAC5C,MAAO,CAAC,KAAM,QAAQzR,SAASyR,EACjC,GACF,GAAG,CAACzD,KACA0D,GAAmB,SAA0BC,EAAYC,EAAYC,GACvE,IAAIC,GAAM,EACNC,EAAgBJ,EACI,OAAxB7D,QAAwD,IAAxBA,GAA0CA,EAAoB,MAG9F,IAAIkE,EAAcH,EAAgB,KD3F/B,SAA6BI,EAAMC,GACxC,IAAKA,IAAWA,EAAO/W,OACrB,OAAO,KAET,IAAIgX,GAAQ,EAgBRC,EAfJ,SAASC,EAASC,EAAKC,GACrB,IAAIC,GAAQC,EAAAA,EAAAA,GAASF,GACnBG,EAAQF,EAAM,GACdG,EAAaH,EAAMrO,MAAM,GAC3B,IAAKuO,EACH,MAAO,CAACJ,GAEV,IAAIF,EAAOE,EAAI3V,MAAM+V,GAErB,OADAP,EAAQA,GAASC,EAAKjX,OAAS,EACxBiX,EAAKQ,QAAO,SAAUC,EAAUC,GACrC,MAAO,GAAGhW,QAAOiW,EAAAA,EAAAA,GAAmBF,IAAWE,EAAAA,EAAAA,GAAmBV,EAASS,EAASH,IACtF,GAAG,IAAIK,QAAO,SAAUC,GACtB,OAAOA,CACT,GACF,CACWZ,CAASJ,EAAMC,GAC1B,OAAOC,EAAQC,EAAO,IACxB,CCqE6Cc,CAAoBvB,EAAY3D,IAkBzE,MAfa,aAAThN,GAAuBgR,IACzBD,EAAgB,GACE,OAAlBhE,SAA4C,IAAlBA,IAAoCA,GAAciE,GAG5EvQ,IAAa,GAGbqQ,GAAM,GAEJvM,GAAY+K,KAAsByB,GACpCxM,EAASwM,EAAe,CACtBoB,OAAQvB,EAAa,SAAW,WAG7BE,CACT,EAgBA/Y,EAAAA,WAAgB,WACToY,IAAe3C,IAAqB,aAATxN,GAC9B0Q,GAAiB,IAAI,GAAO,EAEhC,GAAG,CAACP,KAIJpY,EAAAA,WAAgB,WACVkY,IAAa5T,GACf6T,IAAa,GAEX7T,GACF0S,IAAe,EAEnB,GAAG,CAAC1S,IASJ,IAAIuI,GAAW5K,IACb6K,IAAYxD,EAAAA,EAAAA,GAAeuD,GAAU,GACrCwN,GAAevN,GAAU,GACzBwN,GAAexN,GAAU,GAyEvByN,GAAWva,EAAAA,QAAa,GA0CxBwa,GAAmB,GACvBxa,EAAAA,WAAgB,WACd,OAAO,WACLwa,GAAiB5E,SAAQ,SAAU6E,GACjC,OAAOhY,aAAagY,EACtB,IACAD,GAAiBE,OAAO,EAAGF,GAAiBpY,OAC9C,CACF,GAAG,IACH,IAiDIuY,GAtBAC,GAAmB5a,EAAAA,SAAe,MACpC6a,IAAmBvR,EAAAA,EAAAA,GAAesR,GAAkB,GACpDvK,GAAiBwK,GAAiB,GAClCC,GAAoBD,GAAiB,GACnCE,GAAmB/a,EAAAA,SAAe,CAAC,GAErCgb,IADmB1R,EAAAA,EAAAA,GAAeyR,GAAkB,GACrB,IAKjCE,EAAAA,EAAAA,IAAgB,WACd,GAAI3C,GAAa,CACf,IAAI4C,EACAC,EAAWC,KAAKC,KAAwD,QAAlDH,EAAwBjF,GAAavT,eAA+C,IAA1BwY,OAAmC,EAASA,EAAsBI,aAClJjL,KAAmB8K,GAAaI,OAAOC,MAAML,IAC/CL,GAAkBK,EAEtB,CACF,GAAG,CAAC7C,KAIAX,KACFgD,GAAyB,SAAgCpC,GACvD7P,GAAa6P,EACf,GEvaW,SAAiCkD,EAAUnW,EAAMgT,EAAaoD,GAC3E,IAAIC,EAAW3b,EAAAA,OAAa,MAC5B2b,EAASjZ,QAAU,CACjB4C,KAAMA,EACNgT,YAAaA,EACboD,kBAAmBA,GAErB1b,EAAAA,WAAgB,WACd,SAAS4b,EAAkBvY,GACzB,IAAIwY,EAEJ,GAA+C,QAA1CA,EAAoBF,EAASjZ,eAA2C,IAAtBmZ,IAAgCA,EAAkBH,kBAAzG,CAGA,IAAIhO,EAASrK,EAAMqK,OACfA,EAAOoO,YAAczY,EAAM0Y,WAC7BrO,EAASrK,EAAM2Y,eAAe,IAAMtO,GAElCiO,EAASjZ,QAAQ4C,MAAQmW,IAAWxB,QAAO,SAAUgC,GACvD,OAAOA,CACT,IAAGC,OAAM,SAAUD,GACjB,OAAQA,EAAQE,SAASzO,IAAWuO,IAAYvO,CAClD,KAEEiO,EAASjZ,QAAQ4V,aAAY,EAX/B,CAaF,CAEA,OADA9V,OAAO4Z,iBAAiB,YAAaR,GAC9B,WACL,OAAOpZ,OAAO6Z,oBAAoB,YAAaT,EACjD,CACF,GAAG,GACL,CF2YEU,EAAwB,WACtB,IAAIC,EACJ,MAAO,CAACtG,GAAavT,QAAyD,QAA/C6Z,EAAuBpG,GAAWzT,eAA8C,IAAzB6Z,OAAkC,EAASA,EAAqBjK,kBACxJ,GAAGgG,GAAa5P,KAAgBiP,IAGhC,IAkBI6E,GAgBAC,GAlCAC,GAAoB1c,EAAAA,SAAc,WACpC,OAAOkG,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAAC,EAAG3E,GAAQ,CAAC,EAAG,CACjDiT,gBAAiBA,EACjBlP,KAAM8S,GACNE,YAAaA,GACblU,GAAIA,EACJ8D,WAAYwN,GACZD,SAAUA,GACVkH,WAAYjU,IAEhB,GAAG,CAACnH,EAAOiT,EAAiB8D,GAAaF,GAAYhU,EAAIsR,GAAkBD,GAAU/M,KAOjFkU,QAAgCva,IAAd8S,GAA0BA,GAAYT,IAAYe,IAAqB,aAATxN,EAEhF2U,KACFJ,GAAyBxc,EAAAA,cAAoBsK,EAAU,CACrDxH,UAAWa,IAAW,GAAGI,OAAOI,EAAW,WAAWkG,EAAAA,EAAAA,GAAgB,CAAC,EAAG,GAAGtG,OAAOI,EAAW,kBAAmBuQ,IAClH3R,cAAeqS,GACfpS,mBAAoB,CAClB0R,QAASA,EACT7M,YAAa0P,GACbjS,KAAM8S,GACNzO,QAASoN,GACT7O,WAAYwN,OAiBbpR,IAAY4Q,KAAed,EAAchS,SAAUmV,IAAiC,aAATtP,GAA6C,KAAtBsP,KACrGkF,GAAyBzc,EAAAA,cAAoBsK,EAAU,CACrDxH,UAAW,GAAGiB,OAAOI,EAAW,UAChCjB,YAbmB,WACrB,IAAI2Z,EACQ,OAAZpI,QAAgC,IAAZA,GAA8BA,IACA,QAAjDoI,EAAwBzG,GAAY1T,eAA+C,IAA1Bma,GAA4CA,EAAsBlQ,QAC5H0H,EAAsB,GAAI,CACxBlO,KAAM,QACNyB,OAAQwM,IAEVuE,GAAiB,IAAI,GAAO,EAC9B,EAKI5V,cAAesS,IACd,SAIL,IAwDIyH,GAxDAC,GAA0B/c,EAAAA,cAAoBsV,GAAY,CAC5D9T,IAAK6U,KAIH2G,GAAkBrZ,IAAWQ,EAAWrB,GAAYoR,EAAe,CAAC,GAAG7J,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,YAAa4S,KAAc1M,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,aAAcsR,KAAWpL,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,YAAasR,KAAWpL,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,gBAAiB+Q,KAAa7K,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,eAAgByY,KAAkBvS,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,aAAcG,IAAW+F,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,YAAauQ,IAAUrK,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,SAAUiU,KAAa/N,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,oBAAqBuT,KAAwBrN,EAAAA,EAAAA,GAAgB6J,EAAc,GAAGnQ,OAAOI,EAAW,gBAAiBuR,IAAmBxB,IAGz2B+I,GAA4Bjd,EAAAA,cAAoBkQ,EAAe,CACjE1O,IAAK2U,GACL7R,SAAUA,EACVH,UAAWA,EACXgM,QAASmI,GACTlI,aAAc2M,GACd1M,eAAgBA,GAChBC,UAAWA,GACXC,eAAgBA,GAChBC,cAAeA,GACfC,kBAAmBA,GACnBE,UAAWA,EACXE,yBAA0BA,GAC1BC,eAAgBA,GAChBC,cAAeA,GACfH,UAAWA,GACXI,kBAAmBA,GACnBC,MAAOqD,EACPpD,kBAAmB,WACjB,OAAOgF,GAAexT,OACxB,EACAyO,qBAAsBwJ,GACtBvJ,kBAhHF,WACE4J,GAAY,CAAC,EACf,GA+GGrD,GAAwC3X,EAAAA,aAAmB2X,GAA0B,CACtFnW,IAAKoW,KACW5X,EAAAA,cAAoBoM,GAAUuD,EAAAA,EAAAA,GAAS,CAAC,EAAGpO,EAAO,CAClEmL,OAAQwJ,GACR/R,UAAWA,EACXE,aAAcqT,GACdlW,IAAK4U,GACLhS,GAAIA,EACJ8D,WAAYwN,GACZ5N,qBAAsBA,EACtBG,KAAMA,EACNtD,mBAAoBA,EACpB8D,UAAWA,EACXb,OAAQwM,EACR9O,KAAM8S,GACN1P,aAAcA,GACdgD,YAAaA,EACb7D,YAAa0P,GACb/K,SAAUmM,GACVlM,eAzU2B,SAAgCmM,GAEtDA,GAAeA,EAAWsE,QAG/B1Q,EAASoM,EAAY,CACnBwB,OAAQ,UAEZ,EAkUEzR,SAvOqB,SAA0B8O,GAC/C,IAAI0F,EAAY/I,EAAc6F,QAAO,SAAUmD,GAC7C,OAAOA,IAAM3F,CACf,IACApD,EAAsB8I,EAAW,CAC/BhX,KAAM,SACNyB,OAAQ,CAAC6P,IAEb,EAgOElL,eAAgBA,OAkClB,OA1BEuQ,GADEnF,GACWsF,GAEajd,EAAAA,cAAoB,OAAO2P,EAAAA,EAAAA,GAAS,CAC5D7M,UAAWka,IACVrH,GAAU,CACXnU,IAAKyU,GACL/S,YAvLsB,SAA6BG,GACrD,IAAIga,EACA3P,EAASrK,EAAMqK,OACf0C,EAA8D,QAA9CiN,EAAsBlH,GAAWzT,eAA6C,IAAxB2a,OAAiC,EAASA,EAAoB/K,kBAGxI,GAAIlC,GAAgBA,EAAa+L,SAASzO,GAAS,CACjD,IAAI+M,EAAY7X,YAAW,WACzB,IAMM0a,EANFhK,EAAQkH,GAAiB+C,QAAQ9C,IACtB,IAAXnH,GACFkH,GAAiBE,OAAOpH,EAAO,GAEjC2D,KACKnB,IAAW1F,EAAa+L,SAAStV,SAAS2W,gBAEK,QAAjDF,EAAwBlH,GAAY1T,eAA+C,IAA1B4a,GAA4CA,EAAsB3Q,OAEhI,IACA6N,GAAiBiD,KAAKhD,EACxB,CACA,IAAK,IAAIiD,EAAQvb,UAAUC,OAAQub,EAAW,IAAIjX,MAAMgX,EAAQ,EAAIA,EAAQ,EAAI,GAAIE,EAAQ,EAAGA,EAAQF,EAAOE,IAC5GD,EAASC,EAAQ,GAAKzb,UAAUyb,GAElB,OAAhB1a,SAAwC,IAAhBA,IAAkCA,GAAY2a,WAAM,EAAQ,CAACxa,GAAOU,OAAO4Z,GACrG,EAgKI7Y,UAjToB,SAA2BzB,GACjD,IAsCMya,EAtCFC,EAAY1D,KACZhN,EAAQhK,EAAMgK,MAelB,GAdIA,IAAUC,EAAAA,EAAQG,QAEP,aAATxF,GACF5E,EAAMC,iBAIH8U,IACH1P,IAAa,IAGjB4R,KAAe/C,IAGXlK,IAAUC,EAAAA,EAAQO,YAAckQ,GAAatI,KAAa8B,IAAqBnD,EAAchS,OAAQ,CAGvG,IAFA,IAAI4b,GAAqBhE,EAAAA,EAAAA,GAAmB5F,GACxC6J,EAAsB,KACjBb,EAAIY,EAAmB5b,OAAS,EAAGgb,GAAK,EAAGA,GAAK,EAAG,CAC1D,IAAI1a,EAAUsb,EAAmBZ,GACjC,IAAK1a,EAAQ4B,SAAU,CACrB0Z,EAAmBtD,OAAO0C,EAAG,GAC7Ba,EAAsBvb,EACtB,KACF,CACF,CACIub,GACF5J,EAAsB2J,EAAoB,CACxC7X,KAAM,SACNyB,OAAQ,CAACqW,IAGf,CACA,IAAK,IAAIC,EAAO/b,UAAUC,OAAQ+b,EAAO,IAAIzX,MAAMwX,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAClGD,EAAKC,EAAO,GAAKjc,UAAUic,GAEzBhG,IAAc/B,GAAQ3T,UAEvBob,EAAoBzH,GAAQ3T,SAASoC,UAAU+Y,MAAMC,EAAmB,CAACza,GAAOU,OAAOoa,IAE5E,OAAdrZ,SAAoC,IAAdA,IAAgCA,GAAU+Y,WAAM,EAAQ,CAACxa,GAAOU,OAAOoa,GAC/F,EAuQI3I,QApQkB,SAAyBnS,GAC7C,IAAK,IAAIgb,EAAQlc,UAAUC,OAAQ+b,EAAO,IAAIzX,MAAM2X,EAAQ,EAAIA,EAAQ,EAAI,GAAIC,EAAQ,EAAGA,EAAQD,EAAOC,IACxGH,EAAKG,EAAQ,GAAKnc,UAAUmc,GAG5B,IAAIC,EADFnG,IAAc/B,GAAQ3T,UAEvB6b,EAAoBlI,GAAQ3T,SAAS8S,QAAQqI,MAAMU,EAAmB,CAAClb,GAAOU,OAAOoa,IAE5E,OAAZ3I,SAAgC,IAAZA,IAA8BA,GAAQqI,WAAM,EAAQ,CAACxa,GAAOU,OAAOoa,GACzF,EA4PI1T,QA5OmB,WACrBuM,IAAe,GACV1S,IACCmG,KAAY8P,GAAS7X,SACvB+H,GAAQoT,WAAM,EAAQ1b,WAIpBuQ,GAAWzL,SAAS,UACtByB,IAAa,IAGjB6R,GAAS7X,SAAU,CACrB,EAgOIgI,OA/NkB,WACpBsM,IAAe,GAAO,WACpBuD,GAAS7X,SAAU,EACnBgG,IAAa,EACf,IACIpE,IAGAiT,KAEW,SAATtP,EACFuE,EAAS+K,GAAmB,CAC1B6C,OAAQ,WAEQ,aAATnS,GAETuE,EAAS,GAAI,CACX4N,OAAQ,UAIV1P,IACFA,GAAOmT,WAAM,EAAQ1b,WAEzB,IAwMM4U,KAAgBqB,IAA2BpY,EAAAA,cAAoB,OAAQ,CACzEuD,MAAO,CACLiH,MAAO,EACPgU,OAAQ,EACRC,SAAU,WACV3M,SAAU,SACVvL,QAAS,GAEX,YAAa,UACZ,GAAGxC,OAAOqQ,EAAcvQ,KAAI,SAAUhB,GACvC,IAAIwE,EAAQxE,EAAKwE,MACf9H,EAAQsD,EAAKtD,MACf,MAAO,CAAC,SAAU,UAAU0H,UAASnH,EAAAA,EAAAA,GAAQuH,IAAUA,EAAQ9H,CACjE,IAAGmf,KAAK,QAASzB,GAAcT,GAAWC,IAExBzc,EAAAA,cAAoB+B,EAAkB4c,SAAU,CAClEpf,MAAOmd,IACNI,GACL,IAMA,QGlkBA,SAAS7V,EAASmI,EAAMwP,GACtB,OAAOnY,EAAQ2I,GAAMsP,KAAK,IAAIG,cAAc5X,SAAS2X,EACvD,CACA,I,YCLIE,GAAO,EAGAlY,IAAqDmY,EAAAA,GAAAA,KAgBjD,SAASC,GAAM5a,GAE5B,IAAIuH,EAAkB3L,EAAAA,WACpB4L,GAAmBtC,EAAAA,EAAAA,GAAeqC,EAAiB,GACnDsT,EAAUrT,EAAiB,GAC3BsT,EAAatT,EAAiB,GAIhC,OAHA5L,EAAAA,WAAgB,WACdkf,EAAW,aAAanb,OApBrB,WACL,IAAIob,EAUJ,OANIvY,IACFuY,EAAQL,GACRA,IAAQ,GAERK,EAAQ,cAEHA,CACT,CAQmCC,IACjC,GAAG,IACIhb,GAAM6a,CACf,C,gBC9BIhP,GAAY,CAAC,WAAY,SAC3BoP,GAAa,CAAC,YAgBT,SAASC,GAAsBC,GACpC,IAAIC,EAAard,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,IAAmBA,UAAU,GAChF,OAAOsE,EAAAA,GAAAA,GAAQ8Y,GAAO1b,KAAI,SAAU4b,EAAMnM,GACxC,IAAmBtT,EAAAA,eAAqByf,KAAUA,EAAKtZ,KACrD,OAAO,KAET,IAAIuZ,EAAQD,EACVE,EAAmBD,EAAMvZ,KAAKwZ,iBAC9Bjf,EAAMgf,EAAMhf,IACZkf,EAAcF,EAAMne,MACpB6B,EAAWwc,EAAYxc,SACvBiO,GAAYC,EAAAA,EAAAA,GAAyBsO,EAAaP,IACpD,OAAIG,IAAeG,EAzBvB,SAA6BF,GAC3B,IAAI5c,EAAO4c,EACT/e,EAAMmC,EAAKnC,IACXmf,EAAahd,EAAKtB,MAClB6B,EAAWyc,EAAWzc,SACtB7D,EAAQsgB,EAAWtgB,MACnB8R,GAAYC,EAAAA,EAAAA,GAAyBuO,EAAY5P,IACnD,OAAO/J,EAAAA,EAAAA,GAAc,CACnBxF,IAAKA,EACLnB,WAAiB8C,IAAV9C,EAAsBA,EAAQmB,EACrC0C,SAAUA,GACTiO,EACL,CAcayO,CAAoBL,IAEtBvZ,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CACjCxF,IAAK,oBAAoBqD,OAAe,OAARrD,EAAe4S,EAAQ5S,EAAK,MAC5D2G,MAAO3G,GACN2Q,GAAY,CAAC,EAAG,CACjBqC,QAAS4L,GAAsBlc,IAEnC,IAAG6W,QAAO,SAAUnP,GAClB,OAAOA,CACT,GACF,CCrCe,SAASiV,GAAWnJ,GACjC,IAAIoJ,EAAUhgB,EAAAA,SACdggB,EAAQtd,QAAUkU,EAClB,IAAIqJ,EAAUjgB,EAAAA,aAAkB,WAC9B,OAAOggB,EAAQtd,QAAQmb,MAAMmC,EAAS7d,UACxC,GAAG,IACH,OAAO8d,CACT,CCVA,IAAIC,GAAW,WACb,OAAO,IACT,EACAA,GAASP,kBAAmB,EAC5B,UCJIQ,GAAS,WACX,OAAO,IACT,EACAA,GAAOC,gBAAiB,EACxB,U,oCCHA,IACA,GADiCpgB,EAAAA,cAAoB,MCCjDiQ,GAAY,CAAC,WAAY,QAAS,WAAY,QAAS,aAgB3D,SAASlJ,GAAYkD,GACnB,MAA0B,kBAAZA,GAA2C,kBAAZA,CAC/C,CAMA,IAAIqL,GAAa,SAAoB+K,EAAG7e,GACtC,IAAI8e,EAAgBte,IAClBmC,EAAYmc,EAAcnc,UAC1BC,EAAKkc,EAAclc,GACnBkB,EAAOgb,EAAchb,KACrBmQ,EAAW6K,EAAc7K,SACzBxN,EAAOqY,EAAcrY,KACrBJ,EAAcyY,EAAczY,YAC5B8U,EAAa2D,EAAc3D,WAC3BnI,EAAkB8L,EAAc9L,gBAChC+L,EAAgBD,EAAcC,cAC5BC,EAAoBxgB,EAAAA,WAAiBygB,IACvCC,EAAiBF,EAAkBE,eACnCC,EAAgBH,EAAkBG,cAClCC,EAA2BJ,EAAkBI,yBAC7CC,EAAWL,EAAkBK,SAC7BC,EAAuBN,EAAkBM,qBACzCC,EAAYP,EAAkBO,UAC9BvN,EAAagN,EAAkBhN,WAC/BwN,EAAUR,EAAkBQ,QAC5BC,EAAaT,EAAkBS,WAC/BC,EAAiBV,EAAkBU,eACjCC,EAAgB,GAAGpd,OAAOI,EAAW,SACrCid,GAAqBC,EAAAA,GAAAA,IAAQ,WAC/B,OAAOX,CACT,GAAG,CAACpb,EAAMob,IAAiB,SAAUY,EAAMC,GACzC,OAAOA,EAAK,IAAMD,EAAK,KAAOC,EAAK,EACrC,IAGIlL,EAAUrW,EAAAA,OAAa,MACvBwhB,EAAkB,SAAyBne,GAC7CA,EAAMC,gBACR,EACIme,EAAiB,SAAwBC,GACvCrL,EAAQ3T,SACV2T,EAAQ3T,QAAQ0U,SAAyB,kBAATsK,EAAoB,CAClDpO,MAAOoO,GACLA,EAER,EAGIC,EAAwB,SAA+BrO,GAGzD,IAFA,IAAIzB,EAAS1P,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAC7Eyf,EAAMR,EAAmBhf,OACpBgb,EAAI,EAAGA,EAAIwE,EAAKxE,GAAK,EAAG,CAC/B,IAAI1a,GAAW4Q,EAAQ8J,EAAIvL,EAAS+P,GAAOA,EACvCC,EAAwBT,EAAmB1e,GAC7Cof,EAAQD,EAAsBC,MAC9BhX,EAAO+W,EAAsB/W,KAC/B,IAAKgX,IAAUhX,EAAKxG,SAClB,OAAO5B,CAEX,CACA,OAAQ,CACV,EACIiJ,EAAkB3L,EAAAA,UAAe,WACjC,OAAO2hB,EAAsB,EAC/B,IACA/V,GAAmBtC,EAAAA,EAAAA,GAAeqC,EAAiB,GACnDoW,EAAcnW,EAAiB,GAC/BoW,EAAiBpW,EAAiB,GAChCqW,EAAY,SAAmB3O,GACjC,IAAI4O,EAAe/f,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,IAAmBA,UAAU,GAClF6f,EAAe1O,GACf,IAAI6O,EAAO,CACT/H,OAAQ8H,EAAe,WAAa,SAIlCE,EAAchB,EAAmB9N,GAChC8O,EAILzB,EAAcyB,EAAY7iB,MAAO+T,EAAO6O,GAHtCxB,EAAc,MAAO,EAAGwB,EAI5B,GAGAE,EAAAA,EAAAA,YAAU,WACRJ,GAAuC,IAA7BrB,EAAqCe,EAAsB,IAAM,EAC7E,GAAG,CAACP,EAAmBhf,OAAQyF,IAG/B,IAAIya,EAAatiB,EAAAA,aAAkB,SAAUT,GAC3C,OAAOwhB,EAAU1gB,IAAId,IAAmB,aAAT0I,CACjC,GAAG,CAACA,GAAM+R,EAAAA,EAAAA,GAAmB+G,GAAW3Z,WAAY2Z,EAAUwB,QAG9DF,EAAAA,EAAAA,YAAU,WAMR,IAgBM/K,EAhBFmD,EAAY7X,YAAW,WACzB,IAAK6S,GAAYnQ,GAA2B,IAAnByb,EAAUwB,KAAY,CAC7C,IAAIhjB,EAAQmH,MAAM8b,KAAKzB,GAAW,GAC9BzN,EAAQ8N,EAAmBqB,WAAU,SAAU5f,GAEjD,OADWA,EAAKiI,KACJvL,QAAUA,CACxB,KACe,IAAX+T,IACF2O,EAAU3O,GACVmO,EAAenO,GAEnB,CACF,IAGIhO,IAEuC,QAAxCgS,EAAmBjB,EAAQ3T,eAA0C,IAArB4U,GAAuCA,EAAiBF,cAAS/U,IAEpH,OAAO,WACL,OAAOI,aAAagY,EACtB,CACF,GAAG,CAACnV,EAAMuC,IAGV,IAAI6a,EAAgB,SAAuBnjB,QAC3B8C,IAAV9C,GACFshB,EAASthB,EAAO,CACdojB,UAAW5B,EAAU1gB,IAAId,KAKxBkW,GACHkH,GAAW,EAEf,EAqEA,GAlEA3c,EAAAA,oBAA0BwB,GAAK,WAC7B,MAAO,CACLsD,UAAW,SAAmBzB,GAC5B,IAAIgK,EAAQhK,EAAMgK,MAChBuV,EAAUvf,EAAMuf,QAClB,OAAQvV,GAEN,KAAKC,EAAAA,EAAQuV,EACb,KAAKvV,EAAAA,EAAQwV,EACb,KAAKxV,EAAAA,EAAQC,GACb,KAAKD,EAAAA,EAAQE,KAET,IAAIqE,EAAS,EAYb,GAXIxE,IAAUC,EAAAA,EAAQC,GACpBsE,GAAU,EACDxE,IAAUC,EAAAA,EAAQE,KAC3BqE,EAAS,EClLhB,uBAAuBzC,KAAK2T,UAAUC,aDmLHJ,IACxBvV,IAAUC,EAAAA,EAAQuV,EACpBhR,EAAS,EACAxE,IAAUC,EAAAA,EAAQwV,IAC3BjR,GAAU,IAGC,IAAXA,EAAc,CAChB,IAAIoR,EAAkBtB,EAAsBI,EAAclQ,EAAQA,GAClE4P,EAAewB,GACfhB,EAAUgB,GAAiB,EAC7B,CACA,MAIJ,KAAK3V,EAAAA,EAAQG,MAGT,IAAItG,EAAOia,EAAmBW,GAC1B5a,IAASA,EAAK2D,KAAKxG,SACrBoe,EAAcvb,EAAK5H,OAEnBmjB,OAAcrgB,GAEZiD,GACFjC,EAAMC,iBAER,MAIJ,KAAKgK,EAAAA,EAAQK,IAETgP,GAAW,GACPrX,GACFjC,EAAMoE,kBAIhB,EACA+N,QAAS,WAAoB,EAC7B4B,SAAU,SAAkB9D,GAC1BmO,EAAenO,EACjB,EAEJ,IAGkC,IAA9B8N,EAAmBhf,OACrB,OAAoBpC,EAAAA,cAAoB,MAAO,CAC7CqG,KAAM,UACNjC,GAAI,GAAGL,OAAOK,EAAI,SAClBtB,UAAW,GAAGiB,OAAOod,EAAe,UACpCje,YAAase,GACZhN,GAEL,IAAI0O,EAAoB9jB,OAAO+jB,KAAK3P,GAAY3P,KAAI,SAAUnD,GAC5D,OAAO8S,EAAW9S,EACpB,IACI0iB,EAAW,SAAkBjc,GAC/B,OAAOA,EAAKE,KACd,EACI0D,EAAa,SAAoBuI,GACnC,IAAInM,EAAOia,EAAmB9N,GAC9B,IAAKnM,EAAM,OAAO,KAClB,IAAIkc,EAAWlc,EAAK2D,MAAQ,CAAC,EACzBvL,EAAQ8jB,EAAS9jB,MACjBuiB,EAAQ3a,EAAK2a,MACbvc,GAAQoF,EAAAA,EAAAA,GAAU0Y,GAAU,GAC5BC,EAAcF,EAASjc,GAC3B,OAAOA,EAAoBnH,EAAAA,cAAoB,OAAO2P,EAAAA,EAAAA,GAAS,CAC7D,aAAqC,kBAAhB2T,GAA6BxB,EAAsB,KAAdwB,GACzD/d,EAAO,CACR7E,IAAK4S,EACLjN,KAAMyb,EAAQ,eAAiB,SAC/B1d,GAAI,GAAGL,OAAOK,EAAI,UAAUL,OAAOuP,GACnC,gBAAiBgP,EAAW/iB,KAC1BA,GAAS,IACf,EACA,OAAoBS,EAAAA,cAAoBA,EAAAA,SAAgB,KAAmBA,EAAAA,cAAoB,MAAO,CACpGqG,KAAM,UACNjC,GAAI,GAAGL,OAAOK,EAAI,SAClBb,MAAO,CACLib,OAAQ,EACRhU,MAAO,EACPsH,SAAU,WAEX/G,EAAWgX,EAAc,GAAIhX,EAAWgX,GAAchX,EAAWgX,EAAc,IAAkB/hB,EAAAA,cAAoBujB,GAAAA,EAAM,CAC5Hjc,QAAS,MACT9F,IAAK6U,EACLvL,KAAMsW,EACN5C,OAAQyC,EACRuC,WAAYtC,EACZuC,YAAY,EACZvgB,YAAase,EACbkC,SAAUnD,EACVS,QAASA,IACR,SAAU7Z,EAAMwc,GACjB,IAAIC,EACA9B,EAAQ3a,EAAK2a,MACf+B,EAAc1c,EAAK0c,YACnB/Y,EAAO3D,EAAK2D,KACZzD,EAAQF,EAAKE,MACb9H,EAAQ4H,EAAK5H,MACXmB,EAAMoK,EAAKpK,IAGf,GAAIohB,EAAO,CACT,IAAIgC,EACAC,EAA4C,QAA9BD,EAAchZ,EAAK9D,aAAmC,IAAhB8c,EAAyBA,EAAc/c,GAAYM,GAASA,EAAMD,gBAAa/E,EACvI,OAAoBrC,EAAAA,cAAoB,MAAO,CAC7C8C,UAAWa,IAAWwd,EAAe,GAAGpd,OAAOod,EAAe,WAC9Dna,MAAO+c,QACI1hB,IAAVgF,EAAsBA,EAAQ3G,EACnC,CACA,IAAI4D,EAAWwG,EAAKxG,SAClB0C,EAAQ8D,EAAK9D,MAEbzD,GADWuH,EAAK1H,SACR0H,EAAKvH,OACbT,EAAYgI,EAAKhI,UACjBkhB,GAAa1S,EAAAA,EAAAA,GAAyBxG,EAAMmF,IAC1CgU,GAAcC,EAAAA,GAAAA,GAAKF,EAAYd,GAG/BP,EAAWL,EAAW/iB,GACtB4kB,EAAkB,GAAGpgB,OAAOod,EAAe,WAC3CiD,EAAkBzgB,IAAWwd,EAAegD,EAAiBrhB,GAAY8gB,EAAc,CAAC,GAAGvZ,EAAAA,EAAAA,GAAgBuZ,EAAa,GAAG7f,OAAOogB,EAAiB,YAAaN,IAAcxZ,EAAAA,EAAAA,GAAgBuZ,EAAa,GAAG7f,OAAOogB,EAAiB,WAAYpC,IAAgB4B,IAAcrf,IAAW+F,EAAAA,EAAAA,GAAgBuZ,EAAa,GAAG7f,OAAOogB,EAAiB,aAAc7f,IAAW+F,EAAAA,EAAAA,GAAgBuZ,EAAa,GAAG7f,OAAOogB,EAAiB,aAAcxB,GAAWiB,IAC7bN,EAAcF,EAASjc,GACvBkd,GAAevD,GAAwD,oBAAzBA,GAAuC6B,EAGrF1Y,EAAiC,kBAAhBqZ,EAA2BA,EAAcA,GAAe/jB,EAEzE+kB,EAAcvd,GAAYkD,GAAWA,EAAQ7C,gBAAa/E,EAI9D,YAHcA,IAAV2E,IACFsd,EAActd,GAEIhH,EAAAA,cAAoB,OAAO2P,EAAAA,EAAAA,GAAS,CAAC,GAAGhF,EAAAA,EAAAA,GAAUsZ,GAAc,CAClF,gBAAiBtB,EACjB7f,UAAWshB,EACXpd,MAAOsd,EACPC,YAAa,WACPxC,IAAgB4B,GAAarf,GAGjC2d,EAAU0B,EACZ,EACAxgB,QAAS,WACFmB,GACHoe,EAAcnjB,EAElB,EACAgE,MAAOA,IACQvD,EAAAA,cAAoB,MAAO,CAC1C8C,UAAW,GAAGiB,OAAOogB,EAAiB,aACrCla,GAAuBjK,EAAAA,eAAqB8gB,IAAyB6B,EAAU0B,GAA4BrkB,EAAAA,cAAoBsK,EAAU,CAC1IxH,UAAW,GAAGiB,OAAOod,EAAe,iBACpCpe,cAAe+d,EACf9d,mBAAoB,CAClBsf,WAAYK,IAEbA,EAAW,SAAM,MACtB,IACF,EACI6B,GAA6BxkB,EAAAA,WAAiBsV,IAClDkP,GAAc7iB,YAAc,aAC5B,UE/NA,ICtHIsO,GAAY,CAAC,KAAM,OAAQ,YAAa,WAAY,aAAc,aAAc,cAAe,WAAY,uBAAwB,WAAY,aAAc,2BAA4B,eAAgB,aAAc,mBAAoB,kBAAmB,UAAW,WAAY,2BAA4B,uBAAwB,UAAW,aAAc,iBAAkB,QAAS,eAAgB,eAAgB,YAgD7ZwU,GAAiB,CAAC,cAItB,IAAIC,GAAsB1kB,EAAAA,YAAiB,SAAUuB,EAAOC,GAC1D,IAAI4C,EAAK7C,EAAM6C,GACb6D,EAAO1G,EAAM0G,KACb0c,EAAmBpjB,EAAM4C,UACzBA,OAAiC,IAArBwgB,EAA8B,YAAcA,EACxDC,EAAWrjB,EAAMqjB,SACjBpR,EAAajS,EAAMiS,WACnB1J,EAAavI,EAAMuI,WACnBjC,EAActG,EAAMsG,YACpB2E,EAAWjL,EAAMiL,SACjBqY,EAAwBtjB,EAAMuG,qBAC9BA,OAAiD,IAA1B+c,GAA0CA,EACjEhE,EAAWtf,EAAMsf,SACjBiE,EAAavjB,EAAMujB,WACnBC,EAAwBxjB,EAAMsP,yBAC9BA,OAAqD,IAA1BkU,GAA0CA,EACrEC,EAAezjB,EAAMyjB,aACrBC,EAAa1jB,EAAM0jB,WACnBC,EAAmB3jB,EAAM2jB,iBACzBC,EAAkB5jB,EAAM4jB,gBACxBzR,EAAUnS,EAAMmS,QAChBtQ,EAAW7B,EAAM6B,SACjBwd,EAA2Brf,EAAMqf,yBACjCE,EAAuBvf,EAAMuf,qBAC7BE,EAAUzf,EAAMyf,QAChBoE,EAAoB7jB,EAAM0f,WAC1BA,OAAmC,IAAtBmE,EAA+B,IAAMA,EAClDC,EAAwB9jB,EAAM2f,eAC9BA,OAA2C,IAA1BmE,EAAmC,GAAKA,EACzD9lB,EAAQgC,EAAMhC,MACdyY,EAAezW,EAAMyW,aACrBsN,EAAe/jB,EAAM+jB,aACrBtgB,EAAWzD,EAAMyD,SACjBqM,GAAYC,EAAAA,EAAAA,GAAyB/P,EAAO0O,IAC1CsV,EAAWvG,GAAM5a,GACjBqR,EAAW1B,EAAW9L,GACtBwL,IAAqBC,IAAWtQ,GAChCoiB,GAAqBxlB,EAAAA,SAAc,WACrC,YAAqBqC,IAAjB2iB,GAAuC,aAAT/c,IAG3B+c,CACT,GAAG,CAACA,EAAc/c,IAGdwd,GAAmBzlB,EAAAA,SAAc,WACnC,OAAOuT,EAAeC,EAAYC,EACpC,GACA,CAEAiS,KAAKC,UAAUnS,GAAaC,IAIxBqE,IAAkBC,EAAAA,EAAAA,GAAe,GAAI,CACrCxY,WAAuB8C,IAAhBwF,EAA4BA,EAAciC,EACjD8b,UAAW,SAAmBhH,GAC5B,OAAOA,GAAU,EACnB,IAEF3G,IAAmB3O,EAAAA,EAAAA,GAAewO,GAAiB,GACnDP,GAAoBU,GAAiB,GACrC4N,GAAiB5N,GAAiB,GAGhC6N,GCrHS,SAAoBpS,EAAStQ,EAAUoQ,EAAY0R,EAAkBC,GAClF,OAAOnlB,EAAAA,SAAc,WACnB,IAAI+lB,EAAgBrS,GACEA,IAEpBqS,EAAgBzG,GAAsBlc,IAExC,IAAI4iB,EAAe,IAAIC,IACnBC,EAAe,IAAID,IACnBE,EAAkB,SAAyBC,EAAiBxS,EAAQlT,GAClEA,GAAsB,kBAARA,GAChB0lB,EAAgBrlB,IAAI6S,EAAOlT,GAAMkT,EAErC,EAkBA,OAjBA,SAASyS,EAAItJ,GAGX,IAFA,IAAIuJ,EAAankB,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,IAAmBA,UAAU,GAEvEib,EAAI,EAAGA,EAAIL,EAAW3a,OAAQgb,GAAK,EAAG,CAC7C,IAAIxJ,EAASmJ,EAAWK,IACnBxJ,EAAOJ,EAAWE,UAAY4S,GACjCN,EAAajlB,IAAI6S,EAAOJ,EAAWjU,OAAQqU,GAC3CuS,EAAgBD,EAActS,EAAQJ,EAAWnM,OAEjD8e,EAAgBD,EAActS,EAAQsR,GACtCiB,EAAgBD,EAActS,EAAQuR,IAEtCkB,EAAIzS,EAAOJ,EAAWE,UAAU,EAEpC,CACF,CACA2S,CAAIN,GACG,CACLrS,QAASqS,EACTC,aAAcA,EACdE,aAAcA,EAElB,GAAG,CAACxS,EAAStQ,EAAUoQ,EAAY0R,EAAkBC,GACvD,CDgFsBoB,CAAW7S,EAAStQ,EAAUqiB,GAAkBP,EAAkBC,GAClFa,GAAeF,GAAcE,aAC/BE,GAAeJ,GAAcI,aAC7BH,GAAgBD,GAAcpS,QAG5B8S,GAAsBxmB,EAAAA,aAAkB,SAAUymB,GAKpD,OAHgBhgB,EAAQggB,GAGP5iB,KAAI,SAAU4T,GAC7B,IAAIiP,EACAC,EACAC,EACAC,EACAC,EAMEC,GA1FZ,SAAoBxnB,GAClB,OAAQA,GAA4B,YAAnBO,EAAAA,EAAAA,GAAQP,EAC3B,EAqFUynB,CAAWvP,GACbiP,EAAWjP,GAGXmP,EAASnP,EAAI/W,IACbimB,EAAWlP,EAAIpQ,MACfqf,EAAwC,QAA5BK,EAAatP,EAAIlY,aAAkC,IAAfwnB,EAAwBA,EAAaH,GAEvF,IAEMK,EAFFrT,EAASoS,GAAa1lB,IAAIomB,GAC1B9S,SAGevR,IAAbskB,IAAwBA,EAAsB,OAAX/S,QAA8B,IAAXA,OAAoB,EAASA,EAAOuR,GAAmBM,GAAiBpe,aACnHhF,IAAXukB,IAAsBA,EAAwF,QAA9EK,EAAyB,OAAXrT,QAA8B,IAAXA,OAAoB,EAASA,EAAOlT,WAAiC,IAAhBumB,EAAyBA,EAAcP,GACjKG,EAAyB,OAAXjT,QAA8B,IAAXA,OAAoB,EAASA,EAAOtP,SACrEwiB,EAAsB,OAAXlT,QAA8B,IAAXA,OAAoB,EAASA,EAAO5M,OAUpE,MAAO,CACLK,MAAOsf,EACPpnB,MAAOmnB,EACPhmB,IAAKkmB,EACLtiB,SAAUuiB,EACV7f,MAAO8f,EAEX,GACF,GAAG,CAACrB,GAAkBN,EAAiBa,KAGnCkB,IAAmBnP,EAAAA,EAAAA,GAAeC,EAAc,CAChDzY,MAAOA,IAET4nB,IAAmB7d,EAAAA,EAAAA,GAAe4d,GAAkB,GACpDE,GAAgBD,GAAiB,GACjCE,GAAmBF,GAAiB,GAelCG,GElMN,SAA0BC,EAAevB,GACvC,IAAIwB,EAAWxnB,EAAAA,OAAa,CAC1B4H,OAAQ,IAAIqe,IACZvS,QAAS,IAAIuS,MAgCf,MAAO,CA9BmBjmB,EAAAA,SAAc,WACtC,IAAIynB,EAAoBD,EAAS9kB,QAC/BglB,EAAiBD,EAAkB7f,OACnC+f,EAAkBF,EAAkB/T,QAGlCkU,EAAgBL,EAAc1jB,KAAI,SAAUsD,GAE5C,IAAI0gB,EADN,YAAmBxlB,IAAf8E,EAAKE,OAEAnB,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAAC,EAAGiB,GAAO,CAAC,EAAG,CAChDE,MAAkE,QAA1DwgB,EAAsBH,EAAepnB,IAAI6G,EAAK5H,cAA4C,IAAxBsoB,OAAiC,EAASA,EAAoBxgB,QAGrIF,CACT,IAGI2gB,EAAa,IAAI7B,IACjB8B,EAAc,IAAI9B,IAOtB,OANA2B,EAAchS,SAAQ,SAAUzO,GAC9B2gB,EAAW/mB,IAAIoG,EAAK5H,MAAO4H,GAC3B4gB,EAAYhnB,IAAIoG,EAAK5H,MAAOymB,EAAa1lB,IAAI6G,EAAK5H,QAAUooB,EAAgBrnB,IAAI6G,EAAK5H,OACvF,IACAioB,EAAS9kB,QAAQkF,OAASkgB,EAC1BN,EAAS9kB,QAAQgR,QAAUqU,EACpBH,CACT,GAAG,CAACL,EAAevB,IACHhmB,EAAAA,aAAkB,SAAUyX,GAC1C,OAAOuO,EAAa1lB,IAAImX,IAAQ+P,EAAS9kB,QAAQgR,QAAQpT,IAAImX,EAC/D,GAAG,CAACuO,IAEL,CF8JiBgC,CAZOhoB,EAAAA,SAAc,WACnC,IAAIioB,EACArgB,EAAS4e,GAAoBY,IAGjC,MAAa,aAATnf,GAAoD,QAA1BggB,EAAWrgB,EAAO,UAA6B,IAAbqgB,GAAuBA,EAAS1oB,MAGzFqI,EAFE,EAGX,GAAG,CAACwf,GAAeZ,GAAqBve,IAGG+d,IACzCkC,IAAa5e,EAAAA,EAAAA,GAAege,GAAW,GACvCa,GAAeD,GAAW,GAC1BE,GAAiBF,GAAW,GAC1B9T,GAAgBpU,EAAAA,SAAc,WAGhC,IAAKiI,GAAgC,IAAxBkgB,GAAa/lB,OAAc,CACtC,IAAIimB,EAAaF,GAAa,GAC9B,GAAyB,OAArBE,EAAW9oB,QAAwC,OAArB8oB,EAAWhhB,YAAuChF,IAArBgmB,EAAWhhB,OACxE,MAAO,EAEX,CACA,OAAO8gB,GAAatkB,KAAI,SAAUsD,GAChC,IAAImhB,EACJ,OAAOpiB,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAAC,EAAGiB,GAAO,CAAC,EAAG,CAChDE,MAAsC,QAA9BihB,EAAcnhB,EAAKE,aAAmC,IAAhBihB,EAAyBA,EAAcnhB,EAAK5H,OAE9F,GACF,GAAG,CAAC0I,EAAMkgB,KAGNpH,GAAY/gB,EAAAA,SAAc,WAC5B,OAAO,IAAIuoB,IAAIJ,GAAatkB,KAAI,SAAU4T,GACxC,OAAOA,EAAIlY,KACb,IACF,GAAG,CAAC4oB,KACJnoB,EAAAA,WAAgB,WACd,GAAa,aAATiI,EAAqB,CACvB,IAAIugB,EACAC,EAAkD,QAAtCD,EAAiBL,GAAa,UAAmC,IAAnBK,OAA4B,EAASA,EAAejpB,MAClHsmB,GrB3NC,SAAkBtmB,GACvB,YAAiB8C,IAAV9C,GAAiC,OAAVA,CAChC,CqByNqBmpB,CAASD,GAAYtd,OAAOsd,GAAY,GACzD,CACF,GAAG,CAACN,KAIJ,IAAIQ,GAAkB5I,IAAW,SAAUtI,EAAKpQ,GAC9C,IAAIxE,EACAygB,EAAwB,OAAVjc,QAA4B,IAAVA,EAAmBA,EAAQoQ,EAC/D,OAAO5U,EAAO,CAAC,GAAGwH,EAAAA,EAAAA,GAAgBxH,EAAM4iB,GAAiBlmB,MAAOkY,IAAMpN,EAAAA,EAAAA,GAAgBxH,EAAM4iB,GAAiBpe,MAAOic,GAAczgB,CACpI,IA2BI+lB,GVnQN,SAA0BlV,EAASF,EAAY3L,EAAamd,EAAcE,GACxE,OAAOllB,EAAAA,SAAc,WACnB,IAAK6H,IAAgC,IAAjBmd,EAClB,OAAOtR,EAET,IAAImV,EAAerV,EAAWE,QAC5BoV,EAAatV,EAAWnM,MACxB0hB,EAAavV,EAAWjU,MACtBqpB,EAAkB,GAClBI,EAA0C,oBAAjBhE,EACzBiE,EAAcphB,EAAYgX,cAC1BqK,EAAaF,EAAkBhE,EAAe,SAAU3E,EAAGzM,GAE7D,OAAIsR,EACKje,EAAS2M,EAAOsR,GAAmB+D,GAIxCrV,EAAOiV,GAEF5hB,EAAS2M,EAAsB,aAAfkV,EAA4BA,EAAa,SAAUG,GAErEhiB,EAAS2M,EAAOmV,GAAaE,EACtC,EACIE,EAAaH,EAAkB,SAAUI,GAC3C,OAAOzV,EAAsByV,EAC/B,EAAI,SAAUA,GACZ,OAAOA,CACT,EAuBA,OAtBA1V,EAAQkC,SAAQ,SAAUzO,GAExB,GAAIA,EAAK0hB,GAGP,GADiBK,EAAWrhB,EAAashB,EAAWhiB,IAElDyhB,EAAgBnL,KAAKtW,OAChB,CAEL,IAAIkiB,EAAaliB,EAAK0hB,GAAc5O,QAAO,SAAUqP,GACnD,OAAOJ,EAAWrhB,EAAashB,EAAWG,GAC5C,IACID,EAAWjnB,QACbwmB,EAAgBnL,MAAKvX,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAAC,EAAGiB,GAAO,CAAC,GAAGkD,EAAAA,EAAAA,GAAgB,CAAC,EAAGwe,EAAcQ,IAEtG,MAGEH,EAAWrhB,EAAashB,EAAWhiB,KACrCyhB,EAAgBnL,KAAKtW,EAEzB,IACOyhB,CACT,GAAG,CAAClV,EAASsR,EAAcE,EAAkBrd,EAAa2L,GAC3D,CU8MuB+V,CAxBCvpB,EAAAA,SAAc,WACnC,GAAa,SAATiI,EACF,OAAO8d,GAIT,IAAIyD,GAAexP,EAAAA,EAAAA,GAAmB+L,IAgBtC,OARA/L,EAAAA,EAAAA,GAAmBmO,IAAcsB,MAAK,SAAUC,EAAGC,GACjD,OAAOD,EAAEnqB,MAAQoqB,EAAEpqB,OAAS,EAAI,CAClC,IAAGqW,SAAQ,SAAUzO,GACnB,IAAIsQ,EAAMtQ,EAAK5H,OARE,SAAsBkY,GACvC,OAAOuO,GAAa3lB,IAAIoX,EAC1B,EAOOmS,CAAanS,IAChB+R,EAAa/L,KAAKkL,GAAgBlR,EAAKtQ,EAAKE,OAEhD,IACOmiB,CACT,GAAG,CAACb,GAAiB5C,GAAeC,GAAcmC,GAAclgB,IACPwd,GAAkBlO,GAAmBiO,GAAoBN,GAG9G2E,GAAsB7pB,EAAAA,SAAc,WACtC,MAAa,SAATiI,IAAoBsP,IAAqBqR,GAAgBnQ,MAAK,SAAUtR,GAC1E,OAAOA,EAAK+d,GAAoB,WAAa3N,EAC/C,IACSqR,GAIF,CAACD,GAAgBpR,KAAoBxT,QAAOiW,EAAAA,EAAAA,GAAmB4O,IACxE,GAAG,CAACD,GAAiBzD,EAAkBjd,EAAM2gB,GAAiBrR,KAC1DuS,GAAyB9pB,EAAAA,SAAc,WACzC,OAAKilB,GAGEjL,EAAAA,EAAAA,GAAmB6P,IAAqBJ,MAAK,SAAUC,EAAGC,GAC/D,OAAO1E,EAAWyE,EAAGC,EACvB,IAJSE,EAKX,GAAG,CAACA,GAAqB5E,IACrB8E,GAAiB/pB,EAAAA,SAAc,WACjC,Od9PG,SAAwB0T,GAC7B,IAAIgM,EAAQvd,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,EAC/EqR,EAAakM,EAAMlM,WACnBC,EAAiBiM,EAAMjM,eACrBuW,EAAc,GACdC,EAAkB1W,EAAeC,GAAY,GAC/CsV,EAAamB,EAAgB5iB,MAC7B0hB,EAAakB,EAAgB1qB,MAC7BspB,EAAeoB,EAAgBvW,QAiCjC,OAhCA,SAAS2S,EAAIhN,EAAM6Q,GACjB7Q,EAAKzD,SAAQ,SAAU9K,GACrB,IAAIzD,EAAQyD,EAAKge,GACjB,GAAIoB,KAAmBrB,KAAgB/d,GAAO,CAC5C,IAAIvL,EAAQuL,EAAKie,GAGjBiB,EAAYvM,KAAK,CACf/c,IAAK2S,EAAOvI,EAAMkf,EAAY5nB,QAC9ByhB,YAAaqG,EACbpf,KAAMA,EACNzD,MAAOA,EACP9H,MAAOA,GAEX,KAAO,CACL,IAAI4qB,EAAW9iB,OACEhF,IAAb8nB,GAA0B1W,IAC5B0W,EAAWrf,EAAKzD,OAIlB2iB,EAAYvM,KAAK,CACf/c,IAAK2S,EAAOvI,EAAMkf,EAAY5nB,QAC9B0f,OAAO,EACPhX,KAAMA,EACNzD,MAAO8iB,IAET9D,EAAIvb,EAAK+d,IAAe,EAC1B,CACF,GACF,CACAxC,CAAI3S,GAAS,GACNsW,CACT,CcoNWtJ,CAAeoJ,GAAwB,CAC5CtW,WAAYiS,GACZhS,eAAgBA,GAEpB,GAAG,CAACqW,GAAwBrE,GAAkBhS,IAG1C2W,GAAgB,SAAuBxiB,GACzC,IAAI2f,EAAgBf,GAAoB5e,GAExC,GADAyf,GAAiBE,GACbviB,IAEJuiB,EAAcnlB,SAAW+lB,GAAa/lB,QAAUmlB,EAAc9O,MAAK,SAAU4R,EAAQ/W,GACnF,IAAIgX,EACJ,OAAwD,QAA/CA,EAAsBnC,GAAa7U,UAA4C,IAAxBgX,OAAiC,EAASA,EAAoB/qB,UAAuB,OAAX8qB,QAA8B,IAAXA,OAAoB,EAASA,EAAO9qB,MACnM,KAAK,CACH,IAAIgrB,EAAejF,EAAeiC,EAAgBA,EAAc1jB,KAAI,SAAU2mB,GAC5E,OAAOA,EAAEjrB,KACX,IACIkrB,EAAgBlD,EAAc1jB,KAAI,SAAU2mB,GAC9C,OAAO7W,EAAsByU,GAAeoC,EAAEjrB,OAChD,IACAyF,EAEAyQ,EAAW8U,EAAeA,EAAa,GAEvC9U,EAAWgV,EAAgBA,EAAc,GAC3C,CACF,EAGI9e,GAAkB3L,EAAAA,SAAe,MACnC4L,IAAmBtC,EAAAA,EAAAA,GAAeqC,GAAiB,GACnDD,GAAcE,GAAiB,GAC/B8e,GAAiB9e,GAAiB,GAChCgP,GAAmB5a,EAAAA,SAAe,GACpC6a,IAAmBvR,EAAAA,EAAAA,GAAesR,GAAkB,GACpD+P,GAAqB9P,GAAiB,GACtC+P,GAAwB/P,GAAiB,GACvCgQ,QAA8DxoB,IAA7Bue,EAAyCA,EAAoC,aAAT3Y,EACrG0Y,GAAgB3gB,EAAAA,aAAkB,SAAU8qB,EAAQxX,GACtD,IACEyX,GADU5oB,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,CAAC,GAC1DiY,OACrBA,OAA0B,IAAjB2Q,EAA0B,WAAaA,EAClDH,GAAsBtX,GAClBsR,GAAqB,aAAT3c,GAAkC,OAAX6iB,GAA8B,aAAX1Q,GACxDsQ,GAAevf,OAAO2f,GAE1B,GAAG,CAAClG,EAAU3c,IAGV+iB,GAAgB,SAAuBvT,EAAKkL,EAAUxc,GACxD,IAAI8kB,EAAe,WACjB,IAAIC,EACAtX,EAASwU,GAAe3Q,GAC5B,MAAO,CAAC6N,EAAe,CACrBje,MAAkB,OAAXuM,QAA8B,IAAXA,OAAoB,EAASA,EAAO6R,GAAiBpe,OAC/E9H,MAAOkY,EACP/W,IAAqF,QAA/EwqB,EAA0B,OAAXtX,QAA8B,IAAXA,OAAoB,EAASA,EAAOlT,WAAkC,IAAjBwqB,EAA0BA,EAAezT,GACpIA,EAAK9D,EAAsBC,GACjC,EACA,GAAI+O,GAAY9B,EAAU,CACxB,IAAIsK,EAAgBF,IAClBG,GAAiB9hB,EAAAA,EAAAA,GAAe6hB,EAAe,GAC/CE,EAAeD,EAAe,GAC9BE,EAAUF,EAAe,GAC3BvK,EAASwK,EAAcC,EACzB,MAAO,IAAK3I,GAAYmC,GAAuB,UAAT3e,EAAkB,CACtD,IAAIolB,EAAiBN,IACnBO,GAAiBliB,EAAAA,EAAAA,GAAeiiB,EAAgB,GAChDE,EAAgBD,EAAe,GAC/BE,EAAWF,EAAe,GAC5B1G,EAAW2G,EAAeC,EAC5B,CACF,EAGIC,GAAmB5L,IAAW,SAAUtI,EAAK0K,GAC/C,IAAIyJ,EAGAC,GAAepW,GAAW0M,EAAKQ,SAEjCiJ,EADEC,EACYpW,EAAW,GAAG1R,QAAOiW,EAAAA,EAAAA,GAAmBmO,IAAe,CAAC1Q,IAAQ,CAACA,GAEjE0Q,GAAalO,QAAO,SAAUuQ,GAC1C,OAAOA,EAAEjrB,QAAUkY,CACrB,IAEF2S,GAAcwB,GACdZ,GAAcvT,EAAKoU,GAGN,aAAT5jB,EAEFyiB,GAAe,IACL3W,IAAcjM,IACxB+d,GAAe,IACf6E,GAAe,IAEnB,IAyDIoB,GAAgB9rB,EAAAA,SAAc,WAChC,IAAI+rB,GAA0B,IAAZ/K,IAAkD,IAA7BnQ,EACvC,OAAO3K,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAAC,EAAG4f,IAAgB,CAAC,EAAG,CACzDpF,eAAgBqJ,GAChBpJ,cAAeA,GACfC,yBAA0BiK,GAC1BhK,SAAU8K,GACV7K,qBAAsBA,EACtBC,UAAWA,GACXvN,WAAYiS,GACZzE,QAAS+K,EACT9K,WAAYA,EACZC,eAAgBA,EAChBzN,eAAgBA,GAEpB,GAAG,CAACqS,GAAeiE,GAAgBpJ,GAAekK,GAAgCc,GAAkB7K,EAAsBC,GAAW0E,GAAkBzE,EAASnQ,EAA0BoQ,EAAYC,EAAgBzN,IAWtN,OAAoBzT,EAAAA,cAAoBygB,GAAc9B,SAAU,CAC9Dpf,MAAOusB,IACO9rB,EAAAA,cAAoBgU,GAAYrE,EAAAA,EAAAA,GAAS,CAAC,EAAG0B,EAAW,CAEtEjN,GAAImhB,EACJphB,UAAWA,EACX3C,IAAKA,EACL2S,aAAcsQ,GACdxc,KAAMA,EAGNmM,cAAeA,GACfC,sBA3F0B,SAA+B2X,EAAY7J,GACrEiI,GAAc4B,GACd,IAAI7lB,EAAOgc,EAAKhc,KACdyB,EAASua,EAAKva,OACH,WAATzB,GAA8B,UAATA,GACvByB,EAAOgO,SAAQ,SAAUzO,GACvB6jB,GAAc7jB,EAAK5H,OAAO,EAAO4G,EACnC,GAEJ,EAqFE0B,YAAa0P,GACb/K,SAnFqB,SAA0BoM,EAAYuJ,GAK3D,GAJA0D,GAAejN,GACf8R,GAAe,MAGK,WAAhBvI,EAAK/H,OAWW,SAAhB+H,EAAK/H,SACM,aAATnS,GACFmiB,GAAcxR,GAEH,OAAbpM,QAAkC,IAAbA,GAA+BA,EAASoM,QAf/D,CACE,IAAIqT,GAAarT,GAAc,IAAIsE,OAEnC,GAAI+O,EAAW,CACb,IAAIC,EAAexlB,MAAM8b,KAAK,IAAI+F,IAAI,GAAGxkB,QAAOiW,EAAAA,EAAAA,GAAmB+G,IAAY,CAACkL,MAChF7B,GAAc8B,GACdlB,GAAciB,GAAW,GACzBpG,GAAe,GACjB,CAEF,CAOF,EA8DE/d,qBAAsBA,EACtBkN,cA9D0B,SAA+BmX,GACzD,IAAIC,EAAcD,EACL,SAATlkB,IACFmkB,EAAcD,EAAMtoB,KAAI,SAAUwoB,GAChC,IAAIjD,EAAMlD,GAAa5lB,IAAI+rB,GAC3B,OAAe,OAARjD,QAAwB,IAARA,OAAiB,EAASA,EAAI7pB,KACvD,IAAG0a,QAAO,SAAUxC,GAClB,YAAepV,IAARoV,CACT,KAEF,IAAIyU,EAAexlB,MAAM8b,KAAK,IAAI+F,IAAI,GAAGxkB,QAAOiW,EAAAA,EAAAA,GAAmB+G,KAAY/G,EAAAA,EAAAA,GAAmBoS,MAClGhC,GAAc8B,GACdA,EAAatW,SAAQ,SAAU0W,GAC7BtB,GAAcsB,GAAa,EAC7B,GACF,EAgDEzb,yBAA0BA,EAG1ByE,WAAYA,GACZhB,cAAeyV,GAAe3nB,OAG9BsJ,YAAaA,GACb/G,mBAAoB,GAAGZ,OAAOwhB,EAAU,UAAUxhB,OAAO4mB,OAE7D,IAIA,IAAI4B,GAAc7H,GAClB6H,GAAYpM,OAASA,GACrBoM,GAAYrM,SAAWA,GACvB,IGtfA,GHsfA,E,iLInfIsM,EAAsBxsB,EAAAA,YAAiB,SAAU6C,EAAMrB,GACzD,IAeMzB,EAfFye,EAAS3b,EAAK2b,OAChBiO,EAAU5pB,EAAK4pB,QACfC,EAAU7pB,EAAK6pB,QACftpB,EAAWP,EAAKO,SAChBe,EAAYtB,EAAKsB,UACjBwoB,EAAgB9pB,EAAK8pB,cACrBC,EAAa/pB,EAAK+pB,WAClBC,EAAMhqB,EAAKgqB,IACXC,EAAQjqB,EAAKiqB,MACXC,EAAa,CAAC,EACdC,EAAa,CACfC,QAAS,OACTC,cAAe,eAED7qB,IAAZoqB,IAGFM,EAAa,CACXvO,OAAQA,EACRC,SAAU,WACV3M,SAAU,UAEZkb,GAAa9mB,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAAC,EAAG8mB,GAAa,CAAC,GAAIjtB,EAAiB,CAC9EotB,UAAW,cAAcppB,OAAO0oB,EAAS,SACxCpiB,EAAAA,EAAAA,GAAgBtK,EAAgB8sB,EAAM,cAAgB,cAAeH,IAAUriB,EAAAA,EAAAA,GAAgBtK,EAAgB,WAAY,aAAasK,EAAAA,EAAAA,GAAgBtK,EAAgB,OAAQ,IAAIsK,EAAAA,EAAAA,GAAgBtK,EAAgB,QAAS,IAAIsK,EAAAA,EAAAA,GAAgBtK,EAAgB,MAAO,GAAIA,KAEjR,OAAoBC,EAAAA,cAAoB,MAAO,CAC7CuD,MAAOwpB,GACO/sB,EAAAA,cAAoBotB,EAAAA,QAAgB,CAClDC,SAAU,SAAkB3N,GACPA,EAAM4N,cACLX,GAClBA,GAEJ,GACc3sB,EAAAA,cAAoB,OAAO2P,EAAAA,EAAAA,GAAS,CAClDpM,MAAOypB,EACPlqB,UAAWa,KAAW0G,EAAAA,EAAAA,GAAgB,CAAC,EAAG,GAAGtG,OAAOI,EAAW,iBAAkBA,IACjF3C,IAAKA,GACJorB,GAAaxpB,EAAU0pB,IAC5B,IACAN,EAAO7qB,YAAc,SACrB,Q,WC/CA,SAAS4rB,EAAUliB,EAAGmiB,GAEpB,OADU,YAAaniB,EAAIA,EAAEoiB,QAAQ,GAAKpiB,GAC/BmiB,EAAa,QAAU,QACpC,CACA,IAAIE,EAAyB1tB,EAAAA,YAAiB,SAAUuB,EAAOC,GAC7D,IAAIoiB,EACAzf,EAAY5C,EAAM4C,UACpB0oB,EAAMtrB,EAAMsrB,IACZc,EAAepsB,EAAMosB,aACrBC,EAAcrsB,EAAMqsB,YACpBC,EAActsB,EAAMssB,YACpBC,EAAavsB,EAAMusB,WACnBpK,EAAWniB,EAAMmiB,SACjB8J,EAAajsB,EAAMisB,WACnBO,EAAWxsB,EAAMwsB,SACjBC,EAAgBzsB,EAAMysB,cACpBriB,EAAkB3L,EAAAA,UAAe,GACnC4L,GAAmBtC,EAAAA,EAAAA,GAAeqC,EAAiB,GACnDsiB,EAAWriB,EAAiB,GAC5BsiB,EAActiB,EAAiB,GAC7BgP,EAAmB5a,EAAAA,SAAe,MACpC6a,GAAmBvR,EAAAA,EAAAA,GAAesR,EAAkB,GACpDuT,EAAStT,EAAiB,GAC1BuT,EAAYvT,EAAiB,GAC3BE,EAAmB/a,EAAAA,SAAe,MACpCquB,GAAmB/kB,EAAAA,EAAAA,GAAeyR,EAAkB,GACpDuT,EAAWD,EAAiB,GAC5BE,EAAcF,EAAiB,GAC7BG,GAAS3B,EAET4B,EAAezuB,EAAAA,SACf0uB,EAAW1uB,EAAAA,SAEX2uB,EAAmB3uB,EAAAA,UAAe,GACpC4uB,GAAmBtlB,EAAAA,EAAAA,GAAeqlB,EAAkB,GACpDxe,EAAUye,EAAiB,GAC3BC,EAAaD,EAAiB,GAC5BE,EAAoB9uB,EAAAA,SACpB+uB,EAAc,WAChBtsB,aAAaqsB,EAAkBpsB,SAC/BmsB,GAAW,GACXC,EAAkBpsB,QAAUE,YAAW,WACrCisB,GAAW,EACb,GAAG,IACL,EAEIG,EAAoBpB,EAAcI,GAAiB,EACnDiB,EAAoBjB,EAAgBD,GAAY,EAEhDmB,EAAYF,EAAoB,EAEhCG,EAAMnvB,EAAAA,SAAc,WACtB,OAAqB,IAAjB2tB,GAA4C,IAAtBqB,EACjB,EAECrB,EAAeqB,EACZC,CACf,GAAG,CAACtB,EAAcqB,EAAmBC,IAOjCG,EAAWpvB,EAAAA,OAAa,CAC1BmvB,IAAKA,EACLlB,SAAUA,EACVoB,MAAOlB,EACPG,SAAUA,IAEZc,EAAS1sB,QAAU,CACjBysB,IAAKA,EACLlB,SAAUA,EACVoB,MAAOlB,EACPG,SAAUA,GAEZ,IAAIgB,EAAmB,SAA0BjkB,GAC/C6iB,GAAY,GACZE,EAAUb,EAAUliB,EAAGmiB,IACvBe,EAAYa,EAAS1sB,QAAQysB,KAC7BtB,IACAxiB,EAAE5D,kBACF4D,EAAE/H,gBACJ,EAKAtD,EAAAA,WAAgB,WACd,IAAIuvB,EAAwB,SAA+BlkB,GACzDA,EAAE/H,gBACJ,EACIksB,EAAef,EAAa/rB,QAC5B+sB,EAAWf,EAAShsB,QAGxB,OAFA8sB,EAAapT,iBAAiB,aAAcmT,GAC5CE,EAASrT,iBAAiB,aAAckT,GACjC,WACLE,EAAanT,oBAAoB,aAAckT,GAC/CE,EAASpT,oBAAoB,aAAciT,EAC7C,CACF,GAAG,IAEH,IAAII,EAAuB1vB,EAAAA,SAC3B0vB,EAAqBhtB,QAAUssB,EAC/B,IAAIW,EAAuB3vB,EAAAA,SAC3B2vB,EAAqBjtB,QAAUusB,EAC/BjvB,EAAAA,WAAgB,WACd,GAAIiuB,EAAU,CACZ,IAAI2B,EACArL,EAAc,SAAqBlZ,GACrC,IAAIwkB,EAAoBT,EAAS1sB,QAC/BotB,EAAgBD,EAAkB5B,SAClC8B,EAAaF,EAAkBR,MAC/BW,EAAgBH,EAAkBvB,SAEpC,GADA2B,EAAAA,EAAIC,OAAON,GACPE,EAAe,CACjB,IAAIje,EAAS0b,EAAUliB,EAAGmiB,GAAcuC,EACpCI,EAASH,GACRxB,GAAShB,EACZ2C,GAAUte,EAEVse,GAAUte,EAEZ,IAAIue,EAAuBV,EAAqBhtB,QAC5C2tB,EAAuBV,EAAqBjtB,QAC5C4tB,EAAMD,EAAuBF,EAASE,EAAuB,EAC7DE,EAAenV,KAAKC,KAAKiV,EAAMF,GACnCG,EAAenV,KAAKoV,IAAID,EAAc,GACtCA,EAAenV,KAAKqV,IAAIF,EAAcH,GACtCR,GAAYK,EAAAA,EAAAA,IAAI,WACdvM,EAAS6M,EAAc/C,EACzB,GACF,CACF,EACIkD,EAAY,WACdxC,GAAY,GACZJ,GACF,EAKA,OAJAtrB,OAAO4Z,iBAAiB,YAAamI,GACrC/hB,OAAO4Z,iBAAiB,YAAamI,GACrC/hB,OAAO4Z,iBAAiB,UAAWsU,GACnCluB,OAAO4Z,iBAAiB,WAAYsU,GAC7B,WACLluB,OAAO6Z,oBAAoB,YAAakI,GACxC/hB,OAAO6Z,oBAAoB,YAAakI,GACxC/hB,OAAO6Z,oBAAoB,UAAWqU,GACtCluB,OAAO6Z,oBAAoB,WAAYqU,GACvCT,EAAAA,EAAIC,OAAON,EACb,CACF,CACF,GAAG,CAAC3B,IACJjuB,EAAAA,WAAgB,WACd+uB,GACF,GAAG,CAACpB,IAEJ3tB,EAAAA,oBAA0BwB,GAAK,WAC7B,MAAO,CACLutB,YAAaA,EAEjB,IAEA,IAAI4B,EAAqB,GAAG5sB,OAAOI,EAAW,cAC1CysB,EAAiB,CACnBnS,SAAU,WACVxS,WAAYkE,GAAW+e,EAAY,KAAO,UAExC2B,EAAa,CACfpS,SAAU,WACVqS,WAAY,qBACZC,aAAc,GACdC,OAAQ,UACRxtB,WAAY,QA+Bd,OA7BIgqB,GAEFoD,EAAepS,OAAS,EACxBoS,EAAeK,KAAO,EACtBL,EAAeM,MAAQ,EACvBN,EAAeO,OAAS,EAExBN,EAAWrS,OAAS,OACpBqS,EAAWrmB,MAAQujB,EACfS,EACFqC,EAAWI,KAAO9B,EAElB0B,EAAWK,MAAQ/B,IAIrByB,EAAepmB,MAAQ,EACvBomB,EAAezB,IAAM,EACrByB,EAAeO,OAAS,EACpB3C,EACFoC,EAAeM,MAAQ,EAEvBN,EAAeK,KAAO,EAGxBJ,EAAWrmB,MAAQ,OACnBqmB,EAAWrS,OAASuP,EACpB8C,EAAW1B,IAAMA,GAECnvB,EAAAA,cAAoB,MAAO,CAC7CwB,IAAKitB,EACL3rB,UAAWa,IAAWgtB,GAAqB/M,EAAc,CAAC,GAAGvZ,EAAAA,EAAAA,GAAgBuZ,EAAa,GAAG7f,OAAO4sB,EAAoB,eAAgBnD,IAAanjB,EAAAA,EAAAA,GAAgBuZ,EAAa,GAAG7f,OAAO4sB,EAAoB,cAAenD,IAAanjB,EAAAA,EAAAA,GAAgBuZ,EAAa,GAAG7f,OAAO4sB,EAAoB,YAAaxgB,GAAUyT,IAC9TrgB,MAAOqtB,EACP1tB,YAnJyB,SAA8BmI,GACvDA,EAAE5D,kBACF4D,EAAE/H,gBACJ,EAiJEihB,YAAawK,GACC/uB,EAAAA,cAAoB,MAAO,CACzCwB,IAAKktB,EACL5rB,UAAWa,IAAW,GAAGI,OAAO4sB,EAAoB,WAAWtmB,EAAAA,EAAAA,GAAgB,CAAC,EAAG,GAAGtG,OAAO4sB,EAAoB,iBAAkB1C,IACnI1qB,MAAOstB,EACP3tB,YAAaosB,IAEjB,IAIA,QC9NO,SAAS8B,EAAKvuB,GACnB,IAAIO,EAAWP,EAAKO,SAClBiuB,EAASxuB,EAAKwuB,OACZC,EAAUtxB,EAAAA,aAAkB,SAAUyf,GACxC4R,EAAO5R,EACT,GAAG,IACH,OAAoBzf,EAAAA,aAAmBoD,EAAU,CAC/C5B,IAAK8vB,GAET,C,qCCgBA,EAvB4B,WAC1B,SAASC,KACPC,EAAAA,EAAAA,GAAgBC,KAAMF,GACtBE,KAAKC,UAAO,EAGZD,KAAKrtB,GAAK,EACVqtB,KAAKC,KAAOtyB,OAAOuyB,OAAO,KAC5B,CAaA,OAZAC,EAAAA,EAAAA,GAAaL,EAAU,CAAC,CACtB7wB,IAAK,MACLnB,MAAO,SAAamB,EAAKnB,GACvBkyB,KAAKC,KAAKhxB,GAAOnB,EACjBkyB,KAAKrtB,IAAM,CACb,GACC,CACD1D,IAAK,MACLnB,MAAO,SAAamB,GAClB,OAAO+wB,KAAKC,KAAKhxB,EACnB,KAEK6wB,CACT,CAtB4B,GCAb,SAASM,EAAY/mB,EAAMuI,EAAQye,GAChD,IAAInmB,EAAkB3L,EAAAA,SAAe8K,GACnCc,GAAmBtC,EAAAA,EAAAA,GAAeqC,EAAiB,GACnDomB,EAAWnmB,EAAiB,GAC5BomB,EAAcpmB,EAAiB,GAC7BgP,EAAmB5a,EAAAA,SAAe,MACpC6a,GAAmBvR,EAAAA,EAAAA,GAAesR,EAAkB,GACpDqX,EAAWpX,EAAiB,GAC5BqX,EAAcrX,EAAiB,GASjC,OARA7a,EAAAA,WAAgB,WACd,IAAImyB,ECsBD,SAA2BC,EAAYC,EAAYhf,GACxD,IAEIif,EACAC,EAHAC,EAAYJ,EAAWhwB,OACvBqwB,EAAYJ,EAAWjwB,OAG3B,GAAkB,IAAdowB,GAAiC,IAAdC,EACrB,OAAO,KAELD,EAAYC,GACdH,EAAYF,EACZG,EAAWF,IAEXC,EAAYD,EACZE,EAAWH,GAEb,IAAIM,EAAc,CAChBC,gBAAgB,GAElB,SAASC,EAAWzrB,GAClB,YAAa9E,IAAT8E,EACKkM,EAAOlM,GAETurB,CACT,CAIA,IAFA,IAAIG,EAAY,KACZpd,EAA+C,IAApC2F,KAAK0X,IAAIN,EAAYC,GAC3BrV,EAAI,EAAGA,EAAImV,EAASnwB,OAAQgb,GAAK,EAAG,CAC3C,IAAI2V,EAAWH,EAAWN,EAAUlV,IAEpC,GAAI2V,IADUH,EAAWL,EAASnV,IACR,CACxByV,EAAYzV,EACZ3H,EAAWA,GAAYsd,IAAaH,EAAWL,EAASnV,EAAI,IAC5D,KACF,CACF,CACA,OAAqB,OAAdyV,EAAqB,KAAO,CACjCvf,MAAOuf,EACPpd,SAAUA,EAEd,CD9Deud,CAAkBjB,GAAY,GAAIjnB,GAAQ,GAAIuI,QACQhR,KAAnD,OAAT8vB,QAA0B,IAATA,OAAkB,EAASA,EAAK7e,SACzC,OAAXwe,QAA8B,IAAXA,GAA6BA,EAAOK,EAAK7e,OAC5D4e,EAAYpnB,EAAKqnB,EAAK7e,SAExB0e,EAAYlnB,EACd,GAAG,CAACA,IACG,CAACmnB,EACV,CEpBA,IACA,EADqF,YAApD,qBAAdlP,UAA4B,aAAcjjB,EAAAA,EAAAA,GAAQijB,aAA4B,WAAW3T,KAAK2T,UAAUkQ,WCA3H,WAA0BC,EAAeC,GAEvC,IAAI7wB,GAAU+J,EAAAA,EAAAA,SAAO,GACjB+mB,GAAiB/mB,EAAAA,EAAAA,QAAO,MAS5B,IAAIgnB,GAAgBhnB,EAAAA,EAAAA,QAAO,CACzB8iB,IAAK+D,EACL/B,OAAQgC,IAIV,OAFAE,EAAc3wB,QAAQysB,IAAM+D,EAC5BG,EAAc3wB,QAAQyuB,OAASgC,EACxB,SAAUG,GACf,IAAIC,EAAepxB,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,IAAmBA,UAAU,GAC9EqxB,EAEJF,EAAS,GAAKD,EAAc3wB,QAAQysB,KAEpCmE,EAAS,GAAKD,EAAc3wB,QAAQyuB,OAQpC,OAPIoC,GAAgBC,GAElB/wB,aAAa2wB,EAAe1wB,SAC5BJ,EAAQI,SAAU,GACR8wB,IAAgBlxB,EAAQI,UAxBpCD,aAAa2wB,EAAe1wB,SAC5BJ,EAAQI,SAAU,EAClB0wB,EAAe1wB,QAAUE,YAAW,WAClCN,EAAQI,SAAU,CACpB,GAAG,MAuBKJ,EAAQI,SAAW8wB,CAC7B,CACD,EC/Bc,SAASC,EAAcC,EAAWR,EAAeC,EAAkBQ,EAIlFC,GACE,IAAIC,GAAYxnB,EAAAA,EAAAA,QAAO,GACnBynB,GAAeznB,EAAAA,EAAAA,QAAO,MAEtB0nB,GAAgB1nB,EAAAA,EAAAA,QAAO,MACvB2nB,GAAmB3nB,EAAAA,EAAAA,SAAO,GAE1BmnB,EAAeS,EAAgBf,EAAeC,GA4BlD,IAAIe,GAAoB7nB,EAAAA,EAAAA,QAAO,MAC3B8nB,GAAyB9nB,EAAAA,EAAAA,QAAO,MA0BpC,MAAO,CAzBP,SAAiBhJ,GACf,GAAKqwB,EAAL,CAEAzD,EAAAA,EAAIC,OAAOiE,EAAuBzxB,SAClCyxB,EAAuBzxB,SAAUutB,EAAAA,EAAAA,IAAI,WACnCiE,EAAkBxxB,QAAU,IAC9B,GAAG,GACH,IAAI0xB,EAAS/wB,EAAM+wB,OACjBd,EAASjwB,EAAMiwB,OACbe,EAAOjZ,KAAK0X,IAAIsB,GAChBE,EAAOlZ,KAAK0X,IAAIQ,GACc,OAA9BY,EAAkBxxB,UACpBwxB,EAAkBxxB,QAAUixB,GAAoBU,EAAOC,EAAO,IAAM,KAEpC,MAA9BJ,EAAkBxxB,QAxBxB,SAAkBW,GAChB,IAAI+wB,EAAS/wB,EAAM+wB,OACnBR,EAAaQ,GAAQ,GAChBG,GACHlxB,EAAMC,gBAEV,CAmBIkxB,CAASnxB,GA5Cb,SAAkBA,GAChB4sB,EAAAA,EAAIC,OAAO4D,EAAapxB,SACxB,IAAI4wB,EAASjwB,EAAMiwB,OACnBO,EAAUnxB,SAAW4wB,EACrBS,EAAcrxB,QAAU4wB,EAEpBE,EAAaF,KAEZiB,GACHlxB,EAAMC,iBAERwwB,EAAapxB,SAAUutB,EAAAA,EAAAA,IAAI,WAGzB,IAAIwE,EAAgBT,EAAiBtxB,QAAU,GAAK,EACpDkxB,EAAaC,EAAUnxB,QAAU+xB,GACjCZ,EAAUnxB,QAAU,CACtB,IACF,CA4BIgyB,CAASrxB,EAhBW,CAkBxB,EAEA,SAAyBA,GAClBqwB,IACLM,EAAiBtxB,QAAUW,EAAMsxB,SAAWZ,EAAcrxB,QAC5D,EAEF,C,eCrEIkyB,EAAa,GAAK,GCFtB,IAAIC,EAAW,GACR,SAASC,IACd,IAAI9G,EAAgB7rB,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,EAEpF4yB,EAAW/G,GADG7rB,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAK,GACzC,IAM7C,OALIqZ,MAAMuZ,KACRA,EAAW,GAEbA,EAAW3Z,KAAKoV,IAAIuE,EAAUF,GAC9BE,EAAW3Z,KAAKqV,IAAIsE,EAAU/G,EAAgB,GACvC5S,KAAK4Z,MAAMD,EACpB,C,mDCLA,IAAI9kB,EAAY,CAAC,YAAa,YAAa,SAAU,aAAc,aAAc,QAAS,OAAQ,WAAY,UAAW,UAAW,YAAa,cAAe,YAAa,WAAY,kBAAmB,kBAAmB,aAAc,eAmBzOglB,EAAa,GACbC,EAAc,CAChBC,UAAW,OACXC,eAAgB,QAEX,SAASC,EAAQ9zB,EAAOC,GAC7B,IAAImjB,EAAmBpjB,EAAM4C,UAC3BA,OAAiC,IAArBwgB,EAA8B,kBAAoBA,EAC9D7hB,EAAYvB,EAAMuB,UAClB0b,EAASjd,EAAMid,OACfgF,EAAajiB,EAAMiiB,WACnB8R,EAAoB/zB,EAAMkiB,WAC1BA,OAAmC,IAAtB6R,GAAsCA,EACnD/xB,EAAQhC,EAAMgC,MACduH,EAAOvJ,EAAMuJ,KACb1H,EAAW7B,EAAM6B,SACjBkE,EAAU/F,EAAM+F,QAChB0Z,EAAUzf,EAAMyf,QAChBrQ,EAAYpP,EAAMoP,UAClBpG,EAAchJ,EAAMgJ,YACpBgrB,EAAmBh0B,EAAMi0B,UACzBC,OAAiC,IAArBF,EAA8B,MAAQA,EAClD7R,EAAWniB,EAAMmiB,SACjBgS,EAAkBn0B,EAAMm0B,gBACxBC,EAAkBp0B,EAAMo0B,gBACxB/I,EAAarrB,EAAMqrB,WACnBgJ,EAAcr0B,EAAMq0B,YACpBvkB,GAAYC,EAAAA,EAAAA,GAAyB/P,EAAO0O,GAE1C4lB,KAA4B,IAAZ7U,IAAqBxC,IAAUgF,GAC/CkQ,EAAYmC,GAAc/qB,GAAQ0Y,EAAa1Y,EAAK1I,OAASoc,EAC7DsX,EAAsB,QAAdnlB,EACRqM,EAAkBrZ,IAAWQ,GAAWkG,EAAAA,EAAAA,GAAgB,CAAC,EAAG,GAAGtG,OAAOI,EAAW,QAAS2xB,GAAQhzB,GAClGizB,GAAajrB,GAAQmqB,EACrBe,IAAe3pB,EAAAA,EAAAA,UACf4pB,IAAiB5pB,EAAAA,EAAAA,UAEjBlD,IAAYC,EAAAA,EAAAA,UAAS,GACvBC,IAAaC,EAAAA,EAAAA,GAAeH,GAAW,GACvC+sB,GAAY7sB,GAAW,GACvB8sB,GAAe9sB,GAAW,GACxBI,IAAaL,EAAAA,EAAAA,UAAS,GACxBM,IAAaJ,EAAAA,EAAAA,GAAeG,GAAY,GACxC2sB,GAAa1sB,GAAW,GACxB2sB,GAAgB3sB,GAAW,GACzB4sB,IAAaltB,EAAAA,EAAAA,WAAS,GACxBmtB,IAAajtB,EAAAA,EAAAA,GAAegtB,GAAY,GACxCE,GAAeD,GAAW,GAC1BE,GAAkBF,GAAW,GAC3BG,GAAuB,WACzBD,IAAgB,EAClB,EACIE,GAAsB,WACxBF,IAAgB,EAClB,EAEIpjB,GAASrT,EAAAA,aAAkB,SAAUmH,GACvC,MAAuB,oBAAZG,EACFA,EAAQH,GAED,OAATA,QAA0B,IAATA,OAAkB,EAASA,EAAKG,EAC1D,GAAG,CAACA,IACAsvB,GAAe,CACjBvjB,OAAQA,IAGV,SAASwjB,GAAc1G,GACrBgG,IAAa,SAAUW,GACrB,IAMIC,EAgHR,SAAqBxG,GACnB,IAAIJ,EAASI,EACRhV,OAAOC,MAAMwb,GAAmBt0B,WACnCytB,EAAS/U,KAAKqV,IAAIN,EAAQ6G,GAAmBt0B,UAG/C,OADAytB,EAAS/U,KAAKoV,IAAIL,EAAQ,GACnBA,CACT,CAvHqB8G,CALK,oBAAX9G,EACDA,EAAO2G,GAEP3G,GAIV,OADA6F,GAAatzB,QAAQw0B,UAAYH,EAC1BA,CACT,GACF,CAGA,IAAII,IAAW9qB,EAAAA,EAAAA,QAAO,CACpB+qB,MAAO,EACPC,IAAKtB,GAAW3zB,SAEdk1B,IAAcjrB,EAAAA,EAAAA,UACdkrB,GAAe1F,EAAYkE,GAAY1iB,IAEzC4e,IADgB3oB,EAAAA,EAAAA,GAAeiuB,GAAc,GACpB,GAC3BD,GAAY50B,QAAUuvB,GAEtB,IAAIuF,GC9GS,SAAoBnkB,EAAQokB,EAAWC,GACpD,IAAI/rB,EAAkB3L,EAAAA,SAAe,GACnC4L,GAAmBtC,EAAAA,EAAAA,GAAeqC,EAAiB,GACnDgsB,EAAc/rB,EAAiB,GAC/BgsB,EAAiBhsB,EAAiB,GAChCisB,GAAcxrB,EAAAA,EAAAA,QAAO,IAAI4Z,KACzB6R,GAAazrB,EAAAA,EAAAA,QAAO,IAAIklB,GACxBwG,GAAgB1rB,EAAAA,EAAAA,UACpB,SAAS2rB,IACP/H,EAAAA,EAAIC,OAAO6H,EAAcr1B,QAC3B,CACA,SAASu1B,IACPD,IACAD,EAAcr1B,SAAUutB,EAAAA,EAAAA,IAAI,WAC1B4H,EAAYn1B,QAAQkT,SAAQ,SAAUqG,EAASvb,GAC7C,GAAIub,GAAWA,EAAQic,aAAc,CACnC,IAAIC,GAAcC,EAAAA,EAAAA,GAAYnc,GAC1BqR,EAAe6K,EAAY7K,aAC3BwK,EAAWp1B,QAAQpC,IAAII,KAAS4sB,GAClCwK,EAAWp1B,QAAQ3B,IAAIL,EAAKy3B,EAAY7K,aAE5C,CACF,IAEAsK,GAAe,SAAUS,GACvB,OAAOA,EAAI,CACb,GACF,GACF,CAsBA,OAHAhW,EAAAA,EAAAA,YAAU,WACR,OAAO2V,CACT,GAAG,IACI,CArBP,SAAwB7wB,EAAMmxB,GAC5B,IAAI53B,EAAM2S,EAAOlM,GACb2vB,EAASe,EAAYn1B,QAAQpC,IAAII,GACjC43B,GACFT,EAAYn1B,QAAQ3B,IAAIL,EAAK43B,GAC7BL,KAEAJ,EAAYn1B,QAAQ61B,OAAO73B,IAGxBo2B,KAAYwB,IACXA,EACY,OAAdb,QAAoC,IAAdA,GAAgCA,EAAUtwB,GAE/C,OAAjBuwB,QAA0C,IAAjBA,GAAmCA,EAAavwB,GAG/E,EAIwB8wB,EAAeH,EAAWp1B,QAASi1B,EAC7D,CD2DoBa,CAAWnlB,GAAQ,KAAM,MACzColB,IAAenvB,EAAAA,EAAAA,GAAekuB,GAAa,GAC3CkB,GAAiBD,GAAa,GAC9BR,GAAgBQ,GAAa,GAC7BE,GAAUF,GAAa,GACvBG,GAAoBH,GAAa,GAE/BI,GAAiB74B,EAAAA,SAAc,WAC/B,IAAK61B,EACH,MAAO,CACLiD,kBAAcz2B,EACd+0B,MAAO,EACPC,IAAKtB,GAAW3zB,OAAS,EACzByP,YAAQxP,GAKV,IAAI02B,EADN,IAAKrF,EAEH,MAAO,CACLoF,cAAoE,QAApDC,EAAwB9C,GAAevzB,eAA+C,IAA1Bq2B,OAAmC,EAASA,EAAsBzL,eAAiB,EAC/J8J,MAAO,EACPC,IAAKtB,GAAW3zB,OAAS,EACzByP,YAAQxP,GAQZ,IALA,IACI22B,EACAC,EACAC,EAHAC,EAAU,EAIVC,EAAUrD,GAAW3zB,OAChBgb,EAAI,EAAGA,EAAIgc,EAAShc,GAAK,EAAG,CACnC,IAAIjW,EAAO4uB,GAAW3Y,GAClB1c,EAAM2S,GAAOlM,GACbkyB,EAAcV,GAAQr4B,IAAII,GAC1B44B,EAAoBH,QAA2B92B,IAAhBg3B,EAA4B7V,EAAa6V,GAExEC,GAAqBpD,SAA4B7zB,IAAf22B,IACpCA,EAAa5b,EACb6b,EAAcE,GAGZG,EAAoBpD,GAAY1X,QAAuBnc,IAAb62B,IAC5CA,EAAW9b,GAEb+b,EAAUG,CACZ,CAYA,YAVmBj3B,IAAf22B,IACFA,EAAa,EACbC,EAAc,EACdC,EAAW9d,KAAKC,KAAKmD,EAASgF,SAEfnhB,IAAb62B,IACFA,EAAWnD,GAAW3zB,OAAS,GAI1B,CACL02B,aAAcK,EACd/B,MAAO4B,EACP3B,IAJF6B,EAAW9d,KAAKqV,IAAIyI,EAAW,EAAGnD,GAAW3zB,OAAS,GAKpDyP,OAAQonB,EAEZ,GAAG,CAACvF,EAAWmC,EAAYK,GAAWH,GAAY6C,GAAmBpa,IACrEsa,GAAeD,GAAeC,aAC9B1B,GAAQyB,GAAezB,MACvBC,GAAMwB,GAAexB,IACrBkC,GAAeV,GAAehnB,OAChCslB,GAASz0B,QAAQ00B,MAAQA,GACzBD,GAASz0B,QAAQ20B,IAAMA,GAEvB,IAAI1rB,GAAkB3L,EAAAA,SAAe,CACjCwK,MAAO,EACPgU,OAAQA,IAEV5S,IAAmBtC,EAAAA,EAAAA,GAAeqC,GAAiB,GACnD4W,GAAO3W,GAAiB,GACxB4tB,GAAU5tB,GAAiB,GAKzB6tB,IAAuBptB,EAAAA,EAAAA,UACvBqtB,IAAyBrtB,EAAAA,EAAAA,UACzBstB,GAA8B35B,EAAAA,SAAc,WAC9C,OAAO80B,EAAYvS,GAAK/X,MAAOD,EACjC,GAAG,CAACgY,GAAK/X,MAAOD,IACZqvB,GAA4B55B,EAAAA,SAAc,WAC5C,OAAO80B,EAAYvS,GAAK/D,OAAQsa,GAClC,GAAG,CAACvW,GAAK/D,OAAQsa,KAEbe,GAAkBf,GAAeta,EACjCwY,IAAqB3qB,EAAAA,EAAAA,QAAOwtB,IAChC7C,GAAmBt0B,QAAUm3B,GAS7B,IAAI3G,GAAgBgD,IAAa,EAC7B/C,GAAmB+C,IAAa2D,GAChCrG,GAAeS,EAAgBf,GAAeC,IAE9C2G,GAAuB,WACzB,MAAO,CACLC,EAAGjE,GAASM,GAAaA,GACzB4D,EAAG9D,GAEP,EACI+D,IAA2B5tB,EAAAA,EAAAA,QAAOytB,MAClCI,IAAgBC,EAAAA,EAAAA,IAAS,WAC3B,GAAIzE,EAAiB,CACnB,IAAI0E,EAAWN,KAEXG,GAAyBv3B,QAAQq3B,IAAMK,EAASL,GAAKE,GAAyBv3B,QAAQs3B,IAAMI,EAASJ,IACvGtE,EAAgB0E,GAChBH,GAAyBv3B,QAAU03B,EAEvC,CACF,IACA,SAASC,GAAYC,EAAiB9M,GACpC,IAAI+M,EAAYD,EACZ9M,IACFgN,EAAAA,EAAAA,YAAU,WACRnE,GAAckE,EAChB,IACAL,MAEArD,GAAc0D,EAElB,CAWA,IAAIE,GAAwB,SAA+BC,GACzD,IAAIC,EAAgBD,EAChBlK,EAAMjmB,EAAcgY,GAAK/X,MAG7B,OAFAmwB,EAAgBvf,KAAKoV,IAAImK,EAAe,GACxCA,EAAgBvf,KAAKqV,IAAIkK,EAAenK,EAE1C,EACIoD,IAAeuG,EAAAA,EAAAA,IAAS,SAAUS,EAAUC,GAC1CA,IAEFL,EAAAA,EAAAA,YAAU,WACRnE,IAAc,SAAUpF,GAEtB,OAAOwJ,GADcxJ,GAAQ6E,GAAS8E,EAAWA,GAEnD,GACF,IACAV,MAEArD,IAAc,SAAU1H,GAEtB,OADaA,EAAMyL,CAErB,GAEJ,IAEIE,GAAiBrH,EAAcoC,EAAY3C,GAAeC,KAAoB5oB,EAAaqpB,IAC7FmH,IAAkBzxB,EAAAA,EAAAA,GAAewxB,GAAgB,GACjDE,GAAaD,GAAgB,GAC7BE,GAAkBF,GAAgB,IF9RvB,SAA4BrH,EAAWrd,EAASO,GAC7D,IAMIskB,EANAC,GAAa9uB,EAAAA,EAAAA,SAAO,GACpB+uB,GAAY/uB,EAAAA,EAAAA,QAAO,GACnBgvB,GAAahvB,EAAAA,EAAAA,QAAO,MAEpBivB,GAAcjvB,EAAAA,EAAAA,QAAO,MAGrBkvB,EAAc,SAAqBlwB,GACrC,GAAI8vB,EAAWz4B,QAAS,CACtB,IAAI84B,EAAWpgB,KAAKC,KAAKhQ,EAAEoiB,QAAQ,GAAG4B,OAClC5C,EAAU2O,EAAU14B,QAAU84B,EAClCJ,EAAU14B,QAAU84B,EAChB5kB,EAAS6V,IACXphB,EAAE/H,iBAGJm4B,cAAcH,EAAY54B,SAC1B44B,EAAY54B,QAAUg5B,aAAY,aAE3B9kB,EADL6V,GAAWmI,GACY,IAASxZ,KAAK0X,IAAIrG,IAAY,KACnDgP,cAAcH,EAAY54B,QAE9B,GAAG,GACL,CACF,EACIi5B,EAAa,WACfR,EAAWz4B,SAAU,EACrBw4B,GACF,EACIU,EAAe,SAAsBvwB,GACvC6vB,IACyB,IAArB7vB,EAAEoiB,QAAQrrB,QAAiB+4B,EAAWz4B,UACxCy4B,EAAWz4B,SAAU,EACrB04B,EAAU14B,QAAU0Y,KAAKC,KAAKhQ,EAAEoiB,QAAQ,GAAG4B,OAC3CgM,EAAW34B,QAAU2I,EAAEqC,OACvB2tB,EAAW34B,QAAQ0Z,iBAAiB,YAAamf,GACjDF,EAAW34B,QAAQ0Z,iBAAiB,WAAYuf,GAEpD,EACAT,EAAgB,WACVG,EAAW34B,UACb24B,EAAW34B,QAAQ2Z,oBAAoB,YAAakf,GACpDF,EAAW34B,QAAQ2Z,oBAAoB,WAAYsf,GAEvD,GACA1gB,EAAAA,EAAAA,IAAgB,WAId,OAHIyY,GACFrd,EAAQ3T,QAAQ0Z,iBAAiB,aAAcwf,GAE1C,WACL,IAAItkB,EACqC,QAAxCA,EAAmBjB,EAAQ3T,eAA0C,IAArB4U,GAAuCA,EAAiB+E,oBAAoB,aAAcuf,GAC3IV,IACAO,cAAcH,EAAY54B,QAC5B,CACF,GAAG,CAACgxB,GACN,CEuOEmI,CAAmBhG,EAAYG,IAAc,SAAU1C,EAAQC,GAC7D,OAAIC,GAAaF,EAAQC,KAGzByH,GAAW,CACT13B,eAAgB,WAA2B,EAC3CgwB,OAAQA,KAEH,EACT,KACArY,EAAAA,EAAAA,IAAgB,WAEd,SAAS6gB,EAAsBzwB,GACzBwqB,GACFxqB,EAAE/H,gBAEN,CACA,IAAIy4B,EAAe/F,GAAatzB,QAIhC,OAHAq5B,EAAa3f,iBAAiB,QAAS4e,IACvCe,EAAa3f,iBAAiB,iBAAkB6e,IAChDc,EAAa3f,iBAAiB,sBAAuB0f,GAC9C,WACLC,EAAa1f,oBAAoB,QAAS2e,IAC1Ce,EAAa1f,oBAAoB,iBAAkB4e,IACnDc,EAAa1f,oBAAoB,sBAAuByf,EAC1D,CACF,GAAG,CAACjG,IAEJ,IAAImG,GAAqB,WACvB,IAAIC,EAAuBC,EACgC,QAA1DD,EAAwBxC,GAAqB/2B,eAA+C,IAA1Bu5B,GAA4CA,EAAsBlN,cACxE,QAA5DmN,EAAwBxC,GAAuBh3B,eAA+C,IAA1Bw5B,GAA4CA,EAAsBnN,aACzI,EACIoN,GEhUS,SAAqBlmB,EAAcnL,EAAM6tB,EAASnV,EAAYnQ,EAAQ4kB,EAAepB,EAAeuF,GACjH,IAAIC,EAAYr8B,EAAAA,SAChB,OAAO,SAAUqX,GAEf,GAAY,OAARA,QAAwBhV,IAARgV,GAMpB,GADA4Y,EAAAA,EAAIC,OAAOmM,EAAU35B,SACF,kBAAR2U,EACTwf,EAAcxf,QACT,GAAIA,GAAwB,YAAjBvX,EAAAA,EAAAA,GAAQuX,GAAmB,CAC3C,IAAI/D,EACAgpB,EAAQjlB,EAAIilB,MAEdhpB,EADE,UAAW+D,EACLA,EAAI/D,MAEJxI,EAAK2X,WAAU,SAAUtb,GAC/B,OAAOkM,EAAOlM,KAAUkQ,EAAI3W,GAC9B,IAEF,IAAI67B,EAAcllB,EAAIxF,OACpBA,OAAyB,IAAhB0qB,EAAyB,EAAIA,GAEvB,SAASC,EAAWC,EAAOC,GAC1C,KAAID,EAAQ,IAAMxmB,EAAavT,QAA/B,CACA,IAAI8b,EAASvI,EAAavT,QAAQi6B,aAC9BC,GAAoB,EACpBC,EAAiBH,EAErB,GAAIle,EAAQ,CAOV,IANA,IAAIse,EAAcJ,GAAeJ,EAE7BS,EAAW,EACX5D,EAAU,EACV6D,EAAa,EACbC,EAAS7hB,KAAKqV,IAAI3lB,EAAK1I,OAAQkR,GAC1B8J,EAAI,EAAGA,GAAK6f,EAAQ7f,GAAK,EAAG,CACnC,IAAI1c,EAAM2S,EAAOvI,EAAKsS,IACtB+b,EAAU4D,EACV,IAAI1D,EAAcV,EAAQr4B,IAAII,GAE9Bq8B,EADAC,EAAa7D,QAA2B92B,IAAhBg3B,EAA4B7V,EAAa6V,GAE7Djc,IAAM9J,QAAyBjR,IAAhBg3B,IACjBuD,GAAoB,EAExB,CAEA,IAAIM,EAAY,KAChB,OAAQJ,GACN,IAAK,MACHI,EAAY/D,EAAUtnB,EACtB,MACF,IAAK,SACHqrB,EAAYF,EAAaxe,EAAS3M,EAClC,MACF,QAEI,IAAIqlB,EAAYjhB,EAAavT,QAAQw0B,UAEjCiC,EAAUjC,EACZ2F,EAAiB,MACRG,EAHQ9F,EAAY1Y,IAI7Bqe,EAAiB,UAIP,OAAdK,GAAsBA,IAAcjnB,EAAavT,QAAQw0B,WAC3DL,EAAcqG,EAElB,CAEAb,EAAU35B,SAAUutB,EAAAA,EAAAA,IAAI,WAClB2M,GACF3E,IAEFuE,EAAWC,EAAQ,EAAGI,EACxB,GAAG,EApD2C,CAqDhD,CAEAL,CAAW,EACb,OA7EEJ,GA8EJ,CACF,CF4OkBe,CAAYnH,GAAcD,GAAY4C,GAASnV,EAAYnQ,GAAQ4kB,GAAepB,GAAemF,IACjHh8B,EAAAA,oBAA0BwB,GAAK,WAC7B,MAAO,CACL47B,cAAetD,GACf1iB,SAAU,SAAkBimB,GAC1B,IAAqBhmB,KAGLgmB,IAFiB,YAAjBv9B,EAAAA,EAAAA,GAAQuX,KAAsB,SAAUA,GAAO,QAASA,SAIlDhV,IAAhBg7B,EAAOpM,MACToF,GAAcoE,GAAsB4C,EAAOpM,OAG7CkL,GAAUkB,EAAOlO,MAEjBgN,GAAUkB,EAEd,EAEJ,KAGApiB,EAAAA,EAAAA,IAAgB,WACd,GAAI0a,EAAiB,CACnB,IAAI2H,EAAavH,GAAW3qB,MAAMgsB,GAAOC,GAAM,GAC/C1B,EAAgB2H,EAAYvH,GAC9B,CACF,GAAG,CAACqB,GAAOC,GAAKtB,KAEhB,IAAIwH,GG5VC,SAAoBxH,EAAY1iB,EAAQslB,EAASnV,GACtD,IAAIqV,EAAiB74B,EAAAA,SAAc,WAC/B,MAAO,CAAC,IAAIimB,IAAO,GACrB,GAAG,CAAC8P,EAAY4C,EAAQv0B,GAAIof,IAC5Bga,GAAkBl0B,EAAAA,EAAAA,GAAeuvB,EAAgB,GACjD4E,EAAYD,EAAgB,GAC5BE,EAAaF,EAAgB,GAgC/B,OA/Bc,SAAiBG,GAC7B,IAAIC,EAASz7B,UAAUC,OAAS,QAAsBC,IAAjBF,UAAU,GAAmBA,UAAU,GAAKw7B,EAE7E3E,EAAayE,EAAUn9B,IAAIq9B,GAC3BzE,EAAWuE,EAAUn9B,IAAIs9B,GAE7B,QAAmBv7B,IAAf22B,QAAyC32B,IAAb62B,EAE9B,IADA,IAAIE,EAAUrD,EAAW3zB,OAChBgb,EAAIsgB,EAAWt7B,OAAQgb,EAAIgc,EAAShc,GAAK,EAAG,CACnD,IAAIygB,EACA12B,EAAO4uB,EAAW3Y,GAClB1c,EAAM2S,EAAOlM,GACjBs2B,EAAU18B,IAAIL,EAAK0c,GACnB,IAAIic,EAAoD,QAArCwE,EAAelF,EAAQr4B,IAAII,UAAmC,IAAjBm9B,EAA0BA,EAAera,EAQzG,GAPAka,EAAWtgB,IAAMsgB,EAAWtgB,EAAI,IAAM,GAAKic,EACvC34B,IAAQi9B,IACV3E,EAAa5b,GAEX1c,IAAQk9B,IACV1E,EAAW9b,QAEM/a,IAAf22B,QAAyC32B,IAAb62B,EAC9B,KAEJ,CAEF,MAAO,CACL/J,IAAKuO,EAAW1E,EAAa,IAAM,EACnC7H,OAAQuM,EAAWxE,GAEvB,CAEF,CHqTgB4E,CAAW/H,GAAY1iB,GAAQslB,GAASnV,GAClDua,GAA+B,OAAhBnI,QAAwC,IAAhBA,OAAyB,EAASA,EAAY,CACvFwB,MAAOA,GACPC,IAAKA,GACLrW,QAAS0S,EACThH,QAAS0J,GACT3J,QAAS8M,GACT1M,IAAKiJ,EACLyH,QAASA,KAGPS,GI3WS,SAAqB3kB,EAAM2f,EAAYE,EAAU3uB,EAAa0zB,EAAYC,EAAYr7B,GACnG,IAAIwQ,EAASxQ,EAAKwQ,OAClB,OAAOgG,EAAKjO,MAAM4tB,EAAYE,EAAW,GAAGr1B,KAAI,SAAUsD,EAAMmM,GAC9D,IACImM,EAAOye,EAAW/2B,EADP6xB,EAAa1lB,EACU,CACpC/P,MAAO,CACLiH,MAAOD,KAGP7J,EAAM2S,EAAOlM,GACjB,OAAoBnH,EAAAA,cAAoBoxB,EAAM,CAC5C1wB,IAAKA,EACL2wB,OAAQ,SAAgB8M,GACtB,OAAOF,EAAW92B,EAAMg3B,EAC1B,GACC1e,EACL,GACF,CJ0VqB2e,CAAYrI,GAAYqB,GAAOC,GAAK9sB,EAAamuB,GAAgBt1B,EAAUwzB,IAC1FyH,GAAiB,KACjB7f,IACF6f,IAAiBn4B,EAAAA,EAAAA,IAAcmE,EAAAA,EAAAA,GAAgB,CAAC,EAAGoZ,EAAa,SAAW,YAAajF,GAAS0W,GAC7FW,IACFwI,GAAelJ,UAAY,SACvB5qB,IACF8zB,GAAeC,UAAY,UAEzB9H,KACF6H,GAAeE,cAAgB,UAIrC,IAAIC,GAAiB,CAAC,EAItB,OAHI1I,IACF0I,GAAeC,IAAM,OAEHz+B,EAAAA,cAAoB,OAAO2P,EAAAA,EAAAA,GAAS,CACtDpM,OAAO2C,EAAAA,EAAAA,IAAcA,EAAAA,EAAAA,GAAc,CAAC,EAAG3C,GAAQ,CAAC,EAAG,CACjDkb,SAAU,aAEZ3b,UAAWka,GACVwhB,GAAgBntB,GAAyBrR,EAAAA,cAAoBotB,EAAAA,QAAgB,CAC9EC,SAlMmB,SAAwBqR,GAC3ClF,GAAQkF,EACV,GAiMgB1+B,EAAAA,cAAoBy1B,EAAW,CAC7C3yB,UAAW,GAAGiB,OAAOI,EAAW,WAChCZ,MAAO86B,GACP78B,IAAKw0B,GACLtS,SA9IF,SAA0BrY,GACxB,IAAIklB,EAAellB,EAAEszB,cAAczH,UAC/B3G,IAAiB2F,IACnBW,GAActG,GAGH,OAAb7M,QAAkC,IAAbA,GAA+BA,EAASrY,GAC7D6uB,IACF,EAuIElnB,aAAcgpB,IACAh8B,EAAAA,cAAoBwsB,EAAQ,CAC1CroB,UAAWA,EACXqa,OAAQsa,GACRpM,QAAS0J,GACT3J,QAAS8M,GACThvB,YAAaA,EACboiB,cAAesL,GACfz2B,IAAKy0B,GACLrJ,WAAYA,EACZC,IAAKiJ,EACLhJ,MAAOiR,IACNC,MAAiBtK,GAAaoF,GAAeta,GAAuBxe,EAAAA,cAAoB0tB,EAAW,CACpGlsB,IAAKi4B,GACLt1B,UAAWA,EACXwpB,aAAcuI,GACdtI,YAAakL,GACbjM,IAAKiJ,EACLpS,SAAU2W,GACVxM,YAAa6I,GACb5I,WAAY6I,GACZ5I,SAAU6L,GACV5L,cAAezL,GAAK/D,SAClBkV,GAAanpB,GAA4BvK,EAAAA,cAAoB0tB,EAAW,CAC1ElsB,IAAKk4B,GACLv1B,UAAWA,EACXwpB,aAAcyI,GACdxI,YAAarjB,EACbsiB,IAAKiJ,EACLpS,SAAU2W,GACVxM,YAAa6I,GACb5I,WAAY6I,GACZ5I,SAAU4L,GACV3L,cAAezL,GAAK/X,MACpBgjB,YAAY,IAEhB,CACA,IAAIjK,EAAoBvjB,EAAAA,WAAiBq1B,GACzC9R,EAAK5hB,YAAc,OACnB,IKjbA,ELibA,C","sources":["../node_modules/@ant-design/icons-svg/lib/asn/CheckOutlined.js","../node_modules/@ant-design/icons-svg/lib/asn/DownOutlined.js","../node_modules/@ant-design/icons/CheckOutlined.js","../node_modules/@ant-design/icons/DownOutlined.js","../node_modules/@ant-design/icons/lib/icons/CheckOutlined.js","../node_modules/@ant-design/icons/lib/icons/DownOutlined.js","../node_modules/rc-select/es/hooks/useBaseProps.js","../node_modules/rc-select/es/hooks/useLock.js","../node_modules/rc-select/es/TransBtn.js","../node_modules/rc-select/es/Selector/Input.js","../node_modules/rc-select/es/utils/commonUtil.js","../node_modules/rc-select/es/Selector/MultipleSelector.js","../node_modules/rc-select/es/hooks/useLayoutEffect.js","../node_modules/rc-select/es/Selector/SingleSelector.js","../node_modules/rc-select/es/Selector/index.js","../node_modules/rc-select/es/utils/keyUtil.js","../node_modules/rc-select/es/SelectTrigger.js","../node_modules/rc-select/es/utils/valueUtil.js","../node_modules/rc-select/es/BaseSelect.js","../node_modules/rc-select/es/hooks/useDelayReset.js","../node_modules/rc-select/es/hooks/useSelectTriggerControl.js","../node_modules/rc-select/es/hooks/useFilterOptions.js","../node_modules/rc-select/es/hooks/useId.js","../node_modules/rc-select/es/utils/legacyUtil.js","../node_modules/rc-select/es/hooks/useRefFunc.js","../node_modules/rc-select/es/OptGroup.js","../node_modules/rc-select/es/Option.js","../node_modules/rc-select/es/SelectContext.js","../node_modules/rc-select/es/OptionList.js","../node_modules/rc-select/es/utils/platformUtil.js","../node_modules/rc-select/es/utils/warningPropsUtil.js","../node_modules/rc-select/es/Select.js","../node_modules/rc-select/es/hooks/useOptions.js","../node_modules/rc-select/es/hooks/useCache.js","../node_modules/rc-select/es/index.js","../node_modules/rc-virtual-list/es/Filler.js","../node_modules/rc-virtual-list/es/ScrollBar.js","../node_modules/rc-virtual-list/es/Item.js","../node_modules/rc-virtual-list/es/utils/CacheMap.js","../node_modules/rc-virtual-list/es/hooks/useDiffItem.js","../node_modules/rc-virtual-list/es/utils/algorithmUtil.js","../node_modules/rc-virtual-list/es/utils/isFirefox.js","../node_modules/rc-virtual-list/es/hooks/useOriginScroll.js","../node_modules/rc-virtual-list/es/hooks/useFrameWheel.js","../node_modules/rc-virtual-list/es/hooks/useMobileTouchMove.js","../node_modules/rc-virtual-list/es/utils/scrollbarUtil.js","../node_modules/rc-virtual-list/es/List.js","../node_modules/rc-virtual-list/es/hooks/useHeights.js","../node_modules/rc-virtual-list/es/hooks/useScrollTo.js","../node_modules/rc-virtual-list/es/hooks/useGetSize.js","../node_modules/rc-virtual-list/es/hooks/useChildren.js","../node_modules/rc-virtual-list/es/index.js"],"sourcesContent":["\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CheckOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\" } }] }, \"name\": \"check\", \"theme\": \"outlined\" };\nexports.default = CheckOutlined;\n","\"use strict\";\n// This icon file is generated automatically.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar DownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\" } }] }, \"name\": \"down\", \"theme\": \"outlined\" };\nexports.default = DownOutlined;\n","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _CheckOutlined = _interopRequireDefault(require('./lib/icons/CheckOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _CheckOutlined;\n exports.default = _default;\n module.exports = _default;","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _DownOutlined = _interopRequireDefault(require('./lib/icons/DownOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _DownOutlined;\n exports.default = _default;\n module.exports = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _CheckOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/CheckOutlined\"));\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nvar CheckOutlined = function CheckOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _CheckOutlined.default\n }));\n};\nCheckOutlined.displayName = 'CheckOutlined';\nvar _default = /*#__PURE__*/React.forwardRef(CheckOutlined);\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _DownOutlined = _interopRequireDefault(require(\"@ant-design/icons-svg/lib/asn/DownOutlined\"));\nvar _AntdIcon = _interopRequireDefault(require(\"../components/AntdIcon\"));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\n\nvar DownOutlined = function DownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(_AntdIcon.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {\n ref: ref,\n icon: _DownOutlined.default\n }));\n};\nDownOutlined.displayName = 'DownOutlined';\nvar _default = /*#__PURE__*/React.forwardRef(DownOutlined);\nexports.default = _default;","/**\n * BaseSelect provide some parsed data into context.\n * You can use this hooks to get them.\n */\n\nimport * as React from 'react';\nexport var BaseSelectContext = /*#__PURE__*/React.createContext(null);\nexport default function useBaseProps() {\n return React.useContext(BaseSelectContext);\n}","import * as React from 'react';\n\n/**\n * Locker return cached mark.\n * If set to `true`, will return `true` in a short time even if set `false`.\n * If set to `false` and then set to `true`, will change to `true`.\n * And after time duration, it will back to `null` automatically.\n */\nexport default function useLock() {\n var duration = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 250;\n var lockRef = React.useRef(null);\n var timeoutRef = React.useRef(null);\n\n // Clean up\n React.useEffect(function () {\n return function () {\n window.clearTimeout(timeoutRef.current);\n };\n }, []);\n function doLock(locked) {\n if (locked || lockRef.current === null) {\n lockRef.current = locked;\n }\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = window.setTimeout(function () {\n lockRef.current = null;\n }, duration);\n }\n return [function () {\n return lockRef.current;\n }, doLock];\n}","import * as React from 'react';\nimport classNames from 'classnames';\nvar TransBtn = function TransBtn(_ref) {\n var className = _ref.className,\n customizeIcon = _ref.customizeIcon,\n customizeIconProps = _ref.customizeIconProps,\n _onMouseDown = _ref.onMouseDown,\n onClick = _ref.onClick,\n children = _ref.children;\n var icon;\n if (typeof customizeIcon === 'function') {\n icon = customizeIcon(customizeIconProps);\n } else {\n icon = customizeIcon;\n }\n return /*#__PURE__*/React.createElement(\"span\", {\n className: className,\n onMouseDown: function onMouseDown(event) {\n event.preventDefault();\n if (_onMouseDown) {\n _onMouseDown(event);\n }\n },\n style: {\n userSelect: 'none',\n WebkitUserSelect: 'none'\n },\n unselectable: \"on\",\n onClick: onClick,\n \"aria-hidden\": true\n }, icon !== undefined ? icon : /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(className.split(/\\s+/).map(function (cls) {\n return \"\".concat(cls, \"-icon\");\n }))\n }, children));\n};\nexport default TransBtn;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport { warning } from \"rc-util/es/warning\";\nvar Input = function Input(_ref, ref) {\n var _inputNode2, _inputNode2$props;\n var prefixCls = _ref.prefixCls,\n id = _ref.id,\n inputElement = _ref.inputElement,\n disabled = _ref.disabled,\n tabIndex = _ref.tabIndex,\n autoFocus = _ref.autoFocus,\n autoComplete = _ref.autoComplete,\n editable = _ref.editable,\n activeDescendantId = _ref.activeDescendantId,\n value = _ref.value,\n maxLength = _ref.maxLength,\n _onKeyDown = _ref.onKeyDown,\n _onMouseDown = _ref.onMouseDown,\n _onChange = _ref.onChange,\n onPaste = _ref.onPaste,\n _onCompositionStart = _ref.onCompositionStart,\n _onCompositionEnd = _ref.onCompositionEnd,\n open = _ref.open,\n attrs = _ref.attrs;\n var inputNode = inputElement || /*#__PURE__*/React.createElement(\"input\", null);\n var _inputNode = inputNode,\n originRef = _inputNode.ref,\n originProps = _inputNode.props;\n var onOriginKeyDown = originProps.onKeyDown,\n onOriginChange = originProps.onChange,\n onOriginMouseDown = originProps.onMouseDown,\n onOriginCompositionStart = originProps.onCompositionStart,\n onOriginCompositionEnd = originProps.onCompositionEnd,\n style = originProps.style;\n warning(!('maxLength' in inputNode.props), \"Passing 'maxLength' to input element directly may not work because input in BaseSelect is controlled.\");\n inputNode = /*#__PURE__*/React.cloneElement(inputNode, _objectSpread(_objectSpread(_objectSpread({\n type: 'search'\n }, originProps), {}, {\n // Override over origin props\n id: id,\n ref: composeRef(ref, originRef),\n disabled: disabled,\n tabIndex: tabIndex,\n autoComplete: autoComplete || 'off',\n autoFocus: autoFocus,\n className: classNames(\"\".concat(prefixCls, \"-selection-search-input\"), (_inputNode2 = inputNode) === null || _inputNode2 === void 0 ? void 0 : (_inputNode2$props = _inputNode2.props) === null || _inputNode2$props === void 0 ? void 0 : _inputNode2$props.className),\n role: 'combobox',\n 'aria-expanded': open,\n 'aria-haspopup': 'listbox',\n 'aria-owns': \"\".concat(id, \"_list\"),\n 'aria-autocomplete': 'list',\n 'aria-controls': \"\".concat(id, \"_list\"),\n 'aria-activedescendant': activeDescendantId\n }, attrs), {}, {\n value: editable ? value : '',\n maxLength: maxLength,\n readOnly: !editable,\n unselectable: !editable ? 'on' : null,\n style: _objectSpread(_objectSpread({}, style), {}, {\n opacity: editable ? null : 0\n }),\n onKeyDown: function onKeyDown(event) {\n _onKeyDown(event);\n if (onOriginKeyDown) {\n onOriginKeyDown(event);\n }\n },\n onMouseDown: function onMouseDown(event) {\n _onMouseDown(event);\n if (onOriginMouseDown) {\n onOriginMouseDown(event);\n }\n },\n onChange: function onChange(event) {\n _onChange(event);\n if (onOriginChange) {\n onOriginChange(event);\n }\n },\n onCompositionStart: function onCompositionStart(event) {\n _onCompositionStart(event);\n if (onOriginCompositionStart) {\n onOriginCompositionStart(event);\n }\n },\n onCompositionEnd: function onCompositionEnd(event) {\n _onCompositionEnd(event);\n if (onOriginCompositionEnd) {\n onOriginCompositionEnd(event);\n }\n },\n onPaste: onPaste\n }));\n return inputNode;\n};\nvar RefInput = /*#__PURE__*/React.forwardRef(Input);\nRefInput.displayName = 'Input';\nexport default RefInput;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n }\n return value !== undefined ? [value] : [];\n}\nexport var isClient = typeof window !== 'undefined' && window.document && window.document.documentElement;\n\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && isClient;\nexport function hasValue(value) {\n return value !== undefined && value !== null;\n}\nfunction isTitleType(title) {\n return ['string', 'number'].includes(_typeof(title));\n}\nexport function getTitle(item) {\n var title = undefined;\n if (item) {\n if (isTitleType(item.title)) {\n title = item.title.toString();\n } else if (isTitleType(item.label)) {\n title = item.label.toString();\n }\n }\n return title;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useState } from 'react';\nimport classNames from 'classnames';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Overflow from 'rc-overflow';\nimport TransBtn from \"../TransBtn\";\nimport Input from \"./Input\";\nimport useLayoutEffect from \"../hooks/useLayoutEffect\";\nimport { getTitle } from \"../utils/commonUtil\";\nfunction itemKey(value) {\n var _value$key;\n return (_value$key = value.key) !== null && _value$key !== void 0 ? _value$key : value.value;\n}\nvar onPreventMouseDown = function onPreventMouseDown(event) {\n event.preventDefault();\n event.stopPropagation();\n};\nvar SelectSelector = function SelectSelector(props) {\n var id = props.id,\n prefixCls = props.prefixCls,\n values = props.values,\n open = props.open,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n inputRef = props.inputRef,\n placeholder = props.placeholder,\n disabled = props.disabled,\n mode = props.mode,\n showSearch = props.showSearch,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n tabIndex = props.tabIndex,\n removeIcon = props.removeIcon,\n maxTagCount = props.maxTagCount,\n maxTagTextLength = props.maxTagTextLength,\n _props$maxTagPlacehol = props.maxTagPlaceholder,\n maxTagPlaceholder = _props$maxTagPlacehol === void 0 ? function (omittedValues) {\n return \"+ \".concat(omittedValues.length, \" ...\");\n } : _props$maxTagPlacehol,\n tagRender = props.tagRender,\n onToggleOpen = props.onToggleOpen,\n onRemove = props.onRemove,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n var measureRef = React.useRef(null);\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n inputWidth = _useState2[0],\n setInputWidth = _useState2[1];\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n focused = _useState4[0],\n setFocused = _useState4[1];\n var selectionPrefixCls = \"\".concat(prefixCls, \"-selection\");\n\n // ===================== Search ======================\n var inputValue = open || mode === \"multiple\" && autoClearSearchValue === false || mode === 'tags' ? searchValue : '';\n var inputEditable = mode === 'tags' || mode === \"multiple\" && autoClearSearchValue === false || showSearch && (open || focused);\n\n // We measure width and set to the input immediately\n useLayoutEffect(function () {\n setInputWidth(measureRef.current.scrollWidth);\n }, [inputValue]);\n\n // ===================== Render ======================\n // >>> Render Selector Node. Includes Item & Rest\n function defaultRenderSelector(item, content, itemDisabled, closable, onClose) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(selectionPrefixCls, \"-item\"), _defineProperty({}, \"\".concat(selectionPrefixCls, \"-item-disabled\"), itemDisabled)),\n title: getTitle(item)\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-item-content\")\n }, content), closable && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(selectionPrefixCls, \"-item-remove\"),\n onMouseDown: onPreventMouseDown,\n onClick: onClose,\n customizeIcon: removeIcon\n }, \"\\xD7\"));\n }\n function customizeRenderSelector(value, content, itemDisabled, closable, onClose) {\n var onMouseDown = function onMouseDown(e) {\n onPreventMouseDown(e);\n onToggleOpen(!open);\n };\n return /*#__PURE__*/React.createElement(\"span\", {\n onMouseDown: onMouseDown\n }, tagRender({\n label: content,\n value: value,\n disabled: itemDisabled,\n closable: closable,\n onClose: onClose\n }));\n }\n function renderItem(valueItem) {\n var itemDisabled = valueItem.disabled,\n label = valueItem.label,\n value = valueItem.value;\n var closable = !disabled && !itemDisabled;\n var displayLabel = label;\n if (typeof maxTagTextLength === 'number') {\n if (typeof label === 'string' || typeof label === 'number') {\n var strLabel = String(displayLabel);\n if (strLabel.length > maxTagTextLength) {\n displayLabel = \"\".concat(strLabel.slice(0, maxTagTextLength), \"...\");\n }\n }\n }\n var onClose = function onClose(event) {\n if (event) event.stopPropagation();\n onRemove(valueItem);\n };\n return typeof tagRender === 'function' ? customizeRenderSelector(value, displayLabel, itemDisabled, closable, onClose) : defaultRenderSelector(valueItem, displayLabel, itemDisabled, closable, onClose);\n }\n function renderRest(omittedValues) {\n var content = typeof maxTagPlaceholder === 'function' ? maxTagPlaceholder(omittedValues) : maxTagPlaceholder;\n return defaultRenderSelector({\n title: content\n }, content, false);\n }\n\n // >>> Input Node\n var inputNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(selectionPrefixCls, \"-search\"),\n style: {\n width: inputWidth\n },\n onFocus: function onFocus() {\n setFocused(true);\n },\n onBlur: function onBlur() {\n setFocused(false);\n }\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n open: open,\n prefixCls: prefixCls,\n id: id,\n inputElement: null,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: onInputChange,\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true)\n }), /*#__PURE__*/React.createElement(\"span\", {\n ref: measureRef,\n className: \"\".concat(selectionPrefixCls, \"-search-mirror\"),\n \"aria-hidden\": true\n }, inputValue, \"\\xA0\"));\n\n // >>> Selections\n var selectionNode = /*#__PURE__*/React.createElement(Overflow, {\n prefixCls: \"\".concat(selectionPrefixCls, \"-overflow\"),\n data: values,\n renderItem: renderItem,\n renderRest: renderRest,\n suffix: inputNode,\n itemKey: itemKey,\n maxCount: maxTagCount\n });\n return /*#__PURE__*/React.createElement(React.Fragment, null, selectionNode, !values.length && !inputValue && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(selectionPrefixCls, \"-placeholder\")\n }, placeholder));\n};\nexport default SelectSelector;","/* eslint-disable react-hooks/rules-of-hooks */\nimport * as React from 'react';\nimport { isBrowserClient } from \"../utils/commonUtil\";\n\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nexport default function useLayoutEffect(effect, deps) {\n // Never happen in test env\n if (isBrowserClient) {\n /* istanbul ignore next */\n React.useLayoutEffect(effect, deps);\n } else {\n React.useEffect(effect, deps);\n }\n}\n/* eslint-enable */","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Input from \"./Input\";\nimport { getTitle } from \"../utils/commonUtil\";\nvar SingleSelector = function SingleSelector(props) {\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n id = props.id,\n inputRef = props.inputRef,\n disabled = props.disabled,\n autoFocus = props.autoFocus,\n autoComplete = props.autoComplete,\n activeDescendantId = props.activeDescendantId,\n mode = props.mode,\n open = props.open,\n values = props.values,\n placeholder = props.placeholder,\n tabIndex = props.tabIndex,\n showSearch = props.showSearch,\n searchValue = props.searchValue,\n activeValue = props.activeValue,\n maxLength = props.maxLength,\n onInputKeyDown = props.onInputKeyDown,\n onInputMouseDown = props.onInputMouseDown,\n onInputChange = props.onInputChange,\n onInputPaste = props.onInputPaste,\n onInputCompositionStart = props.onInputCompositionStart,\n onInputCompositionEnd = props.onInputCompositionEnd;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n inputChanged = _React$useState2[0],\n setInputChanged = _React$useState2[1];\n var combobox = mode === 'combobox';\n var inputEditable = combobox || showSearch;\n var item = values[0];\n var inputValue = searchValue || '';\n if (combobox && activeValue && !inputChanged) {\n inputValue = activeValue;\n }\n React.useEffect(function () {\n if (combobox) {\n setInputChanged(false);\n }\n }, [combobox, activeValue]);\n\n // Not show text when closed expect combobox mode\n var hasTextInput = mode !== 'combobox' && !open && !showSearch ? false : !!inputValue;\n\n // Get title\n var title = getTitle(item);\n var renderPlaceholder = function renderPlaceholder() {\n if (item) {\n return null;\n }\n var hiddenStyle = hasTextInput ? {\n visibility: 'hidden'\n } : undefined;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-placeholder\"),\n style: hiddenStyle\n }, placeholder);\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-search\")\n }, /*#__PURE__*/React.createElement(Input, {\n ref: inputRef,\n prefixCls: prefixCls,\n id: id,\n open: open,\n inputElement: inputElement,\n disabled: disabled,\n autoFocus: autoFocus,\n autoComplete: autoComplete,\n editable: inputEditable,\n activeDescendantId: activeDescendantId,\n value: inputValue,\n onKeyDown: onInputKeyDown,\n onMouseDown: onInputMouseDown,\n onChange: function onChange(e) {\n setInputChanged(true);\n onInputChange(e);\n },\n onPaste: onInputPaste,\n onCompositionStart: onInputCompositionStart,\n onCompositionEnd: onInputCompositionEnd,\n tabIndex: tabIndex,\n attrs: pickAttrs(props, true),\n maxLength: combobox ? maxLength : undefined\n })), !combobox && item ? /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-selection-item\"),\n title: title\n // 当 Select 已经选中选项时,还需 selection 隐藏但留在原地占位\n // https://github.com/ant-design/ant-design/issues/27688\n // https://github.com/ant-design/ant-design/issues/41530\n ,\n style: hasTextInput ? {\n visibility: 'hidden'\n } : undefined\n }, item.label) : null, renderPlaceholder());\n};\nexport default SingleSelector;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\n/**\n * Cursor rule:\n * 1. Only `showSearch` enabled\n * 2. Only `open` is `true`\n * 3. When typing, set `open` to `true` which hit rule of 2\n *\n * Accessibility:\n * - https://www.w3.org/TR/wai-aria-practices/examples/combobox/aria1.1pattern/listbox-combo.html\n */\n\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport MultipleSelector from \"./MultipleSelector\";\nimport SingleSelector from \"./SingleSelector\";\nimport useLock from \"../hooks/useLock\";\nimport { isValidateOpenKey } from \"../utils/keyUtil\";\nvar Selector = function Selector(props, ref) {\n var inputRef = useRef(null);\n var compositionStatusRef = useRef(false);\n var prefixCls = props.prefixCls,\n open = props.open,\n mode = props.mode,\n showSearch = props.showSearch,\n tokenWithEnter = props.tokenWithEnter,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSubmit = props.onSearchSubmit,\n onToggleOpen = props.onToggleOpen,\n onInputKeyDown = props.onInputKeyDown,\n domRef = props.domRef;\n\n // ======================= Ref =======================\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n inputRef.current.focus();\n },\n blur: function blur() {\n inputRef.current.blur();\n }\n };\n });\n\n // ====================== Input ======================\n var _useLock = useLock(0),\n _useLock2 = _slicedToArray(_useLock, 2),\n getInputMouseDown = _useLock2[0],\n setInputMouseDown = _useLock2[1];\n var onInternalInputKeyDown = function onInternalInputKeyDown(event) {\n var which = event.which;\n if (which === KeyCode.UP || which === KeyCode.DOWN) {\n event.preventDefault();\n }\n if (onInputKeyDown) {\n onInputKeyDown(event);\n }\n if (which === KeyCode.ENTER && mode === 'tags' && !compositionStatusRef.current && !open) {\n // When menu isn't open, OptionList won't trigger a value change\n // So when enter is pressed, the tag's input value should be emitted here to let selector know\n onSearchSubmit === null || onSearchSubmit === void 0 ? void 0 : onSearchSubmit(event.target.value);\n }\n if (isValidateOpenKey(which)) {\n onToggleOpen(true);\n }\n };\n\n /**\n * We can not use `findDOMNode` sine it will get warning,\n * have to use timer to check if is input element.\n */\n var onInternalInputMouseDown = function onInternalInputMouseDown() {\n setInputMouseDown(true);\n };\n\n // When paste come, ignore next onChange\n var pastedTextRef = useRef(null);\n var triggerOnSearch = function triggerOnSearch(value) {\n if (onSearch(value, true, compositionStatusRef.current) !== false) {\n onToggleOpen(true);\n }\n };\n var onInputCompositionStart = function onInputCompositionStart() {\n compositionStatusRef.current = true;\n };\n var onInputCompositionEnd = function onInputCompositionEnd(e) {\n compositionStatusRef.current = false;\n\n // Trigger search again to support `tokenSeparators` with typewriting\n if (mode !== 'combobox') {\n triggerOnSearch(e.target.value);\n }\n };\n var onInputChange = function onInputChange(event) {\n var value = event.target.value;\n\n // Pasted text should replace back to origin content\n if (tokenWithEnter && pastedTextRef.current && /[\\r\\n]/.test(pastedTextRef.current)) {\n // CRLF will be treated as a single space for input element\n var replacedText = pastedTextRef.current.replace(/[\\r\\n]+$/, '').replace(/\\r\\n/g, ' ').replace(/[\\r\\n]/g, ' ');\n value = value.replace(replacedText, pastedTextRef.current);\n }\n pastedTextRef.current = null;\n triggerOnSearch(value);\n };\n var onInputPaste = function onInputPaste(e) {\n var clipboardData = e.clipboardData;\n var value = clipboardData.getData('text');\n pastedTextRef.current = value;\n };\n var onClick = function onClick(_ref) {\n var target = _ref.target;\n if (target !== inputRef.current) {\n // Should focus input if click the selector\n var isIE = document.body.style.msTouchAction !== undefined;\n if (isIE) {\n setTimeout(function () {\n inputRef.current.focus();\n });\n } else {\n inputRef.current.focus();\n }\n }\n };\n var onMouseDown = function onMouseDown(event) {\n var inputMouseDown = getInputMouseDown();\n\n // when mode is combobox, don't prevent default behavior\n // https://github.com/ant-design/ant-design/issues/37320\n if (event.target !== inputRef.current && !inputMouseDown && mode !== 'combobox') {\n event.preventDefault();\n }\n if (mode !== 'combobox' && (!showSearch || !inputMouseDown) || !open) {\n if (open && autoClearSearchValue !== false) {\n onSearch('', true, false);\n }\n onToggleOpen();\n }\n };\n\n // ================= Inner Selector ==================\n var sharedProps = {\n inputRef: inputRef,\n onInputKeyDown: onInternalInputKeyDown,\n onInputMouseDown: onInternalInputMouseDown,\n onInputChange: onInputChange,\n onInputPaste: onInputPaste,\n onInputCompositionStart: onInputCompositionStart,\n onInputCompositionEnd: onInputCompositionEnd\n };\n var selectNode = mode === 'multiple' || mode === 'tags' ? /*#__PURE__*/React.createElement(MultipleSelector, _extends({}, props, sharedProps)) : /*#__PURE__*/React.createElement(SingleSelector, _extends({}, props, sharedProps));\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: domRef,\n className: \"\".concat(prefixCls, \"-selector\"),\n onClick: onClick,\n onMouseDown: onMouseDown\n }, selectNode);\n};\nvar ForwardSelector = /*#__PURE__*/React.forwardRef(Selector);\nForwardSelector.displayName = 'Selector';\nexport default ForwardSelector;","import KeyCode from \"rc-util/es/KeyCode\";\n\n/** keyCode Judgment function */\nexport function isValidateOpenKey(currentKeyCode) {\n return ![\n // System function button\n KeyCode.ESC, KeyCode.SHIFT, KeyCode.BACKSPACE, KeyCode.TAB, KeyCode.WIN_KEY, KeyCode.ALT, KeyCode.META, KeyCode.WIN_KEY_RIGHT, KeyCode.CTRL, KeyCode.SEMICOLON, KeyCode.EQUALS, KeyCode.CAPS_LOCK, KeyCode.CONTEXT_MENU,\n // F1-F12\n KeyCode.F1, KeyCode.F2, KeyCode.F3, KeyCode.F4, KeyCode.F5, KeyCode.F6, KeyCode.F7, KeyCode.F8, KeyCode.F9, KeyCode.F10, KeyCode.F11, KeyCode.F12].includes(currentKeyCode);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"disabled\", \"visible\", \"children\", \"popupElement\", \"containerWidth\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"direction\", \"placement\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"getPopupContainer\", \"empty\", \"getTriggerDOMNode\", \"onPopupVisibleChange\", \"onPopupMouseEnter\"];\nimport * as React from 'react';\nimport Trigger from 'rc-trigger';\nimport classNames from 'classnames';\nvar getBuiltInPlacements = function getBuiltInPlacements(dropdownMatchSelectWidth) {\n // Enable horizontal overflow auto-adjustment when a custom dropdown width is provided\n var adjustX = dropdownMatchSelectWidth === true ? 0 : 1;\n return {\n bottomLeft: {\n points: ['tl', 'bl'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n bottomRight: {\n points: ['tr', 'br'],\n offset: [0, 4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topLeft: {\n points: ['bl', 'tl'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n },\n topRight: {\n points: ['br', 'tr'],\n offset: [0, -4],\n overflow: {\n adjustX: adjustX,\n adjustY: 1\n }\n }\n };\n};\nvar SelectTrigger = function SelectTrigger(props, ref) {\n var prefixCls = props.prefixCls,\n disabled = props.disabled,\n visible = props.visible,\n children = props.children,\n popupElement = props.popupElement,\n containerWidth = props.containerWidth,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n _props$direction = props.direction,\n direction = _props$direction === void 0 ? 'ltr' : _props$direction,\n placement = props.placement,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n getPopupContainer = props.getPopupContainer,\n empty = props.empty,\n getTriggerDOMNode = props.getTriggerDOMNode,\n onPopupVisibleChange = props.onPopupVisibleChange,\n onPopupMouseEnter = props.onPopupMouseEnter,\n restProps = _objectWithoutProperties(props, _excluded);\n var dropdownPrefixCls = \"\".concat(prefixCls, \"-dropdown\");\n var popupNode = popupElement;\n if (dropdownRender) {\n popupNode = dropdownRender(popupElement);\n }\n var builtInPlacements = React.useMemo(function () {\n return getBuiltInPlacements(dropdownMatchSelectWidth);\n }, [dropdownMatchSelectWidth]);\n\n // ===================== Motion ======================\n var mergedTransitionName = animation ? \"\".concat(dropdownPrefixCls, \"-\").concat(animation) : transitionName;\n\n // ======================= Ref =======================\n var popupRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return {\n getPopupElement: function getPopupElement() {\n return popupRef.current;\n }\n };\n });\n var popupStyle = _objectSpread({\n minWidth: containerWidth\n }, dropdownStyle);\n if (typeof dropdownMatchSelectWidth === 'number') {\n popupStyle.width = dropdownMatchSelectWidth;\n } else if (dropdownMatchSelectWidth) {\n popupStyle.width = containerWidth;\n }\n return /*#__PURE__*/React.createElement(Trigger, _extends({}, restProps, {\n showAction: onPopupVisibleChange ? ['click'] : [],\n hideAction: onPopupVisibleChange ? ['click'] : [],\n popupPlacement: placement || (direction === 'rtl' ? 'bottomRight' : 'bottomLeft'),\n builtinPlacements: builtInPlacements,\n prefixCls: dropdownPrefixCls,\n popupTransitionName: mergedTransitionName,\n popup: /*#__PURE__*/React.createElement(\"div\", {\n ref: popupRef,\n onMouseEnter: onPopupMouseEnter\n }, popupNode),\n popupAlign: dropdownAlign,\n popupVisible: visible,\n getPopupContainer: getPopupContainer,\n popupClassName: classNames(dropdownClassName, _defineProperty({}, \"\".concat(dropdownPrefixCls, \"-empty\"), empty)),\n popupStyle: popupStyle,\n getTriggerDOMNode: getTriggerDOMNode,\n onPopupVisibleChange: onPopupVisibleChange\n }), children);\n};\nvar RefSelectTrigger = /*#__PURE__*/React.forwardRef(SelectTrigger);\nRefSelectTrigger.displayName = 'SelectTrigger';\nexport default RefSelectTrigger;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport warning from \"rc-util/es/warning\";\nfunction getKey(data, index) {\n var key = data.key;\n var value;\n if ('value' in data) {\n value = data.value;\n }\n if (key !== null && key !== undefined) {\n return key;\n }\n if (value !== undefined) {\n return value;\n }\n return \"rc-index-key-\".concat(index);\n}\nexport function fillFieldNames(fieldNames, childrenAsData) {\n var _ref = fieldNames || {},\n label = _ref.label,\n value = _ref.value,\n options = _ref.options;\n return {\n label: label || (childrenAsData ? 'children' : 'label'),\n value: value || 'value',\n options: options || 'options'\n };\n}\n\n/**\n * Flat options into flatten list.\n * We use `optionOnly` here is aim to avoid user use nested option group.\n * Here is simply set `key` to the index if not provided.\n */\nexport function flattenOptions(options) {\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n fieldNames = _ref2.fieldNames,\n childrenAsData = _ref2.childrenAsData;\n var flattenList = [];\n var _fillFieldNames = fillFieldNames(fieldNames, false),\n fieldLabel = _fillFieldNames.label,\n fieldValue = _fillFieldNames.value,\n fieldOptions = _fillFieldNames.options;\n function dig(list, isGroupOption) {\n list.forEach(function (data) {\n var label = data[fieldLabel];\n if (isGroupOption || !(fieldOptions in data)) {\n var value = data[fieldValue];\n\n // Option\n flattenList.push({\n key: getKey(data, flattenList.length),\n groupOption: isGroupOption,\n data: data,\n label: label,\n value: value\n });\n } else {\n var grpLabel = label;\n if (grpLabel === undefined && childrenAsData) {\n grpLabel = data.label;\n }\n\n // Option Group\n flattenList.push({\n key: getKey(data, flattenList.length),\n group: true,\n data: data,\n label: grpLabel\n });\n dig(data[fieldOptions], true);\n }\n });\n }\n dig(options, false);\n return flattenList;\n}\n\n/**\n * Inject `props` into `option` for legacy usage\n */\nexport function injectPropsWithOption(option) {\n var newOption = _objectSpread({}, option);\n if (!('props' in newOption)) {\n Object.defineProperty(newOption, 'props', {\n get: function get() {\n warning(false, 'Return type is option instead of Option instance. Please read value directly instead of reading from `props`.');\n return newOption;\n }\n });\n }\n return newOption;\n}\nexport function getSeparatedContent(text, tokens) {\n if (!tokens || !tokens.length) {\n return null;\n }\n var match = false;\n function separate(str, _ref3) {\n var _ref4 = _toArray(_ref3),\n token = _ref4[0],\n restTokens = _ref4.slice(1);\n if (!token) {\n return [str];\n }\n var list = str.split(token);\n match = match || list.length > 1;\n return list.reduce(function (prevList, unitStr) {\n return [].concat(_toConsumableArray(prevList), _toConsumableArray(separate(unitStr, restTokens)));\n }, []).filter(function (unit) {\n return unit;\n });\n }\n var list = separate(text, tokens);\n return match ? list : null;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"id\", \"prefixCls\", \"className\", \"showSearch\", \"tagRender\", \"direction\", \"omitDomProps\", \"displayValues\", \"onDisplayValuesChange\", \"emptyOptions\", \"notFoundContent\", \"onClear\", \"mode\", \"disabled\", \"loading\", \"getInputElement\", \"getRawInputElement\", \"open\", \"defaultOpen\", \"onDropdownVisibleChange\", \"activeValue\", \"onActiveValueChange\", \"activeDescendantId\", \"searchValue\", \"autoClearSearchValue\", \"onSearch\", \"onSearchSplit\", \"tokenSeparators\", \"allowClear\", \"showArrow\", \"inputIcon\", \"clearIcon\", \"OptionList\", \"animation\", \"transitionName\", \"dropdownStyle\", \"dropdownClassName\", \"dropdownMatchSelectWidth\", \"dropdownRender\", \"dropdownAlign\", \"placement\", \"getPopupContainer\", \"showAction\", \"onFocus\", \"onBlur\", \"onKeyUp\", \"onKeyDown\", \"onMouseDown\"];\nimport classNames from 'classnames';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport isMobile from \"rc-util/es/isMobile\";\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { useComposeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { BaseSelectContext } from \"./hooks/useBaseProps\";\nimport useDelayReset from \"./hooks/useDelayReset\";\nimport useLock from \"./hooks/useLock\";\nimport useSelectTriggerControl from \"./hooks/useSelectTriggerControl\";\nimport Selector from \"./Selector\";\nimport SelectTrigger from \"./SelectTrigger\";\nimport TransBtn from \"./TransBtn\";\nimport { getSeparatedContent } from \"./utils/valueUtil\";\nvar DEFAULT_OMIT_PROPS = ['value', 'onChange', 'removeIcon', 'placeholder', 'autoFocus', 'maxTagCount', 'maxTagTextLength', 'maxTagPlaceholder', 'choiceTransitionName', 'onInputKeyDown', 'onPopupScroll', 'tabIndex'];\nexport function isMultiple(mode) {\n return mode === 'tags' || mode === 'multiple';\n}\nvar BaseSelect = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _customizeRawInputEle, _classNames2;\n var id = props.id,\n prefixCls = props.prefixCls,\n className = props.className,\n showSearch = props.showSearch,\n tagRender = props.tagRender,\n direction = props.direction,\n omitDomProps = props.omitDomProps,\n displayValues = props.displayValues,\n onDisplayValuesChange = props.onDisplayValuesChange,\n emptyOptions = props.emptyOptions,\n _props$notFoundConten = props.notFoundContent,\n notFoundContent = _props$notFoundConten === void 0 ? 'Not Found' : _props$notFoundConten,\n onClear = props.onClear,\n mode = props.mode,\n disabled = props.disabled,\n loading = props.loading,\n getInputElement = props.getInputElement,\n getRawInputElement = props.getRawInputElement,\n open = props.open,\n defaultOpen = props.defaultOpen,\n onDropdownVisibleChange = props.onDropdownVisibleChange,\n activeValue = props.activeValue,\n onActiveValueChange = props.onActiveValueChange,\n activeDescendantId = props.activeDescendantId,\n searchValue = props.searchValue,\n autoClearSearchValue = props.autoClearSearchValue,\n onSearch = props.onSearch,\n onSearchSplit = props.onSearchSplit,\n tokenSeparators = props.tokenSeparators,\n allowClear = props.allowClear,\n showArrow = props.showArrow,\n inputIcon = props.inputIcon,\n clearIcon = props.clearIcon,\n OptionList = props.OptionList,\n animation = props.animation,\n transitionName = props.transitionName,\n dropdownStyle = props.dropdownStyle,\n dropdownClassName = props.dropdownClassName,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n dropdownRender = props.dropdownRender,\n dropdownAlign = props.dropdownAlign,\n placement = props.placement,\n getPopupContainer = props.getPopupContainer,\n _props$showAction = props.showAction,\n showAction = _props$showAction === void 0 ? [] : _props$showAction,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onKeyUp = props.onKeyUp,\n onKeyDown = props.onKeyDown,\n onMouseDown = props.onMouseDown,\n restProps = _objectWithoutProperties(props, _excluded);\n\n // ============================== MISC ==============================\n var multiple = isMultiple(mode);\n var mergedShowSearch = (showSearch !== undefined ? showSearch : multiple) || mode === 'combobox';\n var domProps = _objectSpread({}, restProps);\n DEFAULT_OMIT_PROPS.forEach(function (propName) {\n delete domProps[propName];\n });\n omitDomProps === null || omitDomProps === void 0 ? void 0 : omitDomProps.forEach(function (propName) {\n delete domProps[propName];\n });\n\n // ============================= Mobile =============================\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n mobile = _React$useState2[0],\n setMobile = _React$useState2[1];\n React.useEffect(function () {\n // Only update on the client side\n setMobile(isMobile());\n }, []);\n\n // ============================== Refs ==============================\n var containerRef = React.useRef(null);\n var selectorDomRef = React.useRef(null);\n var triggerRef = React.useRef(null);\n var selectorRef = React.useRef(null);\n var listRef = React.useRef(null);\n\n /** Used for component focused management */\n var _useDelayReset = useDelayReset(),\n _useDelayReset2 = _slicedToArray(_useDelayReset, 3),\n mockFocused = _useDelayReset2[0],\n setMockFocused = _useDelayReset2[1],\n cancelSetMockFocused = _useDelayReset2[2];\n\n // =========================== Imperative ===========================\n React.useImperativeHandle(ref, function () {\n var _selectorRef$current, _selectorRef$current2;\n return {\n focus: (_selectorRef$current = selectorRef.current) === null || _selectorRef$current === void 0 ? void 0 : _selectorRef$current.focus,\n blur: (_selectorRef$current2 = selectorRef.current) === null || _selectorRef$current2 === void 0 ? void 0 : _selectorRef$current2.blur,\n scrollTo: function scrollTo(arg) {\n var _listRef$current;\n return (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(arg);\n }\n };\n });\n\n // ========================== Search Value ==========================\n var mergedSearchValue = React.useMemo(function () {\n var _displayValues$;\n if (mode !== 'combobox') {\n return searchValue;\n }\n var val = (_displayValues$ = displayValues[0]) === null || _displayValues$ === void 0 ? void 0 : _displayValues$.value;\n return typeof val === 'string' || typeof val === 'number' ? String(val) : '';\n }, [searchValue, mode, displayValues]);\n\n // ========================== Custom Input ==========================\n // Only works in `combobox`\n var customizeInputElement = mode === 'combobox' && typeof getInputElement === 'function' && getInputElement() || null;\n\n // Used for customize replacement for `rc-cascader`\n var customizeRawInputElement = typeof getRawInputElement === 'function' && getRawInputElement();\n var customizeRawInputRef = useComposeRef(selectorDomRef, customizeRawInputElement === null || customizeRawInputElement === void 0 ? void 0 : (_customizeRawInputEle = customizeRawInputElement.props) === null || _customizeRawInputEle === void 0 ? void 0 : _customizeRawInputEle.ref);\n\n // ============================== Open ==============================\n var _useMergedState = useMergedState(undefined, {\n defaultValue: defaultOpen,\n value: open\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n innerOpen = _useMergedState2[0],\n setInnerOpen = _useMergedState2[1];\n var mergedOpen = innerOpen;\n\n // Not trigger `open` in `combobox` when `notFoundContent` is empty\n var emptyListContent = !notFoundContent && emptyOptions;\n if (disabled || emptyListContent && mergedOpen && mode === 'combobox') {\n mergedOpen = false;\n }\n var triggerOpen = emptyListContent ? false : mergedOpen;\n var onToggleOpen = React.useCallback(function (newOpen) {\n var nextOpen = newOpen !== undefined ? newOpen : !mergedOpen;\n if (!disabled) {\n setInnerOpen(nextOpen);\n if (mergedOpen !== nextOpen) {\n onDropdownVisibleChange === null || onDropdownVisibleChange === void 0 ? void 0 : onDropdownVisibleChange(nextOpen);\n }\n }\n }, [disabled, mergedOpen, setInnerOpen, onDropdownVisibleChange]);\n\n // ============================= Search =============================\n var tokenWithEnter = React.useMemo(function () {\n return (tokenSeparators || []).some(function (tokenSeparator) {\n return ['\\n', '\\r\\n'].includes(tokenSeparator);\n });\n }, [tokenSeparators]);\n var onInternalSearch = function onInternalSearch(searchText, fromTyping, isCompositing) {\n var ret = true;\n var newSearchText = searchText;\n onActiveValueChange === null || onActiveValueChange === void 0 ? void 0 : onActiveValueChange(null);\n\n // Check if match the `tokenSeparators`\n var patchLabels = isCompositing ? null : getSeparatedContent(searchText, tokenSeparators);\n\n // Ignore combobox since it's not split-able\n if (mode !== 'combobox' && patchLabels) {\n newSearchText = '';\n onSearchSplit === null || onSearchSplit === void 0 ? void 0 : onSearchSplit(patchLabels);\n\n // Should close when paste finish\n onToggleOpen(false);\n\n // Tell Selector that break next actions\n ret = false;\n }\n if (onSearch && mergedSearchValue !== newSearchText) {\n onSearch(newSearchText, {\n source: fromTyping ? 'typing' : 'effect'\n });\n }\n return ret;\n };\n\n // Only triggered when menu is closed & mode is tags\n // If menu is open, OptionList will take charge\n // If mode isn't tags, press enter is not meaningful when you can't see any option\n var onInternalSearchSubmit = function onInternalSearchSubmit(searchText) {\n // prevent empty tags from appearing when you click the Enter button\n if (!searchText || !searchText.trim()) {\n return;\n }\n onSearch(searchText, {\n source: 'submit'\n });\n };\n\n // Close will clean up single mode search text\n React.useEffect(function () {\n if (!mergedOpen && !multiple && mode !== 'combobox') {\n onInternalSearch('', false, false);\n }\n }, [mergedOpen]);\n\n // ============================ Disabled ============================\n // Close dropdown & remove focus state when disabled change\n React.useEffect(function () {\n if (innerOpen && disabled) {\n setInnerOpen(false);\n }\n if (disabled) {\n setMockFocused(false);\n }\n }, [disabled]);\n\n // ============================ Keyboard ============================\n /**\n * We record input value here to check if can press to clean up by backspace\n * - null: Key is not down, this is reset by key up\n * - true: Search text is empty when first time backspace down\n * - false: Search text is not empty when first time backspace down\n */\n var _useLock = useLock(),\n _useLock2 = _slicedToArray(_useLock, 2),\n getClearLock = _useLock2[0],\n setClearLock = _useLock2[1];\n\n // KeyDown\n var onInternalKeyDown = function onInternalKeyDown(event) {\n var clearLock = getClearLock();\n var which = event.which;\n if (which === KeyCode.ENTER) {\n // Do not submit form when type in the input\n if (mode !== 'combobox') {\n event.preventDefault();\n }\n\n // We only manage open state here, close logic should handle by list component\n if (!mergedOpen) {\n onToggleOpen(true);\n }\n }\n setClearLock(!!mergedSearchValue);\n\n // Remove value by `backspace`\n if (which === KeyCode.BACKSPACE && !clearLock && multiple && !mergedSearchValue && displayValues.length) {\n var cloneDisplayValues = _toConsumableArray(displayValues);\n var removedDisplayValue = null;\n for (var i = cloneDisplayValues.length - 1; i >= 0; i -= 1) {\n var current = cloneDisplayValues[i];\n if (!current.disabled) {\n cloneDisplayValues.splice(i, 1);\n removedDisplayValue = current;\n break;\n }\n }\n if (removedDisplayValue) {\n onDisplayValuesChange(cloneDisplayValues, {\n type: 'remove',\n values: [removedDisplayValue]\n });\n }\n }\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n if (mergedOpen && listRef.current) {\n var _listRef$current2;\n (_listRef$current2 = listRef.current).onKeyDown.apply(_listRef$current2, [event].concat(rest));\n }\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown.apply(void 0, [event].concat(rest));\n };\n\n // KeyUp\n var onInternalKeyUp = function onInternalKeyUp(event) {\n for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n rest[_key2 - 1] = arguments[_key2];\n }\n if (mergedOpen && listRef.current) {\n var _listRef$current3;\n (_listRef$current3 = listRef.current).onKeyUp.apply(_listRef$current3, [event].concat(rest));\n }\n onKeyUp === null || onKeyUp === void 0 ? void 0 : onKeyUp.apply(void 0, [event].concat(rest));\n };\n\n // ============================ Selector ============================\n var onSelectorRemove = function onSelectorRemove(val) {\n var newValues = displayValues.filter(function (i) {\n return i !== val;\n });\n onDisplayValuesChange(newValues, {\n type: 'remove',\n values: [val]\n });\n };\n\n // ========================== Focus / Blur ==========================\n /** Record real focus status */\n var focusRef = React.useRef(false);\n var onContainerFocus = function onContainerFocus() {\n setMockFocused(true);\n if (!disabled) {\n if (onFocus && !focusRef.current) {\n onFocus.apply(void 0, arguments);\n }\n\n // `showAction` should handle `focus` if set\n if (showAction.includes('focus')) {\n onToggleOpen(true);\n }\n }\n focusRef.current = true;\n };\n var onContainerBlur = function onContainerBlur() {\n setMockFocused(false, function () {\n focusRef.current = false;\n onToggleOpen(false);\n });\n if (disabled) {\n return;\n }\n if (mergedSearchValue) {\n // `tags` mode should move `searchValue` into values\n if (mode === 'tags') {\n onSearch(mergedSearchValue, {\n source: 'submit'\n });\n } else if (mode === 'multiple') {\n // `multiple` mode only clean the search value but not trigger event\n onSearch('', {\n source: 'blur'\n });\n }\n }\n if (onBlur) {\n onBlur.apply(void 0, arguments);\n }\n };\n\n // Give focus back of Select\n var activeTimeoutIds = [];\n React.useEffect(function () {\n return function () {\n activeTimeoutIds.forEach(function (timeoutId) {\n return clearTimeout(timeoutId);\n });\n activeTimeoutIds.splice(0, activeTimeoutIds.length);\n };\n }, []);\n var onInternalMouseDown = function onInternalMouseDown(event) {\n var _triggerRef$current;\n var target = event.target;\n var popupElement = (_triggerRef$current = triggerRef.current) === null || _triggerRef$current === void 0 ? void 0 : _triggerRef$current.getPopupElement();\n\n // We should give focus back to selector if clicked item is not focusable\n if (popupElement && popupElement.contains(target)) {\n var timeoutId = setTimeout(function () {\n var index = activeTimeoutIds.indexOf(timeoutId);\n if (index !== -1) {\n activeTimeoutIds.splice(index, 1);\n }\n cancelSetMockFocused();\n if (!mobile && !popupElement.contains(document.activeElement)) {\n var _selectorRef$current3;\n (_selectorRef$current3 = selectorRef.current) === null || _selectorRef$current3 === void 0 ? void 0 : _selectorRef$current3.focus();\n }\n });\n activeTimeoutIds.push(timeoutId);\n }\n for (var _len3 = arguments.length, restArgs = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n restArgs[_key3 - 1] = arguments[_key3];\n }\n onMouseDown === null || onMouseDown === void 0 ? void 0 : onMouseDown.apply(void 0, [event].concat(restArgs));\n };\n\n // ============================ Dropdown ============================\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n containerWidth = _React$useState4[0],\n setContainerWidth = _React$useState4[1];\n var _React$useState5 = React.useState({}),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n forceUpdate = _React$useState6[1];\n // We need force update here since popup dom is render async\n function onPopupMouseEnter() {\n forceUpdate({});\n }\n useLayoutEffect(function () {\n if (triggerOpen) {\n var _containerRef$current;\n var newWidth = Math.ceil((_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : _containerRef$current.offsetWidth);\n if (containerWidth !== newWidth && !Number.isNaN(newWidth)) {\n setContainerWidth(newWidth);\n }\n }\n }, [triggerOpen]);\n\n // Used for raw custom input trigger\n var onTriggerVisibleChange;\n if (customizeRawInputElement) {\n onTriggerVisibleChange = function onTriggerVisibleChange(newOpen) {\n onToggleOpen(newOpen);\n };\n }\n\n // Close when click on non-select element\n useSelectTriggerControl(function () {\n var _triggerRef$current2;\n return [containerRef.current, (_triggerRef$current2 = triggerRef.current) === null || _triggerRef$current2 === void 0 ? void 0 : _triggerRef$current2.getPopupElement()];\n }, triggerOpen, onToggleOpen, !!customizeRawInputElement);\n\n // ============================ Context =============================\n var baseSelectContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, props), {}, {\n notFoundContent: notFoundContent,\n open: mergedOpen,\n triggerOpen: triggerOpen,\n id: id,\n showSearch: mergedShowSearch,\n multiple: multiple,\n toggleOpen: onToggleOpen\n });\n }, [props, notFoundContent, triggerOpen, mergedOpen, id, mergedShowSearch, multiple, onToggleOpen]);\n\n // ==================================================================\n // == Render ==\n // ==================================================================\n\n // ============================= Arrow ==============================\n var mergedShowArrow = showArrow !== undefined ? showArrow : loading || !multiple && mode !== 'combobox';\n var arrowNode;\n if (mergedShowArrow) {\n arrowNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: classNames(\"\".concat(prefixCls, \"-arrow\"), _defineProperty({}, \"\".concat(prefixCls, \"-arrow-loading\"), loading)),\n customizeIcon: inputIcon,\n customizeIconProps: {\n loading: loading,\n searchValue: mergedSearchValue,\n open: mergedOpen,\n focused: mockFocused,\n showSearch: mergedShowSearch\n }\n });\n }\n\n // ============================= Clear ==============================\n var clearNode;\n var onClearMouseDown = function onClearMouseDown() {\n var _selectorRef$current4;\n onClear === null || onClear === void 0 ? void 0 : onClear();\n (_selectorRef$current4 = selectorRef.current) === null || _selectorRef$current4 === void 0 ? void 0 : _selectorRef$current4.focus();\n onDisplayValuesChange([], {\n type: 'clear',\n values: displayValues\n });\n onInternalSearch('', false, false);\n };\n if (!disabled && allowClear && (displayValues.length || mergedSearchValue) && !(mode === 'combobox' && mergedSearchValue === '')) {\n clearNode = /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(prefixCls, \"-clear\"),\n onMouseDown: onClearMouseDown,\n customizeIcon: clearIcon\n }, \"\\xD7\");\n }\n\n // =========================== OptionList ===========================\n var optionList = /*#__PURE__*/React.createElement(OptionList, {\n ref: listRef\n });\n\n // ============================= Select =============================\n var mergedClassName = classNames(prefixCls, className, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(prefixCls, \"-focused\"), mockFocused), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-multiple\"), multiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-single\"), !multiple), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-allow-clear\"), allowClear), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-arrow\"), mergedShowArrow), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-loading\"), loading), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-open\"), mergedOpen), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-customize-input\"), customizeInputElement), _defineProperty(_classNames2, \"\".concat(prefixCls, \"-show-search\"), mergedShowSearch), _classNames2));\n\n // >>> Selector\n var selectorNode = /*#__PURE__*/React.createElement(SelectTrigger, {\n ref: triggerRef,\n disabled: disabled,\n prefixCls: prefixCls,\n visible: triggerOpen,\n popupElement: optionList,\n containerWidth: containerWidth,\n animation: animation,\n transitionName: transitionName,\n dropdownStyle: dropdownStyle,\n dropdownClassName: dropdownClassName,\n direction: direction,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n dropdownRender: dropdownRender,\n dropdownAlign: dropdownAlign,\n placement: placement,\n getPopupContainer: getPopupContainer,\n empty: emptyOptions,\n getTriggerDOMNode: function getTriggerDOMNode() {\n return selectorDomRef.current;\n },\n onPopupVisibleChange: onTriggerVisibleChange,\n onPopupMouseEnter: onPopupMouseEnter\n }, customizeRawInputElement ? /*#__PURE__*/React.cloneElement(customizeRawInputElement, {\n ref: customizeRawInputRef\n }) : /*#__PURE__*/React.createElement(Selector, _extends({}, props, {\n domRef: selectorDomRef,\n prefixCls: prefixCls,\n inputElement: customizeInputElement,\n ref: selectorRef,\n id: id,\n showSearch: mergedShowSearch,\n autoClearSearchValue: autoClearSearchValue,\n mode: mode,\n activeDescendantId: activeDescendantId,\n tagRender: tagRender,\n values: displayValues,\n open: mergedOpen,\n onToggleOpen: onToggleOpen,\n activeValue: activeValue,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n onSearchSubmit: onInternalSearchSubmit,\n onRemove: onSelectorRemove,\n tokenWithEnter: tokenWithEnter\n })));\n\n // >>> Render\n var renderNode;\n\n // Render raw\n if (customizeRawInputElement) {\n renderNode = selectorNode;\n } else {\n renderNode = /*#__PURE__*/React.createElement(\"div\", _extends({\n className: mergedClassName\n }, domProps, {\n ref: containerRef,\n onMouseDown: onInternalMouseDown,\n onKeyDown: onInternalKeyDown,\n onKeyUp: onInternalKeyUp,\n onFocus: onContainerFocus,\n onBlur: onContainerBlur\n }), mockFocused && !mergedOpen && /*#__PURE__*/React.createElement(\"span\", {\n style: {\n width: 0,\n height: 0,\n position: 'absolute',\n overflow: 'hidden',\n opacity: 0\n },\n \"aria-live\": \"polite\"\n }, \"\".concat(displayValues.map(function (_ref) {\n var label = _ref.label,\n value = _ref.value;\n return ['number', 'string'].includes(_typeof(label)) ? label : value;\n }).join(', '))), selectorNode, arrowNode, clearNode);\n }\n return /*#__PURE__*/React.createElement(BaseSelectContext.Provider, {\n value: baseSelectContext\n }, renderNode);\n});\n\n// Set display name for dev\nif (process.env.NODE_ENV !== 'production') {\n BaseSelect.displayName = 'BaseSelect';\n}\nexport default BaseSelect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n\n/**\n * Similar with `useLock`, but this hook will always execute last value.\n * When set to `true`, it will keep `true` for a short time even if `false` is set.\n */\nexport default function useDelayReset() {\n var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n bool = _React$useState2[0],\n setBool = _React$useState2[1];\n var delayRef = React.useRef(null);\n var cancelLatest = function cancelLatest() {\n window.clearTimeout(delayRef.current);\n };\n React.useEffect(function () {\n return cancelLatest;\n }, []);\n var delaySetBool = function delaySetBool(value, callback) {\n cancelLatest();\n delayRef.current = window.setTimeout(function () {\n setBool(value);\n if (callback) {\n callback();\n }\n }, timeout);\n };\n return [bool, delaySetBool, cancelLatest];\n}","import * as React from 'react';\nexport default function useSelectTriggerControl(elements, open, triggerOpen, customizedTrigger) {\n var propsRef = React.useRef(null);\n propsRef.current = {\n open: open,\n triggerOpen: triggerOpen,\n customizedTrigger: customizedTrigger\n };\n React.useEffect(function () {\n function onGlobalMouseDown(event) {\n var _propsRef$current;\n // If trigger is customized, Trigger will take control of popupVisible\n if ((_propsRef$current = propsRef.current) !== null && _propsRef$current !== void 0 && _propsRef$current.customizedTrigger) {\n return;\n }\n var target = event.target;\n if (target.shadowRoot && event.composed) {\n target = event.composedPath()[0] || target;\n }\n if (propsRef.current.open && elements().filter(function (element) {\n return element;\n }).every(function (element) {\n return !element.contains(target) && element !== target;\n })) {\n // Should trigger close\n propsRef.current.triggerOpen(false);\n }\n }\n window.addEventListener('mousedown', onGlobalMouseDown);\n return function () {\n return window.removeEventListener('mousedown', onGlobalMouseDown);\n };\n }, []);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport { toArray } from \"../utils/commonUtil\";\nimport { injectPropsWithOption } from \"../utils/valueUtil\";\nfunction includes(test, search) {\n return toArray(test).join('').toUpperCase().includes(search);\n}\nexport default (function (options, fieldNames, searchValue, filterOption, optionFilterProp) {\n return React.useMemo(function () {\n if (!searchValue || filterOption === false) {\n return options;\n }\n var fieldOptions = fieldNames.options,\n fieldLabel = fieldNames.label,\n fieldValue = fieldNames.value;\n var filteredOptions = [];\n var customizeFilter = typeof filterOption === 'function';\n var upperSearch = searchValue.toUpperCase();\n var filterFunc = customizeFilter ? filterOption : function (_, option) {\n // Use provided `optionFilterProp`\n if (optionFilterProp) {\n return includes(option[optionFilterProp], upperSearch);\n }\n\n // Auto select `label` or `value` by option type\n if (option[fieldOptions]) {\n // hack `fieldLabel` since `OptionGroup` children is not `label`\n return includes(option[fieldLabel !== 'children' ? fieldLabel : 'label'], upperSearch);\n }\n return includes(option[fieldValue], upperSearch);\n };\n var wrapOption = customizeFilter ? function (opt) {\n return injectPropsWithOption(opt);\n } : function (opt) {\n return opt;\n };\n options.forEach(function (item) {\n // Group should check child options\n if (item[fieldOptions]) {\n // Check group first\n var matchGroup = filterFunc(searchValue, wrapOption(item));\n if (matchGroup) {\n filteredOptions.push(item);\n } else {\n // Check option\n var subOptions = item[fieldOptions].filter(function (subItem) {\n return filterFunc(searchValue, wrapOption(subItem));\n });\n if (subOptions.length) {\n filteredOptions.push(_objectSpread(_objectSpread({}, item), {}, _defineProperty({}, fieldOptions, subOptions)));\n }\n }\n return;\n }\n if (filterFunc(searchValue, wrapOption(item))) {\n filteredOptions.push(item);\n }\n });\n return filteredOptions;\n }, [options, filterOption, optionFilterProp, searchValue, fieldNames]);\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nvar uuid = 0;\n\n/** Is client side and not jsdom */\nexport var isBrowserClient = process.env.NODE_ENV !== 'test' && canUseDom();\n\n/** Get unique id for accessibility usage */\nexport function getUUID() {\n var retId;\n\n // Test never reach\n /* istanbul ignore if */\n if (isBrowserClient) {\n retId = uuid;\n uuid += 1;\n } else {\n retId = 'TEST_OR_SSR';\n }\n return retId;\n}\nexport default function useId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n React.useEffect(function () {\n setInnerId(\"rc_select_\".concat(getUUID()));\n }, []);\n return id || innerId;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"children\", \"value\"],\n _excluded2 = [\"children\"];\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nfunction convertNodeToOption(node) {\n var _ref = node,\n key = _ref.key,\n _ref$props = _ref.props,\n children = _ref$props.children,\n value = _ref$props.value,\n restProps = _objectWithoutProperties(_ref$props, _excluded);\n return _objectSpread({\n key: key,\n value: value !== undefined ? value : key,\n children: children\n }, restProps);\n}\nexport function convertChildrenToData(nodes) {\n var optionOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return toArray(nodes).map(function (node, index) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return null;\n }\n var _ref2 = node,\n isSelectOptGroup = _ref2.type.isSelectOptGroup,\n key = _ref2.key,\n _ref2$props = _ref2.props,\n children = _ref2$props.children,\n restProps = _objectWithoutProperties(_ref2$props, _excluded2);\n if (optionOnly || !isSelectOptGroup) {\n return convertNodeToOption(node);\n }\n return _objectSpread(_objectSpread({\n key: \"__RC_SELECT_GRP__\".concat(key === null ? index : key, \"__\"),\n label: key\n }, restProps), {}, {\n options: convertChildrenToData(children)\n });\n }).filter(function (data) {\n return data;\n });\n}","import * as React from 'react';\n\n/**\n * Same as `React.useCallback` but always return a memoized function\n * but redirect to real function.\n */\nexport default function useRefFunc(callback) {\n var funcRef = React.useRef();\n funcRef.current = callback;\n var cacheFn = React.useCallback(function () {\n return funcRef.current.apply(funcRef, arguments);\n }, []);\n return cacheFn;\n}","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar OptGroup = function OptGroup() {\n return null;\n};\nOptGroup.isSelectOptGroup = true;\nexport default OptGroup;","/* istanbul ignore file */\n\n/** This is a placeholder, not real render in dom */\nvar Option = function Option() {\n return null;\n};\nOption.isSelectOption = true;\nexport default Option;","import * as React from 'react';\n\n// Use any here since we do not get the type during compilation\n\nvar SelectContext = /*#__PURE__*/React.createContext(null);\nexport default SelectContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar _excluded = [\"disabled\", \"title\", \"children\", \"style\", \"className\"];\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport omit from \"rc-util/es/omit\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport classNames from 'classnames';\nimport List from 'rc-virtual-list';\nimport TransBtn from \"./TransBtn\";\nimport { isPlatformMac } from \"./utils/platformUtil\";\nimport useBaseProps from \"./hooks/useBaseProps\";\nimport SelectContext from \"./SelectContext\";\n\n// export interface OptionListProps {\n\nfunction isTitleType(content) {\n return typeof content === 'string' || typeof content === 'number';\n}\n\n/**\n * Using virtual list of option display.\n * Will fallback to dom if use customize render.\n */\nvar OptionList = function OptionList(_, ref) {\n var _useBaseProps = useBaseProps(),\n prefixCls = _useBaseProps.prefixCls,\n id = _useBaseProps.id,\n open = _useBaseProps.open,\n multiple = _useBaseProps.multiple,\n mode = _useBaseProps.mode,\n searchValue = _useBaseProps.searchValue,\n toggleOpen = _useBaseProps.toggleOpen,\n notFoundContent = _useBaseProps.notFoundContent,\n onPopupScroll = _useBaseProps.onPopupScroll;\n var _React$useContext = React.useContext(SelectContext),\n flattenOptions = _React$useContext.flattenOptions,\n onActiveValue = _React$useContext.onActiveValue,\n defaultActiveFirstOption = _React$useContext.defaultActiveFirstOption,\n onSelect = _React$useContext.onSelect,\n menuItemSelectedIcon = _React$useContext.menuItemSelectedIcon,\n rawValues = _React$useContext.rawValues,\n fieldNames = _React$useContext.fieldNames,\n virtual = _React$useContext.virtual,\n listHeight = _React$useContext.listHeight,\n listItemHeight = _React$useContext.listItemHeight;\n var itemPrefixCls = \"\".concat(prefixCls, \"-item\");\n var memoFlattenOptions = useMemo(function () {\n return flattenOptions;\n }, [open, flattenOptions], function (prev, next) {\n return next[0] && prev[1] !== next[1];\n });\n\n // =========================== List ===========================\n var listRef = React.useRef(null);\n var onListMouseDown = function onListMouseDown(event) {\n event.preventDefault();\n };\n var scrollIntoView = function scrollIntoView(args) {\n if (listRef.current) {\n listRef.current.scrollTo(typeof args === 'number' ? {\n index: args\n } : args);\n }\n };\n\n // ========================== Active ==========================\n var getEnabledActiveIndex = function getEnabledActiveIndex(index) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var len = memoFlattenOptions.length;\n for (var i = 0; i < len; i += 1) {\n var current = (index + i * offset + len) % len;\n var _memoFlattenOptions$c = memoFlattenOptions[current],\n group = _memoFlattenOptions$c.group,\n data = _memoFlattenOptions$c.data;\n if (!group && !data.disabled) {\n return current;\n }\n }\n return -1;\n };\n var _React$useState = React.useState(function () {\n return getEnabledActiveIndex(0);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeIndex = _React$useState2[0],\n setActiveIndex = _React$useState2[1];\n var setActive = function setActive(index) {\n var fromKeyboard = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n setActiveIndex(index);\n var info = {\n source: fromKeyboard ? 'keyboard' : 'mouse'\n };\n\n // Trigger active event\n var flattenItem = memoFlattenOptions[index];\n if (!flattenItem) {\n onActiveValue(null, -1, info);\n return;\n }\n onActiveValue(flattenItem.value, index, info);\n };\n\n // Auto active first item when list length or searchValue changed\n useEffect(function () {\n setActive(defaultActiveFirstOption !== false ? getEnabledActiveIndex(0) : -1);\n }, [memoFlattenOptions.length, searchValue]);\n\n // https://github.com/ant-design/ant-design/issues/34975\n var isSelected = React.useCallback(function (value) {\n return rawValues.has(value) && mode !== 'combobox';\n }, [mode, _toConsumableArray(rawValues).toString(), rawValues.size]);\n\n // Auto scroll to item position in single mode\n useEffect(function () {\n /**\n * React will skip `onChange` when component update.\n * `setActive` function will call root accessibility state update which makes re-render.\n * So we need to delay to let Input component trigger onChange first.\n */\n var timeoutId = setTimeout(function () {\n if (!multiple && open && rawValues.size === 1) {\n var value = Array.from(rawValues)[0];\n var index = memoFlattenOptions.findIndex(function (_ref) {\n var data = _ref.data;\n return data.value === value;\n });\n if (index !== -1) {\n setActive(index);\n scrollIntoView(index);\n }\n }\n });\n\n // Force trigger scrollbar visible when open\n if (open) {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.scrollTo(undefined);\n }\n return function () {\n return clearTimeout(timeoutId);\n };\n }, [open, searchValue]);\n\n // ========================== Values ==========================\n var onSelectValue = function onSelectValue(value) {\n if (value !== undefined) {\n onSelect(value, {\n selected: !rawValues.has(value)\n });\n }\n\n // Single mode should always close by select\n if (!multiple) {\n toggleOpen(false);\n }\n };\n\n // ========================= Keyboard =========================\n React.useImperativeHandle(ref, function () {\n return {\n onKeyDown: function onKeyDown(event) {\n var which = event.which,\n ctrlKey = event.ctrlKey;\n switch (which) {\n // >>> Arrow keys & ctrl + n/p on Mac\n case KeyCode.N:\n case KeyCode.P:\n case KeyCode.UP:\n case KeyCode.DOWN:\n {\n var offset = 0;\n if (which === KeyCode.UP) {\n offset = -1;\n } else if (which === KeyCode.DOWN) {\n offset = 1;\n } else if (isPlatformMac() && ctrlKey) {\n if (which === KeyCode.N) {\n offset = 1;\n } else if (which === KeyCode.P) {\n offset = -1;\n }\n }\n if (offset !== 0) {\n var nextActiveIndex = getEnabledActiveIndex(activeIndex + offset, offset);\n scrollIntoView(nextActiveIndex);\n setActive(nextActiveIndex, true);\n }\n break;\n }\n\n // >>> Select\n case KeyCode.ENTER:\n {\n // value\n var item = memoFlattenOptions[activeIndex];\n if (item && !item.data.disabled) {\n onSelectValue(item.value);\n } else {\n onSelectValue(undefined);\n }\n if (open) {\n event.preventDefault();\n }\n break;\n }\n\n // >>> Close\n case KeyCode.ESC:\n {\n toggleOpen(false);\n if (open) {\n event.stopPropagation();\n }\n }\n }\n },\n onKeyUp: function onKeyUp() {},\n scrollTo: function scrollTo(index) {\n scrollIntoView(index);\n }\n };\n });\n\n // ========================== Render ==========================\n if (memoFlattenOptions.length === 0) {\n return /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n className: \"\".concat(itemPrefixCls, \"-empty\"),\n onMouseDown: onListMouseDown\n }, notFoundContent);\n }\n var omitFieldNameList = Object.keys(fieldNames).map(function (key) {\n return fieldNames[key];\n });\n var getLabel = function getLabel(item) {\n return item.label;\n };\n var renderItem = function renderItem(index) {\n var item = memoFlattenOptions[index];\n if (!item) return null;\n var itemData = item.data || {};\n var value = itemData.value;\n var group = item.group;\n var attrs = pickAttrs(itemData, true);\n var mergedLabel = getLabel(item);\n return item ? /*#__PURE__*/React.createElement(\"div\", _extends({\n \"aria-label\": typeof mergedLabel === 'string' && !group ? mergedLabel : null\n }, attrs, {\n key: index,\n role: group ? 'presentation' : 'option',\n id: \"\".concat(id, \"_list_\").concat(index),\n \"aria-selected\": isSelected(value)\n }), value) : null;\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"div\", {\n role: \"listbox\",\n id: \"\".concat(id, \"_list\"),\n style: {\n height: 0,\n width: 0,\n overflow: 'hidden'\n }\n }, renderItem(activeIndex - 1), renderItem(activeIndex), renderItem(activeIndex + 1)), /*#__PURE__*/React.createElement(List, {\n itemKey: \"key\",\n ref: listRef,\n data: memoFlattenOptions,\n height: listHeight,\n itemHeight: listItemHeight,\n fullHeight: false,\n onMouseDown: onListMouseDown,\n onScroll: onPopupScroll,\n virtual: virtual\n }, function (item, itemIndex) {\n var _classNames;\n var group = item.group,\n groupOption = item.groupOption,\n data = item.data,\n label = item.label,\n value = item.value;\n var key = data.key;\n\n // Group\n if (group) {\n var _data$title;\n var groupTitle = (_data$title = data.title) !== null && _data$title !== void 0 ? _data$title : isTitleType(label) ? label.toString() : undefined;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(itemPrefixCls, \"\".concat(itemPrefixCls, \"-group\")),\n title: groupTitle\n }, label !== undefined ? label : key);\n }\n var disabled = data.disabled,\n title = data.title,\n children = data.children,\n style = data.style,\n className = data.className,\n otherProps = _objectWithoutProperties(data, _excluded);\n var passedProps = omit(otherProps, omitFieldNameList);\n\n // Option\n var selected = isSelected(value);\n var optionPrefixCls = \"\".concat(itemPrefixCls, \"-option\");\n var optionClassName = classNames(itemPrefixCls, optionPrefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-grouped\"), groupOption), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-active\"), activeIndex === itemIndex && !disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(optionPrefixCls, \"-selected\"), selected), _classNames));\n var mergedLabel = getLabel(item);\n var iconVisible = !menuItemSelectedIcon || typeof menuItemSelectedIcon === 'function' || selected;\n\n // https://github.com/ant-design/ant-design/issues/34145\n var content = typeof mergedLabel === 'number' ? mergedLabel : mergedLabel || value;\n // https://github.com/ant-design/ant-design/issues/26717\n var optionTitle = isTitleType(content) ? content.toString() : undefined;\n if (title !== undefined) {\n optionTitle = title;\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, pickAttrs(passedProps), {\n \"aria-selected\": selected,\n className: optionClassName,\n title: optionTitle,\n onMouseMove: function onMouseMove() {\n if (activeIndex === itemIndex || disabled) {\n return;\n }\n setActive(itemIndex);\n },\n onClick: function onClick() {\n if (!disabled) {\n onSelectValue(value);\n }\n },\n style: style\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(optionPrefixCls, \"-content\")\n }, content), /*#__PURE__*/React.isValidElement(menuItemSelectedIcon) || selected, iconVisible && /*#__PURE__*/React.createElement(TransBtn, {\n className: \"\".concat(itemPrefixCls, \"-option-state\"),\n customizeIcon: menuItemSelectedIcon,\n customizeIconProps: {\n isSelected: selected\n }\n }, selected ? '✓' : null));\n }));\n};\nvar RefOptionList = /*#__PURE__*/React.forwardRef(OptionList);\nRefOptionList.displayName = 'OptionList';\nexport default RefOptionList;","/* istanbul ignore file */\nexport function isPlatformMac() {\n return /(mac\\sos|macintosh)/i.test(navigator.appVersion);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toNodeArray from \"rc-util/es/Children/toArray\";\nimport warning, { noteOnce } from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { isMultiple } from \"../BaseSelect\";\nimport { toArray } from \"./commonUtil\";\nimport { convertChildrenToData } from \"./legacyUtil\";\nfunction warningProps(props) {\n var mode = props.mode,\n options = props.options,\n children = props.children,\n backfill = props.backfill,\n allowClear = props.allowClear,\n placeholder = props.placeholder,\n getInputElement = props.getInputElement,\n showSearch = props.showSearch,\n onSearch = props.onSearch,\n defaultOpen = props.defaultOpen,\n autoFocus = props.autoFocus,\n labelInValue = props.labelInValue,\n value = props.value,\n inputValue = props.inputValue,\n optionLabelProp = props.optionLabelProp;\n var multiple = isMultiple(mode);\n var mergedShowSearch = showSearch !== undefined ? showSearch : multiple || mode === 'combobox';\n var mergedOptions = options || convertChildrenToData(children);\n\n // `tags` should not set option as disabled\n warning(mode !== 'tags' || mergedOptions.every(function (opt) {\n return !opt.disabled;\n }), 'Please avoid setting option to disabled in tags mode since user can always type text as tag.');\n\n // `combobox` & `tags` should option be `string` type\n if (mode === 'tags' || mode === 'combobox') {\n var hasNumberValue = mergedOptions.some(function (item) {\n if (item.options) {\n return item.options.some(function (opt) {\n return typeof ('value' in opt ? opt.value : opt.key) === 'number';\n });\n }\n return typeof ('value' in item ? item.value : item.key) === 'number';\n });\n warning(!hasNumberValue, '`value` of Option should not use number type when `mode` is `tags` or `combobox`.');\n }\n\n // `combobox` should not use `optionLabelProp`\n warning(mode !== 'combobox' || !optionLabelProp, '`combobox` mode not support `optionLabelProp`. Please set `value` on Option directly.');\n\n // Only `combobox` support `backfill`\n warning(mode === 'combobox' || !backfill, '`backfill` only works with `combobox` mode.');\n\n // Only `combobox` support `getInputElement`\n warning(mode === 'combobox' || !getInputElement, '`getInputElement` only work with `combobox` mode.');\n\n // Customize `getInputElement` should not use `allowClear` & `placeholder`\n noteOnce(mode !== 'combobox' || !getInputElement || !allowClear || !placeholder, 'Customize `getInputElement` should customize clear and placeholder logic instead of configuring `allowClear` and `placeholder`.');\n\n // `onSearch` should use in `combobox` or `showSearch`\n if (onSearch && !mergedShowSearch && mode !== 'combobox' && mode !== 'tags') {\n warning(false, '`onSearch` should work with `showSearch` instead of use alone.');\n }\n noteOnce(!defaultOpen || autoFocus, '`defaultOpen` makes Select open without focus which means it will not close by click outside. You can set `autoFocus` if needed.');\n if (value !== undefined && value !== null) {\n var values = toArray(value);\n warning(!labelInValue || values.every(function (val) {\n return _typeof(val) === 'object' && ('key' in val || 'value' in val);\n }), '`value` should in shape of `{ value: string | number, label?: ReactNode }` when you set `labelInValue` to `true`');\n warning(!multiple || Array.isArray(value), '`value` should be array when `mode` is `multiple` or `tags`');\n }\n\n // Syntactic sugar should use correct children type\n if (children) {\n var invalidateChildType = null;\n toNodeArray(children).some(function (node) {\n if (! /*#__PURE__*/React.isValidElement(node) || !node.type) {\n return false;\n }\n var _ref = node,\n type = _ref.type;\n if (type.isSelectOption) {\n return false;\n }\n if (type.isSelectOptGroup) {\n var allChildrenValid = toNodeArray(node.props.children).every(function (subNode) {\n if (! /*#__PURE__*/React.isValidElement(subNode) || !node.type || subNode.type.isSelectOption) {\n return true;\n }\n invalidateChildType = subNode.type;\n return false;\n });\n if (allChildrenValid) {\n return false;\n }\n return true;\n }\n invalidateChildType = type;\n return true;\n });\n if (invalidateChildType) {\n warning(false, \"`children` should be `Select.Option` or `Select.OptGroup` instead of `\".concat(invalidateChildType.displayName || invalidateChildType.name || invalidateChildType, \"`.\"));\n }\n warning(inputValue === undefined, '`inputValue` is deprecated, please use `searchValue` instead.');\n }\n}\n\n// value in Select option should not be null\n// note: OptGroup has options too\nexport function warningNullOptions(options, fieldNames) {\n if (options) {\n var recursiveOptions = function recursiveOptions(optionsList) {\n var inGroup = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n for (var i = 0; i < optionsList.length; i++) {\n var option = optionsList[i];\n if (option[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.value] === null) {\n warning(false, '`value` in Select options should not be `null`.');\n return true;\n }\n if (!inGroup && Array.isArray(option[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.options]) && recursiveOptions(option[fieldNames === null || fieldNames === void 0 ? void 0 : fieldNames.options], true)) {\n break;\n }\n }\n };\n recursiveOptions(options);\n }\n}\nexport default warningProps;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar _excluded = [\"id\", \"mode\", \"prefixCls\", \"backfill\", \"fieldNames\", \"inputValue\", \"searchValue\", \"onSearch\", \"autoClearSearchValue\", \"onSelect\", \"onDeselect\", \"dropdownMatchSelectWidth\", \"filterOption\", \"filterSort\", \"optionFilterProp\", \"optionLabelProp\", \"options\", \"children\", \"defaultActiveFirstOption\", \"menuItemSelectedIcon\", \"virtual\", \"listHeight\", \"listItemHeight\", \"value\", \"defaultValue\", \"labelInValue\", \"onChange\"];\n/**\n * To match accessibility requirement, we always provide an input in the component.\n * Other element will not set `tabIndex` to avoid `onBlur` sequence problem.\n * For focused select, we set `aria-live=\"polite\"` to update the accessibility content.\n *\n * ref:\n * - keyboard: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/listbox_role#Keyboard_interactions\n *\n * New api:\n * - listHeight\n * - listItemHeight\n * - component\n *\n * Remove deprecated api:\n * - multiple\n * - tags\n * - combobox\n * - firstActiveValue\n * - dropdownMenuStyle\n * - openClassName (Not list in api)\n *\n * Update:\n * - `backfill` only support `combobox` mode\n * - `combobox` mode not support `labelInValue` since it's meaningless\n * - `getInputElement` only support `combobox` mode\n * - `onChange` return OptionData instead of ReactNode\n * - `filterOption` `onChange` `onSelect` accept OptionData instead of ReactNode\n * - `combobox` mode trigger `onChange` will get `undefined` if no `value` match in Option\n * - `combobox` mode not support `optionLabelProp`\n */\n\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport BaseSelect, { isMultiple } from \"./BaseSelect\";\nimport useCache from \"./hooks/useCache\";\nimport useFilterOptions from \"./hooks/useFilterOptions\";\nimport useId from \"./hooks/useId\";\nimport useOptions from \"./hooks/useOptions\";\nimport useRefFunc from \"./hooks/useRefFunc\";\nimport OptGroup from \"./OptGroup\";\nimport Option from \"./Option\";\nimport OptionList from \"./OptionList\";\nimport SelectContext from \"./SelectContext\";\nimport { hasValue, toArray } from \"./utils/commonUtil\";\nimport { fillFieldNames, flattenOptions, injectPropsWithOption } from \"./utils/valueUtil\";\nimport warningProps, { warningNullOptions } from \"./utils/warningPropsUtil\";\nvar OMIT_DOM_PROPS = ['inputValue'];\nfunction isRawValue(value) {\n return !value || _typeof(value) !== 'object';\n}\nvar Select = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var id = props.id,\n mode = props.mode,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-select' : _props$prefixCls,\n backfill = props.backfill,\n fieldNames = props.fieldNames,\n inputValue = props.inputValue,\n searchValue = props.searchValue,\n onSearch = props.onSearch,\n _props$autoClearSearc = props.autoClearSearchValue,\n autoClearSearchValue = _props$autoClearSearc === void 0 ? true : _props$autoClearSearc,\n onSelect = props.onSelect,\n onDeselect = props.onDeselect,\n _props$dropdownMatchS = props.dropdownMatchSelectWidth,\n dropdownMatchSelectWidth = _props$dropdownMatchS === void 0 ? true : _props$dropdownMatchS,\n filterOption = props.filterOption,\n filterSort = props.filterSort,\n optionFilterProp = props.optionFilterProp,\n optionLabelProp = props.optionLabelProp,\n options = props.options,\n children = props.children,\n defaultActiveFirstOption = props.defaultActiveFirstOption,\n menuItemSelectedIcon = props.menuItemSelectedIcon,\n virtual = props.virtual,\n _props$listHeight = props.listHeight,\n listHeight = _props$listHeight === void 0 ? 200 : _props$listHeight,\n _props$listItemHeight = props.listItemHeight,\n listItemHeight = _props$listItemHeight === void 0 ? 20 : _props$listItemHeight,\n value = props.value,\n defaultValue = props.defaultValue,\n labelInValue = props.labelInValue,\n onChange = props.onChange,\n restProps = _objectWithoutProperties(props, _excluded);\n var mergedId = useId(id);\n var multiple = isMultiple(mode);\n var childrenAsData = !!(!options && children);\n var mergedFilterOption = React.useMemo(function () {\n if (filterOption === undefined && mode === 'combobox') {\n return false;\n }\n return filterOption;\n }, [filterOption, mode]);\n\n // ========================= FieldNames =========================\n var mergedFieldNames = React.useMemo(function () {\n return fillFieldNames(fieldNames, childrenAsData);\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [\n // We stringify fieldNames to avoid unnecessary re-renders.\n JSON.stringify(fieldNames), childrenAsData]\n /* eslint-enable react-hooks/exhaustive-deps */);\n\n // =========================== Search ===========================\n var _useMergedState = useMergedState('', {\n value: searchValue !== undefined ? searchValue : inputValue,\n postState: function postState(search) {\n return search || '';\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedSearchValue = _useMergedState2[0],\n setSearchValue = _useMergedState2[1];\n\n // =========================== Option ===========================\n var parsedOptions = useOptions(options, children, mergedFieldNames, optionFilterProp, optionLabelProp);\n var valueOptions = parsedOptions.valueOptions,\n labelOptions = parsedOptions.labelOptions,\n mergedOptions = parsedOptions.options;\n\n // ========================= Wrap Value =========================\n var convert2LabelValues = React.useCallback(function (draftValues) {\n // Convert to array\n var valueList = toArray(draftValues);\n\n // Convert to labelInValue type\n return valueList.map(function (val) {\n var rawValue;\n var rawLabel;\n var rawKey;\n var rawDisabled;\n var rawTitle;\n\n // Fill label & value\n if (isRawValue(val)) {\n rawValue = val;\n } else {\n var _val$value;\n rawKey = val.key;\n rawLabel = val.label;\n rawValue = (_val$value = val.value) !== null && _val$value !== void 0 ? _val$value : rawKey;\n }\n var option = valueOptions.get(rawValue);\n if (option) {\n var _option$key;\n // Fill missing props\n if (rawLabel === undefined) rawLabel = option === null || option === void 0 ? void 0 : option[optionLabelProp || mergedFieldNames.label];\n if (rawKey === undefined) rawKey = (_option$key = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key !== void 0 ? _option$key : rawValue;\n rawDisabled = option === null || option === void 0 ? void 0 : option.disabled;\n rawTitle = option === null || option === void 0 ? void 0 : option.title;\n\n // Warning if label not same as provided\n if (process.env.NODE_ENV !== 'production' && !optionLabelProp) {\n var optionLabel = option === null || option === void 0 ? void 0 : option[mergedFieldNames.label];\n if (optionLabel !== undefined && ! /*#__PURE__*/React.isValidElement(optionLabel) && ! /*#__PURE__*/React.isValidElement(rawLabel) && optionLabel !== rawLabel) {\n warning(false, '`label` of `value` is not same as `label` in Select options.');\n }\n }\n }\n return {\n label: rawLabel,\n value: rawValue,\n key: rawKey,\n disabled: rawDisabled,\n title: rawTitle\n };\n });\n }, [mergedFieldNames, optionLabelProp, valueOptions]);\n\n // =========================== Values ===========================\n var _useMergedState3 = useMergedState(defaultValue, {\n value: value\n }),\n _useMergedState4 = _slicedToArray(_useMergedState3, 2),\n internalValue = _useMergedState4[0],\n setInternalValue = _useMergedState4[1];\n\n // Merged value with LabelValueType\n var rawLabeledValues = React.useMemo(function () {\n var _values$;\n var values = convert2LabelValues(internalValue);\n\n // combobox no need save value when it's no value\n if (mode === 'combobox' && !((_values$ = values[0]) !== null && _values$ !== void 0 && _values$.value)) {\n return [];\n }\n return values;\n }, [internalValue, convert2LabelValues, mode]);\n\n // Fill label with cache to avoid option remove\n var _useCache = useCache(rawLabeledValues, valueOptions),\n _useCache2 = _slicedToArray(_useCache, 2),\n mergedValues = _useCache2[0],\n getMixedOption = _useCache2[1];\n var displayValues = React.useMemo(function () {\n // `null` need show as placeholder instead\n // https://github.com/ant-design/ant-design/issues/25057\n if (!mode && mergedValues.length === 1) {\n var firstValue = mergedValues[0];\n if (firstValue.value === null && (firstValue.label === null || firstValue.label === undefined)) {\n return [];\n }\n }\n return mergedValues.map(function (item) {\n var _item$label;\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_item$label = item.label) !== null && _item$label !== void 0 ? _item$label : item.value\n });\n });\n }, [mode, mergedValues]);\n\n /** Convert `displayValues` to raw value type set */\n var rawValues = React.useMemo(function () {\n return new Set(mergedValues.map(function (val) {\n return val.value;\n }));\n }, [mergedValues]);\n React.useEffect(function () {\n if (mode === 'combobox') {\n var _mergedValues$;\n var strValue = (_mergedValues$ = mergedValues[0]) === null || _mergedValues$ === void 0 ? void 0 : _mergedValues$.value;\n setSearchValue(hasValue(strValue) ? String(strValue) : '');\n }\n }, [mergedValues]);\n\n // ======================= Display Option =======================\n // Create a placeholder item if not exist in `options`\n var createTagOption = useRefFunc(function (val, label) {\n var _ref;\n var mergedLabel = label !== null && label !== void 0 ? label : val;\n return _ref = {}, _defineProperty(_ref, mergedFieldNames.value, val), _defineProperty(_ref, mergedFieldNames.label, mergedLabel), _ref;\n });\n\n // Fill tag as option if mode is `tags`\n var filledTagOptions = React.useMemo(function () {\n if (mode !== 'tags') {\n return mergedOptions;\n }\n\n // >>> Tag mode\n var cloneOptions = _toConsumableArray(mergedOptions);\n\n // Check if value exist in options (include new patch item)\n var existOptions = function existOptions(val) {\n return valueOptions.has(val);\n };\n\n // Fill current value as option\n _toConsumableArray(mergedValues).sort(function (a, b) {\n return a.value < b.value ? -1 : 1;\n }).forEach(function (item) {\n var val = item.value;\n if (!existOptions(val)) {\n cloneOptions.push(createTagOption(val, item.label));\n }\n });\n return cloneOptions;\n }, [createTagOption, mergedOptions, valueOptions, mergedValues, mode]);\n var filteredOptions = useFilterOptions(filledTagOptions, mergedFieldNames, mergedSearchValue, mergedFilterOption, optionFilterProp);\n\n // Fill options with search value if needed\n var filledSearchOptions = React.useMemo(function () {\n if (mode !== 'tags' || !mergedSearchValue || filteredOptions.some(function (item) {\n return item[optionFilterProp || 'value'] === mergedSearchValue;\n })) {\n return filteredOptions;\n }\n\n // Fill search value as option\n return [createTagOption(mergedSearchValue)].concat(_toConsumableArray(filteredOptions));\n }, [createTagOption, optionFilterProp, mode, filteredOptions, mergedSearchValue]);\n var orderedFilteredOptions = React.useMemo(function () {\n if (!filterSort) {\n return filledSearchOptions;\n }\n return _toConsumableArray(filledSearchOptions).sort(function (a, b) {\n return filterSort(a, b);\n });\n }, [filledSearchOptions, filterSort]);\n var displayOptions = React.useMemo(function () {\n return flattenOptions(orderedFilteredOptions, {\n fieldNames: mergedFieldNames,\n childrenAsData: childrenAsData\n });\n }, [orderedFilteredOptions, mergedFieldNames, childrenAsData]);\n\n // =========================== Change ===========================\n var triggerChange = function triggerChange(values) {\n var labeledValues = convert2LabelValues(values);\n setInternalValue(labeledValues);\n if (onChange && (\n // Trigger event only when value changed\n labeledValues.length !== mergedValues.length || labeledValues.some(function (newVal, index) {\n var _mergedValues$index;\n return ((_mergedValues$index = mergedValues[index]) === null || _mergedValues$index === void 0 ? void 0 : _mergedValues$index.value) !== (newVal === null || newVal === void 0 ? void 0 : newVal.value);\n }))) {\n var returnValues = labelInValue ? labeledValues : labeledValues.map(function (v) {\n return v.value;\n });\n var returnOptions = labeledValues.map(function (v) {\n return injectPropsWithOption(getMixedOption(v.value));\n });\n onChange(\n // Value\n multiple ? returnValues : returnValues[0],\n // Option\n multiple ? returnOptions : returnOptions[0]);\n }\n };\n\n // ======================= Accessibility ========================\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n activeValue = _React$useState2[0],\n setActiveValue = _React$useState2[1];\n var _React$useState3 = React.useState(0),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n accessibilityIndex = _React$useState4[0],\n setAccessibilityIndex = _React$useState4[1];\n var mergedDefaultActiveFirstOption = defaultActiveFirstOption !== undefined ? defaultActiveFirstOption : mode !== 'combobox';\n var onActiveValue = React.useCallback(function (active, index) {\n var _ref2 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref2$source = _ref2.source,\n source = _ref2$source === void 0 ? 'keyboard' : _ref2$source;\n setAccessibilityIndex(index);\n if (backfill && mode === 'combobox' && active !== null && source === 'keyboard') {\n setActiveValue(String(active));\n }\n }, [backfill, mode]);\n\n // ========================= OptionList =========================\n var triggerSelect = function triggerSelect(val, selected, type) {\n var getSelectEnt = function getSelectEnt() {\n var _option$key2;\n var option = getMixedOption(val);\n return [labelInValue ? {\n label: option === null || option === void 0 ? void 0 : option[mergedFieldNames.label],\n value: val,\n key: (_option$key2 = option === null || option === void 0 ? void 0 : option.key) !== null && _option$key2 !== void 0 ? _option$key2 : val\n } : val, injectPropsWithOption(option)];\n };\n if (selected && onSelect) {\n var _getSelectEnt = getSelectEnt(),\n _getSelectEnt2 = _slicedToArray(_getSelectEnt, 2),\n wrappedValue = _getSelectEnt2[0],\n _option = _getSelectEnt2[1];\n onSelect(wrappedValue, _option);\n } else if (!selected && onDeselect && type !== 'clear') {\n var _getSelectEnt3 = getSelectEnt(),\n _getSelectEnt4 = _slicedToArray(_getSelectEnt3, 2),\n _wrappedValue = _getSelectEnt4[0],\n _option2 = _getSelectEnt4[1];\n onDeselect(_wrappedValue, _option2);\n }\n };\n\n // Used for OptionList selection\n var onInternalSelect = useRefFunc(function (val, info) {\n var cloneValues;\n\n // Single mode always trigger select only with option list\n var mergedSelect = multiple ? info.selected : true;\n if (mergedSelect) {\n cloneValues = multiple ? [].concat(_toConsumableArray(mergedValues), [val]) : [val];\n } else {\n cloneValues = mergedValues.filter(function (v) {\n return v.value !== val;\n });\n }\n triggerChange(cloneValues);\n triggerSelect(val, mergedSelect);\n\n // Clean search value if single or configured\n if (mode === 'combobox') {\n // setSearchValue(String(val));\n setActiveValue('');\n } else if (!isMultiple || autoClearSearchValue) {\n setSearchValue('');\n setActiveValue('');\n }\n });\n\n // ======================= Display Change =======================\n // BaseSelect display values change\n var onDisplayValuesChange = function onDisplayValuesChange(nextValues, info) {\n triggerChange(nextValues);\n var type = info.type,\n values = info.values;\n if (type === 'remove' || type === 'clear') {\n values.forEach(function (item) {\n triggerSelect(item.value, false, type);\n });\n }\n };\n\n // =========================== Search ===========================\n var onInternalSearch = function onInternalSearch(searchText, info) {\n setSearchValue(searchText);\n setActiveValue(null);\n\n // [Submit] Tag mode should flush input\n if (info.source === 'submit') {\n var formatted = (searchText || '').trim();\n // prevent empty tags from appearing when you click the Enter button\n if (formatted) {\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), [formatted])));\n triggerChange(newRawValues);\n triggerSelect(formatted, true);\n setSearchValue('');\n }\n return;\n }\n if (info.source !== 'blur') {\n if (mode === 'combobox') {\n triggerChange(searchText);\n }\n onSearch === null || onSearch === void 0 ? void 0 : onSearch(searchText);\n }\n };\n var onInternalSearchSplit = function onInternalSearchSplit(words) {\n var patchValues = words;\n if (mode !== 'tags') {\n patchValues = words.map(function (word) {\n var opt = labelOptions.get(word);\n return opt === null || opt === void 0 ? void 0 : opt.value;\n }).filter(function (val) {\n return val !== undefined;\n });\n }\n var newRawValues = Array.from(new Set([].concat(_toConsumableArray(rawValues), _toConsumableArray(patchValues))));\n triggerChange(newRawValues);\n newRawValues.forEach(function (newRawValue) {\n triggerSelect(newRawValue, true);\n });\n };\n\n // ========================== Context ===========================\n var selectContext = React.useMemo(function () {\n var realVirtual = virtual !== false && dropdownMatchSelectWidth !== false;\n return _objectSpread(_objectSpread({}, parsedOptions), {}, {\n flattenOptions: displayOptions,\n onActiveValue: onActiveValue,\n defaultActiveFirstOption: mergedDefaultActiveFirstOption,\n onSelect: onInternalSelect,\n menuItemSelectedIcon: menuItemSelectedIcon,\n rawValues: rawValues,\n fieldNames: mergedFieldNames,\n virtual: realVirtual,\n listHeight: listHeight,\n listItemHeight: listItemHeight,\n childrenAsData: childrenAsData\n });\n }, [parsedOptions, displayOptions, onActiveValue, mergedDefaultActiveFirstOption, onInternalSelect, menuItemSelectedIcon, rawValues, mergedFieldNames, virtual, dropdownMatchSelectWidth, listHeight, listItemHeight, childrenAsData]);\n\n // ========================== Warning ===========================\n if (process.env.NODE_ENV !== 'production') {\n warningProps(props);\n warningNullOptions(mergedOptions, mergedFieldNames);\n }\n\n // ==============================================================\n // == Render ==\n // ==============================================================\n return /*#__PURE__*/React.createElement(SelectContext.Provider, {\n value: selectContext\n }, /*#__PURE__*/React.createElement(BaseSelect, _extends({}, restProps, {\n // >>> MISC\n id: mergedId,\n prefixCls: prefixCls,\n ref: ref,\n omitDomProps: OMIT_DOM_PROPS,\n mode: mode\n // >>> Values\n ,\n displayValues: displayValues,\n onDisplayValuesChange: onDisplayValuesChange\n // >>> Search\n ,\n searchValue: mergedSearchValue,\n onSearch: onInternalSearch,\n autoClearSearchValue: autoClearSearchValue,\n onSearchSplit: onInternalSearchSplit,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth\n // >>> OptionList\n ,\n OptionList: OptionList,\n emptyOptions: !displayOptions.length\n // >>> Accessibility\n ,\n activeValue: activeValue,\n activeDescendantId: \"\".concat(mergedId, \"_list_\").concat(accessibilityIndex)\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Select.displayName = 'Select';\n}\nvar TypedSelect = Select;\nTypedSelect.Option = Option;\nTypedSelect.OptGroup = OptGroup;\nexport default TypedSelect;","import * as React from 'react';\nimport { convertChildrenToData } from \"../utils/legacyUtil\";\n\n/**\n * Parse `children` to `options` if `options` is not provided.\n * Then flatten the `options`.\n */\nexport default function useOptions(options, children, fieldNames, optionFilterProp, optionLabelProp) {\n return React.useMemo(function () {\n var mergedOptions = options;\n var childrenAsData = !options;\n if (childrenAsData) {\n mergedOptions = convertChildrenToData(children);\n }\n var valueOptions = new Map();\n var labelOptions = new Map();\n var setLabelOptions = function setLabelOptions(labelOptionsMap, option, key) {\n if (key && typeof key === 'string') {\n labelOptionsMap.set(option[key], option);\n }\n };\n function dig(optionList) {\n var isChildren = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n // for loop to speed up collection speed\n for (var i = 0; i < optionList.length; i += 1) {\n var option = optionList[i];\n if (!option[fieldNames.options] || isChildren) {\n valueOptions.set(option[fieldNames.value], option);\n setLabelOptions(labelOptions, option, fieldNames.label);\n // https://github.com/ant-design/ant-design/issues/35304\n setLabelOptions(labelOptions, option, optionFilterProp);\n setLabelOptions(labelOptions, option, optionLabelProp);\n } else {\n dig(option[fieldNames.options], true);\n }\n }\n }\n dig(mergedOptions);\n return {\n options: mergedOptions,\n valueOptions: valueOptions,\n labelOptions: labelOptions\n };\n }, [options, children, fieldNames, optionFilterProp, optionLabelProp]);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\n/**\n * Cache `value` related LabeledValue & options.\n */\nexport default (function (labeledValues, valueOptions) {\n var cacheRef = React.useRef({\n values: new Map(),\n options: new Map()\n });\n var filledLabeledValues = React.useMemo(function () {\n var _cacheRef$current = cacheRef.current,\n prevValueCache = _cacheRef$current.values,\n prevOptionCache = _cacheRef$current.options;\n\n // Fill label by cache\n var patchedValues = labeledValues.map(function (item) {\n if (item.label === undefined) {\n var _prevValueCache$get;\n return _objectSpread(_objectSpread({}, item), {}, {\n label: (_prevValueCache$get = prevValueCache.get(item.value)) === null || _prevValueCache$get === void 0 ? void 0 : _prevValueCache$get.label\n });\n }\n return item;\n });\n\n // Refresh cache\n var valueCache = new Map();\n var optionCache = new Map();\n patchedValues.forEach(function (item) {\n valueCache.set(item.value, item);\n optionCache.set(item.value, valueOptions.get(item.value) || prevOptionCache.get(item.value));\n });\n cacheRef.current.values = valueCache;\n cacheRef.current.options = optionCache;\n return patchedValues;\n }, [labeledValues, valueOptions]);\n var getOption = React.useCallback(function (val) {\n return valueOptions.get(val) || cacheRef.current.options.get(val);\n }, [valueOptions]);\n return [filledLabeledValues, getOption];\n});","import Select from \"./Select\";\nimport Option from \"./Option\";\nimport OptGroup from \"./OptGroup\";\nimport BaseSelect from \"./BaseSelect\";\nimport useBaseProps from \"./hooks/useBaseProps\";\nexport { Option, OptGroup, BaseSelect, useBaseProps };\nexport default Select;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport classNames from 'classnames';\n/**\n * Fill component to provided the scroll content real height.\n */\nvar Filler = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var height = _ref.height,\n offsetY = _ref.offsetY,\n offsetX = _ref.offsetX,\n children = _ref.children,\n prefixCls = _ref.prefixCls,\n onInnerResize = _ref.onInnerResize,\n innerProps = _ref.innerProps,\n rtl = _ref.rtl,\n extra = _ref.extra;\n var outerStyle = {};\n var innerStyle = {\n display: 'flex',\n flexDirection: 'column'\n };\n if (offsetY !== undefined) {\n var _objectSpread2;\n // Not set `width` since this will break `sticky: right`\n outerStyle = {\n height: height,\n position: 'relative',\n overflow: 'hidden'\n };\n innerStyle = _objectSpread(_objectSpread({}, innerStyle), {}, (_objectSpread2 = {\n transform: \"translateY(\".concat(offsetY, \"px)\")\n }, _defineProperty(_objectSpread2, rtl ? 'marginRight' : 'marginLeft', -offsetX), _defineProperty(_objectSpread2, \"position\", 'absolute'), _defineProperty(_objectSpread2, \"left\", 0), _defineProperty(_objectSpread2, \"right\", 0), _defineProperty(_objectSpread2, \"top\", 0), _objectSpread2));\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n style: outerStyle\n }, /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: function onResize(_ref2) {\n var offsetHeight = _ref2.offsetHeight;\n if (offsetHeight && onInnerResize) {\n onInnerResize();\n }\n }\n }, /*#__PURE__*/React.createElement(\"div\", _extends({\n style: innerStyle,\n className: classNames(_defineProperty({}, \"\".concat(prefixCls, \"-holder-inner\"), prefixCls)),\n ref: ref\n }, innerProps), children, extra)));\n});\nFiller.displayName = 'Filler';\nexport default Filler;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport raf from \"rc-util/es/raf\";\nfunction getPageXY(e, horizontal) {\n var obj = 'touches' in e ? e.touches[0] : e;\n return obj[horizontal ? 'pageX' : 'pageY'];\n}\nvar ScrollBar = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var prefixCls = props.prefixCls,\n rtl = props.rtl,\n scrollOffset = props.scrollOffset,\n scrollRange = props.scrollRange,\n onStartMove = props.onStartMove,\n onStopMove = props.onStopMove,\n onScroll = props.onScroll,\n horizontal = props.horizontal,\n spinSize = props.spinSize,\n containerSize = props.containerSize;\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n dragging = _React$useState2[0],\n setDragging = _React$useState2[1];\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n pageXY = _React$useState4[0],\n setPageXY = _React$useState4[1];\n var _React$useState5 = React.useState(null),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n startTop = _React$useState6[0],\n setStartTop = _React$useState6[1];\n var isLTR = !rtl;\n // ========================= Refs =========================\n var scrollbarRef = React.useRef();\n var thumbRef = React.useRef();\n // ======================= Visible ========================\n var _React$useState7 = React.useState(false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n visible = _React$useState8[0],\n setVisible = _React$useState8[1];\n var visibleTimeoutRef = React.useRef();\n var delayHidden = function delayHidden() {\n clearTimeout(visibleTimeoutRef.current);\n setVisible(true);\n visibleTimeoutRef.current = setTimeout(function () {\n setVisible(false);\n }, 3000);\n };\n // ======================== Range =========================\n var enableScrollRange = scrollRange - containerSize || 0;\n var enableOffsetRange = containerSize - spinSize || 0;\n // `scrollWidth` < `clientWidth` means no need to show scrollbar\n var canScroll = enableScrollRange > 0;\n // ========================= Top ==========================\n var top = React.useMemo(function () {\n if (scrollOffset === 0 || enableScrollRange === 0) {\n return 0;\n }\n var ptg = scrollOffset / enableScrollRange;\n return ptg * enableOffsetRange;\n }, [scrollOffset, enableScrollRange, enableOffsetRange]);\n // ====================== Container =======================\n var onContainerMouseDown = function onContainerMouseDown(e) {\n e.stopPropagation();\n e.preventDefault();\n };\n // ======================== Thumb =========================\n var stateRef = React.useRef({\n top: top,\n dragging: dragging,\n pageY: pageXY,\n startTop: startTop\n });\n stateRef.current = {\n top: top,\n dragging: dragging,\n pageY: pageXY,\n startTop: startTop\n };\n var onThumbMouseDown = function onThumbMouseDown(e) {\n setDragging(true);\n setPageXY(getPageXY(e, horizontal));\n setStartTop(stateRef.current.top);\n onStartMove();\n e.stopPropagation();\n e.preventDefault();\n };\n // ======================== Effect ========================\n // React make event as passive, but we need to preventDefault\n // Add event on dom directly instead.\n // ref: https://github.com/facebook/react/issues/9809\n React.useEffect(function () {\n var onScrollbarTouchStart = function onScrollbarTouchStart(e) {\n e.preventDefault();\n };\n var scrollbarEle = scrollbarRef.current;\n var thumbEle = thumbRef.current;\n scrollbarEle.addEventListener('touchstart', onScrollbarTouchStart);\n thumbEle.addEventListener('touchstart', onThumbMouseDown);\n return function () {\n scrollbarEle.removeEventListener('touchstart', onScrollbarTouchStart);\n thumbEle.removeEventListener('touchstart', onThumbMouseDown);\n };\n }, []);\n // Pass to effect\n var enableScrollRangeRef = React.useRef();\n enableScrollRangeRef.current = enableScrollRange;\n var enableOffsetRangeRef = React.useRef();\n enableOffsetRangeRef.current = enableOffsetRange;\n React.useEffect(function () {\n if (dragging) {\n var moveRafId;\n var onMouseMove = function onMouseMove(e) {\n var _stateRef$current = stateRef.current,\n stateDragging = _stateRef$current.dragging,\n statePageY = _stateRef$current.pageY,\n stateStartTop = _stateRef$current.startTop;\n raf.cancel(moveRafId);\n if (stateDragging) {\n var offset = getPageXY(e, horizontal) - statePageY;\n var newTop = stateStartTop;\n if (!isLTR && horizontal) {\n newTop -= offset;\n } else {\n newTop += offset;\n }\n var tmpEnableScrollRange = enableScrollRangeRef.current;\n var tmpEnableOffsetRange = enableOffsetRangeRef.current;\n var ptg = tmpEnableOffsetRange ? newTop / tmpEnableOffsetRange : 0;\n var newScrollTop = Math.ceil(ptg * tmpEnableScrollRange);\n newScrollTop = Math.max(newScrollTop, 0);\n newScrollTop = Math.min(newScrollTop, tmpEnableScrollRange);\n moveRafId = raf(function () {\n onScroll(newScrollTop, horizontal);\n });\n }\n };\n var onMouseUp = function onMouseUp() {\n setDragging(false);\n onStopMove();\n };\n window.addEventListener('mousemove', onMouseMove);\n window.addEventListener('touchmove', onMouseMove);\n window.addEventListener('mouseup', onMouseUp);\n window.addEventListener('touchend', onMouseUp);\n return function () {\n window.removeEventListener('mousemove', onMouseMove);\n window.removeEventListener('touchmove', onMouseMove);\n window.removeEventListener('mouseup', onMouseUp);\n window.removeEventListener('touchend', onMouseUp);\n raf.cancel(moveRafId);\n };\n }\n }, [dragging]);\n React.useEffect(function () {\n delayHidden();\n }, [scrollOffset]);\n // ====================== Imperative ======================\n React.useImperativeHandle(ref, function () {\n return {\n delayHidden: delayHidden\n };\n });\n // ======================== Render ========================\n var scrollbarPrefixCls = \"\".concat(prefixCls, \"-scrollbar\");\n var containerStyle = {\n position: 'absolute',\n visibility: visible && canScroll ? null : 'hidden'\n };\n var thumbStyle = {\n position: 'absolute',\n background: 'rgba(0, 0, 0, 0.5)',\n borderRadius: 99,\n cursor: 'pointer',\n userSelect: 'none'\n };\n if (horizontal) {\n // Container\n containerStyle.height = 8;\n containerStyle.left = 0;\n containerStyle.right = 0;\n containerStyle.bottom = 0;\n // Thumb\n thumbStyle.height = '100%';\n thumbStyle.width = spinSize;\n if (isLTR) {\n thumbStyle.left = top;\n } else {\n thumbStyle.right = top;\n }\n } else {\n // Container\n containerStyle.width = 8;\n containerStyle.top = 0;\n containerStyle.bottom = 0;\n if (isLTR) {\n containerStyle.right = 0;\n } else {\n containerStyle.left = 0;\n }\n // Thumb\n thumbStyle.width = '100%';\n thumbStyle.height = spinSize;\n thumbStyle.top = top;\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: scrollbarRef,\n className: classNames(scrollbarPrefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(scrollbarPrefixCls, \"-horizontal\"), horizontal), _defineProperty(_classNames, \"\".concat(scrollbarPrefixCls, \"-vertical\"), !horizontal), _defineProperty(_classNames, \"\".concat(scrollbarPrefixCls, \"-visible\"), visible), _classNames)),\n style: containerStyle,\n onMouseDown: onContainerMouseDown,\n onMouseMove: delayHidden\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: thumbRef,\n className: classNames(\"\".concat(scrollbarPrefixCls, \"-thumb\"), _defineProperty({}, \"\".concat(scrollbarPrefixCls, \"-thumb-moving\"), dragging)),\n style: thumbStyle,\n onMouseDown: onThumbMouseDown\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n ScrollBar.displayName = 'ScrollBar';\n}\nexport default ScrollBar;","import * as React from 'react';\nexport function Item(_ref) {\n var children = _ref.children,\n setRef = _ref.setRef;\n var refFunc = React.useCallback(function (node) {\n setRef(node);\n }, []);\n return /*#__PURE__*/React.cloneElement(children, {\n ref: refFunc\n });\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\n// Firefox has low performance of map.\nvar CacheMap = /*#__PURE__*/function () {\n function CacheMap() {\n _classCallCheck(this, CacheMap);\n this.maps = void 0;\n // Used for cache key\n // `useMemo` no need to update if `id` not change\n this.id = 0;\n this.maps = Object.create(null);\n }\n _createClass(CacheMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.maps[key] = value;\n this.id += 1;\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.maps[key];\n }\n }]);\n return CacheMap;\n}();\nexport default CacheMap;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { findListDiffIndex } from '../utils/algorithmUtil';\nexport default function useDiffItem(data, getKey, onDiff) {\n var _React$useState = React.useState(data),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prevData = _React$useState2[0],\n setPrevData = _React$useState2[1];\n var _React$useState3 = React.useState(null),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n diffItem = _React$useState4[0],\n setDiffItem = _React$useState4[1];\n React.useEffect(function () {\n var diff = findListDiffIndex(prevData || [], data || [], getKey);\n if ((diff === null || diff === void 0 ? void 0 : diff.index) !== undefined) {\n onDiff === null || onDiff === void 0 ? void 0 : onDiff(diff.index);\n setDiffItem(data[diff.index]);\n }\n setPrevData(data);\n }, [data]);\n return [diffItem];\n}","/**\n * Get index with specific start index one by one. e.g.\n * min: 3, max: 9, start: 6\n *\n * Return index is:\n * [0]: 6\n * [1]: 7\n * [2]: 5\n * [3]: 8\n * [4]: 4\n * [5]: 9\n * [6]: 3\n */\nexport function getIndexByStartLoc(min, max, start, index) {\n var beforeCount = start - min;\n var afterCount = max - start;\n var balanceCount = Math.min(beforeCount, afterCount) * 2;\n // Balance\n if (index <= balanceCount) {\n var stepIndex = Math.floor(index / 2);\n if (index % 2) {\n return start + stepIndex + 1;\n }\n return start - stepIndex;\n }\n // One is out of range\n if (beforeCount > afterCount) {\n return start - (index - afterCount);\n }\n return start + (index - beforeCount);\n}\n/**\n * We assume that 2 list has only 1 item diff and others keeping the order.\n * So we can use dichotomy algorithm to find changed one.\n */\nexport function findListDiffIndex(originList, targetList, getKey) {\n var originLen = originList.length;\n var targetLen = targetList.length;\n var shortList;\n var longList;\n if (originLen === 0 && targetLen === 0) {\n return null;\n }\n if (originLen < targetLen) {\n shortList = originList;\n longList = targetList;\n } else {\n shortList = targetList;\n longList = originList;\n }\n var notExistKey = {\n __EMPTY_ITEM__: true\n };\n function getItemKey(item) {\n if (item !== undefined) {\n return getKey(item);\n }\n return notExistKey;\n }\n // Loop to find diff one\n var diffIndex = null;\n var multiple = Math.abs(originLen - targetLen) !== 1;\n for (var i = 0; i < longList.length; i += 1) {\n var shortKey = getItemKey(shortList[i]);\n var longKey = getItemKey(longList[i]);\n if (shortKey !== longKey) {\n diffIndex = i;\n multiple = multiple || shortKey !== getItemKey(longList[i + 1]);\n break;\n }\n }\n return diffIndex === null ? null : {\n index: diffIndex,\n multiple: multiple\n };\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar isFF = (typeof navigator === \"undefined\" ? \"undefined\" : _typeof(navigator)) === 'object' && /Firefox/i.test(navigator.userAgent);\nexport default isFF;","import { useRef } from 'react';\nexport default (function (isScrollAtTop, isScrollAtBottom) {\n // Do lock for a wheel when scrolling\n var lockRef = useRef(false);\n var lockTimeoutRef = useRef(null);\n function lockScroll() {\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = true;\n lockTimeoutRef.current = setTimeout(function () {\n lockRef.current = false;\n }, 50);\n }\n // Pass to ref since global add is in closure\n var scrollPingRef = useRef({\n top: isScrollAtTop,\n bottom: isScrollAtBottom\n });\n scrollPingRef.current.top = isScrollAtTop;\n scrollPingRef.current.bottom = isScrollAtBottom;\n return function (deltaY) {\n var smoothOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var originScroll =\n // Pass origin wheel when on the top\n deltaY < 0 && scrollPingRef.current.top ||\n // Pass origin wheel when on the bottom\n deltaY > 0 && scrollPingRef.current.bottom;\n if (smoothOffset && originScroll) {\n // No need lock anymore when it's smooth offset from touchMove interval\n clearTimeout(lockTimeoutRef.current);\n lockRef.current = false;\n } else if (!originScroll || lockRef.current) {\n lockScroll();\n }\n return !lockRef.current && originScroll;\n };\n});","import { useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nimport isFF from '../utils/isFirefox';\nimport useOriginScroll from './useOriginScroll';\nexport default function useFrameWheel(inVirtual, isScrollAtTop, isScrollAtBottom, horizontalScroll,\n/***\n * Return `true` when you need to prevent default event\n */\nonWheelDelta) {\n var offsetRef = useRef(0);\n var nextFrameRef = useRef(null);\n // Firefox patch\n var wheelValueRef = useRef(null);\n var isMouseScrollRef = useRef(false);\n // Scroll status sync\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom);\n function onWheelY(event) {\n raf.cancel(nextFrameRef.current);\n var deltaY = event.deltaY;\n offsetRef.current += deltaY;\n wheelValueRef.current = deltaY;\n // Do nothing when scroll at the edge, Skip check when is in scroll\n if (originScroll(deltaY)) return;\n // Proxy of scroll events\n if (!isFF) {\n event.preventDefault();\n }\n nextFrameRef.current = raf(function () {\n // Patch a multiple for Firefox to fix wheel number too small\n // ref: https://github.com/ant-design/ant-design/issues/26372#issuecomment-679460266\n var patchMultiple = isMouseScrollRef.current ? 10 : 1;\n onWheelDelta(offsetRef.current * patchMultiple);\n offsetRef.current = 0;\n });\n }\n function onWheelX(event) {\n var deltaX = event.deltaX;\n onWheelDelta(deltaX, true);\n if (!isFF) {\n event.preventDefault();\n }\n }\n // Check for which direction does wheel do\n var wheelDirectionRef = useRef(null);\n var wheelDirectionCleanRef = useRef(null);\n function onWheel(event) {\n if (!inVirtual) return;\n // Wait for 2 frame to clean direction\n raf.cancel(wheelDirectionCleanRef.current);\n wheelDirectionCleanRef.current = raf(function () {\n wheelDirectionRef.current = null;\n }, 2);\n var deltaX = event.deltaX,\n deltaY = event.deltaY;\n var absX = Math.abs(deltaX);\n var absY = Math.abs(deltaY);\n if (wheelDirectionRef.current === null) {\n wheelDirectionRef.current = horizontalScroll && absX > absY ? 'x' : 'y';\n }\n if (wheelDirectionRef.current === 'x') {\n onWheelX(event);\n } else {\n onWheelY(event);\n }\n }\n // A patch for firefox\n function onFireFoxScroll(event) {\n if (!inVirtual) return;\n isMouseScrollRef.current = event.detail === wheelValueRef.current;\n }\n return [onWheel, onFireFoxScroll];\n}","import { useRef } from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nvar SMOOTH_PTG = 14 / 15;\nexport default function useMobileTouchMove(inVirtual, listRef, callback) {\n var touchedRef = useRef(false);\n var touchYRef = useRef(0);\n var elementRef = useRef(null);\n // Smooth scroll\n var intervalRef = useRef(null);\n /* eslint-disable prefer-const */\n var cleanUpEvents;\n var onTouchMove = function onTouchMove(e) {\n if (touchedRef.current) {\n var currentY = Math.ceil(e.touches[0].pageY);\n var offsetY = touchYRef.current - currentY;\n touchYRef.current = currentY;\n if (callback(offsetY)) {\n e.preventDefault();\n }\n // Smooth interval\n clearInterval(intervalRef.current);\n intervalRef.current = setInterval(function () {\n offsetY *= SMOOTH_PTG;\n if (!callback(offsetY, true) || Math.abs(offsetY) <= 0.1) {\n clearInterval(intervalRef.current);\n }\n }, 16);\n }\n };\n var onTouchEnd = function onTouchEnd() {\n touchedRef.current = false;\n cleanUpEvents();\n };\n var onTouchStart = function onTouchStart(e) {\n cleanUpEvents();\n if (e.touches.length === 1 && !touchedRef.current) {\n touchedRef.current = true;\n touchYRef.current = Math.ceil(e.touches[0].pageY);\n elementRef.current = e.target;\n elementRef.current.addEventListener('touchmove', onTouchMove);\n elementRef.current.addEventListener('touchend', onTouchEnd);\n }\n };\n cleanUpEvents = function cleanUpEvents() {\n if (elementRef.current) {\n elementRef.current.removeEventListener('touchmove', onTouchMove);\n elementRef.current.removeEventListener('touchend', onTouchEnd);\n }\n };\n useLayoutEffect(function () {\n if (inVirtual) {\n listRef.current.addEventListener('touchstart', onTouchStart);\n }\n return function () {\n var _listRef$current;\n (_listRef$current = listRef.current) === null || _listRef$current === void 0 ? void 0 : _listRef$current.removeEventListener('touchstart', onTouchStart);\n cleanUpEvents();\n clearInterval(intervalRef.current);\n };\n }, [inVirtual]);\n}","var MIN_SIZE = 20;\nexport function getSpinSize() {\n var containerSize = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var scrollRange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var baseSize = containerSize / scrollRange * 100;\n if (isNaN(baseSize)) {\n baseSize = 0;\n }\n baseSize = Math.max(baseSize, MIN_SIZE);\n baseSize = Math.min(baseSize, containerSize / 2);\n return Math.floor(baseSize);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"height\", \"itemHeight\", \"fullHeight\", \"style\", \"data\", \"children\", \"itemKey\", \"virtual\", \"direction\", \"scrollWidth\", \"component\", \"onScroll\", \"onVirtualScroll\", \"onVisibleChange\", \"innerProps\", \"extraRender\"];\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { flushSync } from 'react-dom';\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport Filler from './Filler';\nimport ScrollBar from './ScrollBar';\nimport useChildren from './hooks/useChildren';\nimport useHeights from './hooks/useHeights';\nimport useScrollTo from './hooks/useScrollTo';\nimport useDiffItem from './hooks/useDiffItem';\nimport useFrameWheel from './hooks/useFrameWheel';\nimport useMobileTouchMove from './hooks/useMobileTouchMove';\nimport useOriginScroll from './hooks/useOriginScroll';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { getSpinSize } from './utils/scrollbarUtil';\nimport { useEvent } from 'rc-util';\nimport { useGetSize } from './hooks/useGetSize';\nvar EMPTY_DATA = [];\nvar ScrollStyle = {\n overflowY: 'auto',\n overflowAnchor: 'none'\n};\nexport function RawList(props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-virtual-list' : _props$prefixCls,\n className = props.className,\n height = props.height,\n itemHeight = props.itemHeight,\n _props$fullHeight = props.fullHeight,\n fullHeight = _props$fullHeight === void 0 ? true : _props$fullHeight,\n style = props.style,\n data = props.data,\n children = props.children,\n itemKey = props.itemKey,\n virtual = props.virtual,\n direction = props.direction,\n scrollWidth = props.scrollWidth,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n onScroll = props.onScroll,\n onVirtualScroll = props.onVirtualScroll,\n onVisibleChange = props.onVisibleChange,\n innerProps = props.innerProps,\n extraRender = props.extraRender,\n restProps = _objectWithoutProperties(props, _excluded);\n // ================================= MISC =================================\n var useVirtual = !!(virtual !== false && height && itemHeight);\n var inVirtual = useVirtual && data && itemHeight * data.length > height;\n var isRTL = direction === 'rtl';\n var mergedClassName = classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-rtl\"), isRTL), className);\n var mergedData = data || EMPTY_DATA;\n var componentRef = useRef();\n var fillerInnerRef = useRef();\n // =============================== Item Key ===============================\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n offsetTop = _useState2[0],\n setOffsetTop = _useState2[1];\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n offsetLeft = _useState4[0],\n setOffsetLeft = _useState4[1];\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n scrollMoving = _useState6[0],\n setScrollMoving = _useState6[1];\n var onScrollbarStartMove = function onScrollbarStartMove() {\n setScrollMoving(true);\n };\n var onScrollbarStopMove = function onScrollbarStopMove() {\n setScrollMoving(false);\n };\n // =============================== Item Key ===============================\n var getKey = React.useCallback(function (item) {\n if (typeof itemKey === 'function') {\n return itemKey(item);\n }\n return item === null || item === void 0 ? void 0 : item[itemKey];\n }, [itemKey]);\n var sharedConfig = {\n getKey: getKey\n };\n // ================================ Scroll ================================\n function syncScrollTop(newTop) {\n setOffsetTop(function (origin) {\n var value;\n if (typeof newTop === 'function') {\n value = newTop(origin);\n } else {\n value = newTop;\n }\n var alignedTop = keepInRange(value);\n componentRef.current.scrollTop = alignedTop;\n return alignedTop;\n });\n }\n // ================================ Legacy ================================\n // Put ref here since the range is generate by follow\n var rangeRef = useRef({\n start: 0,\n end: mergedData.length\n });\n var diffItemRef = useRef();\n var _useDiffItem = useDiffItem(mergedData, getKey),\n _useDiffItem2 = _slicedToArray(_useDiffItem, 1),\n diffItem = _useDiffItem2[0];\n diffItemRef.current = diffItem;\n // ================================ Height ================================\n var _useHeights = useHeights(getKey, null, null),\n _useHeights2 = _slicedToArray(_useHeights, 4),\n setInstanceRef = _useHeights2[0],\n collectHeight = _useHeights2[1],\n heights = _useHeights2[2],\n heightUpdatedMark = _useHeights2[3];\n // ========================== Visible Calculation =========================\n var _React$useMemo = React.useMemo(function () {\n if (!useVirtual) {\n return {\n scrollHeight: undefined,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n // Always use virtual scroll bar in avoid shaking\n if (!inVirtual) {\n var _fillerInnerRef$curre;\n return {\n scrollHeight: ((_fillerInnerRef$curre = fillerInnerRef.current) === null || _fillerInnerRef$curre === void 0 ? void 0 : _fillerInnerRef$curre.offsetHeight) || 0,\n start: 0,\n end: mergedData.length - 1,\n offset: undefined\n };\n }\n var itemTop = 0;\n var startIndex;\n var startOffset;\n var endIndex;\n var dataLen = mergedData.length;\n for (var i = 0; i < dataLen; i += 1) {\n var item = mergedData[i];\n var key = getKey(item);\n var cacheHeight = heights.get(key);\n var currentItemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n // Check item top in the range\n if (currentItemBottom >= offsetTop && startIndex === undefined) {\n startIndex = i;\n startOffset = itemTop;\n }\n // Check item bottom in the range. We will render additional one item for motion usage\n if (currentItemBottom > offsetTop + height && endIndex === undefined) {\n endIndex = i;\n }\n itemTop = currentItemBottom;\n }\n // When scrollTop at the end but data cut to small count will reach this\n if (startIndex === undefined) {\n startIndex = 0;\n startOffset = 0;\n endIndex = Math.ceil(height / itemHeight);\n }\n if (endIndex === undefined) {\n endIndex = mergedData.length - 1;\n }\n // Give cache to improve scroll experience\n endIndex = Math.min(endIndex + 1, mergedData.length - 1);\n return {\n scrollHeight: itemTop,\n start: startIndex,\n end: endIndex,\n offset: startOffset\n };\n }, [inVirtual, useVirtual, offsetTop, mergedData, heightUpdatedMark, height]),\n scrollHeight = _React$useMemo.scrollHeight,\n start = _React$useMemo.start,\n end = _React$useMemo.end,\n fillerOffset = _React$useMemo.offset;\n rangeRef.current.start = start;\n rangeRef.current.end = end;\n // ================================= Size =================================\n var _React$useState = React.useState({\n width: 0,\n height: height\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n size = _React$useState2[0],\n setSize = _React$useState2[1];\n var onHolderResize = function onHolderResize(sizeInfo) {\n setSize(sizeInfo);\n };\n // Hack on scrollbar to enable flash call\n var verticalScrollBarRef = useRef();\n var horizontalScrollBarRef = useRef();\n var horizontalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.width, scrollWidth);\n }, [size.width, scrollWidth]);\n var verticalScrollBarSpinSize = React.useMemo(function () {\n return getSpinSize(size.height, scrollHeight);\n }, [size.height, scrollHeight]);\n // =============================== In Range ===============================\n var maxScrollHeight = scrollHeight - height;\n var maxScrollHeightRef = useRef(maxScrollHeight);\n maxScrollHeightRef.current = maxScrollHeight;\n function keepInRange(newScrollTop) {\n var newTop = newScrollTop;\n if (!Number.isNaN(maxScrollHeightRef.current)) {\n newTop = Math.min(newTop, maxScrollHeightRef.current);\n }\n newTop = Math.max(newTop, 0);\n return newTop;\n }\n var isScrollAtTop = offsetTop <= 0;\n var isScrollAtBottom = offsetTop >= maxScrollHeight;\n var originScroll = useOriginScroll(isScrollAtTop, isScrollAtBottom);\n // ================================ Scroll ================================\n var getVirtualScrollInfo = function getVirtualScrollInfo() {\n return {\n x: isRTL ? -offsetLeft : offsetLeft,\n y: offsetTop\n };\n };\n var lastVirtualScrollInfoRef = useRef(getVirtualScrollInfo());\n var triggerScroll = useEvent(function () {\n if (onVirtualScroll) {\n var nextInfo = getVirtualScrollInfo();\n // Trigger when offset changed\n if (lastVirtualScrollInfoRef.current.x !== nextInfo.x || lastVirtualScrollInfoRef.current.y !== nextInfo.y) {\n onVirtualScroll(nextInfo);\n lastVirtualScrollInfoRef.current = nextInfo;\n }\n }\n });\n function onScrollBar(newScrollOffset, horizontal) {\n var newOffset = newScrollOffset;\n if (horizontal) {\n flushSync(function () {\n setOffsetLeft(newOffset);\n });\n triggerScroll();\n } else {\n syncScrollTop(newOffset);\n }\n }\n // When data size reduce. It may trigger native scroll event back to fit scroll position\n function onFallbackScroll(e) {\n var newScrollTop = e.currentTarget.scrollTop;\n if (newScrollTop !== offsetTop) {\n syncScrollTop(newScrollTop);\n }\n // Trigger origin onScroll\n onScroll === null || onScroll === void 0 ? void 0 : onScroll(e);\n triggerScroll();\n }\n var keepInHorizontalRange = function keepInHorizontalRange(nextOffsetLeft) {\n var tmpOffsetLeft = nextOffsetLeft;\n var max = scrollWidth - size.width;\n tmpOffsetLeft = Math.max(tmpOffsetLeft, 0);\n tmpOffsetLeft = Math.min(tmpOffsetLeft, max);\n return tmpOffsetLeft;\n };\n var onWheelDelta = useEvent(function (offsetXY, fromHorizontal) {\n if (fromHorizontal) {\n // Horizontal scroll no need sync virtual position\n flushSync(function () {\n setOffsetLeft(function (left) {\n var nextOffsetLeft = left + (isRTL ? -offsetXY : offsetXY);\n return keepInHorizontalRange(nextOffsetLeft);\n });\n });\n triggerScroll();\n } else {\n syncScrollTop(function (top) {\n var newTop = top + offsetXY;\n return newTop;\n });\n }\n });\n // Since this added in global,should use ref to keep update\n var _useFrameWheel = useFrameWheel(useVirtual, isScrollAtTop, isScrollAtBottom, !!scrollWidth, onWheelDelta),\n _useFrameWheel2 = _slicedToArray(_useFrameWheel, 2),\n onRawWheel = _useFrameWheel2[0],\n onFireFoxScroll = _useFrameWheel2[1];\n // Mobile touch move\n useMobileTouchMove(useVirtual, componentRef, function (deltaY, smoothOffset) {\n if (originScroll(deltaY, smoothOffset)) {\n return false;\n }\n onRawWheel({\n preventDefault: function preventDefault() {},\n deltaY: deltaY\n });\n return true;\n });\n useLayoutEffect(function () {\n // Firefox only\n function onMozMousePixelScroll(e) {\n if (useVirtual) {\n e.preventDefault();\n }\n }\n var componentEle = componentRef.current;\n componentEle.addEventListener('wheel', onRawWheel);\n componentEle.addEventListener('DOMMouseScroll', onFireFoxScroll);\n componentEle.addEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n return function () {\n componentEle.removeEventListener('wheel', onRawWheel);\n componentEle.removeEventListener('DOMMouseScroll', onFireFoxScroll);\n componentEle.removeEventListener('MozMousePixelScroll', onMozMousePixelScroll);\n };\n }, [useVirtual]);\n // ================================= Ref ==================================\n var delayHideScrollBar = function delayHideScrollBar() {\n var _verticalScrollBarRef, _horizontalScrollBarR;\n (_verticalScrollBarRef = verticalScrollBarRef.current) === null || _verticalScrollBarRef === void 0 ? void 0 : _verticalScrollBarRef.delayHidden();\n (_horizontalScrollBarR = horizontalScrollBarRef.current) === null || _horizontalScrollBarR === void 0 ? void 0 : _horizontalScrollBarR.delayHidden();\n };\n var _scrollTo = useScrollTo(componentRef, mergedData, heights, itemHeight, getKey, collectHeight, syncScrollTop, delayHideScrollBar);\n React.useImperativeHandle(ref, function () {\n return {\n getScrollInfo: getVirtualScrollInfo,\n scrollTo: function scrollTo(config) {\n function isPosScroll(arg) {\n return arg && _typeof(arg) === 'object' && ('left' in arg || 'top' in arg);\n }\n if (isPosScroll(config)) {\n // Scroll X\n if (config.left !== undefined) {\n setOffsetLeft(keepInHorizontalRange(config.left));\n }\n // Scroll Y\n _scrollTo(config.top);\n } else {\n _scrollTo(config);\n }\n }\n };\n });\n // ================================ Effect ================================\n /** We need told outside that some list not rendered */\n useLayoutEffect(function () {\n if (onVisibleChange) {\n var renderList = mergedData.slice(start, end + 1);\n onVisibleChange(renderList, mergedData);\n }\n }, [start, end, mergedData]);\n // ================================ Extra =================================\n var getSize = useGetSize(mergedData, getKey, heights, itemHeight);\n var extraContent = extraRender === null || extraRender === void 0 ? void 0 : extraRender({\n start: start,\n end: end,\n virtual: inVirtual,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n rtl: isRTL,\n getSize: getSize\n });\n // ================================ Render ================================\n var listChildren = useChildren(mergedData, start, end, scrollWidth, setInstanceRef, children, sharedConfig);\n var componentStyle = null;\n if (height) {\n componentStyle = _objectSpread(_defineProperty({}, fullHeight ? 'height' : 'maxHeight', height), ScrollStyle);\n if (useVirtual) {\n componentStyle.overflowY = 'hidden';\n if (scrollWidth) {\n componentStyle.overflowX = 'hidden';\n }\n if (scrollMoving) {\n componentStyle.pointerEvents = 'none';\n }\n }\n }\n var containerProps = {};\n if (isRTL) {\n containerProps.dir = 'rtl';\n }\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n style: _objectSpread(_objectSpread({}, style), {}, {\n position: 'relative'\n }),\n className: mergedClassName\n }, containerProps, restProps), /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onHolderResize\n }, /*#__PURE__*/React.createElement(Component, {\n className: \"\".concat(prefixCls, \"-holder\"),\n style: componentStyle,\n ref: componentRef,\n onScroll: onFallbackScroll,\n onMouseEnter: delayHideScrollBar\n }, /*#__PURE__*/React.createElement(Filler, {\n prefixCls: prefixCls,\n height: scrollHeight,\n offsetX: offsetLeft,\n offsetY: fillerOffset,\n scrollWidth: scrollWidth,\n onInnerResize: collectHeight,\n ref: fillerInnerRef,\n innerProps: innerProps,\n rtl: isRTL,\n extra: extraContent\n }, listChildren))), inVirtual && scrollHeight > height && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: verticalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetTop,\n scrollRange: scrollHeight,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: verticalScrollBarSpinSize,\n containerSize: size.height\n }), inVirtual && scrollWidth && /*#__PURE__*/React.createElement(ScrollBar, {\n ref: horizontalScrollBarRef,\n prefixCls: prefixCls,\n scrollOffset: offsetLeft,\n scrollRange: scrollWidth,\n rtl: isRTL,\n onScroll: onScrollBar,\n onStartMove: onScrollbarStartMove,\n onStopMove: onScrollbarStopMove,\n spinSize: horizontalScrollBarSpinSize,\n containerSize: size.width,\n horizontal: true\n }));\n}\nvar List = /*#__PURE__*/React.forwardRef(RawList);\nList.displayName = 'List';\nexport default List;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport raf from \"rc-util/es/raf\";\nimport CacheMap from '../utils/CacheMap';\nexport default function useHeights(getKey, onItemAdd, onItemRemove) {\n var _React$useState = React.useState(0),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n updatedMark = _React$useState2[0],\n setUpdatedMark = _React$useState2[1];\n var instanceRef = useRef(new Map());\n var heightsRef = useRef(new CacheMap());\n var collectRafRef = useRef();\n function cancelRaf() {\n raf.cancel(collectRafRef.current);\n }\n function collectHeight() {\n cancelRaf();\n collectRafRef.current = raf(function () {\n instanceRef.current.forEach(function (element, key) {\n if (element && element.offsetParent) {\n var htmlElement = findDOMNode(element);\n var offsetHeight = htmlElement.offsetHeight;\n if (heightsRef.current.get(key) !== offsetHeight) {\n heightsRef.current.set(key, htmlElement.offsetHeight);\n }\n }\n });\n // Always trigger update mark to tell parent that should re-calculate heights when resized\n setUpdatedMark(function (c) {\n return c + 1;\n });\n });\n }\n function setInstanceRef(item, instance) {\n var key = getKey(item);\n var origin = instanceRef.current.get(key);\n if (instance) {\n instanceRef.current.set(key, instance);\n collectHeight();\n } else {\n instanceRef.current.delete(key);\n }\n // Instance changed\n if (!origin !== !instance) {\n if (instance) {\n onItemAdd === null || onItemAdd === void 0 ? void 0 : onItemAdd(item);\n } else {\n onItemRemove === null || onItemRemove === void 0 ? void 0 : onItemRemove(item);\n }\n }\n }\n useEffect(function () {\n return cancelRaf;\n }, []);\n return [setInstanceRef, collectHeight, heightsRef.current, updatedMark];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\n/* eslint-disable no-param-reassign */\nimport * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default function useScrollTo(containerRef, data, heights, itemHeight, getKey, collectHeight, syncScrollTop, triggerFlash) {\n var scrollRef = React.useRef();\n return function (arg) {\n // When not argument provided, we think dev may want to show the scrollbar\n if (arg === null || arg === undefined) {\n triggerFlash();\n return;\n }\n // Normal scroll logic\n raf.cancel(scrollRef.current);\n if (typeof arg === 'number') {\n syncScrollTop(arg);\n } else if (arg && _typeof(arg) === 'object') {\n var index;\n var align = arg.align;\n if ('index' in arg) {\n index = arg.index;\n } else {\n index = data.findIndex(function (item) {\n return getKey(item) === arg.key;\n });\n }\n var _arg$offset = arg.offset,\n offset = _arg$offset === void 0 ? 0 : _arg$offset;\n // We will retry 3 times in case dynamic height shaking\n var syncScroll = function syncScroll(times, targetAlign) {\n if (times < 0 || !containerRef.current) return;\n var height = containerRef.current.clientHeight;\n var needCollectHeight = false;\n var newTargetAlign = targetAlign;\n // Go to next frame if height not exist\n if (height) {\n var mergedAlign = targetAlign || align;\n // Get top & bottom\n var stackTop = 0;\n var itemTop = 0;\n var itemBottom = 0;\n var maxLen = Math.min(data.length, index);\n for (var i = 0; i <= maxLen; i += 1) {\n var key = getKey(data[i]);\n itemTop = stackTop;\n var cacheHeight = heights.get(key);\n itemBottom = itemTop + (cacheHeight === undefined ? itemHeight : cacheHeight);\n stackTop = itemBottom;\n if (i === index && cacheHeight === undefined) {\n needCollectHeight = true;\n }\n }\n // Scroll to\n var targetTop = null;\n switch (mergedAlign) {\n case 'top':\n targetTop = itemTop - offset;\n break;\n case 'bottom':\n targetTop = itemBottom - height + offset;\n break;\n default:\n {\n var scrollTop = containerRef.current.scrollTop;\n var scrollBottom = scrollTop + height;\n if (itemTop < scrollTop) {\n newTargetAlign = 'top';\n } else if (itemBottom > scrollBottom) {\n newTargetAlign = 'bottom';\n }\n }\n }\n if (targetTop !== null && targetTop !== containerRef.current.scrollTop) {\n syncScrollTop(targetTop);\n }\n }\n // We will retry since element may not sync height as it described\n scrollRef.current = raf(function () {\n if (needCollectHeight) {\n collectHeight();\n }\n syncScroll(times - 1, newTargetAlign);\n }, 2); // Delay 2 to wait for List collect heights\n };\n\n syncScroll(3);\n }\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Size info need loop query for the `heights` which will has the perf issue.\n * Let cache result for each render phase.\n */\nexport function useGetSize(mergedData, getKey, heights, itemHeight) {\n var _React$useMemo = React.useMemo(function () {\n return [new Map(), []];\n }, [mergedData, heights.id, itemHeight]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n key2Index = _React$useMemo2[0],\n bottomList = _React$useMemo2[1];\n var getSize = function getSize(startKey) {\n var endKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : startKey;\n // Get from cache first\n var startIndex = key2Index.get(startKey);\n var endIndex = key2Index.get(endKey);\n // Loop to fill the cache\n if (startIndex === undefined || endIndex === undefined) {\n var dataLen = mergedData.length;\n for (var i = bottomList.length; i < dataLen; i += 1) {\n var _heights$get;\n var item = mergedData[i];\n var key = getKey(item);\n key2Index.set(key, i);\n var cacheHeight = (_heights$get = heights.get(key)) !== null && _heights$get !== void 0 ? _heights$get : itemHeight;\n bottomList[i] = (bottomList[i - 1] || 0) + cacheHeight;\n if (key === startKey) {\n startIndex = i;\n }\n if (key === endKey) {\n endIndex = i;\n }\n if (startIndex !== undefined && endIndex !== undefined) {\n break;\n }\n }\n }\n return {\n top: bottomList[startIndex - 1] || 0,\n bottom: bottomList[endIndex]\n };\n };\n return getSize;\n}","import * as React from 'react';\nimport { Item } from '../Item';\nexport default function useChildren(list, startIndex, endIndex, scrollWidth, setNodeRef, renderFunc, _ref) {\n var getKey = _ref.getKey;\n return list.slice(startIndex, endIndex + 1).map(function (item, index) {\n var eleIndex = startIndex + index;\n var node = renderFunc(item, eleIndex, {\n style: {\n width: scrollWidth\n }\n });\n var key = getKey(item);\n return /*#__PURE__*/React.createElement(Item, {\n key: key,\n setRef: function setRef(ele) {\n return setNodeRef(item, ele);\n }\n }, node);\n });\n}","import List from './List';\nexport default List;"],"names":["Object","defineProperty","exports","value","obj","_default","require","__esModule","module","_interopRequireDefault","_typeof","_objectSpread2","React","nodeInterop","default","cache","_getRequireWildcardCache","has","get","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_interopRequireWildcard","_CheckOutlined","_AntdIcon","WeakMap","cacheBabelInterop","cacheNodeInterop","CheckOutlined","props","ref","createElement","icon","displayName","forwardRef","_DownOutlined","DownOutlined","BaseSelectContext","useBaseProps","useLock","duration","arguments","length","undefined","lockRef","timeoutRef","window","clearTimeout","current","locked","setTimeout","_ref","className","customizeIcon","customizeIconProps","_onMouseDown","onMouseDown","onClick","children","event","preventDefault","style","userSelect","WebkitUserSelect","unselectable","classNames","split","map","cls","concat","Input","_inputNode2","_inputNode2$props","prefixCls","id","inputElement","disabled","tabIndex","autoFocus","autoComplete","editable","activeDescendantId","maxLength","_onKeyDown","onKeyDown","_onChange","onChange","onPaste","_onCompositionStart","onCompositionStart","_onCompositionEnd","onCompositionEnd","open","attrs","inputNode","_inputNode","originRef","originProps","onOriginKeyDown","onOriginChange","onOriginMouseDown","onOriginCompositionStart","onOriginCompositionEnd","warning","_objectSpread","type","composeRef","role","readOnly","opacity","RefInput","toArray","Array","isArray","isBrowserClient","document","documentElement","isTitleType","title","includes","getTitle","item","toString","label","itemKey","_value$key","onPreventMouseDown","stopPropagation","effect","deps","values","searchValue","autoClearSearchValue","inputRef","placeholder","mode","showSearch","removeIcon","maxTagCount","maxTagTextLength","_props$maxTagPlacehol","maxTagPlaceholder","omittedValues","tagRender","onToggleOpen","onRemove","onInputChange","onInputPaste","onInputKeyDown","onInputMouseDown","onInputCompositionStart","onInputCompositionEnd","measureRef","_useState","useState","_useState2","_slicedToArray","inputWidth","setInputWidth","_useState3","_useState4","focused","setFocused","selectionPrefixCls","inputValue","inputEditable","defaultRenderSelector","content","itemDisabled","closable","onClose","_defineProperty","TransBtn","scrollWidth","width","onFocus","onBlur","pickAttrs","selectionNode","Overflow","data","renderItem","valueItem","displayLabel","strLabel","String","slice","e","customizeRenderSelector","renderRest","suffix","maxCount","activeValue","_React$useState","_React$useState2","inputChanged","setInputChanged","combobox","hasTextInput","visibility","hiddenStyle","renderPlaceholder","Selector","useRef","compositionStatusRef","tokenWithEnter","onSearch","onSearchSubmit","domRef","focus","blur","_useLock","_useLock2","getInputMouseDown","setInputMouseDown","pastedTextRef","triggerOnSearch","sharedProps","currentKeyCode","which","KeyCode","UP","DOWN","ENTER","target","ESC","SHIFT","BACKSPACE","TAB","WIN_KEY","ALT","META","WIN_KEY_RIGHT","CTRL","SEMICOLON","EQUALS","CAPS_LOCK","CONTEXT_MENU","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","test","replacedText","replace","clipboardData","getData","selectNode","MultipleSelector","_extends","SingleSelector","body","msTouchAction","inputMouseDown","ForwardSelector","_excluded","SelectTrigger","visible","popupElement","containerWidth","animation","transitionName","dropdownStyle","dropdownClassName","_props$direction","direction","placement","dropdownMatchSelectWidth","dropdownRender","dropdownAlign","getPopupContainer","empty","getTriggerDOMNode","onPopupVisibleChange","onPopupMouseEnter","restProps","_objectWithoutProperties","dropdownPrefixCls","popupNode","builtInPlacements","adjustX","bottomLeft","points","offset","overflow","adjustY","bottomRight","topLeft","topRight","getBuiltInPlacements","mergedTransitionName","popupRef","getPopupElement","popupStyle","minWidth","Trigger","showAction","hideAction","popupPlacement","builtinPlacements","popupTransitionName","popup","onMouseEnter","popupAlign","popupVisible","popupClassName","RefSelectTrigger","getKey","index","fillFieldNames","fieldNames","childrenAsData","options","injectPropsWithOption","option","newOption","DEFAULT_OMIT_PROPS","isMultiple","BaseSelect","_customizeRawInputEle","_classNames2","omitDomProps","displayValues","onDisplayValuesChange","emptyOptions","_props$notFoundConten","notFoundContent","onClear","loading","getInputElement","getRawInputElement","defaultOpen","onDropdownVisibleChange","onActiveValueChange","onSearchSplit","tokenSeparators","allowClear","showArrow","inputIcon","clearIcon","OptionList","_props$showAction","onKeyUp","multiple","mergedShowSearch","domProps","forEach","propName","mobile","setMobile","isMobile","containerRef","selectorDomRef","triggerRef","selectorRef","listRef","_useDelayReset","timeout","bool","setBool","delayRef","cancelLatest","callback","useDelayReset","_useDelayReset2","mockFocused","setMockFocused","cancelSetMockFocused","_selectorRef$current","_selectorRef$current2","scrollTo","arg","_listRef$current","mergedSearchValue","_displayValues$","val","customizeInputElement","customizeRawInputElement","customizeRawInputRef","useComposeRef","_useMergedState","useMergedState","defaultValue","_useMergedState2","innerOpen","setInnerOpen","mergedOpen","emptyListContent","triggerOpen","newOpen","nextOpen","some","tokenSeparator","onInternalSearch","searchText","fromTyping","isCompositing","ret","newSearchText","patchLabels","text","tokens","match","list","separate","str","_ref3","_ref4","_toArray","token","restTokens","reduce","prevList","unitStr","_toConsumableArray","filter","unit","getSeparatedContent","source","getClearLock","setClearLock","focusRef","activeTimeoutIds","timeoutId","splice","onTriggerVisibleChange","_React$useState3","_React$useState4","setContainerWidth","_React$useState5","forceUpdate","useLayoutEffect","_containerRef$current","newWidth","Math","ceil","offsetWidth","Number","isNaN","elements","customizedTrigger","propsRef","onGlobalMouseDown","_propsRef$current","shadowRoot","composed","composedPath","element","every","contains","addEventListener","removeEventListener","useSelectTriggerControl","_triggerRef$current2","arrowNode","clearNode","baseSelectContext","toggleOpen","mergedShowArrow","_selectorRef$current4","renderNode","optionList","mergedClassName","selectorNode","trim","newValues","i","_triggerRef$current","_selectorRef$current3","indexOf","activeElement","push","_len3","restArgs","_key3","apply","_listRef$current2","clearLock","cloneDisplayValues","removedDisplayValue","_len","rest","_key","_len2","_key2","_listRef$current3","height","position","join","Provider","search","toUpperCase","uuid","canUseDom","useId","innerId","setInnerId","retId","getUUID","_excluded2","convertChildrenToData","nodes","optionOnly","node","_ref2","isSelectOptGroup","_ref2$props","_ref$props","convertNodeToOption","useRefFunc","funcRef","cacheFn","OptGroup","Option","isSelectOption","_","_useBaseProps","onPopupScroll","_React$useContext","SelectContext","flattenOptions","onActiveValue","defaultActiveFirstOption","onSelect","menuItemSelectedIcon","rawValues","virtual","listHeight","listItemHeight","itemPrefixCls","memoFlattenOptions","useMemo","prev","next","onListMouseDown","scrollIntoView","args","getEnabledActiveIndex","len","_memoFlattenOptions$c","group","activeIndex","setActiveIndex","setActive","fromKeyboard","info","flattenItem","useEffect","isSelected","size","from","findIndex","onSelectValue","selected","ctrlKey","N","P","navigator","appVersion","nextActiveIndex","omitFieldNameList","keys","getLabel","itemData","mergedLabel","List","itemHeight","fullHeight","onScroll","itemIndex","_classNames","groupOption","_data$title","groupTitle","otherProps","passedProps","omit","optionPrefixCls","optionClassName","iconVisible","optionTitle","onMouseMove","RefOptionList","OMIT_DOM_PROPS","Select","_props$prefixCls","backfill","_props$autoClearSearc","onDeselect","_props$dropdownMatchS","filterOption","filterSort","optionFilterProp","optionLabelProp","_props$listHeight","_props$listItemHeight","labelInValue","mergedId","mergedFilterOption","mergedFieldNames","JSON","stringify","postState","setSearchValue","parsedOptions","mergedOptions","valueOptions","Map","labelOptions","setLabelOptions","labelOptionsMap","dig","isChildren","useOptions","convert2LabelValues","draftValues","rawValue","rawLabel","rawKey","rawDisabled","rawTitle","_val$value","isRawValue","_option$key","_useMergedState3","_useMergedState4","internalValue","setInternalValue","_useCache","labeledValues","cacheRef","_cacheRef$current","prevValueCache","prevOptionCache","patchedValues","_prevValueCache$get","valueCache","optionCache","useCache","_values$","_useCache2","mergedValues","getMixedOption","firstValue","_item$label","Set","_mergedValues$","strValue","hasValue","createTagOption","filteredOptions","fieldOptions","fieldLabel","fieldValue","customizeFilter","upperSearch","filterFunc","wrapOption","opt","subOptions","subItem","useFilterOptions","cloneOptions","sort","a","b","existOptions","filledSearchOptions","orderedFilteredOptions","displayOptions","flattenList","_fillFieldNames","isGroupOption","grpLabel","triggerChange","newVal","_mergedValues$index","returnValues","v","returnOptions","setActiveValue","accessibilityIndex","setAccessibilityIndex","mergedDefaultActiveFirstOption","active","_ref2$source","triggerSelect","getSelectEnt","_option$key2","_getSelectEnt","_getSelectEnt2","wrappedValue","_option","_getSelectEnt3","_getSelectEnt4","_wrappedValue","_option2","onInternalSelect","cloneValues","mergedSelect","selectContext","realVirtual","nextValues","formatted","newRawValues","words","patchValues","word","newRawValue","TypedSelect","Filler","offsetY","offsetX","onInnerResize","innerProps","rtl","extra","outerStyle","innerStyle","display","flexDirection","transform","ResizeObserver","onResize","offsetHeight","getPageXY","horizontal","touches","ScrollBar","scrollOffset","scrollRange","onStartMove","onStopMove","spinSize","containerSize","dragging","setDragging","pageXY","setPageXY","_React$useState6","startTop","setStartTop","isLTR","scrollbarRef","thumbRef","_React$useState7","_React$useState8","setVisible","visibleTimeoutRef","delayHidden","enableScrollRange","enableOffsetRange","canScroll","top","stateRef","pageY","onThumbMouseDown","onScrollbarTouchStart","scrollbarEle","thumbEle","enableScrollRangeRef","enableOffsetRangeRef","moveRafId","_stateRef$current","stateDragging","statePageY","stateStartTop","raf","cancel","newTop","tmpEnableScrollRange","tmpEnableOffsetRange","ptg","newScrollTop","max","min","onMouseUp","scrollbarPrefixCls","containerStyle","thumbStyle","background","borderRadius","cursor","left","right","bottom","Item","setRef","refFunc","CacheMap","_classCallCheck","this","maps","create","_createClass","useDiffItem","onDiff","prevData","setPrevData","diffItem","setDiffItem","diff","originList","targetList","shortList","longList","originLen","targetLen","notExistKey","__EMPTY_ITEM__","getItemKey","diffIndex","abs","shortKey","findListDiffIndex","userAgent","isScrollAtTop","isScrollAtBottom","lockTimeoutRef","scrollPingRef","deltaY","smoothOffset","originScroll","useFrameWheel","inVirtual","horizontalScroll","onWheelDelta","offsetRef","nextFrameRef","wheelValueRef","isMouseScrollRef","useOriginScroll","wheelDirectionRef","wheelDirectionCleanRef","deltaX","absX","absY","isFF","onWheelX","patchMultiple","onWheelY","detail","SMOOTH_PTG","MIN_SIZE","getSpinSize","baseSize","floor","EMPTY_DATA","ScrollStyle","overflowY","overflowAnchor","RawList","_props$fullHeight","_props$component","component","Component","onVirtualScroll","onVisibleChange","extraRender","useVirtual","isRTL","mergedData","componentRef","fillerInnerRef","offsetTop","setOffsetTop","offsetLeft","setOffsetLeft","_useState5","_useState6","scrollMoving","setScrollMoving","onScrollbarStartMove","onScrollbarStopMove","sharedConfig","syncScrollTop","origin","alignedTop","maxScrollHeightRef","keepInRange","scrollTop","rangeRef","start","end","diffItemRef","_useDiffItem","_useHeights","onItemAdd","onItemRemove","updatedMark","setUpdatedMark","instanceRef","heightsRef","collectRafRef","cancelRaf","collectHeight","offsetParent","htmlElement","findDOMNode","c","instance","delete","useHeights","_useHeights2","setInstanceRef","heights","heightUpdatedMark","_React$useMemo","scrollHeight","_fillerInnerRef$curre","startIndex","startOffset","endIndex","itemTop","dataLen","cacheHeight","currentItemBottom","fillerOffset","setSize","verticalScrollBarRef","horizontalScrollBarRef","horizontalScrollBarSpinSize","verticalScrollBarSpinSize","maxScrollHeight","getVirtualScrollInfo","x","y","lastVirtualScrollInfoRef","triggerScroll","useEvent","nextInfo","onScrollBar","newScrollOffset","newOffset","flushSync","keepInHorizontalRange","nextOffsetLeft","tmpOffsetLeft","offsetXY","fromHorizontal","_useFrameWheel","_useFrameWheel2","onRawWheel","onFireFoxScroll","cleanUpEvents","touchedRef","touchYRef","elementRef","intervalRef","onTouchMove","currentY","clearInterval","setInterval","onTouchEnd","onTouchStart","useMobileTouchMove","onMozMousePixelScroll","componentEle","delayHideScrollBar","_verticalScrollBarRef","_horizontalScrollBarR","_scrollTo","triggerFlash","scrollRef","align","_arg$offset","syncScroll","times","targetAlign","clientHeight","needCollectHeight","newTargetAlign","mergedAlign","stackTop","itemBottom","maxLen","targetTop","useScrollTo","getScrollInfo","config","renderList","getSize","_React$useMemo2","key2Index","bottomList","startKey","endKey","_heights$get","useGetSize","extraContent","listChildren","setNodeRef","renderFunc","ele","useChildren","componentStyle","overflowX","pointerEvents","containerProps","dir","sizeInfo","currentTarget"],"sourceRoot":""}